{"version":3,"file":"static/js/bundles/text-editor.js","mappings":"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CAAC,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,mBAAmB,sBAAsB,CAAC,gBAAgB,mBAAmB,CAAC,iBAAiB,oBAAoB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,gBAAgB,mBAAmB,CAAC,iBAAiB,oBAAoB,CAAC,kBAAkB,qBAAqB,CAAC,mBAAmB,sBAAsB,CAAC,kBAAkB,qBAAqB,CAAC,eAAe,kBAAkB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,mBAAmB,sBAAsB,CAAC,mBAAmB,sBAAsB,CAAC,kBAAkB,qBAAqB,CAAC,iBAAiB,oBAAoB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,mBAAmB,sBAAsB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,gBAAgB,mBAAmB,CAAC,iBAAiB,oBAAoB,CAAC,kBAAkB,qBAAqB,CAAC,eAAe,kBAAkB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,mBAAmB,sBAAsB,CAAC,iBAAiB,oBAAoB,CAAC,gBAAgB,mBAAmB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,mBAAmB,sBAAsB,CAAC,gBAAgB,mBAAmB,CAAC,iBAAiB,oBAAoB,CAAC,mBAAmB,sBAAsB,CAAC,eAAe,kBAAkB,CAAC,kBAAkB,qBAAqB,CAAC,iBAAiB,oBAAoB,CAAC,eAAe,kBAAkB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,mBAAmB,sBAAsB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,iBAAiB,oBAAoB,CAAC,eAAe,kBAAkB,CAAC,kBAAkB,qBAAqB,CAAC,kBAAkB,qBAAqB,CAAC,gBAAgB,mBAAmB,CAAC,gBAAgB,mBAAmB,CAAC,gBA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","sources":["webpack://kundo/./node_modules/@kundo/ui/dist/helpers/index.js","webpack://kundo/./static/images/icons/question-circle.svg","webpack://kundo/./static/images/icons/search.svg","webpack://kundo/./node_modules/aria-hidden/dist/es2015/index.js","webpack://kundo/./static/js/src/editors/components/Snackbar.tsx","webpack://kundo/./static/js/src/editors/hooks/useApi.ts","webpack://kundo/./static/js/src/text-editor/attachmentslist.ts","webpack://kundo/./static/js/src/text-editor/get-filetype-from-name.ts","webpack://kundo/./static/js/src/text-editor/formatting.ts","webpack://kundo/./static/js/src/text-editor/index.ts","webpack://kundo/./static/js/src/text-editor/froala-4.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiAutoReplies/AutoRepliesAlerts.tsx","webpack://kundo/./static/js/src/text-editor/helpers/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiAutoReplies/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/useApi.tsx","webpack://kundo/./static/js/src/text-editor/utils.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/EditorAiPromptWidget.tsx","webpack://kundo/./static/js/src/text-editor/plugins/aiPrompts/index.ts","webpack://kundo/./static/js/src/text-editor/plugins/textWrapper/index.ts","webpack://kundo/./static/js/src/text-editor/commands.ts","webpack://kundo/./static/js/src/text-editor/video.ts","webpack://kundo/./static/js/src/text-editor/froala.ts","webpack://kundo/./static/js/src/text-editor/plugins/fix-paste-bug.ts","webpack://kundo/./static/js/src/text-editor/plugins/mail-history.ts","webpack://kundo/./static/js/src/text-editor/plugins/emoji.ts","webpack://kundo/./static/js/src/text-editor/plugins/deleteEmptyContainers/index.ts","webpack://kundo/./static/js/src/text-editor/fine-uploader.ts","webpack://kundo/./static/js/src/text-editor/internal-link-widget.ts","webpack://kundo/./static/js/src/text-editor/snippet-widget.ts","webpack://kundo/./static/images/icons/arrow-right-up.svg","webpack://kundo/./static/images/icons/twinkle.svg","webpack://kundo/./static/js/src/editors/self-service-widget/SuggestionCard.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SuggestionCardList.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/DebouncedTextInput.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/KeywordSearch.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SmartSuggestions.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/SelfServiceWidget.tsx","webpack://kundo/./static/js/src/editors/self-service-widget/skeletonLoadingBoxes.ts","webpack://kundo/./static/js/src/editors/self-service-widget/index.tsx","webpack://kundo/./static/js/src/text-editor/self-service-widget.ts","webpack://kundo/./static/js/src/text-editor/kundo-froala-editor.ts","webpack://kundo/./static/js/src/text-editor/mentions.ts","webpack://kundo/./static/js/src/text-editor/plugins/aiSources.tsx","webpack://kundo/./static/js/src/text-editor/toolbar.ts","webpack://kundo/./node_modules/fine-uploader/fine-uploader/fine-uploader.core.js","webpack://kundo/./node_modules/fine-uploader/lib/core/index.js","webpack://kundo/./node_modules/froala-editor/js/froala_editor.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/colors.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/draggable.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/image.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/link.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/lists.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/paragraph_format.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/paragraph_style.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/quote.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/save.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/table.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/url.min.js","webpack://kundo/./node_modules/froala-editor/js/plugins/video.min.js","webpack://kundo/./node_modules/get-nonce/dist/es2015/index.js","webpack://kundo/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://kundo/./node_modules/react-dom/client.js","webpack://kundo/./node_modules/react-dom/index.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://kundo/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://kundo/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://kundo/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://kundo/./node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://kundo/./node_modules/react/jsx-runtime.js","webpack://kundo/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://kundo/./node_modules/scheduler/index.js","webpack://kundo/./node_modules/tributejs/dist/tribute.min.js","webpack://kundo/./node_modules/ts-pattern/lib/guards.js","webpack://kundo/./node_modules/ts-pattern/lib/index.js","webpack://kundo/./node_modules/ts-pattern/lib/symbols.js","webpack://kundo/./node_modules/ts-pattern/lib/wildcards.js","webpack://kundo/./node_modules/tslib/tslib.es6.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://kundo/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://kundo/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://kundo/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://kundo/./node_modules/@floating-ui/core/dist/floating-ui.core.mjs","webpack://kundo/./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","webpack://kundo/./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","webpack://kundo/./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","webpack://kundo/./node_modules/@kundo/ui/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dialog/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-menu/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-id/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-id/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/number/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tabs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toast/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-direction/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle-group/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-toggle/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-controllable-state/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-escape-keydown/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-size/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-use-size/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://kundo/./node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://kundo/./node_modules/date-fns/_lib/defaultOptions.mjs","webpack://kundo/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","webpack://kundo/./node_modules/date-fns/constants.mjs","webpack://kundo/./node_modules/date-fns/constructFrom.mjs","webpack://kundo/./node_modules/date-fns/constructNow.mjs","webpack://kundo/./node_modules/date-fns/differenceInCalendarDays.mjs","webpack://kundo/./node_modules/date-fns/getDayOfYear.mjs","webpack://kundo/./node_modules/date-fns/startOfYear.mjs","webpack://kundo/./node_modules/date-fns/startOfISOWeek.mjs","webpack://kundo/./node_modules/date-fns/getISOWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getISOWeek.mjs","webpack://kundo/./node_modules/date-fns/startOfISOWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getWeekYear.mjs","webpack://kundo/./node_modules/date-fns/getWeek.mjs","webpack://kundo/./node_modules/date-fns/startOfWeekYear.mjs","webpack://kundo/./node_modules/date-fns/_lib/addLeadingZeros.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/lightFormatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/formatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/format/longFormatters.mjs","webpack://kundo/./node_modules/date-fns/_lib/protectedTokens.mjs","webpack://kundo/./node_modules/date-fns/isValid.mjs","webpack://kundo/./node_modules/date-fns/isDate.mjs","webpack://kundo/./node_modules/date-fns/format.mjs","webpack://kundo/./node_modules/date-fns/compareAsc.mjs","webpack://kundo/./node_modules/date-fns/isLastDayOfMonth.mjs","webpack://kundo/./node_modules/date-fns/endOfDay.mjs","webpack://kundo/./node_modules/date-fns/endOfMonth.mjs","webpack://kundo/./node_modules/date-fns/differenceInMonths.mjs","webpack://kundo/./node_modules/date-fns/differenceInCalendarMonths.mjs","webpack://kundo/./node_modules/date-fns/differenceInSeconds.mjs","webpack://kundo/./node_modules/date-fns/differenceInMilliseconds.mjs","webpack://kundo/./node_modules/date-fns/_lib/getRoundingMethod.mjs","webpack://kundo/./node_modules/date-fns/formatDistanceToNow.mjs","webpack://kundo/./node_modules/date-fns/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/isThisYear.mjs","webpack://kundo/./node_modules/date-fns/isSameYear.mjs","webpack://kundo/./node_modules/date-fns/isToday.mjs","webpack://kundo/./node_modules/date-fns/isSameDay.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildMatchFn.mjs","webpack://kundo/./node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/da/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/da.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/de/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/de.mjs","webpack://kundo/./node_modules/date-fns/locale/en-GB/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/en-GB.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/en-US/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/es/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/es.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/fi/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/fi.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/nb/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/nb.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/nl/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/nl.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/isSameWeek.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/pl/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/pl.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatDistance.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatLong.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/formatRelative.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/localize.mjs","webpack://kundo/./node_modules/date-fns/locale/sv/_lib/match.mjs","webpack://kundo/./node_modules/date-fns/locale/sv.mjs","webpack://kundo/./node_modules/date-fns/startOfDay.mjs","webpack://kundo/./node_modules/date-fns/startOfWeek.mjs","webpack://kundo/./node_modules/date-fns/toDate.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-composed-ref.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/LazyContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionConfigContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/create.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/PresenceContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/events/add-pointer-event.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/events/event-info.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/focus.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/hover.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/pan/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/gestures/press.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animation/exit.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animation/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/animations.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/definitions.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/drag.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/gestures.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/layout.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/load-features.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/features/viewport/observers.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/index.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/symbol.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/create-proxy.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/use-render.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/utils/filter-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/use-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/use-props.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/distance.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/get-context-window.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/is-browser.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/is-ref-object.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-constant.mjs","webpack://kundo/./node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/JSAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/animate/single-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/drivers/frame.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/inertia.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring/defaults.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring/find.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/spring/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/get-final-keyframe.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/events/add-dom-event.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/batcher.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/frame.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/microtask.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/order.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/render-step.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/frameloop/sync-time.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/hover.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/gestures/utils/setup.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/copy.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/models.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/geometry/utils.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/create-projection-node.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/node/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/shared/stack.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/styles/transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/projection/utils/measure.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/Feature.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/VisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/style-set.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/render.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/store.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/path.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/render.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/animation-state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/keys-position.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/motion-values.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/setters.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/render/utils/variant-props.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/handle-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/handle-window.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/resize/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/stats/animation-count.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/stats/buffer.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/delay.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/interpolate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-html-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-svg-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/color.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/complex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/immediate.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/number.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/mix/visibility.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/resolve-elements.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/flags.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/memo.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/auto.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/hsla.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/rgba.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/color/utils.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/filter.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/complex/mask.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/dimensions.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/int.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/number.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/maps/transform.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/numbers/index.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/numbers/units.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/test.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/find.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs","webpack://kundo/./node_modules/motion-dom/dist/es/value/will-change/is.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/array.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/clamp.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/anticipate.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/back.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/circ.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/ease.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/easing/utils/map.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/errors.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/global-config.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-numerical-string.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-object.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/is-zero-value-string.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/memo.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/noop.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/pipe.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/progress.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/subscription-manager.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/time-conversion.mjs","webpack://kundo/./node_modules/motion-utils/dist/es/velocity-per-second.mjs"],"sourcesContent":["\"use strict\";var L=Object.defineProperty,fe=Object.defineProperties,me=Object.getOwnPropertyDescriptor,he=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertyNames,ee=Object.getOwnPropertySymbols;var te=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var re=(e,r,t)=>r in e?L(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,_=(e,r)=>{for(var t in r||(r={}))te.call(r,t)&&re(e,t,r[t]);if(ee)for(var t of ee(r))xe.call(r,t)&&re(e,t,r[t]);return e},oe=(e,r)=>fe(e,he(r));var we=(e,r)=>{for(var t in r)L(e,t,{get:r[t],enumerable:!0})},ve=(e,r,t,o)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let i of ye(r))!te.call(e,i)&&i!==t&&L(e,i,{get:()=>r[i],enumerable:!(o=me(r,i))||o.enumerable});return e};var ke=e=>ve(L({},\"__esModule\",{value:!0}),e);var tr={};we(tr,{formatFileSize:()=>ne,twMerge:()=>ge});module.exports=ke(tr);var ne=(e,r=2)=>{if(!+e)return\"0 Bytes\";let t=1024,o=r<0?0:r,i=[\"Bytes\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],n=Math.floor(Math.log(e)/Math.log(t));return`${parseFloat((e/Math.pow(t,n)).toFixed(o))} ${i[n]}`};var K=\"-\",Ce=e=>{let r=Me(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{let s=l.split(K);return s[0]===\"\"&&s.length!==1&&s.shift(),ae(s,r)||ze(l)},getConflictingClassGroupIds:(l,s)=>{let u=t[l]||[];return s&&o[l]?[...u,...o[l]]:u}}},ae=(e,r)=>{var l;if(e.length===0)return r.classGroupId;let t=e[0],o=r.nextPart.get(t),i=o?ae(e.slice(1),o):void 0;if(i)return i;if(r.validators.length===0)return;let n=e.join(K);return(l=r.validators.find(({validator:s})=>s(n)))==null?void 0:l.classGroupId},se=/^\\[(.+)\\]$/,ze=e=>{if(se.test(e)){let r=se.exec(e)[1],t=r==null?void 0:r.substring(0,r.indexOf(\":\"));if(t)return\"arbitrary..\"+t}},Me=e=>{let{theme:r,prefix:t}=e,o={nextPart:new Map,validators:[]};return Ae(Object.entries(e.classGroups),t).forEach(([n,l])=>{q(l,o,n,r)}),o},q=(e,r,t,o)=>{e.forEach(i=>{if(typeof i==\"string\"){let n=i===\"\"?r:ie(r,i);n.classGroupId=t;return}if(typeof i==\"function\"){if(Se(i)){q(i(o),r,t,o);return}r.validators.push({validator:i,classGroupId:t});return}Object.entries(i).forEach(([n,l])=>{q(l,ie(r,n),t,o)})})},ie=(e,r)=>{let t=e;return r.split(K).forEach(o=>{t.nextPart.has(o)||t.nextPart.set(o,{nextPart:new Map,validators:[]}),t=t.nextPart.get(o)}),t},Se=e=>e.isThemeGetter,Ae=(e,r)=>r?e.map(([t,o])=>{let i=o.map(n=>typeof n==\"string\"?r+n:typeof n==\"object\"?Object.fromEntries(Object.entries(n).map(([l,s])=>[r+l,s])):n);return[t,i]}):e,Ge=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=new Map,o=new Map,i=(n,l)=>{t.set(n,l),r++,r>e&&(r=0,o=t,t=new Map)};return{get(n){let l=t.get(n);if(l!==void 0)return l;if((l=o.get(n))!==void 0)return i(n,l),l},set(n,l){t.has(n)?t.set(n,l):i(n,l)}}},ce=\"!\",Pe=e=>{let{separator:r,experimentalParseClassName:t}=e,o=r.length===1,i=r[0],n=r.length,l=s=>{let u=[],g=0,m=0,y;for(let p=0;p<s.length;p++){let f=s[p];if(g===0){if(f===i&&(o||s.slice(p,p+n)===r)){u.push(s.slice(m,p)),m=p+n;continue}if(f===\"/\"){y=p;continue}}f===\"[\"?g++:f===\"]\"&&g--}let x=u.length===0?s:s.substring(m),v=x.startsWith(ce),w=v?x.substring(1):x,b=y&&y>m?y-m:void 0;return{modifiers:u,hasImportantModifier:v,baseClassName:w,maybePostfixModifierPosition:b}};return t?s=>t({className:s,parseClassName:l}):l},Re=e=>{if(e.length<=1)return e;let r=[],t=[];return e.forEach(o=>{o[0]===\"[\"?(r.push(...t.sort(),o),t=[]):t.push(o)}),r.push(...t.sort()),r},Ie=e=>_({cache:Ge(e.cacheSize),parseClassName:Pe(e)},Ce(e)),Te=/\\s+/,Ne=(e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:i}=r,n=[],l=e.trim().split(Te),s=\"\";for(let u=l.length-1;u>=0;u-=1){let g=l[u],{modifiers:m,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:v}=t(g),w=!!v,b=o(w?x.substring(0,v):x);if(!b){if(!w){s=g+(s.length>0?\" \"+s:s);continue}if(b=o(x),!b){s=g+(s.length>0?\" \"+s:s);continue}w=!1}let p=Re(m).join(\":\"),f=y?p+ce:p,h=f+b;if(n.includes(h))continue;n.push(h);let P=i(b,w);for(let S=0;S<P.length;++S){let B=P[S];n.push(f+B)}s=g+(s.length>0?\" \"+s:s)}return s};function Be(){let e=0,r,t,o=\"\";for(;e<arguments.length;)(r=arguments[e++])&&(t=de(r))&&(o&&(o+=\" \"),o+=t);return o}var de=e=>{if(typeof e==\"string\")return e;let r,t=\"\";for(let o=0;o<e.length;o++)e[o]&&(r=de(e[o]))&&(t&&(t+=\" \"),t+=r);return t};function le(e,...r){let t,o,i,n=l;function l(u){let g=r.reduce((m,y)=>y(m),e());return t=Ie(g),o=t.cache.get,i=t.cache.set,n=s,s(u)}function s(u){let g=o(u);if(g)return g;let m=Ne(u,t);return i(u,m),m}return function(){return n(Be.apply(null,arguments))}}var c=e=>{let r=t=>t[e]||[];return r.isThemeGetter=!0,r},pe=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,Ee=/^\\d+\\/\\d+$/,je=new Set([\"px\",\"full\",\"screen\"]),Le=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,_e=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,We=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,$e=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,Fe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,C=e=>A(e)||je.has(e)||Ee.test(e),z=e=>G(e,\"length\",Xe),A=e=>!!e&&!Number.isNaN(Number(e)),O=e=>G(e,\"number\",A),I=e=>!!e&&Number.isInteger(Number(e)),Ve=e=>e.endsWith(\"%\")&&A(e.slice(0,-1)),a=e=>pe.test(e),M=e=>Le.test(e),Ue=new Set([\"length\",\"size\",\"percentage\"]),Oe=e=>G(e,Ue,ue),qe=e=>G(e,\"position\",ue),Ke=new Set([\"image\",\"url\"]),Ze=e=>G(e,Ke,He),Je=e=>G(e,\"\",Ye),T=()=>!0,G=(e,r,t)=>{let o=pe.exec(e);return o?o[1]?typeof r==\"string\"?o[1]===r:r.has(o[1]):t(o[2]):!1},Xe=e=>_e.test(e)&&!We.test(e),ue=()=>!1,Ye=e=>$e.test(e),He=e=>Fe.test(e);var W=()=>{let e=c(\"colors\"),r=c(\"spacing\"),t=c(\"blur\"),o=c(\"brightness\"),i=c(\"borderColor\"),n=c(\"borderRadius\"),l=c(\"borderSpacing\"),s=c(\"borderWidth\"),u=c(\"contrast\"),g=c(\"grayscale\"),m=c(\"hueRotate\"),y=c(\"invert\"),x=c(\"gap\"),v=c(\"gradientColorStops\"),w=c(\"gradientColorStopPositions\"),b=c(\"inset\"),p=c(\"margin\"),f=c(\"opacity\"),h=c(\"padding\"),P=c(\"saturate\"),S=c(\"scale\"),B=c(\"sepia\"),Z=c(\"skew\"),J=c(\"space\"),X=c(\"translate\"),$=()=>[\"auto\",\"contain\",\"none\"],F=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],V=()=>[\"auto\",a,r],d=()=>[a,r],Y=()=>[\"\",C,z],E=()=>[\"auto\",A,a],H=()=>[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\"],j=()=>[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],Q=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],U=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"],R=()=>[\"\",\"0\",a],D=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],k=()=>[A,a];return{cacheSize:500,separator:\":\",theme:{colors:[T],spacing:[C,z],blur:[\"none\",\"\",M,a],brightness:k(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",M,a],borderSpacing:d(),borderWidth:Y(),contrast:k(),grayscale:R(),hueRotate:k(),invert:R(),gap:d(),gradientColorStops:[e],gradientColorStopPositions:[Ve,z],inset:V(),margin:V(),opacity:k(),padding:d(),saturate:k(),scale:k(),sepia:R(),skew:k(),space:d(),translate:d()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",a]}],container:[\"container\"],columns:[{columns:[M]}],\"break-after\":[{\"break-after\":D()}],\"break-before\":[{\"break-before\":D()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[...H(),a]}],overflow:[{overflow:F()}],\"overflow-x\":[{\"overflow-x\":F()}],\"overflow-y\":[{\"overflow-y\":F()}],overscroll:[{overscroll:$()}],\"overscroll-x\":[{\"overscroll-x\":$()}],\"overscroll-y\":[{\"overscroll-y\":$()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[b]}],\"inset-x\":[{\"inset-x\":[b]}],\"inset-y\":[{\"inset-y\":[b]}],start:[{start:[b]}],end:[{end:[b]}],top:[{top:[b]}],right:[{right:[b]}],bottom:[{bottom:[b]}],left:[{left:[b]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",I,a]}],basis:[{basis:V()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",a]}],grow:[{grow:R()}],shrink:[{shrink:R()}],order:[{order:[\"first\",\"last\",\"none\",I,a]}],\"grid-cols\":[{\"grid-cols\":[T]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",I,a]},a]}],\"col-start\":[{\"col-start\":E()}],\"col-end\":[{\"col-end\":E()}],\"grid-rows\":[{\"grid-rows\":[T]}],\"row-start-end\":[{row:[\"auto\",{span:[I,a]},a]}],\"row-start\":[{\"row-start\":E()}],\"row-end\":[{\"row-end\":E()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",a]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",a]}],gap:[{gap:[x]}],\"gap-x\":[{\"gap-x\":[x]}],\"gap-y\":[{\"gap-y\":[x]}],\"justify-content\":[{justify:[\"normal\",...U()]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",...U(),\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[...U(),\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[h]}],px:[{px:[h]}],py:[{py:[h]}],ps:[{ps:[h]}],pe:[{pe:[h]}],pt:[{pt:[h]}],pr:[{pr:[h]}],pb:[{pb:[h]}],pl:[{pl:[h]}],m:[{m:[p]}],mx:[{mx:[p]}],my:[{my:[p]}],ms:[{ms:[p]}],me:[{me:[p]}],mt:[{mt:[p]}],mr:[{mr:[p]}],mb:[{mb:[p]}],ml:[{ml:[p]}],\"space-x\":[{\"space-x\":[J]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[J]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",a,r]}],\"min-w\":[{\"min-w\":[a,r,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[a,r,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[M]},M]}],h:[{h:[a,r,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[a,r,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[a,r,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[a,r,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",M,z]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",O]}],\"font-family\":[{font:[T]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",a]}],\"line-clamp\":[{\"line-clamp\":[\"none\",A,O]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",C,a]}],\"list-image\":[{\"list-image\":[\"none\",a]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",a]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[f]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[f]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...j(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",C,z]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",C,a]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:d()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",a]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",a]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[f]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[...H(),qe]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",Oe]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},Ze]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[w]}],\"gradient-via-pos\":[{via:[w]}],\"gradient-to-pos\":[{to:[w]}],\"gradient-from\":[{from:[v]}],\"gradient-via\":[{via:[v]}],\"gradient-to\":[{to:[v]}],rounded:[{rounded:[n]}],\"rounded-s\":[{\"rounded-s\":[n]}],\"rounded-e\":[{\"rounded-e\":[n]}],\"rounded-t\":[{\"rounded-t\":[n]}],\"rounded-r\":[{\"rounded-r\":[n]}],\"rounded-b\":[{\"rounded-b\":[n]}],\"rounded-l\":[{\"rounded-l\":[n]}],\"rounded-ss\":[{\"rounded-ss\":[n]}],\"rounded-se\":[{\"rounded-se\":[n]}],\"rounded-ee\":[{\"rounded-ee\":[n]}],\"rounded-es\":[{\"rounded-es\":[n]}],\"rounded-tl\":[{\"rounded-tl\":[n]}],\"rounded-tr\":[{\"rounded-tr\":[n]}],\"rounded-br\":[{\"rounded-br\":[n]}],\"rounded-bl\":[{\"rounded-bl\":[n]}],\"border-w\":[{border:[s]}],\"border-w-x\":[{\"border-x\":[s]}],\"border-w-y\":[{\"border-y\":[s]}],\"border-w-s\":[{\"border-s\":[s]}],\"border-w-e\":[{\"border-e\":[s]}],\"border-w-t\":[{\"border-t\":[s]}],\"border-w-r\":[{\"border-r\":[s]}],\"border-w-b\":[{\"border-b\":[s]}],\"border-w-l\":[{\"border-l\":[s]}],\"border-opacity\":[{\"border-opacity\":[f]}],\"border-style\":[{border:[...j(),\"hidden\"]}],\"divide-x\":[{\"divide-x\":[s]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[s]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[f]}],\"divide-style\":[{divide:j()}],\"border-color\":[{border:[i]}],\"border-color-x\":[{\"border-x\":[i]}],\"border-color-y\":[{\"border-y\":[i]}],\"border-color-s\":[{\"border-s\":[i]}],\"border-color-e\":[{\"border-e\":[i]}],\"border-color-t\":[{\"border-t\":[i]}],\"border-color-r\":[{\"border-r\":[i]}],\"border-color-b\":[{\"border-b\":[i]}],\"border-color-l\":[{\"border-l\":[i]}],\"divide-color\":[{divide:[i]}],\"outline-style\":[{outline:[\"\",...j()]}],\"outline-offset\":[{\"outline-offset\":[C,a]}],\"outline-w\":[{outline:[C,z]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:Y()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[f]}],\"ring-offset-w\":[{\"ring-offset\":[C,z]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",M,Je]}],\"shadow-color\":[{shadow:[T]}],opacity:[{opacity:[f]}],\"mix-blend\":[{\"mix-blend\":[...Q(),\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":Q()}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[u]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",M,a]}],grayscale:[{grayscale:[g]}],\"hue-rotate\":[{\"hue-rotate\":[m]}],invert:[{invert:[y]}],saturate:[{saturate:[P]}],sepia:[{sepia:[B]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[t]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[o]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[u]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[g]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[m]}],\"backdrop-invert\":[{\"backdrop-invert\":[y]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[f]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[P]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[B]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[l]}],\"border-spacing-x\":[{\"border-spacing-x\":[l]}],\"border-spacing-y\":[{\"border-spacing-y\":[l]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",a]}],duration:[{duration:k()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",a]}],delay:[{delay:k()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",a]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[S]}],\"scale-x\":[{\"scale-x\":[S]}],\"scale-y\":[{\"scale-y\":[S]}],rotate:[{rotate:[I,a]}],\"translate-x\":[{\"translate-x\":[X]}],\"translate-y\":[{\"translate-y\":[X]}],\"skew-x\":[{\"skew-x\":[Z]}],\"skew-y\":[{\"skew-y\":[Z]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",a]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",a]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":d()}],\"scroll-mx\":[{\"scroll-mx\":d()}],\"scroll-my\":[{\"scroll-my\":d()}],\"scroll-ms\":[{\"scroll-ms\":d()}],\"scroll-me\":[{\"scroll-me\":d()}],\"scroll-mt\":[{\"scroll-mt\":d()}],\"scroll-mr\":[{\"scroll-mr\":d()}],\"scroll-mb\":[{\"scroll-mb\":d()}],\"scroll-ml\":[{\"scroll-ml\":d()}],\"scroll-p\":[{\"scroll-p\":d()}],\"scroll-px\":[{\"scroll-px\":d()}],\"scroll-py\":[{\"scroll-py\":d()}],\"scroll-ps\":[{\"scroll-ps\":d()}],\"scroll-pe\":[{\"scroll-pe\":d()}],\"scroll-pt\":[{\"scroll-pt\":d()}],\"scroll-pr\":[{\"scroll-pr\":d()}],\"scroll-pb\":[{\"scroll-pb\":d()}],\"scroll-pl\":[{\"scroll-pl\":d()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",a]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[C,z,O]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}},Qe=(e,{cacheSize:r,prefix:t,separator:o,experimentalParseClassName:i,extend:n={},override:l={}})=>{N(e,\"cacheSize\",r),N(e,\"prefix\",t),N(e,\"separator\",o),N(e,\"experimentalParseClassName\",i);for(let s in l)De(e[s],l[s]);for(let s in n)er(e[s],n[s]);return e},N=(e,r,t)=>{t!==void 0&&(e[r]=t)},De=(e,r)=>{if(r)for(let t in r)N(e,t,r[t])},er=(e,r)=>{if(r)for(let t in r){let o=r[t];o!==void 0&&(e[t]=(e[t]||[]).concat(o))}},be=(e,...r)=>typeof e==\"function\"?le(W,e,...r):le(()=>Qe(W(),e),...r);var rr=W(),ge=be(()=>oe(_({},rr),{prefix:\"tw-\"}));0&&(module.exports={formatFileSize,twMerge});\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgQuestionCircle = function SvgQuestionCircle(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM11.952 7C10.9879 7 10.1911 7.64781 9.96747 8.50299C9.82774 9.03731 9.28132 9.35719 8.74701 9.21747C8.21269 9.07774 7.89281 8.53132 8.03253 7.99701C8.48562 6.26435 10.0755 5 11.952 5C14.1726 5 16 6.77595 16 9C16 10.2955 15.3762 11.4431 14.4204 12.1705C13.9892 12.4987 13.6041 12.8196 13.3276 13.1575C13.0552 13.4901 12.952 13.7614 12.952 14V15C12.952 15.5523 12.5043 16 11.952 16C11.3997 16 10.952 15.5523 10.952 15V14C10.952 13.134 11.3407 12.4272 11.78 11.8905C12.2151 11.3591 12.7615 10.9197 13.2092 10.5789C13.6954 10.2089 14 9.63723 14 9C14 7.91034 13.0981 7 11.952 7ZM13 18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17C12.5523 17 13 17.4477 13 18Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgQuestionCircle as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM11.952 7C10.9879 7 10.1911 7.64781 9.96747 8.50299C9.82774 9.03731 9.28132 9.35719 8.74701 9.21747C8.21269 9.07774 7.89281 8.53132 8.03253 7.99701C8.48562 6.26435 10.0755 5 11.952 5C14.1726 5 16 6.77595 16 9C16 10.2955 15.3762 11.4431 14.4204 12.1705C13.9892 12.4987 13.6041 12.8196 13.3276 13.1575C13.0552 13.4901 12.952 13.7614 12.952 14V15C12.952 15.5523 12.5043 16 11.952 16C11.3997 16 10.952 15.5523 10.952 15V14C10.952 13.134 11.3407 12.4272 11.78 11.8905C12.2151 11.3591 12.7615 10.9197 13.2092 10.5789C13.6954 10.2089 14 9.63723 14 9C14 7.91034 13.0981 7 11.952 7ZM13 18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17C12.5523 17 13 17.4477 13 18Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearch = function SvgSearch(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgSearch as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M4 11C4 7.13401 7.13401 4 11 4C14.866 4 18 7.13401 18 11C18 14.866 14.866 18 11 18C7.13401 18 4 14.866 4 11ZM11 2C6.02944 2 2 6.02944 2 11C2 15.9706 6.02944 20 11 20C13.125 20 15.078 19.2635 16.6177 18.0319L20.2929 21.7071C20.6834 22.0976 21.3166 22.0976 21.7071 21.7071C22.0976 21.3166 22.0976 20.6834 21.7071 20.2929L18.0319 16.6177C19.2635 15.078 20 13.125 20 11C20 6.02944 15.9706 2 11 2Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var getDefaultParent = function (originalTarget) {\n    if (typeof document === 'undefined') {\n        return null;\n    }\n    var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n    return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n    return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n    return targets\n        .map(function (target) {\n        if (parent.contains(target)) {\n            return target;\n        }\n        var correctedTarget = unwrapHost(target);\n        if (correctedTarget && parent.contains(correctedTarget)) {\n            return correctedTarget;\n        }\n        console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n        return null;\n    })\n        .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n    var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    if (!markerMap[markerName]) {\n        markerMap[markerName] = new WeakMap();\n    }\n    var markerCounter = markerMap[markerName];\n    var hiddenNodes = [];\n    var elementsToKeep = new Set();\n    var elementsToStop = new Set(targets);\n    var keep = function (el) {\n        if (!el || elementsToKeep.has(el)) {\n            return;\n        }\n        elementsToKeep.add(el);\n        keep(el.parentNode);\n    };\n    targets.forEach(keep);\n    var deep = function (parent) {\n        if (!parent || elementsToStop.has(parent)) {\n            return;\n        }\n        Array.prototype.forEach.call(parent.children, function (node) {\n            if (elementsToKeep.has(node)) {\n                deep(node);\n            }\n            else {\n                try {\n                    var attr = node.getAttribute(controlAttribute);\n                    var alreadyHidden = attr !== null && attr !== 'false';\n                    var counterValue = (counterMap.get(node) || 0) + 1;\n                    var markerValue = (markerCounter.get(node) || 0) + 1;\n                    counterMap.set(node, counterValue);\n                    markerCounter.set(node, markerValue);\n                    hiddenNodes.push(node);\n                    if (counterValue === 1 && alreadyHidden) {\n                        uncontrolledNodes.set(node, true);\n                    }\n                    if (markerValue === 1) {\n                        node.setAttribute(markerName, 'true');\n                    }\n                    if (!alreadyHidden) {\n                        node.setAttribute(controlAttribute, 'true');\n                    }\n                }\n                catch (e) {\n                    console.error('aria-hidden: cannot operate on ', node, e);\n                }\n            }\n        });\n    };\n    deep(parentNode);\n    elementsToKeep.clear();\n    lockCount++;\n    return function () {\n        hiddenNodes.forEach(function (node) {\n            var counterValue = counterMap.get(node) - 1;\n            var markerValue = markerCounter.get(node) - 1;\n            counterMap.set(node, counterValue);\n            markerCounter.set(node, markerValue);\n            if (!counterValue) {\n                if (!uncontrolledNodes.has(node)) {\n                    node.removeAttribute(controlAttribute);\n                }\n                uncontrolledNodes.delete(node);\n            }\n            if (!markerValue) {\n                node.removeAttribute(markerName);\n            }\n        });\n        lockCount--;\n        if (!lockCount) {\n            // clear\n            counterMap = new WeakMap();\n            counterMap = new WeakMap();\n            uncontrolledNodes = new WeakMap();\n            markerMap = {};\n        }\n    };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n    var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n    targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n    return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-inert-ed'; }\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n    return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-suppressed'; }\n    return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","import React, { useEffect, useState, useRef } from 'react'\nimport { createRoot } from 'react-dom/client'\n\ntype SnackbarMessage = { message: string; link?: { url: string; text: string } }\n\nconst showEvent = 'kundo--snackbar:show'\n\nexport const triggerSnackbar = (\n  message: SnackbarMessage['message'],\n  link?: SnackbarMessage['link'],\n): void => {\n  document.dispatchEvent(\n    new CustomEvent(showEvent, {\n      detail: { message, link },\n    }),\n  )\n}\n\nexport default function Snackbar() {\n  const snackRef = useRef<HTMLDivElement | null>(null)\n  const [activeMessage, setActiveMessage] = useState<SnackbarMessage | null>(null)\n  const queue = useRef<SnackbarMessage[]>([])\n\n  useEffect(() => {\n    const listener = ({ detail }: CustomEvent<SnackbarMessage>) => {\n      if (activeMessage) {\n        queue.current.push(detail)\n      } else {\n        setActiveMessage(detail)\n      }\n    }\n    document.addEventListener(showEvent, listener)\n\n    return () => document.removeEventListener(showEvent, listener)\n  }, [activeMessage])\n\n  useEffect(() => {\n    const timer = setTimeout(() => {\n      if (queue.current.length) {\n        const first = queue.current[0]\n        queue.current = queue.current.slice(1)\n        setActiveMessage(first)\n      } else {\n        setActiveMessage(null)\n      }\n    }, 8000)\n    return () => clearTimeout(timer)\n  }, [activeMessage])\n\n  const calculatePosition = (scrollHeight: number) => {\n    if (snackRef.current) {\n      if (scrollHeight >= 64) {\n        snackRef.current.style.position = 'fixed'\n        snackRef.current.style.top = '8px'\n      } else {\n        snackRef.current.style.position = 'absolute'\n        snackRef.current.style.top = '66px'\n      }\n    }\n  }\n\n  useEffect(() => {\n    const listener = (e: any) => calculatePosition(e.target?.scrollingElement.scrollTop)\n\n    document.addEventListener('scroll', listener)\n\n    return () => {\n      document.removeEventListener('scroll', listener)\n    }\n  }, [])\n\n  const initSnackRef = (el: HTMLDivElement) => {\n    snackRef.current = el\n    calculatePosition(window.scrollY)\n  }\n\n  return (\n    activeMessage && (\n      <div\n        ref={initSnackRef}\n        className=\"snackbar\"\n        aria-live=\"polite\"\n      >\n        <div className=\"snackbar-message\">{activeMessage.message}</div>\n        {activeMessage.link && (\n          <div className=\"snackbar-button btn-wrapper btn-wrapper--justify-right\">\n            <a\n              href={activeMessage.link.url}\n              className=\"btn btn--small btn--tertiary btn--tertiary-small\"\n            >\n              {activeMessage.link.text}\n            </a>\n          </div>\n        )}\n      </div>\n    )\n  )\n}\n\nexport const initSnackbar = () => {\n  const container = $('<div id=\"snackbar-container\"></div>')\n  container.appendTo(document.body)\n  const root = createRoot(container[0])\n  root.render(<Snackbar />)\n\n  const flashMessages = Array.from(document.querySelectorAll('[data-fn-snackbar-message]'))\n  setTimeout(() => {\n    flashMessages.forEach((el) => {\n      const message = el.getAttribute('data-message-content')\n      const message_type = el.getAttribute('data-message-type')\n      if (message && message_type === 'info') triggerSnackbar(message)\n    })\n  }, 0)\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { match } from 'ts-pattern'\n\nexport enum StateType {\n  Idle,\n  Loading,\n  Done,\n  Error,\n}\n\nexport type NetworkState<T> =\n  | { type: StateType.Idle }\n  | { type: StateType.Loading }\n  | { type: StateType.Done; payload: T }\n  | { type: StateType.Error; payload: any }\n\ntype Endpoint = string\n\ntype Endpoints = {\n  editortools: {\n    assign: (id: string) => Endpoint\n    handled: (id: string) => Endpoint\n    archived: (id: string) => Endpoint\n    locked: (id: string) => Endpoint\n    priority: (id: string) => Endpoint\n    tags: (id: string) => Endpoint\n    status: (id: string) => Endpoint\n    relateTicket: (id: string) => Endpoint\n  }\n  comments: {\n    get: (id: string) => Endpoint\n    create: (id: string) => Endpoint\n    update: (id: string, comment: number) => Endpoint\n    delete: (id: string, comment: number) => Endpoint\n  }\n  activity: {\n    create: (slug: string, id: string) => Endpoint\n    changeChannel: (org: number, id: string) => Endpoint\n    channels: (org: number) => Endpoint\n    dashboardItem: (org: number, id: string) => Endpoint\n    delete: (slug: string, id: string) => Endpoint\n    drafts: (org: number) => Endpoint\n    user: (org: number, id: string) => Endpoint\n  }\n  user: {\n    profile: (id: string) => Endpoint\n    search: (org: number) => Endpoint\n  }\n  externalConversations: {\n    conversations: (itemId: string) => Endpoint\n    entries: (itemId: string, conversationId: string) => Endpoint\n  }\n  ai: {\n    smartSuggestions: (\n      inboxSlug: string,\n      dialogSlug: string,\n      mailCommentId: number | null,\n    ) => Endpoint\n    keywordSearch: (\n      inboxSlug: string,\n      dialogSlug: string,\n      searchTerm: string,\n      mailCommentId: number | null,\n    ) => Endpoint\n  }\n  ticket: {\n    cancelCsatSurvey: (publicId: string) => Endpoint\n    csatSurveyStatus: (publicId: string) => Endpoint\n  }\n}\n\nexport const endpoints: Endpoints = {\n  editortools: {\n    assign: (id) => `/dashboard/di/${id}/tools/assign_to/`,\n    handled: (id) => `/dashboard/di/${id}/tools/no_reply_required/?field=no_reply_required`,\n    archived: (id: string) => `/dashboard/di/${id}/tools/archived/?field=archived`,\n    locked: (id: string) => `/dashboard/di/${id}/tools/locked/?field=locked`,\n    priority: (id: string) => `/dashboard/di/${id}/tools/set_priority/`,\n    tags: (id: string) => `/dashboard/di/${id}/tags/`,\n    status: (id: string) => `/dashboard/di/${id}/tools/status/`,\n    relateTicket: (id: string) => `/dashboard/di/${id}/tools/relate_ticket/`,\n  },\n  comments: {\n    get: (id: string) => `/dashboard/di/${id}/comments/`,\n    create: (id: string) => `/dashboard/di/${id}/comments/create/`,\n    update: (id: string, comment: number) => `/dashboard/di/${id}/comments/${comment}/`,\n    delete: (id: string, comment: number) => `/dashboard/di/${id}/comments/${comment}/delete/`,\n  },\n  activity: {\n    create: (slug, id) => `/activity/${slug}/a/${id}/draft/`,\n    changeChannel: (org, id) => `/dashboard/${org}/activity/a/${id}/channel/`,\n    channels: (org) => `/dashboard/${org}/activity/channels/`,\n    dashboardItem: (org, id) => `/dashboard/${org}/activity/a/${id}/dashboard-item/`,\n    delete: (slug, id) => `/activity/${slug}/a/${id}/delete/`,\n    drafts: (org) => `/dashboard/${org}/activity/drafts/`,\n    user: (org, id) => `/dashboard/${org}/activity/a/${id}/user/`,\n  },\n  user: {\n    profile: (id) => `/profile/show/${id}/`,\n    search: (org) => `/profile/search/${org}/`,\n  },\n  externalConversations: {\n    conversations: (itemId) => `/dashboard/external-conversations/${itemId}/`,\n    entries: (itemId, conversationId) =>\n      `/dashboard/external-conversations/${itemId}/${conversationId}/`,\n  },\n  ai: {\n    smartSuggestions: (inboxSlug, dialogSlug, mailCommentId) =>\n      `/smart-replies/inbox/${inboxSlug}/relevant-suggestions/${dialogSlug}?mailCommentId=${mailCommentId}`,\n    keywordSearch: (inboxSlug, dialogSlug, searchTerm, mailCommentId) =>\n      `/smart-replies/inbox/${inboxSlug}/search-suggestions/${dialogSlug}/${searchTerm}?mailCommentId=${mailCommentId}`,\n  },\n  ticket: {\n    cancelCsatSurvey: (publicId: string) => `/bff/tickets/${publicId}/cancel-csat-survey`,\n    csatSurveyStatus: (publicId: string) => `/bff/tickets/${publicId}/csat-survey-status`,\n  },\n}\n\nexport enum HTTP {\n  GET,\n  PUT,\n  POST,\n  DELETE,\n  PATCH,\n}\n\nexport type RequestFn<T, U> = (data?: U) => Promise<T>\n\nexport default function useApi<T, U = {}>(\n  verb: HTTP,\n  endpoint: Endpoint,\n): [NetworkState<T>, RequestFn<T, U>] {\n  const isUnmounted = useRef(false)\n  const dataType = 'json'\n\n  useEffect(() => {\n    isUnmounted.current = false\n\n    return () => {\n      isUnmounted.current = true\n    }\n  }, [])\n\n  const [networkState, setNetworkState] = useState<NetworkState<T>>({\n    type: StateType.Idle,\n  })\n\n  const handleResponse = (promise: Promise<T>) => {\n    if (isUnmounted.current) return promise\n    setNetworkState({ type: StateType.Loading })\n\n    return promise\n      .then((payload: T) => {\n        if (isUnmounted.current) return\n        setNetworkState({ type: StateType.Done, payload })\n        return payload\n      })\n      .catch((x) => {\n        if (isUnmounted.current) return\n        setNetworkState({ type: StateType.Error, payload: x })\n        return x\n      })\n  }\n\n  const request = match<HTTP, RequestFn<T, U>>(verb)\n    .with(\n      HTTP.GET,\n      () => (): Promise<T> =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.get({ url: endpoint, dataType }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.POST,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.post({ url: endpoint, data, dataType }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.PUT,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({ url: endpoint, type: 'PUT', data: JSON.stringify(data) })\n              .then(resolve)\n              .catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.DELETE,\n      () => () =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({ url: endpoint, type: 'DELETE' }).then(resolve).catch(reject),\n          ),\n        ),\n    )\n    .with(\n      HTTP.PATCH,\n      () => (data: U) =>\n        handleResponse(\n          new Promise<T>((resolve, reject) =>\n            $.ajax({\n              url: endpoint,\n              type: 'PATCH',\n              data: JSON.stringify(data),\n              contentType: 'application/json',\n            })\n              .then(resolve)\n              .catch(reject),\n          ),\n        ),\n    )\n    .run()\n\n  return [networkState, request]\n}\n\nexport const request = <T, U = {}>({\n  url,\n  type,\n  data,\n}: {\n  url: string\n  type: 'GET' | 'POST' | 'PUT' | 'DELETE'\n  data?: U\n}): Promise<T> => {\n  return new Promise((resolve, reject) => $.ajax({ url, type, data }).then(resolve).catch(reject))\n}\n","import IconX from '@icons/x.svg'\nimport getFiletypeFromName from './get-filetype-from-name'\n\nexport type File = {\n  filename: string\n  path: string\n  upload_puri?: string\n  url: string\n}\n\nexport class NullAttachmentsList {\n  show_progress_error() {}\n\n  show_error_msg(msg) {\n    alert(msg)\n  }\n\n  show_progress(progress) {}\n\n  hide_progress(progress) {}\n\n  refresh_attachments() {}\n\n  get_files() {\n    throw Error('Should be unused!')\n  }\n\n  add_file(file) {}\n\n  has_file() {}\n\n  remove_file(file_id) {}\n\n  remove_file_by_url(url) {}\n}\n\nexport class LargeAttachmentsList {\n  attachments: JQuery<HTMLElement>\n  json_field: JQuery<HTMLElement>\n  attachment_list: JQuery<HTMLUListElement>\n  label: JQuery<HTMLElement>\n  onChange?: (files: File[]) => void\n\n  constructor(elm: JQuery<HTMLElement>, onChange?: (files: File[]) => void) {\n    this.attachments = elm\n    this.json_field = elm.find('.fn-attachment-list')\n    this.attachment_list = elm.find('ul')\n    this.label = elm.parent().find(`label[for=\"${this.json_field.attr('id')}\"]`)\n    this.onChange = onChange\n\n    const self = this\n    this.attachments.on('click', 'button.fn-large-attachment-list__remove-button', function (e) {\n      e.preventDefault()\n      self.remove_file($(this).data('id'))\n\n      const frame = $('#mail-iframe', window.parent.document)\n      frame.length > 0 && frame.height(document.body.scrollHeight)\n    })\n  }\n\n  refresh_attachments() {\n    this.attachments.find('.fn-errors').remove()\n    this.attachments.find('li').remove()\n\n    const elms = this.get_files().map(this._file_to_element)\n    this.attachment_list.append(elms)\n\n    if (this.attachments.find('li').length) {\n      this.label.show()\n    } else {\n      this.label.hide()\n    }\n  }\n\n  _file_to_element(file) {\n    const fileName = file.filename || file.path.replace(/^.*[\\\\/]/, '')\n    const fileType = getFiletypeFromName(fileName)\n    const button = $(\n      '<button class=\"btn btn--small btn--secondary btn--only-icon fn-large-attachment-list__remove-button\">',\n    )\n      .append(IconX)\n      .append($('<span class=\"visuallyhidden\">').text(TRANSLATIONS.remove))\n    button.data('id', file.url || file.path)\n    const nameLink = $(\n      '<a target=\"_blank\" rel=\"noopener noreferrer\" class=\"large-attachment-list__filename\">',\n    )\n    nameLink.text(fileName)\n    nameLink.attr('href', file.url)\n    const li = $('<li class=\"large-attachment-list__item\">')\n\n    let iconClass = 'large-attachment-list__icon'\n    if (fileType) {\n      iconClass += ` large-attachment-list__icon--${fileType}`\n    }\n    const icon = $(`<span class=\"${iconClass}\">`)\n    if (fileType === 'image') {\n      const img = $('<img>')\n      img.attr('src', file.url)\n      icon.append(img)\n    }\n    li.append(icon)\n    li.append(nameLink)\n    li.append(button)\n    return li\n  }\n\n  show_error_msg(msg) {\n    this.show_progress_error()\n    this.attachments.find('.fn-errors').remove()\n    this.attachments\n      .find('.fn-progress-bar')\n      .before($(`<div class=\"fn-errors field-error-msg error-msg\" aria-live=\"polite\">${msg}</div>`))\n  }\n\n  add_progress_bar(disposition = 'attachment') {\n    this.attachments.find('.fn-progress-bar').parent('li').remove()\n    this.attachment_list.append(\n      '<li><div class=\"fn-progress-bar progress-bar\"><div class=\"progress-bar__progress\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 0%;\"></div></div><li>',\n    )\n\n    if (disposition === 'attachment') {\n      const attachmentsListElement = this.attachments.get(0)\n      const bounding = attachmentsListElement.getBoundingClientRect()\n      if (!(bounding.top >= 0 && bounding.bottom <= window.innerHeight)) {\n        attachmentsListElement.scrollIntoView({ behavior: 'smooth' })\n      }\n    }\n  }\n\n  show_progress_error() {\n    this.add_progress_bar()\n    const progressBar = this.attachments.find('.fn-progress-bar')\n    progressBar.find('.progress-bar__progress').css('width', '100%')\n    progressBar.addClass('progress-bar--error')\n    progressBar.show()\n    this.attachments.show()\n  }\n\n  show_progress(progress, disposition = 'attachment') {\n    this.attachments.show()\n    this.attachments.find('.fn-errors').remove()\n    let progressBar = this.attachments.find('.fn-progress-bar')\n\n    if (!progressBar.length) {\n      this.add_progress_bar(disposition)\n      progressBar = this.attachments.find('.fn-progress-bar')\n    }\n\n    progressBar\n      .find('.progress-bar__progress')\n      .css('width', `${progress}%`)\n      .attr('aria-valuenow', `${Math.round(progress)}`)\n    progressBar.removeClass('progress-bar--error')\n    progressBar.show()\n  }\n\n  hide_progress(progress) {\n    this.attachments.find('.fn-progress-bar').parent('li').remove()\n  }\n\n  add_file(file) {\n    // path is expected by knowledge\n    // url and filename is expected by new style attachment verification server side\n    const files = this.get_files()\n    files.push({\n      filename: file.filename,\n      path: file.path,\n      url: file.url || file.temporary_url,\n    })\n    this.set_files(files)\n  }\n\n  has_file(file: File) {\n    return this.get_files().filter((f) => f.url === file.url).length > 0\n  }\n\n  remove_file(url: string) {\n    const json = this.get_files().filter((file) => file.url !== url)\n    this.set_files(json)\n  }\n\n  remove_file_by_url(url: string) {\n    const json = this.get_files().filter((file) => file.url !== url)\n    this.set_files(json)\n  }\n\n  get_files(): File[] {\n    return JSON.parse((this.json_field.val() as string) || '[]') || []\n  }\n\n  set_files(files?: File[]) {\n    files = files || []\n    this.json_field.val(JSON.stringify(files)).trigger('change')\n    this.refresh_attachments()\n    if (this.onChange) {\n      this.onChange(files)\n    }\n  }\n}\n","function getFiletypeFromName(filenameIncludingExtension = '') {\n  const extension = filenameIncludingExtension.split('.').pop()!.toLowerCase()\n  const definedFiletypes = {\n    pdf: 'pdf',\n    word: 'word',\n    excel: 'excel',\n    image: 'image',\n  }\n  const mappings = {\n    pdf: definedFiletypes.pdf,\n    doc: definedFiletypes.word,\n    docx: definedFiletypes.word,\n    xls: definedFiletypes.excel,\n    xlsx: definedFiletypes.excel,\n    jpeg: definedFiletypes.image,\n    jpg: definedFiletypes.image,\n    jpe: definedFiletypes.image,\n    png: definedFiletypes.image,\n    gif: definedFiletypes.image,\n    tif: definedFiletypes.image,\n    tiff: definedFiletypes.image,\n  }\n  return mappings[extension]\n}\n\nexport default getFiletypeFromName\n","import { retryFunction } from 'platform/utils'\nimport { LargeAttachmentsList } from './attachmentslist'\nimport KundoFroalaEditor, { getKundoFroalaInstance } from './kundo-froala-editor'\n\nexport const Formatting = {\n  init() {\n    setupTextEditors()\n    setupShortcuts()\n  },\n\n  isTextEditorReady(elm: HTMLElement | JQuery): boolean {\n    return !!getKundoFroalaInstance(elm)?.isInitialized\n  },\n\n  waitForTextEditorReady(elm: HTMLElement | JQuery): Promise<void> {\n    return new Promise((resolve) => {\n      retryFunction(() => {\n        const editor = getKundoFroalaInstance(elm)\n        if (editor) {\n          if (editor.isInitialized) {\n            resolve()\n          } else {\n            editor.on('kundoFroalaInitialized', resolve)\n          }\n        } else {\n          throw new Error('Found no editor')\n        }\n      })\n    })\n  },\n\n  getTextEditorHTML(elm: HTMLElement | JQuery): string {\n    return getKundoFroalaInstance(elm)?.getHTML() || ''\n  },\n\n  setTextEditorHTML(elm: HTMLElement | JQuery, html: null | string) {\n    getKundoFroalaInstance(elm)?.setHTML(html)\n  },\n\n  getTextEditorCaretPosition(elm: HTMLElement | JQuery) {\n    return getKundoFroalaInstance(elm)?.froala.position.getBoundingRect()\n  },\n\n  focusTextEditor(elm: HTMLElement | JQuery) {\n    getKundoFroalaInstance(elm)?.focus()\n  },\n\n  forceTextEditorAutosave(elm: HTMLElement | JQuery) {\n    getKundoFroalaInstance(elm)?.setDirty()\n  },\n}\n\nwindow.KUNDO.formatting = Formatting\n\nfunction handleKeyDown(event: JQuery.KeyDownEvent) {\n  if ((event.metaKey || event.ctrlKey) && event.key === 'Enter' && !event.shiftKey) {\n    event.preventDefault()\n    event.stopPropagation()\n    $(event.target).parents('form').submit()\n    return false\n  }\n}\n\nfunction setupShortcuts() {\n  $('.fn-submit-shortcut').on('keydown', handleKeyDown)\n  $('.fn-text-editor textarea').each((_, elm) => {\n    getKundoFroalaInstance(elm)?.on('keydown', handleKeyDown, true)\n  })\n}\n\nfunction setupTextEditors() {\n  // If no text editor exists, we don't need to do anything ...\n  if ($('.fn-text-editor').length === 0) {\n    return\n  }\n\n  // ... but it's not enough to just find the textareas, since we need to connect\n  // the attachment ids with the toolbar\n  $('form').each((_i, form) => setupTextEditorForm($(form)))\n}\n\nfunction setupTextEditorForm(form: JQuery) {\n  form.find('.fn-text-editor').each((_, elem) => {\n    if (getKundoFroalaInstance(elem)) {\n      return\n    }\n    const attachmentsElm = form.find('.fn-attachments-large')\n\n    const parentObj = (form.find('#id_cmt-parent_object_slug').val() || '') as string\n    const isMailContext = parentObj.startsWith('mail') || form.find('#id_inbox').length > 0\n    const allowLargeUploads = elem.dataset.hasOwnProperty('fnAllowLargeUploads')\n\n    let attachmentsList: undefined | LargeAttachmentsList = undefined\n    if (attachmentsElm.length) {\n      attachmentsList = new LargeAttachmentsList(attachmentsElm)\n      attachmentsList.refresh_attachments()\n    }\n\n    new KundoFroalaEditor($(elem), attachmentsList, isMailContext, allowLargeUploads)\n  })\n}\n","import './formatting'\n\nKUNDO.dependencies.add([KUNDO.formatting])\n","import FroalaEditor from 'froala-editor'\n\nimport 'froala-editor/js/plugins/colors.min.js'\nimport 'froala-editor/js/plugins/draggable.min.js'\nimport 'froala-editor/js/plugins/image.min.js'\nimport 'froala-editor/js/plugins/link.min.js'\nimport 'froala-editor/js/plugins/lists.min.js'\nimport 'froala-editor/js/plugins/paragraph_format.min.js'\nimport 'froala-editor/js/plugins/paragraph_style.min.js'\nimport 'froala-editor/js/plugins/quote.min.js'\nimport 'froala-editor/js/plugins/save.min.js'\nimport 'froala-editor/js/plugins/table.min.js'\nimport 'froala-editor/js/plugins/url.min.js'\nimport 'froala-editor/js/plugins/video.min.js'\n\nexport const FroalaEditorV4: any = FroalaEditor\n","import React, { ReactElement, useMemo, useState, useEffect } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { createPortal } from 'react-dom'\nimport { Toast } from '@kundo/ui'\n\nexport const AutoRepliesAlerts = ({\n  isOpen,\n  title,\n  message,\n  ctaButtonText,\n  onAction,\n}: {\n  isOpen: boolean\n  title?: string\n  message?: string\n  ctaButtonText?: string\n  onAction?: () => void\n}): ReactElement => {\n  const toastContainer = useMemo(() => {\n    let element = document.getElementById('editor-toast')\n\n    if (!element) {\n      element = document.createElement('div')\n      element.id = 'editor-toast'\n      document.body.appendChild(element)\n    }\n\n    return element\n  }, [])\n\n  useEffect(() => {\n    window.addEventListener('pagehide', () => {\n      // delete toast container when page changes\n      if (toastContainer) {\n        toastContainer.innerHTML = ''\n        toastContainer.remove()\n      }\n    })\n  }, [toastContainer])\n\n  const [open, setOpen] = useState<boolean>(isOpen)\n\n  return (\n    <>\n      {toastContainer &&\n        createPortal(\n          <Toast\n            swipeDirection=\"up\"\n            open={open}\n            title={title}\n            description={message}\n            onOpenChange={(open) => {\n              setOpen(open)\n\n              !open &&\n                setTimeout(() => {\n                  document.querySelector('[data-fn-editor-alerts]')?.remove()\n\n                  if (toastContainer) {\n                    toastContainer.remove()\n                  }\n                }, 1000)\n            }}\n            duration={6000}\n            closeButtonText={gettext('Stäng')}\n            buttonText={ctaButtonText}\n            onAction={onAction}\n            className=\"tw-w-auto md:tw-max-w-full\"\n          />,\n          toastContainer,\n        )}\n    </>\n  )\n}\n\nexport const initAutoRepliesAlerts = ({\n  container,\n  isOpen,\n  title,\n  message,\n  ctaButtonText,\n  onAction,\n}: {\n  container: HTMLElement\n  isOpen: boolean\n  title?: string\n  message?: string\n  ctaButtonText?: string\n  onAction?: () => void\n}) => {\n  const root = createRoot(container)\n\n  root?.render(\n    <AutoRepliesAlerts\n      isOpen={isOpen}\n      title={title}\n      message={message}\n      ctaButtonText={ctaButtonText}\n      onAction={onAction}\n    />,\n  )\n}\n","export function skeleton(): string {\n  const html: string = `<div class=\"tw-animate-pulse tw-space-y-2.5\" data-froala-role=\"skeleton\">\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/5\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-4/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/2\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-4/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-5/6\"></div>\n      <div class=\"tw-h-3 tw-bg-gray-20 tw-rounded-sm tw-w-1/3\"></div>\n      <div><br/></div>\n    </div>`\n\n  return html.replace(/\\s+/g, ' ').replace(/>\\s+</g, '><').trim()\n}\n\nexport function editorSetHtml(editor: any, html: string) {\n  editor.html.set(html)\n}\n\nexport function parseDOM(content: string): Document {\n  const parser = new DOMParser()\n  return parser.parseFromString(content, 'text/html')\n}\n\nexport function trimContent(content: string): string {\n  return content\n    .replace(/[\\n\\r]+/g, '')\n    .replace(/>\\s+</g, '><')\n    .trim()\n}\n\nexport function editableContent({\n  editor,\n  removePreviosAutoreply = true,\n}: {\n  editor: any\n  removePreviosAutoreply?: boolean\n}) {\n  const editorContent: string = editor.html.get() // Get the current content\n\n  const parsedEditorContent = parseDOM(editorContent)\n\n  // Remove previous AI auto reply elements\n  removePreviosAutoreply &&\n    parsedEditorContent\n      .querySelectorAll('[data-froala-role=\"ai-autoreply\"]')\n      .forEach((el) => el.remove())\n\n  const currentContent = parsedEditorContent.body.innerHTML\n\n  const doc = parseDOM(currentContent)\n\n  // Remove signature elements\n  doc.querySelectorAll('[data-froala-role=\"signature\"]').forEach((el) => el.remove())\n\n  // Remove history elements\n  doc.querySelectorAll('[data-froala-role=\"history-wrapper\"]').forEach((el) => el.remove())\n\n  // Remove skeleton elements\n  deleteSkeleton(currentContent, doc)\n\n  return {\n    currentContent: trimContent(currentContent),\n    cleanedHtml: trimContent(doc.body.innerHTML),\n  }\n}\n\nexport function showSkeleton({\n  editor,\n  removePreviousContent = false,\n  removePreviosAutoreply = true,\n}: {\n  removePreviousContent?: boolean\n  editor: any\n  removePreviosAutoreply?: boolean\n}) {\n  const { currentContent, cleanedHtml } = editableContent({\n    editor,\n    removePreviosAutoreply,\n  })\n\n  let updatedHtml: string = currentContent\n\n  const stringIsEmpty = checkIfEmptyString(cleanedHtml)\n\n  if (removePreviousContent || stringIsEmpty) {\n    const replacementHtml = `${skeleton()}`\n\n    updatedHtml = currentContent.replace(cleanedHtml, replacementHtml)\n  } else {\n    const replacementHtml = `${cleanedHtml}${skeleton()}`\n\n    updatedHtml = currentContent.replace(cleanedHtml, replacementHtml)\n  }\n\n  editorSetHtml(editor, updatedHtml)\n}\n\nexport function deleteSkeleton(content: string, document?: Document): string {\n  const doc = document ? document : parseDOM(content)\n\n  doc.querySelectorAll('[data-froala-role=\"skeleton\"]').forEach((el) => el.remove())\n\n  return doc.body.innerHTML\n}\n\nexport function checkIfEmptyString(str: string): boolean {\n  const container = document.createElement('div')\n  container.innerHTML = str\n\n  // Remove all <br> elements from the container\n  container.querySelectorAll('br').forEach((br) => br.remove())\n\n  // Trim the remaining text content\n  const text = container.textContent?.trim() ?? ''\n\n  return text === ''\n}\n\nexport async function insertResult({\n  content,\n  removePreviousContent = false,\n  editor,\n}: {\n  content: string\n  removePreviousContent?: boolean\n  editor: any\n}) {\n  const { currentContent, cleanedHtml } = editableContent({ editor, removePreviosAutoreply: false })\n\n  let updatedHtml: string = currentContent\n\n  if (removePreviousContent) {\n    updatedHtml = deleteSkeleton(currentContent).replace(cleanedHtml, `${content}`)\n  } else {\n    updatedHtml = deleteSkeleton(currentContent).replace(cleanedHtml, `${cleanedHtml}${content}`)\n  }\n\n  await editorSetHtml(editor, updatedHtml) // Set the new content\n\n  await editor.undo.saveStep() // Save the undo step\n  await editor.el.blur() // Remove focus from the editor\n\n  setTimeout(() => {\n    editor.events.focus() // Focus back on the editor\n  }, 100)\n}\n","import { initAutoRepliesAlerts } from './AutoRepliesAlerts'\nimport { BTN_AI_AUTO_REPLIES } from '../../toolbar'\nimport { renderSources, deleteSources, initAiSources } from '../aiSources'\n\nimport {\n  deleteSkeleton,\n  editableContent,\n  editorSetHtml,\n  insertResult,\n  showSkeleton,\n} from '../../helpers'\n\nimport { AutoGeneratedResponseData, IReferences } from './types'\n\nexport function aiAutoReplies(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    aiAutoReplies: false,\n  })\n\n  FroalaEditor.PLUGINS.aiAutoReplies = function (editor: any) {\n    const toolbar = editor.$tb[0]\n    const editorBox = editor.$box[0]\n    const aiAutoResponseBtn = toolbar.querySelector('[data-cmd=\"aiAutoReplies\"]')\n    const parentForm = editor.$oel.closest('form')[0]\n\n    function editorOn() {\n      editor.edit.on()\n      toolbar.classList.remove('fr-preloader')\n    }\n\n    function editorOff() {\n      editor.edit.off()\n\n      toolbar.classList.remove('fr-disabled')\n      toolbar.classList.add('fr-preloader')\n    }\n\n    async function generateResponse({\n      onSuccess,\n      onError,\n    }: {\n      onSuccess: (data: AutoGeneratedResponseData) => void\n      onError?: () => void\n    }) {\n      const parentForm = editor.$oel.closest('form')[0]\n      if (!parentForm) return\n\n      const messagePuri = parentForm.getAttribute('data-message-puri')\n      const channelType = parentForm.getAttribute('data-channel-type')\n\n      if (!messagePuri) return\n\n      try {\n        const url = `/bff/${channelType}/${messagePuri}/draft-response`\n\n        const response = await fetch(url.toString(), {\n          method: 'GET',\n          headers: {\n            Accept: 'application/json',\n          },\n        })\n\n        if (response.ok) {\n          const data: AutoGeneratedResponseData = await response.json()\n\n          if (data.error) {\n            renderAlert({ errorCode: data.error.code })\n\n            onError && onError()\n          } else {\n            onSuccess(data)\n          }\n\n          editorOn()\n          // Reinitialize the mail history plugin only for mail channel\n          if (channelType === 'mail' && editor.MailHistoryPlugin) {\n            editor.MailHistoryPlugin._init(true)\n          }\n        }\n      } catch (error) {\n        console.error('Error fetching response:', error)\n\n        onError && onError()\n        editorOn()\n      }\n    }\n\n    function buttonStatus({ isLoading = false }: { isLoading: boolean }) {\n      const textContainer = aiAutoResponseBtn.querySelector('[data-cmd-title]')\n\n      const defaultTitle = textContainer.dataset.cmdTitle\n      const loadingTitle = TRANSLATIONS.froalaAiAutoReply.buttonPreloader\n\n      if (!textContainer) return\n\n      textContainer.innerHTML = isLoading ? loadingTitle : defaultTitle\n    }\n\n    function autoResponse() {\n      if (!editor.opts.aiAutoReplies) {\n        return\n      }\n\n      buttonStatus({ isLoading: true })\n\n      editorOff()\n      deleteSources(toolbar)\n\n      setTimeout(() => {\n        // we need to wait for the editor to be off before showing the skeleton, otherwise skeleton will be shown if editor use undo button\n        showSkeleton({ editor: editor, removePreviousContent: false, removePreviosAutoreply: true })\n      }, 100)\n\n      generateResponse({\n        onSuccess: function (data) {\n          const references = data.references || []\n\n          buttonStatus({ isLoading: false })\n\n          insertResult({\n            content: `<div data-froala-role=\"ai-autoreply\">${data.response}<div><br/></div></div>`,\n            editor: editor,\n          })\n\n          renderSources(aiAutoResponseBtn, references, {\n            editor,\n            initAiSources: initAiSources,\n          })\n\n          window.addEventListener('resize', () => {\n            deleteSources(toolbar)\n            renderSources(aiAutoResponseBtn, references, {\n              editor,\n              initAiSources: initAiSources,\n            })\n          })\n        },\n        onError: function () {\n          setTimeout(() => {\n            buttonStatus({ isLoading: false })\n          }, 500)\n        },\n      })\n\n      editor.undo.saveStep()\n    }\n\n    async function renderAlert({\n      title,\n      errorCode,\n      ctaButtonText,\n      onAction,\n    }: {\n      title?: string\n      errorCode?: number\n      ctaButtonText?: string\n      onAction?: () => void\n    }) {\n      const { froalaAiAutoReply } = TRANSLATIONS\n      const { errorAiTechError, outgoingThreadMessageNotice, errorAiTimeout, errorNoReplies } =\n        froalaAiAutoReply\n\n      if (!editor.opts.aiAutoReplies) {\n        return\n      }\n\n      let errorMessage: string = ''\n\n      const container = document.createElement('div')\n      container.dataset.fnEditorAlerts = ''\n      editorBox.insertAdjacentElement('afterend', container)\n\n      const { currentContent, cleanedHtml } = editableContent({ editor })\n\n      const updatedHtml = await deleteSkeleton(currentContent).replace(\n        cleanedHtml,\n        `${cleanedHtml === '' ? '<div></div>' : cleanedHtml}`,\n      )\n\n      switch (errorCode) {\n        case 1:\n          errorMessage = errorAiTechError\n          break\n        case 2:\n          errorMessage = outgoingThreadMessageNotice\n          break\n        case 3:\n          errorMessage = errorAiTimeout\n          break\n        case 4:\n          errorMessage = errorNoReplies\n          break\n      }\n\n      setTimeout(() => {\n        editorSetHtml(editor, updatedHtml)\n\n        initAutoRepliesAlerts({\n          container: container,\n          isOpen: true,\n          title: errorCode ? errorMessage : title,\n          ctaButtonText,\n          onAction,\n        })\n      }, 500)\n    }\n\n    function initPlugin() {\n      const { froalaAiAutoReply } = TRANSLATIONS\n      const { connectInboxMessage, connectInboxCTA } = froalaAiAutoReply\n\n      if (!parentForm) {\n        return\n      }\n\n      const isConnectedToSmartReplyChannel =\n        parentForm.getAttribute('data-connected-to-smart-reply-channel') === 'true'\n      const hasSmartReplyChannels =\n        parentForm.getAttribute('data-has-smart-reply-channels') === 'true'\n\n      if (hasSmartReplyChannels && isConnectedToSmartReplyChannel) {\n        autoResponse()\n      } else if (hasSmartReplyChannels && !isConnectedToSmartReplyChannel) {\n        const inboxSlug = parentForm.getAttribute('data-inbox-slug')\n\n        inboxSlug &&\n          renderAlert({\n            title: connectInboxMessage,\n            ctaButtonText: connectInboxCTA,\n            onAction: () =>\n              window.open(\n                `${window.location.origin}/inbox/${inboxSlug}/settings/smart-suggestions/`,\n                '_blank',\n              ),\n          })\n      } else {\n        return null\n      }\n    }\n\n    return {\n      initPlugin,\n    }\n  }\n\n  FroalaEditor.RegisterCommand(BTN_AI_AUTO_REPLIES, {\n    callback: function () {\n      this.aiAutoReplies.initPlugin()\n    },\n    focus: true,\n    plugin: 'aiAutoReplies',\n    popup: true,\n    title: TRANSLATIONS.froalaAiAutoReply.buttonText,\n    undo: true,\n  })\n}\n","import { IReferences } from '../aiAutoReplies/types'\n\nexport interface IPromptResponse {\n  response: string\n  task_successful: boolean\n  error?: {\n    code: number\n    message: string\n  }\n  references: IReferences[]\n}\n\nexport enum ApiPromptTypes {\n  FREE_TEXT = 'free_text',\n  FIX_SPELLING = 'fix_spelling',\n  TRANSLATE_TO = 'translate_to',\n  MAKE_LONGER = 'make_longer',\n  MAKE_SHORTER = 'make_shorter',\n  CHANGE_TONE = 'change_tone',\n}\n\nexport enum ApiPromptLangCode {\n  SV = 'sv',\n  EN = 'en',\n  NB = 'nb',\n  DA = 'da',\n  FI = 'fi',\n  DE = 'de',\n  PL = 'pl',\n  ES = 'es',\n  NL = 'nl',\n  IT = 'it',\n  FR = 'fr',\n}\n\nexport enum ApiPromptTonality {\n  ACADEMIC = 'academic',\n  CASUAL = 'casual',\n  PROFESSIONAL = 'professional',\n}\n\nexport const useApiPrompt = async ({\n  promptType,\n  prompt = '',\n  language,\n  tonality,\n  content,\n  channelPuri,\n  messagePuri,\n  onSuccess,\n  onError,\n}: {\n  promptType: ApiPromptTypes\n  prompt?: string\n  language?: ApiPromptLangCode\n  tonality?: ApiPromptTonality\n  content: string\n  channelPuri: string\n  messagePuri: string\n  onSuccess: (data: IPromptResponse) => void\n  onError?: (error: Error) => void\n}) => {\n  try {\n    const { CURRENT_ORGANIZATION_ID } = window\n    var organizationPuri = `kundo:organization:${CURRENT_ORGANIZATION_ID}`\n    let url: string | URL | null = null\n\n    let body = { text: content, message_puri: messagePuri }\n\n    switch (promptType) {\n      case ApiPromptTypes.FREE_TEXT:\n        url = `/bff/smart-replies/channel/${channelPuri}/free-text`\n        body['prompt'] = prompt.trim()\n        break\n\n      case ApiPromptTypes.FIX_SPELLING:\n        url = `/bff/smart-replies/org/${organizationPuri}/correct`\n        break\n\n      case ApiPromptTypes.TRANSLATE_TO:\n        url = `/bff/smart-replies/org/${organizationPuri}/translate`\n        body['language'] = language\n        break\n\n      case ApiPromptTypes.MAKE_LONGER:\n        url = `/bff/smart-replies/org/${organizationPuri}/expand`\n        break\n\n      case ApiPromptTypes.MAKE_SHORTER:\n        url = `/bff/smart-replies/org/${organizationPuri}/shorten`\n        break\n\n      case ApiPromptTypes.CHANGE_TONE:\n        body['tonality'] = tonality\n        url = `/bff/smart-replies/org/${organizationPuri}/tonality`\n        break\n\n      default:\n        return null\n    }\n\n    if (!url) return null\n\n    const response = await fetch(url as string, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        Accept: 'application/json',\n      },\n      body: JSON.stringify(body),\n    })\n\n    if (response.ok) {\n      const data: IPromptResponse = await response.json()\n\n      onSuccess && onSuccess(data)\n    }\n  } catch (error) {\n    onError && onError(error)\n\n    console.error('Failed to fetch:', error)\n  }\n}\n","export const ALLOWED_IMAGE_EXTENSIONS = ['png', 'jpeg', 'jpg', 'gif']\nexport const isAllowedImageMime = (type: string) => {\n  const exts = ALLOWED_IMAGE_EXTENSIONS\n  for (let i = 0, len = exts.length; i < len; i++) {\n    if (type === 'image/' + exts[i]) return true\n  }\n  return false\n}\n\n/*\n * Try to find any images in the event data, and\n * normalize data access between \"paste\" and \"drop\" events.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items\n **/\nexport function getFilesFromEvent(event: any) {\n  event = event.originalEvent || event\n  const data: DataTransfer = event.dataTransfer || event.clipboardData\n  if (!data) {\n    return []\n  }\n  if (data.types?.includes('text/html')) {\n    return []\n  }\n  // Using .files since .items is not supported in IE11\n  if (data?.files?.length) {\n    return data.files\n  }\n  if (data?.items?.length) {\n    const items: DataTransferItemList = data.items\n    return Array.from(items)\n      .map((item) => item.getAsFile())\n      .filter((item) => item)\n  }\n  return []\n}\n\n/**\n * Trims trailing empty lines from HTML content by removing empty divs and br tags at the end.\n */\nexport function trimTrailingEmptyLines(html: string): string {\n  let trimmed = html.trim()\n\n  if (!trimmed) {\n    return trimmed\n  }\n\n  const DIV_TAG_START = '<div(?:\\\\s[^>]*)?>' // <div> with optional attributes\n  const DIV_TAG_END = '</div>'\n  const BR_TAG = '<br\\\\s*\\\\/?>' // <br> or <br/> with optional whitespace\n  const TRAILING_WHITESPACE_END_OF_STRING = '\\\\s*$' // Optional whitespace at end of string\n  const OPTIONAL_WHITESPACE = '\\\\s*' // Optional whitespace anywhere\n\n  let previousTrimmed = ''\n  let iterations = 0\n  const maxIterations = 50 // Safety limit to prevent infinite loops\n\n  while (trimmed !== previousTrimmed && iterations < maxIterations) {\n    previousTrimmed = trimmed\n    iterations++\n\n    // Pattern 1: Remove trailing empty divs\n    trimmed = trimmed.replace(\n      new RegExp(\n        `${OPTIONAL_WHITESPACE}${DIV_TAG_START}${OPTIONAL_WHITESPACE}${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '',\n    )\n\n    // Pattern 2: Remove trailing divs containing only br tags\n    trimmed = trimmed.replace(\n      new RegExp(\n        `${OPTIONAL_WHITESPACE}${DIV_TAG_START}${OPTIONAL_WHITESPACE}(?:${BR_TAG}${OPTIONAL_WHITESPACE})+${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '',\n    )\n\n    // Pattern 3: Remove trailing standalone br tags\n    trimmed = trimmed.replace(\n      new RegExp(`${OPTIONAL_WHITESPACE}${BR_TAG}${TRAILING_WHITESPACE_END_OF_STRING}`, 'gi'),\n      '',\n    )\n\n    // Pattern 4: Remove trailing br tags inside divs (at the end of content)\n    trimmed = trimmed.replace(\n      new RegExp(\n        `(${DIV_TAG_START}[^<]+?)${OPTIONAL_WHITESPACE}(?:${BR_TAG}${OPTIONAL_WHITESPACE})+${DIV_TAG_END}${TRAILING_WHITESPACE_END_OF_STRING}`,\n        'gi',\n      ),\n      '$1</div>',\n    )\n  }\n\n  return trimmed.trim()\n}\n","import React, {\n  ReactElement,\n  useState,\n  useMemo,\n  PropsWithChildren,\n  useEffect,\n  forwardRef,\n  Fragment,\n  HTMLAttributes,\n} from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { createPortal } from 'react-dom'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport { renderSources, deleteSources, initAiSources } from '../aiSources'\n\nimport {\n  ArrowUpIcon,\n  Tooltip,\n  WinkleIcon,\n  Toast,\n  GlobeIcon,\n  SpellCheckIcon,\n  PlusIcon,\n  TextLongIcon,\n  TextShortIcon,\n  MegaphoneIcon,\n  MenuDropdown,\n  MenuDropdownSubMenu,\n  MenuDropdownSeparator,\n  MenuDropdownItem,\n  MenuDropdownItemContainer,\n} from '@kundo/ui'\n\nimport { editableContent, checkIfEmptyString, showSkeleton, insertResult } from '../../helpers'\nimport { useApiPrompt, ApiPromptTypes, ApiPromptLangCode, ApiPromptTonality } from './useApi'\nimport { trimTrailingEmptyLines } from '../../utils'\n\ninterface IPromtAlert {\n  open: boolean\n  title: string\n  ctaButtonText?: string\n}\n\nenum PromptLanguages {\n  SV = 'Svenska',\n  EN = 'English',\n  NB = 'Norsk',\n  DA = 'Dansk',\n  FI = 'Suomi',\n  DE = 'Deutsch',\n  PL = 'Polskie',\n  ES = 'Español',\n  NL = 'Nederlands',\n  IT = 'Italiano',\n  FR = 'Français',\n}\n\nconst tonalityTitle = (tonality: ApiPromptTonality) => {\n  switch (tonality) {\n    case ApiPromptTonality.ACADEMIC:\n      return gettext('Akademisk')\n\n    case ApiPromptTonality.CASUAL:\n      return gettext('Avslappnad')\n\n    case ApiPromptTonality.PROFESSIONAL:\n      return gettext('Professionell')\n\n    default:\n      return null\n  }\n}\n\ninterface IPromptMenu {\n  title?: string\n  icon?: ReactElement\n  action?: ApiPromptTypes\n  langCode?: ApiPromptLangCode\n  tonality?: ApiPromptTonality\n  submenu?: IPromptMenu[]\n  role?: 'separator'\n}\n\nconst menu = (): IPromptMenu[] => {\n  return [\n    {\n      title: gettext('Åtgärda stavning'),\n      icon: <SpellCheckIcon />,\n      action: ApiPromptTypes.FIX_SPELLING,\n    },\n    { role: 'separator' },\n    {\n      title: gettext('Översätt till'),\n      icon: <GlobeIcon />,\n      submenu: Object.entries(PromptLanguages).map(([key, value]) => ({\n        title: value,\n        action: ApiPromptTypes.TRANSLATE_TO,\n        langCode: ApiPromptLangCode[key as keyof typeof ApiPromptLangCode],\n      })),\n    },\n    { role: 'separator' },\n    { title: gettext('Gör längre'), icon: <TextLongIcon />, action: ApiPromptTypes.MAKE_LONGER },\n    { title: gettext('Gör kortare'), icon: <TextShortIcon />, action: ApiPromptTypes.MAKE_SHORTER },\n    { role: 'separator' },\n    {\n      title: gettext('Ändra ton'),\n      icon: <MegaphoneIcon />,\n      submenu: Object.entries(ApiPromptTonality).map(([_key, value]) => ({\n        title: tonalityTitle(value),\n        action: ApiPromptTypes.CHANGE_TONE,\n        tonality: value,\n      })),\n    },\n  ]\n}\n\nconst AiWidgetButton = forwardRef<\n  HTMLDivElement,\n  HTMLAttributes<HTMLDivElement> &\n    PropsWithChildren<{ asButton?: boolean; label?: string; className?: string }>\n>((props, ref) => {\n  const { label, children, className, onClick, asButton = true, ...rest } = props\n\n  return (\n    <div\n      ref={ref}\n      role={asButton ? 'button' : undefined}\n      tabIndex={asButton ? 0 : undefined}\n      aria-label={asButton && label ? label : undefined}\n      className={twMerge(\n        'tw-flex tw-shrink-0 tw-justify-center tw-items-center tw-box-border tw-flex-none',\n        'tw-w-9 tw-h-9 tw-rounded-full',\n        'tw-cursor-pointer tw-duration-200',\n        className,\n      )}\n      onClick={onClick}\n      {...rest}\n    >\n      {children}\n    </div>\n  )\n})\n\nconst EditorAiPromptWidget = ({ editor }: { editor: any }): ReactElement => {\n  const toolbar = editor.$tb[0]\n  // Note that aiAutoResponseBtn can be null if the aiAutoReplies plugin is not enabled\n  const aiAutoResponseBtn = toolbar.querySelector('[data-cmd=\"aiAutoReplies\"]')\n\n  const [prompt, setPrompt] = useState<string>('')\n  const [focus, setFocus] = useState<boolean>(false)\n  const [isLoading, setIsLoading] = useState<boolean>(false)\n\n  const [alert, setAlert] = useState<IPromtAlert>({\n    open: false,\n    title: '',\n    ctaButtonText: '',\n  })\n\n  const isEmptyPromt = useMemo(() => prompt.trim() === '', [prompt])\n\n  const ctaText = gettext('Skicka prompt')\n\n  const toastContainer = useMemo(() => {\n    let element = document.getElementById('editor-toast')\n\n    if (!element) {\n      element = document.createElement('div')\n      element.id = 'editor-toast'\n      document.body.appendChild(element)\n    }\n\n    return element\n  }, [])\n\n  const setAlertState = ({ open, title, ctaButtonText }: IPromtAlert) => {\n    setAlert((alert) => ({\n      ...alert,\n      open,\n      title,\n      ctaButtonText,\n    }))\n  }\n\n  const getPreviousAiPromptResult = (content: string): string => {\n    const temp = document.createElement('div')\n    temp.innerHTML = content\n\n    const target = temp.querySelector('[data-froala-role=\"ai-prompt-result\"]')\n\n    if (target) {\n      // delete last <div><br/></div> in the result if exists\n      const last = target.lastElementChild\n      if (\n        last &&\n        last.tagName.toLowerCase() === 'div' &&\n        last.childNodes.length === 1 &&\n        last.firstChild &&\n        (last.firstChild as Element).tagName?.toLowerCase() === 'br'\n      ) {\n        target.removeChild(last)\n      }\n\n      return target.innerHTML\n    } else {\n      return content\n    }\n  }\n\n  const defineCurrentContent = () => {\n    const { currentContent, cleanedHtml } = editableContent({\n      editor: editor,\n      removePreviosAutoreply: false,\n    })\n\n    const isEmptyContent = checkIfEmptyString(cleanedHtml)\n\n    if (isEmptyContent) {\n      return null\n    }\n\n    const previousResult = getPreviousAiPromptResult(cleanedHtml)\n    return trimTrailingEmptyLines(previousResult)\n  }\n\n  const errorStatus = (errorCode: number): string => {\n    let errorMessage = ''\n\n    switch (errorCode) {\n      case 1:\n      case 2:\n        errorMessage = gettext('Tekniskt fel, försök igen senare')\n        break\n      case 3:\n        errorMessage = gettext('Det tog för lång tid att generera ett AI-svar. Försök igen senare.')\n        break\n      case 4:\n        errorMessage = gettext('Tyvärr kunde vi inte bearbeta din förfrågan.')\n        break\n    }\n\n    return errorMessage\n  }\n\n  const initPrompt = async ({\n    action,\n    prompt,\n    langCode,\n    tonality,\n  }: {\n    action: ApiPromptTypes\n    prompt?: string\n    langCode?: ApiPromptLangCode\n    tonality?: ApiPromptTonality\n  }) => {\n    const content = defineCurrentContent() || ''\n\n    setIsLoading(true)\n    showSkeleton({ editor: editor, removePreviousContent: true, removePreviosAutoreply: false })\n    const parentForm = editor.$oel.closest('form')[0]\n    const messagePuri = parentForm.getAttribute('data-message-puri')\n    const channelPuri = parentForm.getAttribute('data-channel-puri')\n\n    useApiPrompt({\n      promptType: action,\n      prompt,\n      language: langCode,\n      tonality,\n      channelPuri,\n      messagePuri,\n      content,\n      onSuccess: (data) => {\n        if (data.error || data.task_successful === false) {\n          setAlertState({\n            open: true,\n            title: data.error ? errorStatus(data.error.code) : errorStatus(4),\n          })\n\n          insertResult({\n            content: content,\n            editor: editor,\n          })\n        } else {\n          insertResult({\n            content: `<div data-froala-role=\"ai-prompt-result\">${data.response}<div><br/></div></div>`,\n            editor: editor,\n          })\n        }\n\n        setPrompt('')\n        setIsLoading(false)\n\n        const references = data.references || []\n        if (aiAutoResponseBtn) {\n          deleteSources(toolbar)\n          renderSources(aiAutoResponseBtn, references, {\n            editor,\n            initAiSources: initAiSources,\n          })\n        }\n\n        if (aiAutoResponseBtn) {\n          window.addEventListener('resize', () => {\n            deleteSources(toolbar)\n            renderSources(aiAutoResponseBtn, references, {\n              editor,\n              initAiSources: initAiSources,\n            })\n          })\n        }\n\n        editor.MailHistoryPlugin._init(true) // Reinitialize the mail history plugin\n      },\n      onError: () => {\n        setAlertState({\n          open: true,\n          title: errorStatus(4),\n        })\n\n        setIsLoading(false)\n      },\n    })\n  }\n\n  const initCustomPrompt = () => {\n    initPrompt({ action: ApiPromptTypes.FREE_TEXT, prompt: prompt })\n  }\n\n  useEffect(() => {\n    window.addEventListener('pagehide', () => {\n      // delete toast container when page changes\n      if (toastContainer) {\n        toastContainer.innerHTML = ''\n        toastContainer.remove()\n      }\n    })\n  }, [toastContainer])\n\n  return (\n    <>\n      <div\n        role=\"region\"\n        aria-label={gettext('AI Prompt Widget')}\n        className={twMerge(\n          'tw-flex tw-items-center',\n          'tw-py-2 tw-px-4',\n          'tw-bg-gray-10',\n          'tw-border tw-border-solid tw-border-gray-30 tw-border-t-0',\n          'tw-rounded-br-md tw-rounded-bl-md',\n        )}\n      >\n        <div\n          className={twMerge(\n            'tw-flex tw-items-center tw-grow',\n            'tw-border tw-border-solid',\n            'tw-bg-white',\n            focus\n              ? 'tw-border-primary-500 tw-outline tw-outline-1 tw-outline-primary-500 tw-outline-offset-0'\n              : 'tw-border-gray-30 hover:tw-border-primary-500',\n            'tw-rounded-full tw-overflow-hidden tw-duration-200',\n          )}\n        >\n          <MenuDropdown\n            modal={false}\n            className=\"tw-min-w-[204px]\"\n            trigger={\n              <AiWidgetButton\n                label={ctaText}\n                className={twMerge(\n                  'tw-text-gray-100 tw-fill-gray-100',\n                  'tw-bg-btransparent hover:tw-bg-gray-10 active:tw-bg-gray-20',\n                  'tw-ml-1',\n                  'data-[state=open]:tw-bg-gray-20',\n                  'userflow-ai-assistant-prompt-menu-btn',\n                )}\n              >\n                <PlusIcon className=\"tw-w-6 tw-h-6 tw-fill-gray-100\" />\n              </AiWidgetButton>\n            }\n          >\n            {menu().map((item, index) => (\n              <Fragment key={index}>\n                {item.submenu ? (\n                  <>\n                    {item.role === 'separator' ? (\n                      <MenuDropdownSeparator />\n                    ) : (\n                      <MenuDropdownSubMenu\n                        className=\"tw-min-w-[100px]\"\n                        trigger={\n                          <MenuDropdownItemContainer\n                            label={item.title || ''}\n                            iconBefore={item.icon}\n                            spacingBefore={!item.icon}\n                            hasSubMenu\n                          />\n                        }\n                      >\n                        {item.submenu.map((subItem, subIndex) => (\n                          <MenuDropdownItem\n                            key={subIndex}\n                            onSelect={() => {\n                              initPrompt({\n                                action: subItem.action!,\n                                langCode: subItem.langCode,\n                                tonality: subItem.tonality,\n                              })\n                            }}\n                          >\n                            <MenuDropdownItemContainer label={subItem.title || ''} />\n                          </MenuDropdownItem>\n                        ))}\n                      </MenuDropdownSubMenu>\n                    )}\n                  </>\n                ) : (\n                  <Fragment>\n                    {item.role === 'separator' ? (\n                      <MenuDropdownSeparator />\n                    ) : (\n                      <MenuDropdownItem\n                        onSelect={() => {\n                          if (item.action) {\n                            initPrompt({ action: item.action })\n                          }\n                        }}\n                      >\n                        <MenuDropdownItemContainer\n                          label={item.title || ''}\n                          iconBefore={item.icon}\n                          spacingBefore={!item.icon}\n                        />\n                      </MenuDropdownItem>\n                    )}\n                  </Fragment>\n                )}\n              </Fragment>\n            ))}\n          </MenuDropdown>\n\n          <AiWidgetButton\n            asButton={false}\n            className={twMerge(\n              'tw-text-gray-100 tw-fill-gray-100',\n              'tw-bg-btransparent tw-cursor-default',\n              '-tw-ml-1',\n              // 'tw-ml-2',\n            )}\n          >\n            <WinkleIcon className=\"tw-w-5 tw-h-5 tw-fill-gray-70\" />\n          </AiWidgetButton>\n\n          <div className=\"tw-grow\">\n            <input\n              type=\"text\"\n              id=\"fr-ai-prompt\"\n              name=\"fr-ai-prompt\"\n              autoComplete=\"off\"\n              data-1p-ignore\n              className={twMerge(\n                'tw-flex tw-w-full tw-items-center',\n                'tw-h-[44px] tw-box-border',\n                'tw-border-0 tw-border-none hover:tw-border-0 hover:tw-border-none focus:tw-border-0 focus:tw-border-none',\n                'tw-border-transparent focus:tw-border-transparent',\n                'tw-outline-0 tw-outline-none hover:tw-outline-0 hower:tw-outline-none focus:tw-outline-0 focus:tw-outline-none',\n                'tw-shadow-none hover:tw-shadow-none focus:tw-shadow-none',\n                'tw-ring-0 focus:tw-outline-0 focus:tw-outline-none focus:tw-outline-transparent focus:tw-outline-offset-0 focus:tw-ring-transparent focus:tw-ring-0',\n                'placeholder:tw-text-gray-70 placeholder:tw-text-base placeholder:tw-font-normal placeholder:tw-truncate',\n                'tw-text-gray-100 tw-text-base tw-font-normal',\n                'tw-py-0 tw-pl-0 tw-pr-2 tw-m-0 tw-bg-transparent',\n                'tw-truncate focus:tw-truncate',\n                'disabled:tw-text-gray-60',\n              )}\n              placeholder={gettext(\n                'Anpassa svar med en egen prompt, till exempel för att förfina, korta ner, utveckla eller översätta innehåll.',\n              )}\n              value={prompt}\n              onChange={(e) => setPrompt(e.target.value)}\n              onFocus={() => setFocus(true)}\n              onBlur={() => setFocus(false)}\n              onKeyDown={(e) => {\n                if (e.key === 'Enter') {\n                  e.preventDefault()\n\n                  !isEmptyPromt && initCustomPrompt()\n                }\n              }}\n              disabled={isLoading}\n            />\n          </div>\n\n          {!isEmptyPromt && (\n            <Tooltip content={ctaText}>\n              <AiWidgetButton\n                label={ctaText}\n                className={twMerge(\n                  'tw-text-white tw-fill-white',\n                  'tw-bg-primary-700 hover:tw-bg-primary-900 active:tw-bg-primary-900',\n                  'tw-mr-1',\n                )}\n                onClick={() => {\n                  !isLoading && initCustomPrompt()\n                }}\n              >\n                <ArrowUpIcon className=\"tw-w-6 tw-h-6 tw-fill-white\" />\n              </AiWidgetButton>\n            </Tooltip>\n          )}\n        </div>\n      </div>\n\n      {toastContainer &&\n        createPortal(\n          <Toast\n            swipeDirection=\"up\"\n            open={alert.open}\n            title={alert.title}\n            onOpenChange={(open) => {\n              setAlert((alert) => ({ ...alert, open }))\n\n              !open && setTimeout(() => toastContainer.remove(), 1000)\n            }}\n            duration={6000}\n            closeButtonText={gettext('Stäng')}\n            className=\"tw-w-auto md:tw-max-w-full\"\n          />,\n          toastContainer,\n        )}\n    </>\n  )\n}\n\nexport const initEditorAiPromptWidget = ({\n  container,\n  editor,\n}: {\n  container: HTMLElement\n  editor: any\n}) => {\n  const root = createRoot(container)\n\n  root?.render(<EditorAiPromptWidget editor={editor} />)\n}\n","import { initEditorAiPromptWidget } from './EditorAiPromptWidget'\n\nexport function aiPrompts(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    aiPrompts: false,\n  })\n\n  FroalaEditor.PLUGINS.aiPrompts = function (editor: any) {\n    function renderWidget() {\n      if (!editor.opts.aiPrompts) {\n        return\n      }\n\n      const editorBox = editor.$box[0]\n\n      const wrapperElmnt = editorBox.querySelector('.fr-wrapper')\n\n      const container = document.createElement('div')\n      container.classList.add('fn-editor-ai-widget')\n\n      // Inserting after the wrapper element to position it at the bottom\n      wrapperElmnt.insertAdjacentElement('afterend', container)\n\n      // Adjusting border radius to integrate the widget seamlessly\n      wrapperElmnt.style.borderBottomLeftRadius = '0'\n      wrapperElmnt.style.borderBottomRightRadius = '0'\n\n      initEditorAiPromptWidget({\n        container: container,\n        editor: editor,\n      })\n    }\n\n    return {\n      _init() {\n        renderWidget()\n      },\n    }\n  }\n}\n","export function froalaTextWrapper(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    wrapPlainText: false,\n  })\n\n  FroalaEditor.PLUGINS.TextWrapperPlugin = function (editor: any) {\n    let isWrapped: boolean = false\n\n    function wrapPlainText() {\n      editor.html.wrap(true, true, false)\n\n      const editorArea = editor.el\n      const elements = editorArea.querySelectorAll('[data-empty=\"true\"]')\n\n      elements.forEach(function (el) {\n        el.removeAttribute('data-empty')\n      })\n\n      if (editor.MailHistoryPlugin && typeof editor.MailHistoryPlugin._init === 'function') {\n        editor.MailHistoryPlugin._init(true)\n      } else {\n        console.log(\n          'Froala MailHistoryPlugin is not available. Make sure it is loaded before Froala TextWrapperPlugin.',\n        )\n      }\n    }\n\n    function initWrapPlainText() {\n      if (!isWrapped) {\n        wrapPlainText()\n        isWrapped = true\n      }\n    }\n\n    function _init() {\n      if (!editor.opts.wrapPlainText) {\n        return\n      }\n\n      let isInit = false\n\n      editor.events.on('edit.on', async function () {\n        initWrapPlainText()\n      })\n\n      editor.el.addEventListener('mouseover', () => {\n        !isInit && initWrapPlainText()\n        isInit = true\n      })\n    }\n\n    return {\n      _init: _init,\n    }\n  }\n}\n","import {\n  BTN_CLEAR,\n  BTN_CONTACTS,\n  BTN_FILES,\n  BTN_IMAGES,\n  BTN_INTERNAL_LINKS,\n  BTN_SELF_SERVICE,\n  BTN_SNIPPETS,\n} from './toolbar'\nimport { ALLOWED_IMAGE_EXTENSIONS } from './utils'\n\nexport function registerCustomCommands(FroalaEditor: any) {\n  FroalaEditor.RegisterCommand(BTN_IMAGES, {\n    callback() {\n      chooseFile((files) => this.kundoFroala.insertImage(files), ALLOWED_IMAGE_EXTENSIONS)\n    },\n    icon: BTN_IMAGES,\n    title: TRANSLATIONS.insert_image,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_FILES, {\n    callback() {\n      chooseFile((files) => this.kundoFroala.attachFile(files))\n    },\n    icon: BTN_FILES,\n    title: TRANSLATIONS.attach_files,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_SNIPPETS, {\n    callback() {\n      this.kundoFroala.toggleSnippetWidget()\n    },\n    icon: BTN_SNIPPETS,\n    title: TRANSLATIONS.reply_snippet,\n  })\n  FroalaEditor.RegisterShortcut('E'.charCodeAt(0), BTN_SNIPPETS, null, 'E')\n\n  FroalaEditor.RegisterCommand(BTN_CLEAR, {\n    callback() {\n      const thisText = this.selection.text()\n      this.selection.remove()\n      this.html.insert(thisText)\n    },\n    icon: BTN_CLEAR,\n    title: TRANSLATIONS.clear_formatting,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_CONTACTS, {\n    callback() {\n      this.link.insert('#contactModal', TRANSLATIONS.kundo_contact_modal_linktext)\n    },\n    title: TRANSLATIONS.kundo_contact_modal_title,\n  })\n\n  FroalaEditor.RegisterCommand(BTN_SELF_SERVICE, {\n    callback() {\n      this.kundoFroala.toggleSelfServiceWidget()\n    },\n    icon: BTN_SELF_SERVICE,\n  })\n  FroalaEditor.RegisterShortcut('E'.charCodeAt(0), BTN_SNIPPETS, null, 'E')\n}\n\nexport function registerInternalLinkCommand(FroalaEditor: any, title: string) {\n  // This is wrapped in a callback since we want a dynamic toolbar button tooltip title\n  FroalaEditor.RegisterCommand(BTN_INTERNAL_LINKS, {\n    callback() {\n      const $tb = this.$tb\n      const $btn = $tb.find(`.fr-command[data-cmd=\"${BTN_INTERNAL_LINKS}\"]`)\n      const btnOffset = $btn.offset()\n      const tbOffset = $tb.offset()\n      const left = btnOffset.left - tbOffset.left\n      const top = btnOffset.top - tbOffset.top + $tb.outerHeight() + 10\n      const kundoFroala = this.kundoFroala\n      if (kundoFroala.internalLinkWidget) {\n        kundoFroala.internalLinkWidget.box.css('top', top).css('left', left)\n        kundoFroala.toggleInternalLinkWidget()\n      }\n    },\n    icon: BTN_INTERNAL_LINKS,\n    title,\n  })\n}\n\nfunction chooseFile(\n  callback: (files: FileList | null) => void,\n  acceptExtensions?: string[],\n  multiple = true,\n) {\n  const input = $('<input type=\"file\">')\n  if (acceptExtensions) {\n    input.attr('accept', acceptExtensions.map((s) => '.' + s).join(','))\n  }\n  if (multiple) {\n    input.prop('multiple', true)\n  }\n  const elm = input[0] as HTMLInputElement\n  // The input field need to be attached the DOM to allow uploads in iOS Safari\n  // Reference: https://stackoverflow.com/a/47665517/461559\n  $(document.body).append(input)\n  input.on('change', () => {\n    callback(elm.files)\n    input.remove()\n  })\n  input.trigger('click')\n  input.hide()\n}\n","export type Provider = {\n  html: string\n  provider: string\n  test_regex: RegExp\n  url_regex: RegExp\n  url_text: string\n}\n\nexport const VIDEO_PROVIDERS: Provider[] = [\n  {\n    html: '<iframe src=\"{url}?modestbranding=1&amp;rel=0\" allowfullscreen></iframe>',\n    provider: 'YouTube',\n    test_regex:\n      /^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\??v?=?([^#&?]*).*/,\n    url_regex:\n      /(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/)?([0-9a-zA-Z_-]+)(.+)?/g,\n    url_text: 'https://www.youtube-nocookie.com/embed/$1',\n  },\n  // Vimeo id-only regex, e.g. https://vimeo.com/123456/abcdef\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'Vimeo',\n    test_regex: /^.*(vimeo.com)\\/(\\w+)\\/(\\w+)(?:|\\/\\?)/,\n    url_regex: /(?:http|https)?:\\/\\/(?:www\\.)?vimeo.com\\/(\\w+)\\/(\\w+)(?:|\\/\\?)(?:|\\/\\?)/i,\n    url_text: 'https://player.vimeo.com/video/$1?h=$2',\n  },\n  {\n    html: '<iframe src=\"{url}?title=0&amp;byline=0&amp;portrait=0&amp;badge=0\" allowfullscreen></iframe>',\n    provider: 'Vimeo',\n    test_regex:\n      /^.*(vimeo.com)\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/,\n    url_regex:\n      /(?:http|https)?:\\/\\/(?:www\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/i,\n    url_text: 'https://player.vimeo.com/video/$1',\n  },\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'SVT',\n    test_regex: /^.*((svtplay\\.se)|(svt\\.se))\\/(klipp\\/|videoplayer-embed\\/(?:(?:nojs\\/)?))(\\d+)/, //(?:|\\/\\?)/,\n    url_regex:\n      /(?:http|https)?:\\/\\/(?:(?:www\\.)|(?:api\\.))?(?:(?:svtplay\\.se)|(?:svt\\.se))\\/(?:klipp\\/|videoplayer-embed\\/(?:(?:nojs\\/)?))(\\d+)(?:.+)?/i,\n    url_text: 'https://svt.se/videoplayer-embed/$1',\n  },\n  {\n    html: '<iframe src=\"{url}\" allowfullscreen></iframe>',\n    provider: 'DreamBroker',\n    test_regex: /dreambroker.com/,\n    url_regex: /(?:https?:\\/\\/)?(?:www\\.)?dreambroker.com\\/channel\\/(\\w+)\\/(\\w+)/i,\n    url_text: 'https://www.dreambroker.com/channel/$1/iframe/$2',\n  },\n]\n","import { FroalaEditorV4 as FroalaEditorStatic } from './froala-4'\n\nimport {\n  froalaEmoji,\n  froalaFixPasteBug,\n  froalaMailHistory,\n  aiAutoReplies,\n  aiPrompts,\n  deleteEmptyContainers,\n  froalaTextWrapper,\n} from './plugins'\n\nimport { registerCustomCommands } from './commands'\nimport { defineCustomIcons } from './toolbar'\nimport { Provider, VIDEO_PROVIDERS } from './video'\n\nlet FroalaEditor: Froala | null = null\n\nexport type Froala = {\n  ENTER_BR: number\n  ENTER_DIV: number\n  ENTER_P: number\n  ICON_DEFAULT_TEMPLATE: string\n  LANGUAGE: Record<string, any>\n  VERSION: string\n  VIDEO_PROVIDERS: Provider[]\n  DefineIconTemplate: (name: string, template: string) => void\n\n  $el: any\n  $box: any\n  browser: any\n  edit: any\n  events: any\n  html: any\n  image: any\n  kundoFroala: any\n  link: any\n  opts: any\n  position: any\n  save: any\n  selection: any\n  (...args: any): any\n}\n\nexport function loadFroala(callback: (froala: Froala) => void) {\n  if (FroalaEditor) {\n    callback(FroalaEditor)\n    return\n  }\n\n  FroalaEditor = FroalaEditorStatic\n  setupFroala()\n  assertFroalaLoaded(FroalaEditor)\n  callback(FroalaEditor)\n}\n\nfunction setupFroala() {\n  assertFroalaLoaded(FroalaEditor)\n  FroalaEditor.LANGUAGE['kundo-lang'] = { translation: TRANSLATIONS.froala }\n  FroalaEditor.VIDEO_PROVIDERS = VIDEO_PROVIDERS\n  FroalaEditor.ICON_DEFAULT_TEMPLATE = 'kundo-fa'\n  FroalaEditor.DefineIconTemplate('kundo-fa', '<i class=\"f-icon-[NAME]\"></i>')\n  FroalaEditor.DefineIconTemplate(\n    'kundo-custom-icon',\n    '<div class=\"tw-flex tw-justify-center tw-items-center tw-gap-1 tw-grow tw-px-1.5\"><div class=\"*:tw-block *:tw-h-auto *:tw-p-0 *:tw-m-0 *:tw-fill-current *:tw-text-current\">[ICON]</div><div class=\"tw-font-semibold tw-text-sm\" data-cmd-title=\"[TEXT]\">[TEXT]</div></div>',\n  )\n\n  registerCustomCommands(FroalaEditor)\n  defineCustomIcons(FroalaEditor)\n  froalaFixPasteBug(FroalaEditor)\n  froalaMailHistory(FroalaEditor)\n  froalaTextWrapper(FroalaEditor)\n  froalaEmoji(FroalaEditor)\n  aiAutoReplies(FroalaEditor)\n  aiPrompts(FroalaEditor)\n  deleteEmptyContainers(FroalaEditor)\n}\n\nexport function initFroalaEditor(kundoFroala: any, options: any) {\n  assertFroalaLoaded(FroalaEditor)\n  kundoFroala.froala = FroalaEditor(kundoFroala.editor[0], options)\n}\n\nfunction assertFroalaLoaded(value: unknown): asserts value is Froala {\n  if (value == null) {\n    throw new Error('FroalaEditor library is not loaded')\n  }\n}\n","export function froalaFixPasteBug(FroalaEditor: any) {\n  /*\n   * Fix froala adding `id=\"isPasted\"` to pasted content, potentially causing accessibility issues\n   * See: https://github.com/froala/wysiwyg-editor/issues/4328\n   */\n  if (!FroalaEditor.PLUGINS) {\n    return\n  }\n  FroalaEditor.PLUGINS['fixPasteBug'] = function (editor: any) {\n    return {\n      _init() {\n        editor.events.on('paste.after', () => {\n          const t = document.createElement('template')\n          t.innerHTML = editor.html.get()\n          const offender = t.content.querySelector('#isPasted')\n          if (offender) {\n            editor.selection.save()\n            offender.removeAttribute('id')\n            editor.html.set(t.innerHTML)\n            editor.selection.restore()\n          }\n        })\n      },\n    }\n  }\n}\n","import { v4 as uuidv4 } from 'uuid'\n\n/*\n * Handles the toggling of mail conversation history within the text editor\n * The textfield is prefilled with correct markup from django forms\n **/\nexport function froalaMailHistory(FroalaEditor: any) {\n  FroalaEditor.PLUGINS.MailHistoryPlugin = function (editor: any) {\n    function toggleHistoryVisibility(isInit: boolean) {\n      editor.el.querySelectorAll('[data-froala-role=history-wrapper]').forEach((el) => {\n        const label = 'History'\n        const contentId = `content-${uuidv4()}`\n\n        const historyContent = el.querySelector('[data-froala-role=history-content]')\n\n        const toggleBtn = el.querySelector('[data-froala-role=history-toggle-btn]')\n\n        if (historyContent) {\n          historyContent.classList.add('hidden')\n          historyContent.classList.remove('visible')\n          historyContent.setAttribute('id', contentId)\n          historyContent.setAttribute('role', 'region')\n          historyContent.setAttribute('aria-label', label)\n          historyContent.removeAttribute('style')\n        }\n\n        if (toggleBtn) {\n          toggleBtn.setAttribute('role', 'button')\n          toggleBtn.setAttribute('aria-label', label)\n          toggleBtn.setAttribute('tabindex', '0')\n          toggleBtn.setAttribute('aria-expanded', 'false')\n          toggleBtn.setAttribute('aria-controls', contentId)\n        }\n\n        historyContent &&\n          toggleBtn &&\n          toggleBtn.addEventListener('click', () => {\n            if (!isInit) {\n              return\n            }\n\n            if (historyContent.classList.contains('hidden')) {\n              historyContent.classList.add('visible')\n              historyContent.classList.remove('hidden')\n              toggleBtn.setAttribute('aria-expanded', 'true')\n            } else {\n              historyContent.classList.add('hidden')\n              historyContent.classList.remove('visible')\n              toggleBtn.setAttribute('aria-expanded', 'false')\n            }\n\n            editor.events.trigger('focus', [], true)\n          })\n      })\n    }\n\n    function _init(isInit: boolean = false) {\n      // Check if wrapPlainText option is enabled in editor config\n      if (editor.opts.wrapPlainText) {\n        toggleHistoryVisibility(isInit)\n      } else {\n        toggleHistoryVisibility(true)\n      }\n    }\n\n    return {\n      _init: _init,\n    }\n  }\n}\n","import { BTN_EMOJIS } from '../toolbar'\n\nexport function froalaEmoji(FroalaEditor: any) {\n  // Emojis\n  FroalaEditor.RegisterCommand(BTN_EMOJIS, {\n    callback: function () {\n      if (this.popups.isVisible(BTN_EMOJIS)) {\n        if (this.$el.find('.fr-marker')) {\n          this.events.disableBlur()\n          this.selection.restore()\n        }\n        this.emojis.hidePopup()\n      } else {\n        this.emojis.showPopup()\n      }\n    },\n    focus: true,\n    plugin: BTN_EMOJIS,\n    popup: true,\n    title: 'Emojis',\n    undo: true,\n  })\n  FroalaEditor.POPUP_TEMPLATES[BTN_EMOJIS] = '[_CUSTOM_LAYER_]'\n  FroalaEditor.PLUGINS[BTN_EMOJIS] = function (froala: any) {\n    const { popups } = froala\n\n    function initPopup() {\n      const { EmojiPicker } = window.KUNDO\n      if (!EmojiPicker) {\n        console.error('EmojiPicker not loaded, aborting.')\n        return\n      }\n      // Add an container with the correct width as a placeholder for correct positioning\n      const popupHTML = '<div class=\"emojis-root\" style=\"width: 338px\"></div>'\n      const popup = popups.create(BTN_EMOJIS, { custom_layer: popupHTML })\n\n      // NOTE: Due to limitations in Froalas accessibility plugin,\n      // tab navigation doesn't work inside the EmojiPicker.\n      EmojiPicker(popup.find('.emojis-root')[0], {\n        onSelect: (emoji) => {\n          froala.html.insert(emoji)\n          hidePopup()\n        },\n      })\n    }\n\n    function showPopup() {\n      if (!popups.get(BTN_EMOJIS)) {\n        initPopup()\n      }\n      popups.setContainer(BTN_EMOJIS, froala.$tb)\n\n      // Position the toolbar next to the button\n      const $btn = froala.$tb.find(`.fr-command[data-cmd=\"${BTN_EMOJIS}\"]`)\n      const left = $btn.offset().left + $btn.outerWidth() / 2\n      const top = $btn.offset().top + (froala.opts.toolbarBottom ? 10 : $btn.outerHeight() - 10)\n      popups.show(BTN_EMOJIS, left, top, $btn.outerHeight())\n    }\n\n    function hidePopup() {\n      popups.hide(BTN_EMOJIS)\n    }\n\n    return { hidePopup, showPopup }\n  }\n}\n","/**\n * Cleans up specific Froala-generated containers inside the editor.\n *\n * This function:\n * 1. Selects and processes elements with `data-froala-role` values:\n *    - \"ai-autoreply\"\n *    - \"ai-prompt-result\"\n *    - \"skeleton\"\n * 2. Removes <br> tags and empty <p> or <div> tags from these elements.\n * 3. If the element becomes visually empty, it is cleared and reset with a single <br>,\n *    while retaining the container itself (to preserve editor structure).\n * 4. After cleanup, if the editor contains only allowed elements:\n *    - <div data-froala-role=\"signature\">\n *    - <div data-froala-role=\"history-wrapper\">\n *    Then a new empty <div><br/></div> is inserted at the beginning of the editor,\n *    ensuring there's always a visible, editable line for the user.\n */\n\nexport function deleteEmptyContainers(FroalaEditor: any) {\n  FroalaEditor.DEFAULTS = Object.assign(FroalaEditor.DEFAULTS, {\n    deleteEmptyContainers: true,\n  })\n\n  FroalaEditor.PLUGINS.deleteEmptyContainers = function (editor: any) {\n    function deleteContainers() {\n      const editorEl = editor.el // Native editable DOM element\n\n      // Query both types of elements\n      const containers = editorEl.querySelectorAll(\n        'div[data-froala-role=\"ai-autoreply\"], div[data-froala-role=\"ai-prompt-result\"], div[data-froala-role=\"skeleton\"]',\n      )\n\n      containers.forEach((div) => {\n        const clone = div.cloneNode(true)\n\n        // Remove <br> tags\n        clone.querySelectorAll('br').forEach((br) => br.remove())\n\n        // Remove empty <p> and <div> tags\n        clone.querySelectorAll('p, div').forEach((child) => {\n          if (!child.textContent.trim() && child.children.length === 0) {\n            child.remove()\n          }\n        })\n\n        // If nothing meaningful remains, clean up the original element\n        const isVisiblyEmpty = !clone.textContent.trim() && clone.children.length === 0\n        if (isVisiblyEmpty) {\n          // div.remove() // Remove the original element\n          div.removeAttribute('data-froala-role')\n          div.innerHTML = ''\n          div.appendChild(document.createElement('br'))\n        }\n      })\n\n      // Define the allowed Froala roles that are okay to be the only remaining elements\n      const allowed = ['signature', 'history-wrapper']\n\n      // Get all top-level child elements of the editor\n      const children = Array.from(editorEl.children)\n\n      // Check if all children are <div> elements with allowed data-froala-role attributes\n      const onlyAllowed = children.every((child) => {\n        const el = child as Element\n        if (el.tagName !== 'DIV') return false\n        const role = el.getAttribute('data-froala-role')\n        return role !== null && allowed.includes(role)\n      })\n\n      // Check if editor contains at least one allowed role\n      const containsAllowed = children.some((child) => {\n        const el = child as Element\n        const role = el.getAttribute('data-froala-role')\n        return role !== null && allowed.includes(role)\n      })\n\n      // If only allowed elements are present AND at least one is present, insert <div><br/></div>\n      if (onlyAllowed && containsAllowed) {\n        const emptyDiv = document.createElement('div')\n        emptyDiv.appendChild(document.createElement('br'))\n        editorEl.insertBefore(emptyDiv, editorEl.firstChild)\n      }\n    }\n\n    return {\n      _init() {\n        editor.events.on('contentChanged', function () {\n          deleteContainers()\n        })\n      },\n    }\n  }\n}\n","import qq from 'fine-uploader/lib/core'\n\nconst { UPLOADS_MAX_SIZE, UPLOADS_MAX_SIZE_MAIL } = window\n\nfunction scrollContentToBottom() {\n  $('html, body').animate(\n    {\n      scrollTop: $('html, body').get(0).scrollHeight,\n    },\n    300,\n  )\n}\n\nexport function uploadImageAsUpload(\n  kundoFroala,\n  files,\n  allowedExtensions,\n  isMailContext,\n  allowLargeUploads,\n  useScrollToBottom,\n) {\n  // Calls the upload_file view to create a Upload image\n  const { attachmentsList, uploadsUrl } = kundoFroala\n  const onSuccess = (file) => {\n    kundoFroala.froala.image.insert(file.temporaryUrl)\n  }\n  const disposition = 'inline'\n  const uploader = uploadsServiceUploaderFactory(\n    uploadsUrl,\n    attachmentsList,\n    allowedExtensions,\n    onSuccess,\n    isMailContext,\n    allowLargeUploads,\n    disposition,\n    useScrollToBottom,\n  )\n  uploader.addFiles(files)\n}\n\nexport function uploaderFactory(\n  url,\n  attachmentsList,\n  isMailContext,\n  allowLargeUploads,\n  allowedExtensions = [],\n) {\n  // Sample \"attachments\" response\n  // { \"success\": true, \"id\": 12, \"disposition\": \"inline\", \"file_url\": \"/site_media_p/attachment/context_1/file name.ext\" }\n  const onComplete = async (id, name, responseJSON, xhr) => {\n    attachmentsList.hide_progress()\n    if (responseJSON.success) {\n      await attachmentsList.add_file(responseJSON)\n    } else {\n      await attachmentsList.show_error_msg(responseJSON.error)\n    }\n\n    const frame = $('#mail-iframe', window.parent.document)\n    frame.length > 0 && frame.height(document.body.scrollHeight)\n\n    scrollContentToBottom()\n  }\n  return baseUploaderFactory(\n    url,\n    attachmentsList,\n    allowedExtensions,\n    onComplete,\n    isMailContext,\n    allowLargeUploads,\n  )\n}\n\nfunction uploadsServiceUploaderFactory(\n  url,\n  attachmentsList,\n  allowedExtensions,\n  onSuccess,\n  isMailContext = false,\n  allowLargeUploads = false,\n  disposition = 'attachment',\n  useScrollToBottom = false,\n) {\n  // Sample \"uploads\" response\n  // {\"success\": true, \"type\": \"jpeg\", \"temporary_url\": \"https://something\"}\n  const onComplete = (id, name, responseJSON, xhr) => {\n    attachmentsList.hide_progress()\n    if (!responseJSON.error) {\n      const file = {\n        id: responseJSON.path,\n        puri: responseJSON.puri,\n        url: responseJSON.temporary_url,\n        temporaryUrl: responseJSON.temporary_url,\n        disposition: 'inline',\n      }\n      attachmentsList.refresh_attachments()\n      onSuccess(file)\n    } else {\n      attachmentsList.show_error_msg(responseJSON.error)\n    }\n  }\n  return baseUploaderFactory(\n    url,\n    attachmentsList,\n    allowedExtensions,\n    onComplete,\n    isMailContext,\n    allowLargeUploads,\n    disposition,\n    useScrollToBottom,\n  )\n}\n\nfunction baseUploaderFactory(\n  url,\n  attachmentsList,\n  allowedExtensions,\n  onComplete,\n  isMailContext = false,\n  allowLargeUploads = false,\n  disposition = 'attachment',\n  useScrollToBottom = false,\n) {\n  return new qq.FineUploaderBasic({\n    request: {\n      endpoint: url,\n      inputName: 'file',\n      customHeaders: {\n        'X-Is-Mail-Context': isMailContext ? '1' : '0',\n        'X-Allow-Large-Uploads': allowLargeUploads ? '1' : '0',\n      },\n    },\n    retry: {\n      enableAuto: true,\n      autoAttemptDelay: 1,\n      maxAutoAttempts: 1,\n    },\n    validation: {\n      sizeLimit: isMailContext ? UPLOADS_MAX_SIZE_MAIL : UPLOADS_MAX_SIZE,\n      allowedExtensions,\n    },\n    messages: {\n      typeError: TRANSLATIONS.file_upload_invalid_extension,\n      emptyError: TRANSLATIONS.file_upload_empty,\n      noFilesError: TRANSLATIONS.file_upload_no_files,\n      sizeError: TRANSLATIONS.file_upload_size_error,\n    },\n    callbacks: {\n      onComplete,\n      onSubmit() {\n        attachmentsList.show_progress(0, disposition)\n      },\n      onProgress(id, name, uploadedBytes, totalBytes) {\n        const percent = (uploadedBytes / totalBytes) * 100\n        attachmentsList.show_progress(percent, disposition)\n\n        useScrollToBottom && scrollContentToBottom()\n      },\n      onAutoRetry(id, name) {\n        const msg = TRANSLATIONS.file_upload_retrying\n        attachmentsList.show_error_msg(msg)\n      },\n      onError(id, name, errorReason, xhr) {\n        if (xhr && xhr.status === 413) {\n          // this.cancel(id) // TODO: FineUploader throws an error if we cancel this, see: https://github.com/FineUploader/fine-uploader/issues/1758\n          const msg = TRANSLATIONS.file_upload_size_error\n            .replace('{file}', name)\n            .replace(\n              '{sizeLimit}',\n              this._formatSize(isMailContext ? UPLOADS_MAX_SIZE_MAIL : UPLOADS_MAX_SIZE),\n            )\n          attachmentsList.hide_progress()\n          attachmentsList.show_error_msg(msg)\n          return\n        }\n        attachmentsList.show_error_msg(errorReason)\n      },\n    },\n  })\n}\n","export default class InternalLinkWidget {\n  box: JQuery\n  selected: JQuery | null\n  searchBox: JQuery\n  resultList: JQuery\n  url: string\n  onselect: Function\n  onclose: Function\n\n  constructor(options: { box: JQuery; onselect?: Function; onclose?: Function }) {\n    this.selected = null\n    this.box = options.box\n    this.searchBox = this.box.find('.fn-searchbox')\n    this.resultList = this.box.find('.result-list ul')\n    this.searchBox.on('keyup', this.doSearch.bind(this))\n    this.box.on('keypress', (e: JQuery.KeyPressEvent) => {\n      if (e.key !== 'Enter') {\n        return\n      }\n      e.preventDefault()\n      this.selected && this.selectItem()\n    })\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => e.stopPropagation())\n\n    this.box.find('.fn-cancel').on('click', (e) => this.close(false))\n    this.box.find('.fn-add-link').on('click', this.selectItem.bind(this))\n    this.resultList.on('click', 'li', this.onLinkClick.bind(this))\n    this.url = this.box.data('ajax-url')\n  }\n\n  onLinkClick(e) {\n    let target = e.target\n    if (e.target.tagName === 'SPAN') {\n      target = e.target.parentElement\n    }\n    this.selected = $(target)\n    // @ts-expect-error\n    for (let child of this.resultList.children()) {\n      $(child).removeClass('selected')\n    }\n    this.selected.addClass('selected')\n  }\n\n  selectItem() {\n    if (this.selected) {\n      const link = this.selected.data('url')\n      const label = this.selected.find('.fn-forum-link')[0].innerText\n      this.onselect(this, label, link)\n    }\n    this.close()\n  }\n\n  doSearch() {\n    this.search(<string>this.searchBox.val())\n  }\n\n  search(query: string) {\n    $.ajax({\n      url: this.url,\n      data: { q: query },\n      success: this.handleSearchResponse.bind(this),\n    })\n  }\n\n  handleSearchResponse(data) {\n    const result: JQuery<HTMLElement>[] = []\n    data.forEach((hit) => {\n      const $item = $('<li>', { 'data-url': hit.url })\n      const $link = $('<a>', { href: hit.url, target: '_blank' })\n      $link.append($('<span>', { text: hit.url, class: 'visuallyhidden' }))\n      $item.append($link)\n      $item.append($('<span>', { html: hit.title, class: 'fn-forum-link forum-link' }))\n      result.push($item)\n    })\n\n    this.resultList.empty().append(result)\n  }\n\n  open() {\n    this.box.removeClass('hidden')\n    this.searchBox.trigger('focus')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(this, focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      this.doSearch()\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n}\n","import IconSearch from '@icons/search.svg'\n\ntype OnSelectHandler = (data: { text: string; attachments: any[] }) => void\n\nexport type Snippet = {\n  id: number\n  text: string\n  name: string\n  updated_at: string\n  usage_url: string\n  attachments: {}[]\n  excerpt: string\n}\nexport default class SnippetWidget {\n  box: JQuery<HTMLElement>\n  firstSnippet: JQuery<HTMLLIElement>\n  search: JQuery<HTMLElement>\n  snippet_box: JQuery<HTMLElement>\n  snippets: JQuery<HTMLLIElement>\n\n  prev_search_term: string\n\n  onclose: (focus: boolean) => void\n  onselect: OnSelectHandler\n\n  constructor(options: {\n    url: string\n    parent: HTMLElement\n    onselect: OnSelectHandler\n    onclose?: (focus: boolean) => void\n    positionAbove?: boolean\n  }) {\n    this.renderInitial(options.positionAbove)\n    this.box.appendTo(options.parent)\n\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n    this.snippets = this.snippet_box.find('li')\n    this.firstSnippet = this.snippets.filter('.selected')\n    this.prev_search_term = ''\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => {\n      e.stopPropagation()\n      this.search.trigger('focus')\n    })\n\n    // Setup events for everything...\n    this.search.on('keypress', (e) => this.selectEnter(e))\n    this.search.on('keydown', (e) => this.keyboardNavigation(e))\n    this.search.on('keyup input', () => this.filterSnippet())\n\n    this.fetchSnippets(options.url)\n  }\n\n  renderInitial(positionAbove?: boolean) {\n    let inputId = 'snippet-search'\n    let labelText = TRANSLATIONS.snippet_label_msg\n    let label = $(`<label class=\"visuallyhidden\" for=\"snippet-search\">`)\n      .attr('for', inputId)\n      .text(labelText)\n    this.search = $(`<input type=\"search\" autocomplete=\"off\" class=\"ml-2 w-full\">`)\n      .attr('placeholder', labelText)\n      .attr('name', inputId)\n      .attr('id', inputId)\n\n    this.box = $(`<div class=\"hidden snippet-box\">`)\n      .addClass(positionAbove ? 'snippet-box--above' : 'snippet-box--below')\n      .append(\n        $(`<h2>`).text(TRANSLATIONS.snippet_heading),\n        $(`<div class=\"search-wrapper flex items-center\">`).append(IconSearch, this.search, label),\n      )\n\n    this.snippet_box = $(`<ul class=\"list-unstyled snippet-box-options\">`).appendTo(this.box)\n  }\n\n  async fetchSnippets(url: string) {\n    const messagePuri = this.box[0]?.closest('form')?.getAttribute('data-message-puri')\n    if (messagePuri) {\n      const separator = url.includes('?') ? '&' : '?'\n      url += `${separator}message_puri=${encodeURIComponent(messagePuri)}`\n    }\n    const data: { snippets: Snippet[] } = await $.ajax(url)\n    data.snippets.forEach((snippet, i) => {\n      $(`<li class=\"snippet-box__item fn-tooltip-veryslow\">`)\n        .attr('title', snippet.name + ' - ' + snippet.excerpt)\n        .toggleClass('selected', i === 0)\n        .data('id', snippet.id)\n        .data('text', snippet.text)\n        .data('attachments', snippet.attachments)\n        .data('usage-url', snippet.usage_url)\n        .append($(`<span class=\"snippet-box__name\">`).text(snippet.name))\n        .append($(`<span class=\"subtle\">`).text(snippet.updated_at))\n        .appendTo(this.snippet_box)\n    })\n\n    this.snippets = this.snippet_box.find('li')\n    this.snippets.on('mouseover', (e) => this.hoverSnippet(e))\n    this.snippets.on('click', (e) => this.selectClick(e))\n    this.firstSnippet = this.snippets.filter('.selected')\n    KUNDO.tooltip?.update()\n  }\n\n  hoverSnippet(e: JQuery.MouseOverEvent) {\n    const selected = this.snippets.filter('.selected')\n\n    const new_selected = $(e.currentTarget)\n    this.moveSelected(selected, new_selected, false)\n  }\n\n  selectClick(e: JQuery.ClickEvent) {\n    const selected = $(e.currentTarget)\n    this.select(selected)\n    this.close()\n  }\n\n  select(selected: JQuery) {\n    this.search.val('')\n    selected.removeClass('selected')\n    this.firstSnippet.addClass('selected')\n    this.filterSnippet()\n    if (!selected.length) {\n      return\n    }\n    this.onselect({\n      text: selected.data('text'),\n      attachments: selected.data('attachments'),\n    })\n    $.post(selected.data('usage-url'))\n  }\n\n  selectEnter(e: JQuery.KeyPressEvent) {\n    if (e.which === 13) {\n      // Enter\n      e.preventDefault()\n      const selected = this.snippets.filter('.selected')\n      this.select(selected)\n      this.close()\n    }\n  }\n\n  keyboardNavigation(e: JQuery.KeyDownEvent) {\n    let new_selected: JQuery\n    const selected = this.snippets.filter('.selected')\n\n    if (e.which === 27) {\n      // Escape\n      e.stopPropagation()\n      return this.close()\n    } else if (e.which === 40) {\n      // Down\n      new_selected = selected.nextAll().filter(':visible:first')\n      if (new_selected.length) {\n        this.moveSelected(selected, new_selected)\n        return e.preventDefault()\n      }\n    } else if (e.which === 38) {\n      // Up\n      new_selected = selected.prevAll().filter(':visible:first')\n      if (new_selected.length) {\n        this.moveSelected(selected, new_selected)\n        return e.preventDefault()\n      }\n    }\n  }\n\n  filterSnippet() {\n    const search_term = this.search.val() as string\n    if (search_term === this.prev_search_term) {\n      return\n    }\n\n    this.prev_search_term = search_term\n    this.snippets.each((_, el) => {\n      const snippet = $(el)\n      if (fuzzyMatches(search_term, snippet.text())) {\n        snippet.removeClass('hidden')\n      } else {\n        snippet.addClass('hidden')\n      }\n    })\n\n    const selected = this.snippets.filter('.selected')\n    const new_selected = this.snippets.filter(':visible:first')\n    this.moveSelectedScrollTop(selected, new_selected)\n  }\n\n  moveSelected(from: JQuery, to: JQuery, focus = true) {\n    from.removeClass('selected')\n    to.addClass('selected')\n    if (focus) {\n      this.scrollToElement(from, to)\n    }\n  }\n\n  moveSelectedScrollTop(from: JQuery, to: JQuery) {\n    from.removeClass('selected')\n    to.addClass('selected')\n    this.snippet_box.scrollTop(0)\n  }\n\n  getScrollToDirection(from: JQuery, to: JQuery) {\n    const amountOfElementsAboveFromElement = from.prevAll().filter(':visible').length\n    const amountOfElementsAboveToElement = to.prevAll().filter(':visible').length\n\n    const shouldScrollDownwards = amountOfElementsAboveToElement > amountOfElementsAboveFromElement\n    const shouldScrollUpwards = amountOfElementsAboveToElement < amountOfElementsAboveFromElement\n    return { shouldScrollDownwards, shouldScrollUpwards }\n  }\n\n  scrollToElement(from: JQuery, to: JQuery) {\n    const currentScrollPosition = this.snippet_box.scrollTop()\n\n    if (currentScrollPosition === undefined) {\n      return\n    }\n\n    const { shouldScrollDownwards, shouldScrollUpwards } = this.getScrollToDirection(from, to)\n\n    if (shouldScrollDownwards) {\n      const scrollAmount = from.outerHeight()\n      if (scrollAmount) {\n        this.snippet_box.scrollTop(currentScrollPosition + scrollAmount)\n      }\n    } else if (shouldScrollUpwards) {\n      const scrollAmount = to.outerHeight()\n      if (scrollAmount) {\n        this.snippet_box.scrollTop(currentScrollPosition - scrollAmount)\n      }\n    }\n  }\n\n  open() {\n    this.box.removeClass('hidden')\n    this.search.trigger('focus')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n\n  destroy() {\n    this.box.remove()\n  }\n}\n\nfunction fuzzyMatches(search_term: string, string: string) {\n  search_term = search_term.toLowerCase()\n  string = string.toLowerCase()\n  let string_index = 0\n  for (let search_index = 0, end = search_term.length; search_index < end; search_index++) {\n    while (string[string_index] !== search_term[search_index]) {\n      string_index++\n      if (string_index > string.length) {\n        return false\n      }\n    }\n  }\n  return true\n}\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowRightUp = function SvgArrowRightUp(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    viewBox: \"0 0 24 24\",\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M17.9241 6.61722C17.8757 6.50014 17.804 6.3904 17.7092 6.29502C17.7078 6.2936 17.7064 6.29219 17.705 6.29078C17.5242 6.11106 17.2751 6 17 6H16.9998H7C6.44772 6 6 6.44772 6 7C6 7.55228 6.44772 8 7 8H14.5858L6.29289 16.2929C5.90237 16.6834 5.90237 17.3166 6.29289 17.7071C6.68342 18.0976 7.31658 18.0976 7.70711 17.7071L16 9.41421V17C16 17.5523 16.4477 18 17 18C17.5523 18 18 17.5523 18 17V7.00069V7C18 6.999 18 6.998 18 6.997C17.9996 6.8625 17.9727 6.73425 17.9241 6.61722Z\",\n    fill: \"currentColor\"\n  })));\n};\nexport { SvgArrowRightUp as ReactComponent };\nexport default \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" aria-hidden=\\\"true\\\">\\n  <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.9241 6.61722C17.8757 6.50014 17.804 6.3904 17.7092 6.29502C17.7078 6.2936 17.7064 6.29219 17.705 6.29078C17.5242 6.11106 17.2751 6 17 6H16.9998H7C6.44772 6 6 6.44772 6 7C6 7.55228 6.44772 8 7 8H14.5858L6.29289 16.2929C5.90237 16.6834 5.90237 17.3166 6.29289 17.7071C6.68342 18.0976 7.31658 18.0976 7.70711 17.7071L16 9.41421V17C16 17.5523 16.4477 18 17 18C17.5523 18 18 17.5523 18 17V7.00069V7C18 6.999 18 6.998 18 6.997C17.9996 6.8625 17.9727 6.73425 17.9241 6.61722Z\\\" fill=\\\"currentColor\\\"/>\\n</svg>\\n\";","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) { ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTwinkle = function SvgTwinkle(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: 20,\n    height: 20,\n    fill: \"none\",\n    \"aria-hidden\": \"true\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"currentColor\",\n    fillRule: \"evenodd\",\n    d: \"M7.859 2.799c-.278-.704-1.273-.704-1.55 0l-.86 2.18a.833.833 0 0 1-.47.47l-2.18.86c-.704.277-.704 1.272 0 1.55l2.18.86a.833.833 0 0 1 .47.469l.86 2.18c.277.703 1.272.703 1.55 0l.86-2.18a.833.833 0 0 1 .469-.47l2.18-.86c.703-.277.703-1.272 0-1.55l-2.18-.86a.833.833 0 0 1-.47-.47l-.86-2.18Zm7.083 8.333c-.278-.703-1.273-.703-1.55 0l-.507 1.284a.833.833 0 0 1-.47.47l-1.283.505c-.703.278-.703 1.273 0 1.55l1.284.507a.833.833 0 0 1 .47.47l.505 1.283c.278.703 1.273.703 1.55 0l.507-1.283a.833.833 0 0 1 .47-.47l1.283-.506c.703-.278.703-1.273 0-1.55l-1.283-.507a.833.833 0 0 1-.47-.47l-.506-1.283Z\",\n    clipRule: \"evenodd\"\n  })));\n};\nexport { SvgTwinkle as ReactComponent };\nexport default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"20\\\" height=\\\"20\\\" fill=\\\"none\\\" aria-hidden=\\\"true\\\">\\n  <path fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" d=\\\"M7.859 2.799c-.278-.704-1.273-.704-1.55 0l-.86 2.18a.833.833 0 0 1-.47.47l-2.18.86c-.704.277-.704 1.272 0 1.55l2.18.86a.833.833 0 0 1 .47.469l.86 2.18c.277.703 1.272.703 1.55 0l.86-2.18a.833.833 0 0 1 .469-.47l2.18-.86c.703-.277.703-1.272 0-1.55l-2.18-.86a.833.833 0 0 1-.47-.47l-.86-2.18Zm7.083 8.333c-.278-.703-1.273-.703-1.55 0l-.507 1.284a.833.833 0 0 1-.47.47l-1.283.505c-.703.278-.703 1.273 0 1.55l1.284.507a.833.833 0 0 1 .47.47l.505 1.283c.278.703 1.273.703 1.55 0l.507-1.283a.833.833 0 0 1 .47-.47l1.283-.506c.703-.278.703-1.273 0-1.55l-1.283-.507a.833.833 0 0 1-.47-.47l-.506-1.283Z\\\" clip-rule=\\\"evenodd\\\"/>\\n</svg>\\n\";","import React from 'react'\n\nimport { ReactComponent as ArrowRightUp } from '@icons/arrow-right-up.svg'\nimport { ReactComponent as IconTwinkle } from '@icons/twinkle.svg'\n\nexport type SuggestionCardProps = {\n  channelColorClass: string\n  channelIconStyling: string\n  channelName: string\n  distance: number | null\n  excerpt: string\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  publicUrl: string\n  smartReplyPath: string\n  title: string\n}\n\nexport default function SuggestionCard(props: SuggestionCardProps) {\n  const {\n    channelColorClass,\n    channelIconStyling,\n    channelName,\n    distance,\n    excerpt,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    publicUrl,\n    smartReplyPath,\n    title,\n  } = props\n\n  const requestInsertLink = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault()\n    onRequestInsertLink(title, publicUrl)\n  }\n\n  const requestSmartReply = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault()\n    onRequestSmartReply(smartReplyPath)\n  }\n\n  return (\n    <div className=\"suggestion-card\">\n      <div className=\"suggestion-card__header\">\n        <a\n          href={publicUrl}\n          target=\"_blank\"\n          rel=\"nofollow noopener\"\n        >\n          <h3\n            className=\"suggestion-card__title\"\n            data-distance={distance}\n          >\n            <i\n              className={'channel-icon ' + channelColorClass}\n              dangerouslySetInnerHTML={{ __html: channelIconStyling }}\n              title={channelName}\n            />\n            <span className=\"suggestion-title\">{title}</span>\n            <ArrowRightUp className=\"external-link-icon\"></ArrowRightUp>\n          </h3>\n        </a>\n      </div>\n      <div className=\"suggestion-card__body\">\n        <p>{excerpt}</p>\n      </div>\n      <div className=\"suggestion-card__footer\">\n        <button\n          id=\"smart-reply\"\n          title=\"Smart Reply\"\n          className=\"btn btn--editor btn--secondary btn--small\"\n          onClick={requestSmartReply}\n        >\n          <IconTwinkle></IconTwinkle> Smart Reply\n        </button>\n        <button\n          id=\"link-to-guide\"\n          title={gettext('Infoga länk')}\n          className=\"btn btn--editor btn--tertiary btn--small align-left\"\n          onClick={requestInsertLink}\n        >\n          {gettext('Infoga länk')}\n        </button>\n      </div>\n    </div>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport SuggestionCard, { SuggestionCardProps } from './SuggestionCard'\n\ntype SuggestionCardListProps = {\n  suggestions: SuggestionCardProps[]\n  onRequestInsertLink: (title: string, link: string) => void\n  onRequestSmartReply: (url: string) => void\n}\n\nexport default function SuggestionCardList(props: SuggestionCardListProps) {\n  const { suggestions, onRequestSmartReply, onRequestInsertLink } = props\n\n  return (\n    <>\n      <ul className=\"suggestion-card-list\">\n        {suggestions.map((suggestion, index) => (\n          <li\n            key={index}\n            className=\"suggestion-card-list--item\"\n          >\n            <SuggestionCard\n              channelColorClass={suggestion.channelColorClass}\n              channelIconStyling={suggestion.channelIconStyling}\n              channelName={suggestion.channelName}\n              distance={suggestion.distance}\n              excerpt={suggestion.excerpt}\n              onRequestInsertLink={onRequestInsertLink}\n              onRequestSmartReply={onRequestSmartReply}\n              publicUrl={suggestion.publicUrl}\n              smartReplyPath={suggestion.smartReplyPath}\n              title={suggestion.title}\n            />\n          </li>\n        ))}\n      </ul>\n    </>\n  )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { ReactComponent as IconX } from '@icons/x.svg'\nimport debounce from 'lodash/debounce'\n\ntype DebouncedTextInputProps = {\n  debounceWaitTime: number\n  onNewValue: (value: string) => void\n  placeholder?: string\n  resetButtonLabel?: string\n}\n\nexport default function DebouncedTextInput(props: DebouncedTextInputProps) {\n  const { debounceWaitTime, onNewValue: onNewValue, placeholder, resetButtonLabel } = props\n  const [value, setValue] = useState<string>('')\n\n  const debouncedResults = useMemo(() => {\n    return debounce((value: string) => {\n      onNewValue(value)\n    }, debounceWaitTime)\n  }, [])\n\n  useEffect(() => {\n    return () => {\n      debouncedResults.cancel()\n    }\n  })\n\n  useEffect(() => {\n    debouncedResults(value)\n  }, [value])\n\n  const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    setValue(e.target.value)\n  }\n\n  const onResetButtonClick = (e: React.MouseEvent) => {\n    setValue('')\n  }\n\n  return (\n    <>\n      <input\n        type=\"text\"\n        placeholder={placeholder}\n        value={value}\n        onChange={onInputChange}\n      />\n      {value.length > 0 && (\n        <button\n          type=\"reset\"\n          onClick={onResetButtonClick}\n        >\n          <IconX />\n          <span className=\"visuallyhidden\">{resetButtonLabel}</span>\n        </button>\n      )}\n    </>\n  )\n}\n","import React, { useState, useEffect } from 'react'\nimport SuggestionCardList from './SuggestionCardList'\nimport { SuggestionCardProps } from './SuggestionCard'\nimport DebouncedTextInput from './DebouncedTextInput'\nimport useApi, { HTTP, StateType, endpoints } from '../hooks/useApi'\n\ntype KeywordSearchProps = {\n  dialogSlug: string\n  inboxSlug: string\n  mailCommentId: number | null\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  searchHits: SuggestionCardProps[] | null\n  setSearchHits: (searchHits: SuggestionCardProps[] | null) => void\n}\n\nenum SearchStatus {\n  Idle,\n  Loading,\n  Loaded,\n  Error,\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\ntype Error = {\n  code: ErrorCode\n}\n\nexport default function KeywordSearch(props: KeywordSearchProps) {\n  const {\n    dialogSlug,\n    inboxSlug,\n    mailCommentId,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    searchHits,\n    setSearchHits,\n  } = props\n  const [searchTerm, setSearchTerm] = useState<string>('')\n  const [status, setStatus] = useState<SearchStatus>(SearchStatus.Idle)\n  const [error, setError] = useState<Error>()\n\n  const string_length_search_threshold = 2\n\n  const [GETTextSearchStatus, GETTextSearch] = useApi<{\n    searchTerm: string\n    suggestions: SuggestionCardProps[]\n    error: Error | null\n  }>(HTTP.GET, endpoints.ai.keywordSearch(inboxSlug, dialogSlug, searchTerm, mailCommentId))\n\n  useEffect(() => {\n    if (GETTextSearchStatus.type === StateType.Done) {\n      if (GETTextSearchStatus.payload.error) {\n        setStatus(SearchStatus.Error)\n        setError(GETTextSearchStatus.payload.error)\n      } else {\n        setStatus(SearchStatus.Loaded)\n        setSearchHits(GETTextSearchStatus.payload.suggestions)\n      }\n    } else if (GETTextSearchStatus.type === StateType.Loading) {\n      setStatus(SearchStatus.Loading)\n    } else if (GETTextSearchStatus.type === StateType.Error) {\n      setStatus(SearchStatus.Error)\n      setError({ code: ErrorCode.ServerError })\n    }\n  }, [GETTextSearchStatus])\n\n  useEffect(() => {\n    if (searchTerm.length == 0) {\n      setSearchHits(null)\n    } else if (searchTerm.length > string_length_search_threshold) {\n      GETTextSearch()\n    }\n  }, [searchTerm])\n\n  const submitSearchForm = (event: React.FormEvent<HTMLFormElement>) => {\n    event.preventDefault()\n    setSearchTerm(event.target[0].value)\n  }\n\n  return (\n    <div className=\"text-search\">\n      <div className=\"text-search--container\">\n        <form\n          role=\"search\"\n          className=\"text-search--search-bar\"\n          onSubmit={submitSearchForm}\n        >\n          <DebouncedTextInput\n            onNewValue={setSearchTerm}\n            placeholder={gettext('Sök')}\n            resetButtonLabel={gettext('Rensa sökfält')}\n            debounceWaitTime={300}\n          />\n        </form>\n\n        {status == SearchStatus.Loaded &&\n          searchTerm.length > 0 &&\n          searchHits &&\n          searchHits.length < 1 && <p>{gettext('Inga träffar matchar din sökning')}</p>}\n\n        {searchHits && searchHits.length > 0 && (\n          <SuggestionCardList\n            suggestions={searchHits}\n            onRequestSmartReply={onRequestSmartReply}\n            onRequestInsertLink={onRequestInsertLink}\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport useApi, { HTTP, StateType, endpoints } from '../hooks/useApi'\nimport { ReactComponent as IconTwinkle } from '@icons/twinkle.svg'\nimport { ReactComponent as IconQuestionCircle } from '@icons/question-circle.svg'\nimport SuggestionCardList from './SuggestionCardList'\nimport { SuggestionCardProps } from './SuggestionCard'\n\ntype SmartSuggestionProps = {\n  dialogSlug: string\n  hasInboxEditPermissions: boolean\n  hasSmartReplyChannels: boolean\n  inboxSlug: string\n  isConnectedToSmartReplyChannel: boolean\n  mailCommentId: number | null\n  onRequestInsertLink: (title: string, url: string) => void\n  onRequestSmartReply: (url: string) => void\n  setSuggestions: (suggestions: SuggestionCardProps[]) => void\n  suggestions: SuggestionCardProps[] | null\n  suggestionsLoadedCallback: (suggestionsCount: number) => void\n}\n\nenum SmartSuggestionsStatus {\n  Loading,\n  Loaded,\n  Error,\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\ntype Error = {\n  code: ErrorCode\n}\n\nexport default function SmartSuggestions(props: SmartSuggestionProps) {\n  const {\n    dialogSlug,\n    hasInboxEditPermissions,\n    hasSmartReplyChannels,\n    inboxSlug,\n    isConnectedToSmartReplyChannel,\n    mailCommentId,\n    onRequestInsertLink,\n    onRequestSmartReply,\n    setSuggestions,\n    suggestions,\n    suggestionsLoadedCallback,\n  } = props\n  const [searchTerm, setSearchTerm] = useState<string>()\n  const [status, setStatus] = useState<SmartSuggestionsStatus>(SmartSuggestionsStatus.Loaded)\n  const [error, setError] = useState<Error>()\n  const [GETSmartSuggestionsStatus, GETSmartSuggestions] = useApi<{\n    searchTerm: string\n    suggestions: SuggestionCardProps[]\n    error: Error | null\n  }>(HTTP.GET, endpoints.ai.smartSuggestions(inboxSlug, dialogSlug, mailCommentId))\n\n  useEffect(() => {\n    if (!hasSmartReplyChannels || !isConnectedToSmartReplyChannel) {\n      return\n    }\n\n    if (suggestions === null) {\n      GETSmartSuggestions()\n    }\n  }, [])\n\n  useEffect(() => {\n    if (GETSmartSuggestionsStatus.type === StateType.Done) {\n      if (GETSmartSuggestionsStatus.payload.error) {\n        setStatus(SmartSuggestionsStatus.Error)\n        setError(GETSmartSuggestionsStatus.payload.error)\n      } else {\n        setStatus(SmartSuggestionsStatus.Loaded)\n        setSuggestions(GETSmartSuggestionsStatus.payload.suggestions)\n        setSearchTerm(GETSmartSuggestionsStatus.payload.searchTerm)\n        suggestionsLoadedCallback(GETSmartSuggestionsStatus.payload.suggestions.length)\n      }\n    } else if (GETSmartSuggestionsStatus.type === StateType.Error) {\n      setStatus(SmartSuggestionsStatus.Error)\n      setError({ code: ErrorCode.ServerError })\n    }\n  }, [GETSmartSuggestionsStatus])\n\n  const getAiContactFormUrl = (lang: string | null) => {\n    switch (lang) {\n      case 'sv':\n        return 'https://www.kundo.se/kontaktformular'\n      case 'fi':\n        return 'https://www.kundo.fi/ota-yhteytta-kundoon'\n      case 'no':\n        return 'https://www.kundo.no/kontakt-ai'\n      case 'en':\n        return 'https://www.kundo.se/en/contact-ai'\n      default:\n        return 'https://www.kundo.se/en/contact-ai'\n    }\n  }\n\n  const smartSuggestionsHelpURL =\n    window.CURRENT_LANGUAGE == 'sv'\n      ? 'https://www.kundo.se/hjalp-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n      : 'https://www.kundo.se/en/help-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n\n  return (\n    <>\n      <div\n        className=\"smart-suggestions\"\n        data-search-term={searchTerm}\n      >\n        <div className=\"smart-suggestions--header\">\n          <h2>\n            <span className=\"icon\">\n              <IconTwinkle></IconTwinkle>\n            </span>\n            <span className=\"text\">Smart Suggestions</span>\n          </h2>\n          <a\n            className=\"smart-suggestions--help-link\"\n            href={smartSuggestionsHelpURL}\n            target=\"_blank\"\n            rel=\"nofollow noopener\"\n          >\n            <IconQuestionCircle></IconQuestionCircle>\n          </a>\n        </div>\n        <div className=\"smart-suggestions--container\">\n          {status === SmartSuggestionsStatus.Loading && (\n            <span\n              className=\"skeleton-box\"\n              style={{ width: '100%' }}\n            ></span>\n          )}\n\n          {error && error.code == ErrorCode.LastMessageIsOutgoing && (\n            <p>{gettext('Senaste konversationen är utgående.')}</p>\n          )}\n          {error && error.code == ErrorCode.ServerError && (\n            <p>{gettext('Tekniskt fel, försök igen senare.')}</p>\n          )}\n\n          {hasSmartReplyChannels && !isConnectedToSmartReplyChannel && (\n            <>\n              <p>\n                {gettext(\n                  'För att kunna generera ett svarsförslag behöver du koppla inkorgen till en kunskapskälla.',\n                )}\n              </p>\n              {hasInboxEditPermissions && (\n                <a\n                  className=\"btn btn--editor btn--secondary btn--small\"\n                  href={`${window.location.origin}/inbox/${inboxSlug}/settings/smart-suggestions/`}\n                >\n                  {gettext('Koppla din inkorg')}\n                </a>\n              )}\n            </>\n          )}\n\n          {!hasSmartReplyChannels && (\n            <>\n              <p>\n                {gettext(\n                  'Effektivisera ditt arbete genom att låta vår AI skriva ett svar på mailet. Vill du veta mer?',\n                )}\n              </p>\n              <a\n                href={getAiContactFormUrl(window.CURRENT_LANGUAGE)}\n                target=\"_blank\"\n                className=\"btn btn--editor btn--secondary btn--small\"\n              >\n                {gettext('Anmäl intresse')}\n              </a>\n            </>\n          )}\n\n          {suggestions && suggestions.length === 0 && isConnectedToSmartReplyChannel && (\n            <p>{gettext('Det finns inga relevanta förslag. Prova att använda sökfunktionen.')}</p>\n          )}\n\n          {suggestions && suggestions.length > 0 && (\n            <SuggestionCardList\n              suggestions={suggestions}\n              onRequestSmartReply={onRequestSmartReply}\n              onRequestInsertLink={onRequestInsertLink}\n            />\n          )}\n        </div>\n      </div>\n    </>\n  )\n}\n","import React, { useState } from 'react'\nimport skeletonLoadingBoxes from './skeletonLoadingBoxes'\nimport { triggerSnackbar } from '../components/Snackbar'\nimport KeywordSearch from './KeywordSearch'\nimport SmartSuggestions from './SmartSuggestions'\nimport { SuggestionCardProps } from './SuggestionCard'\n\ntype SelfServiceWidgetProps = {\n  inboxSlug: string\n  dialogSlug: string\n  mailCommentId: number | null\n  suggestionsLoadedCallback: (suggestionsCount: number) => void\n  actionTakenCallback: () => void\n  insertLinkFunction: (url: string, title: string) => void\n  insertHTMLFunction: (html: string) => void\n  setEditableFunction: (state: boolean) => void\n  isConnectedToSmartReplyChannel: boolean\n  hasSmartReplyChannels: boolean\n  hasInboxEditPermissions: boolean\n}\n\nenum ErrorCode {\n  ServerError = 1,\n  LastMessageIsOutgoing = 2,\n  ContentLengthExceeded = 3,\n}\n\nexport default function SelfServiceWidget(props: SelfServiceWidgetProps) {\n  const {\n    inboxSlug,\n    dialogSlug,\n    mailCommentId,\n    actionTakenCallback,\n    suggestionsLoadedCallback,\n    insertLinkFunction,\n    insertHTMLFunction,\n    setEditableFunction,\n    isConnectedToSmartReplyChannel,\n    hasSmartReplyChannels,\n    hasInboxEditPermissions,\n  } = props\n\n  const [keywordSearchHits, setKeywordSearchHits] = useState<SuggestionCardProps[] | null>(null)\n  const [smartSuggestions, setSmartSuggestions] = useState<SuggestionCardProps[] | null>(null)\n\n  const requestSmartReply = (url: string) => {\n    actionTakenCallback()\n    displaySkeletonLoadingBoxes()\n    setEditableFunction(false)\n    removeExistingReply()\n\n    $.get(url, function () {})\n      .done(function (data) {\n        if (data.error) {\n          console.debug(data.error)\n          if (ErrorCode.ContentLengthExceeded === data.error.code) {\n            triggerSnackbar(gettext('Ett fel uppstod - guide eller mail är för långt.'))\n          } else {\n            triggerSnackbar(gettext('Tekniskt fel, försök igen senare.'))\n          }\n          return\n        }\n\n        const wrappedReply =\n          '<div class=\"smart-replies-froala-content--reply\">' + data.smartReply + '</div>'\n\n        insertHTMLFunction(wrappedReply)\n      })\n      .fail(function () {\n        triggerSnackbar(gettext('Tekniskt fel, försök igen senare.'))\n      })\n      .always(function () {\n        setEditableFunction(true)\n        hideSkeletonLoadingBoxes()\n      })\n  }\n\n  const insertLink = (title: string, url: string) => {\n    actionTakenCallback()\n    insertLinkFunction(url, title)\n  }\n\n  const keywordSearchPerformed = keywordSearchHits != null\n\n  return (\n    <>\n      {isConnectedToSmartReplyChannel && (\n        <KeywordSearch\n          inboxSlug={inboxSlug}\n          dialogSlug={dialogSlug}\n          mailCommentId={mailCommentId}\n          onRequestSmartReply={requestSmartReply}\n          onRequestInsertLink={insertLink}\n          setSearchHits={setKeywordSearchHits}\n          searchHits={keywordSearchHits}\n        />\n      )}\n\n      {!keywordSearchPerformed && (\n        <SmartSuggestions\n          inboxSlug={inboxSlug}\n          dialogSlug={dialogSlug}\n          mailCommentId={mailCommentId}\n          suggestionsLoadedCallback={suggestionsLoadedCallback}\n          isConnectedToSmartReplyChannel={isConnectedToSmartReplyChannel}\n          hasSmartReplyChannels={hasSmartReplyChannels}\n          hasInboxEditPermissions={hasInboxEditPermissions}\n          onRequestSmartReply={requestSmartReply}\n          onRequestInsertLink={insertLink}\n          setSuggestions={setSmartSuggestions}\n          suggestions={smartSuggestions}\n        />\n      )}\n    </>\n  )\n}\n\nconst hideSkeletonLoadingBoxes = () => {\n  document.querySelector('.smart-replies-froala-content--loader')?.remove()\n}\n\nconst insertHTMLInFroalaEditor = (html: string) => {\n  const froalaEditor = document.querySelector('div.fr-element')\n  froalaEditor?.insertAdjacentHTML('afterbegin', html)\n}\n\nconst displaySkeletonLoadingBoxes = () => {\n  const froalaEditor = document.querySelector('div.fr-element')\n  if (froalaEditor?.querySelector('.smart-replies-froala-content--loader')) {\n    return\n  }\n  insertHTMLInFroalaEditor(skeletonLoadingBoxes())\n}\n\nconst removeExistingReply = () => {\n  document.querySelectorAll('.smart-replies-froala-content--reply').forEach((elem) => elem.remove())\n}\n","export default function skeletonLoadingBoxes() {\n  return `\n    <div class=\"smart-replies-froala-content--loader\">\n      <span class=\"skeleton-box\" style=\"width: 20%; max-width: 80px;\"></span>\n      <div class=\"fill-row\"></div>\n      <span class=\"skeleton-box\" style=\"width: 40%; max-width: 160px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 100%; max-width: 400px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 100%; max-width: 400px;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 90%; max-width: 360px;\"></span>\n      <div class=\"fill-row\"></div>\n      <span class=\"skeleton-box\" style=\"width: 70%; max-width: 280px; display: block; margin-bottom: 0.25em;\"></span>\n      <span class=\"skeleton-box\" style=\"width: 70%; max-width: 280px; display: block; margin-bottom: 0.25em;\"></span>\n      <div style=\"width: 100%; height: 1em;\"></div>\n      <div style=\"width: 100%; height: 1em;\"></div>\n      <span class=\"skeleton-box\" style=\"width: 35%; max-width: 140px;\"></span>\n    </div>`\n}\n","import React from 'react'\n\nimport { createRoot } from 'react-dom/client'\nimport SelfServiceWidget from './SelfServiceWidget'\n\nexport default function initSelfServiceWidget(\n  elem,\n  inboxSlug,\n  dialogSlug,\n  mailCommentId,\n  suggestionsLoadedCallback,\n  actionTakenCallback,\n  insertLinkFunction,\n  insertHTMLFunction,\n  setEditableFunction,\n  isConnectedToSmartReplyChannel,\n  hasSmartReplyChannels,\n  hasInboxEditPermissions,\n) {\n  if (elem && dialogSlug) {\n    const root = createRoot(elem)\n    root.render(\n      <SelfServiceWidget\n        inboxSlug={inboxSlug}\n        dialogSlug={dialogSlug}\n        mailCommentId={mailCommentId}\n        suggestionsLoadedCallback={suggestionsLoadedCallback}\n        actionTakenCallback={actionTakenCallback}\n        insertLinkFunction={insertLinkFunction}\n        insertHTMLFunction={insertHTMLFunction}\n        setEditableFunction={setEditableFunction}\n        isConnectedToSmartReplyChannel={isConnectedToSmartReplyChannel}\n        hasSmartReplyChannels={hasSmartReplyChannels}\n        hasInboxEditPermissions={hasInboxEditPermissions}\n      />,\n    )\n  }\n}\n","import initSelfServiceWidget from '../editors/self-service-widget'\n\ntype OnSelectHandler = () => void\n\ntype insertLinkFunction = (url: string, text: string) => void\ntype insertHTMLFunction = (html: string) => void\ntype froalaEditOnFunction = () => void\ntype froalaEditOffFunction = () => void\ntype setEditableFunction = (state: boolean) => void\n\nexport default class SelfServiceWidget {\n  aiToolbarButton: HTMLElement\n  box: JQuery<HTMLElement>\n  badge: JQuery<HTMLElement>\n\n  onclose: (focus: boolean) => void\n  onselect: OnSelectHandler\n  froalaEditOnFunction: () => void\n  froalaEditOffFunction: () => void\n\n  constructor(options: {\n    parent: HTMLElement\n    insertLinkFunction: insertLinkFunction\n    insertHTMLFunction: insertHTMLFunction\n    froalaEditOnFunction: froalaEditOnFunction\n    froalaEditOffFunction: froalaEditOffFunction\n    onselect: OnSelectHandler\n    onclose?: (focus: boolean) => void\n    positionAbove?: boolean\n    aiToolbarButton: HTMLElement\n    isConnectedToSmartReplyChannel: boolean\n    hasSmartReplyChannels: boolean\n    hasInboxEditPermissions: boolean\n  }) {\n    this.renderInitial(\n      options.positionAbove,\n      options.insertLinkFunction,\n      options.insertHTMLFunction,\n      this.setEditableFunction,\n      options.isConnectedToSmartReplyChannel,\n      options.hasSmartReplyChannels,\n      options.hasInboxEditPermissions,\n    )\n    this.box.appendTo(options.parent)\n    this.aiToolbarButton = options.aiToolbarButton\n    this.badge = $('<div class=\"badge badge--emerald badge--found-guides hidden\"></div>')\n    this.badge.appendTo($(options.aiToolbarButton).find('.ai-fr-toolbar-btn-content'))\n\n    this.onselect = options.onselect || function () {}\n    this.onclose = options.onclose || function () {}\n    this.froalaEditOnFunction = options.froalaEditOnFunction\n    this.froalaEditOffFunction = options.froalaEditOffFunction\n\n    $('body').on('click', () => this.close(false))\n    this.box.on('click', (e) => {\n      e.stopPropagation()\n    })\n  }\n\n  renderInitial(\n    positionAbove?: boolean,\n    insertLinkFunction?: insertLinkFunction,\n    insertHTMLFunction?: insertHTMLFunction,\n    setEditableFunction?: setEditableFunction,\n    isConnectedToSmartReplyChannel: boolean = false,\n    hasSmartReplyChannels: boolean = false,\n    hasInboxEditPermissions: boolean = false,\n  ) {\n    this.box = $(`<div class=\"hidden self-service-widget-box\">`).addClass(\n      positionAbove ? 'self-service-widget-box--above' : 'self-service-widget-box--below',\n    )\n    initSelfServiceWidget(\n      this.box.get(0),\n      $('#comment-form').data('inbox-slug'),\n      $('#comment-form').data('dialog-slug'),\n      $('#comment-form').data('mail-comment-id'),\n      this.suggestionsLoadedCallback,\n      this.close.bind(this),\n      insertLinkFunction,\n      insertHTMLFunction,\n      setEditableFunction,\n      isConnectedToSmartReplyChannel,\n      hasSmartReplyChannels,\n      hasInboxEditPermissions,\n    )\n  }\n\n  open() {\n    let boxLeftOffset = this.aiToolbarButton.offsetLeft - (this.box.width() || 0) / 2\n    if (boxLeftOffset < 0) {\n      boxLeftOffset = 0\n    }\n    this.box.css({ left: boxLeftOffset })\n    this.box.removeClass('hidden')\n    return this\n  }\n\n  close(focus = true) {\n    this.box.addClass('hidden')\n    this.onclose(focus)\n    return this\n  }\n\n  toggle() {\n    if (this.box.is('.hidden')) {\n      return this.open()\n    } else {\n      return this.close()\n    }\n  }\n\n  destroy() {\n    this.box.remove()\n  }\n\n  suggestionsLoadedCallback = (suggestionsCount: number) => {\n    if (suggestionsCount === 0) return\n    // TODO: translation is missing '%s' so we have to create the string manually for now\n    const badgeText =\n      String(suggestionsCount) + ' ' + ngettext('förslag', 'förslag', suggestionsCount)\n    this.badge.text(badgeText)\n    this.badge.removeClass('hidden')\n    this.aiToolbarButton.classList.add('ai-colored')\n  }\n\n  setEditableFunction = (state: boolean) => {\n    if (state) {\n      this.froalaEditOnFunction()\n    } else {\n      this.froalaEditOffFunction()\n    }\n  }\n}\n","import { calculateBreakpoints, waitForTime } from 'platform/utils'\n\nimport { Froala, initFroalaEditor, loadFroala } from './froala'\n\nimport { LargeAttachmentsList, NullAttachmentsList } from './attachmentslist'\nimport { registerInternalLinkCommand } from './commands'\nimport { uploadImageAsUpload, uploaderFactory } from './fine-uploader'\nimport InternalLinkWidget from './internal-link-widget'\nimport { setupMentions } from './mentions'\nimport SnippetWidget from './snippet-widget'\nimport SelfServiceWidget from './self-service-widget'\nimport { getToolbar } from './toolbar'\nimport { ALLOWED_IMAGE_EXTENSIONS, getFilesFromEvent, isAllowedImageMime } from './utils'\n\nconst FROALA_4_KEY = 'jUA1yD4A3C2C1F2C2G2qYFa1UQRFQIVc2MSMd1IWPNb1IFd1yD2I2D1B1C7D2B1C5G1B1=='\n\nexport interface FroalaConfig {\n  allowMentions?: boolean\n  allowedAttributes?: any[]\n  allowedTags?: any[]\n  enterType?: string\n  saveUrl?: string\n  slimToolbarType?: string\n  snippetsUrl?: string\n  toolbarType?: string\n  uploadsUrl?: string\n}\n\nexport default class KundoFroalaEditor {\n  attachmentsList: LargeAttachmentsList | NullAttachmentsList\n  editor: JQuery<HTMLTextAreaElement>\n  froala: Froala\n\n  isInitialized: boolean = false\n  isMailContext: boolean\n  isAIEnabled: boolean = false // TODO: Remove when replaced entirely by isAIAssistantEnabled / isAIDraftsEnabled\n  isAIAssistantEnabled: boolean = false\n  isAIDraftsEnabled: boolean = false\n  isConnectedToSmartReplyChannel: boolean = false\n  hasSmartReplyChannels: boolean = false\n  hasInboxEditPermissions: boolean = false\n  allowLargeUploads: boolean\n  isMobile: boolean\n  uploadsUrl?: string\n  toolbar: ReturnType<typeof getToolbar>\n  slimToolbar: ReturnType<typeof getToolbar>\n\n  autosaveStatus: JQuery<HTMLElement>\n  texteditorDiv: JQuery<HTMLElement>\n\n  internalLinkWidget: InternalLinkWidget\n  snippetWidget: SnippetWidget\n  selfServiceWidget: SelfServiceWidget\n\n  config: FroalaConfig\n\n  editorVersion: string | null\n\n  // List of pending\n  private __pendingEventHandlers?: { event: string; callback: Function; opts?: any }[]\n\n  constructor(\n    texteditorDiv: JQuery<HTMLElement>,\n    attachmentsList?: undefined | LargeAttachmentsList,\n    isMailContext: boolean = false,\n    allowLargeUploads: boolean = false,\n  ) {\n    if (texteditorDiv.length !== 1) {\n      throw new Error('too many divs or too few')\n    }\n    if ($('html').hasClass('lt-ie10')) {\n      return\n    }\n\n    this.texteditorDiv = texteditorDiv\n    // Save a reference to our *own* class on the HTML element itself, for later access\n    // @ts-expect-error\n    this.texteditorDiv[0].kundoFroala = this\n\n    this.attachmentsList = attachmentsList || new NullAttachmentsList()\n    this.editor = this.texteditorDiv.find('textarea')\n    this.autosaveStatus = this.texteditorDiv.find('.fn-autosave-status')\n    this.isMailContext = isMailContext\n    this.allowLargeUploads = allowLargeUploads\n    this.isMobile = calculateBreakpoints().mobile\n\n    this.config = JSON.parse(this.texteditorDiv.find('[data-fn-texteditor-config]').text() || '{}')\n\n    this.uploadsUrl = this.config.uploadsUrl\n\n    const { saveUrl } = this.config\n\n    const internalLinkElm = this.texteditorDiv.find('.fn-internal-link-box')\n\n    this.isAIEnabled = this.editor.parents('form:first').data('smart-replies-enabled') == true\n    this.isAIAssistantEnabled =\n      this.editor.parents('form:first').data('ai-assistant-enabled') == true\n    this.isAIDraftsEnabled = this.editor.parents('form:first').data('ai-drafts-enabled') == true\n    this.isConnectedToSmartReplyChannel =\n      this.editor.parents('form:first').data('connected-to-smart-reply-channel') == true\n    this.hasSmartReplyChannels =\n      this.editor.parents('form:first').data('has-smart-reply-channels') == true\n    this.hasInboxEditPermissions =\n      this.editor.parents('form:first').data('has-inbox-edit-permissions') == true\n\n    const toolbar = getToolbar(this.config.toolbarType!, {\n      // Only show the InternalLinkWidget button when the widget is provided\n      includeInternalLinks: !!internalLinkElm.length,\n      includeAI: !!this.isAIEnabled && !this.isAIDraftsEnabled,\n      includeAIDrafts: !!this.isAIDraftsEnabled,\n    })\n\n    this.toolbar = toolbar\n\n    let editorClass = ''\n    if (this.toolbar.buttons.length === 0) {\n      editorClass = 'fr-hide-toolbar'\n    }\n\n    const htmlAllowedAttrs = (this.config.allowedAttributes || []).concat(['data-froala-role'])\n    const htmlAllowedTags = this.config.allowedTags || ['div', 'br']\n    let pasteDeniedAttrs = ['class', 'id', 'style']\n    let pasteDeniedTags = ['span']\n    if (toolbar.hasColor) {\n      pasteDeniedAttrs = ['class', 'id']\n      pasteDeniedTags = []\n    }\n    if (this.config.allowMentions) {\n      pasteDeniedAttrs = ['id']\n      pasteDeniedTags = []\n    }\n\n    const options = {\n      dragInline: true,\n      editorClass,\n      attribution: false, // Remove \"Powered by Froala\" link\n      events: {\n        initialized: () => this.onInitialized(),\n      },\n      heightMax: this.editor.data('maxHeight'),\n      htmlAllowedAttrs,\n      htmlAllowedTags,\n      imageAllowedTypes: ALLOWED_IMAGE_EXTENSIONS,\n      imageDefaultWidth: 0,\n      // prettier-ignore\n      imageEditButtons: ['imageAlt', 'imageLink', 'linkOpen', 'linkEdit', 'linkRemove', '|', 'imageRemove'],\n      imageInsertButtons: ['imageRemove'],\n      imagePaste: true,\n      imageResize: true,\n      imageUploadURL: '_/froala_shouldnt_upload', // Make sure froala doesn't send anything to it's own servers,\n      key: FROALA_4_KEY,\n      language: 'kundo-lang',\n      linkAutoPrefix: 'http://',\n      linkEditButtons: ['linkOpen', 'linkEdit', 'linkRemove'],\n      linkInsertButtons: ['linkBack'],\n      listAdvancedTypes: false,\n      paragraphFormat: {\n        H2: TRANSLATIONS.paragraphFormat.h2,\n        H3: TRANSLATIONS.paragraphFormat.h3,\n        N: TRANSLATIONS.paragraphFormat.n,\n      },\n      paragraphFormatSelection: true,\n      paragraphStyles: {\n        'direction-rtl': TRANSLATIONS.paragraphStyles.directionRtl,\n        lead: TRANSLATIONS.paragraphStyles.lead,\n      },\n      pasteAllowedStyleProps: toolbar.hasColor ? ['color', 'background-color'] : [],\n      pasteDeniedAttrs: pasteDeniedAttrs,\n      pasteDeniedTags: pasteDeniedTags,\n      // @ts-expect-error\n      placeholderText: this.editor.placeholder || '',\n      requestHeaders: {\n        'x-csrftoken': this.getCSRFToken(),\n      },\n      requestWithCORS: false,\n      saveInterval: saveUrl ? 500 : 0,\n      saveURL: saveUrl,\n      shortcutsEnabled: ['bold', 'italic', 'undo', 'redo', 'insertLink', 'snippets'],\n      spellcheck: true,\n      tableEditButtons: ['tableHeader', '|', 'tableRows', 'tableColumns', '|', 'tableRemove'],\n      tableResizer: true,\n      tableDefaultAlign: 'left',\n      tableDefaultWidth: '75%',\n      theme: 'froala2-kundo',\n      toolbarBottom: toolbar.bottom,\n      toolbarButtons: toolbar.buttons,\n      toolbarButtonsMD: toolbar.buttons,\n      toolbarButtonsSM: toolbar.buttons,\n      toolbarButtonsXS: toolbar.buttons,\n      toolbarSticky: !this.isMobile,\n      toolbarStickyOffset: $('.modal-heading').length > 0 ? $('.modal-heading').outerHeight() : 0,\n      scrollableContainer: $('.popup-page').length > 0 ? 'body' : '.tw-app-scroll',\n      videoAllowedTypes: [],\n      videoEditButtons: ['videoRemove'],\n      videoInsertButtons: ['videoByURL'],\n      videoMove: false,\n      videoResize: false,\n      videoUploadURL: '',\n      colorsButtons: ['colorsBack', '|', '-'],\n      aiAutoReplies: this.isAIDraftsEnabled,\n      aiPrompts: this.isAIAssistantEnabled,\n    }\n\n    loadFroala((FroalaEditor) => {\n      registerInternalLinkCommand(FroalaEditor, internalLinkElm.find('h3').text())\n\n      const enterOptions = {\n        br: FroalaEditor.ENTER_BR,\n        div: FroalaEditor.ENTER_DIV,\n        p: FroalaEditor.ENTER_P,\n      }\n      const enter = enterOptions[this.config.enterType || 'br']\n\n      initFroalaEditor(this, {\n        ...options,\n        enter,\n        htmlUntouched: true,\n        imageSplitHTML: false,\n        wrapPlainText:\n          enter === FroalaEditor.ENTER_DIV || enter === FroalaEditor.ENTER_P ? true : false,\n      })\n    })\n\n    this.texteditorDiv.removeClass('text-editor--pre-init')\n  }\n\n  getCSRFToken(): string | null {\n    const bodyElement = document.querySelector('body')\n    const csrfToken = bodyElement?.getAttribute('data-csrftoken')\n    return csrfToken || null\n  }\n\n  on(event: string, callback: Function, opts?: any) {\n    if (this.isInitialized) {\n      this.froala.events.on(event, callback, opts)\n    } else {\n      // Keep the callback registration in memory until the Froala is initialized,\n      // so we can call froala.events.on when it is.\n      this.__pendingEventHandlers = this.__pendingEventHandlers || []\n      this.__pendingEventHandlers.push({ callback, event, opts })\n    }\n  }\n\n  onInitialized() {\n    this.isInitialized = true\n\n    // Make sure the froala instance has a reference to this object,\n    // since it is needed for file uploads, reply snippets etc\n    this.froala.kundoFroala = this\n\n    this.setUpToolbar()\n    this.setUpAutoSave()\n    this.setUpSnippets()\n    this.setUpImageUploads()\n    this.setUpVideo()\n    this.setUpPaste()\n    this.setUpInternalLinks(this.texteditorDiv.find('.fn-internal-link-box'))\n    this.setUpSelfService()\n    this.setUpLinkInsertion()\n    this.setUpTableInsertion()\n    this.setUpFocus()\n    this.setUpMentions()\n    this.setUpEvents()\n    this.removeToolbarButtonsTabindex()\n    this.editorPlaceholder()\n    // this.deleteLogo()\n    this.setUpdateContent(this)\n    this.imgDefaultAlign()\n\n    this.froala.events.trigger('kundoFroalaInitialized')\n  }\n\n  setUpEvents() {\n    const callbacks = this.__pendingEventHandlers || []\n    for (const { callback, event, opts } of callbacks) {\n      this.froala.events.on(event, callback, opts)\n    }\n    delete this.__pendingEventHandlers\n  }\n\n  imgDefaultAlign() {\n    this.on('image.inserted', ($img) => {\n      $($img).css('margin-left', '0')\n      $($img).css('margin-right', '0')\n    })\n  }\n\n  deleteLogo() {\n    const editorBox = this.froala?.$box[0]\n    const secondToolbar = editorBox.querySelector('.fr-second-toolbar')\n\n    if (!secondToolbar) {\n      return\n    } else {\n      secondToolbar.remove()\n    }\n  }\n\n  setUpLinkInsertion() {\n    // Create link without showing popup if a link is marked\n    this.on('commands.before', (cmd: string) => {\n      if (cmd !== 'insertLink') {\n        return\n      }\n      const selection = this.froala.selection.text()\n      if (KUNDO.utils.isUrl(selection.trim())) {\n        this.froala.link.insert(selection)\n        return false\n      }\n    })\n\n    this.on('commands.after', async (cmd: string) => {\n      if (cmd === 'insertLink') {\n        await waitForTime(20)\n        this.texteditorDiv.find('.fr-popup input:first').trigger('focus')\n      }\n    })\n  }\n\n  setUpTableInsertion() {\n    this.on('table.inserted', (table: Element) => {\n      if (this.texteditorDiv.data('context-type') === 'inbox') {\n        table.removeAttribute('style')\n        ;(table as HTMLElement).style.width = '100%'\n        table.setAttribute('border', '1')\n        table.setAttribute('data-kundo-style', 'table')\n      }\n    })\n  }\n\n  setUpFocus() {\n    const { texteditorDiv } = this\n    const cls = 'text-editor--has-focus'\n    this.on('focus', () => texteditorDiv.addClass(cls))\n    this.on('blur', () => texteditorDiv.removeClass(cls))\n  }\n\n  setUpToolbar() {\n    if (this.toolbar.inserted) {\n      const elm = this.texteditorDiv\n      elm.find('div.fr-wrapper').append(elm.find('div.fr-toolbar'))\n    }\n\n    const isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent)\n\n    // Froala editor doesn't support toolbarBottom https://github.com/froala/wysiwyg-editor/issues/1281\n    // Fix to support toolbarBottom on ios, change classes\n    if (isIOS && this.toolbar.bottom) {\n      this.texteditorDiv.find('.fr-top').each((_, item) => {\n        item.classList.remove('fr-top')\n        item.classList.add('fr-bottom')\n      })\n    }\n\n    // Make sure the builtin icons get our close icon\n    $('.fa-times').addClass('f-icon-cross')\n  }\n\n  removeToolbarButtonsTabindex() {\n    this.toolbar.buttons.forEach((button) => {\n      const $button = this.texteditorDiv.find(`[data-cmd=\"${button}\"]`)\n      $button.removeAttr('tabindex')\n    })\n  }\n\n  editorPlaceholder() {\n    this.texteditorDiv.each((_, item) => {\n      const $placeholder = this.texteditorDiv.find('.fr-placeholder').text()\n      const $editor = this.texteditorDiv.find('.fr-element')\n      $editor.attr('aria-placeholder', $placeholder)\n      $editor.attr('aria-label', $placeholder)\n      $editor.attr('role', 'textbox')\n    })\n  }\n\n  setUpSnippets() {\n    const url = this.config.snippetsUrl\n    if (!url) {\n      return\n    }\n\n    this.snippetWidget = new SnippetWidget({\n      url,\n      parent: this.texteditorDiv[0],\n      onselect: async ({ text, attachments }) => {\n        let textArea = this.editor[0]\n\n        this.froala.selection.restore()\n\n        attachments\n          .filter((file) => !this.attachmentsList.has_file(file))\n          .forEach((file) => this.attachmentsList.add_file(file))\n\n        await this.froala.html.insert(text)\n\n        await this.froala.events.trigger('contentChanged', [], true)\n\n        const updatedValue = await this.froala.html.get(true)\n\n        this.setTextAreaValue(textArea, updatedValue)\n      },\n      onclose: (focus: boolean) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n    })\n  }\n\n  setUpInternalLinks(elm: JQuery<HTMLElement>) {\n    if (!elm.length) {\n      return\n    }\n    this.internalLinkWidget = new InternalLinkWidget({\n      box: elm,\n      onselect: async (_, text, link) => {\n        let textArea = this.editor[0]\n\n        await this.froala.link.insert(link, text)\n        this.froala.selection.restore()\n\n        await this.froala.events.trigger('contentChanged', [], true)\n\n        const updatedValue = await this.froala.html.get(true)\n\n        this.setTextAreaValue(textArea, updatedValue)\n      },\n      onclose: (_, focus) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n    })\n  }\n\n  setUpSelfService() {\n    if (!this.isAIEnabled) {\n      return\n    }\n    const aiToolbarButton = document.getElementById('selfService-1')\n    if (!aiToolbarButton) {\n      return\n    }\n    this.selfServiceWidget = new SelfServiceWidget({\n      parent: this.texteditorDiv[0],\n      insertLinkFunction: this.froala.link.insert,\n      insertHTMLFunction: (html) => {\n        this.froala.events.focus()\n        this.froala.selection.restore()\n        this.froala.html.insert(html)\n      },\n      froalaEditOnFunction: this.froala.edit.on,\n      froalaEditOffFunction: this.froala.edit.off,\n      onselect: () => {\n        this.froala.selection.restore()\n      },\n      onclose: (focus: boolean) => {\n        if (focus) {\n          this.froala.events.focus()\n        }\n      },\n      aiToolbarButton: aiToolbarButton,\n      isConnectedToSmartReplyChannel: this.isConnectedToSmartReplyChannel,\n      hasSmartReplyChannels: this.hasSmartReplyChannels,\n      hasInboxEditPermissions: this.hasInboxEditPermissions,\n    })\n  }\n\n  setUpPaste() {\n    /*\n     * Add br tag at the end of removed block elements\n     **/\n    this.on('paste.beforeCleanup', (content: string) => {\n      if (!content) {\n        return content\n      }\n      const addLineBreaksBeforeCloseTag = (htmlString, tagNamesArray) => {\n        tagNamesArray.forEach((tagName) => {\n          const re = RegExp('</' + tagName + '>', 'gi')\n          htmlString = htmlString.replace(re, '<br></' + tagName + '>')\n        })\n        return htmlString\n      }\n      const allowedEditorTags = this.config.allowedTags || []\n      const enterType = this.config.enterType\n\n      // prettier-ignore\n      const defaultBlockTagsInNeedOfLineBreakOnPaste = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre', 'th', 'td', 'dt', 'dd']\n      // prettier-ignore\n      const tags = defaultBlockTagsInNeedOfLineBreakOnPaste\n        .filter((element) => allowedEditorTags.indexOf(element) < 0)\n\n      // even if p elements are allowed (data-allowed-tags),\n      // those might be converted based on Froala's enter propery\n      if (enterType !== 'p' && tags.indexOf('p') === -1) {\n        tags.push('p')\n      }\n\n      return addLineBreaksBeforeCloseTag(content, tags)\n    })\n\n    this.on('paste.afterCleanup', (content: string) => {\n      return content.replace(/&nbsp;/g, ' ')\n    })\n  }\n\n  setUpVideo() {\n    const getVideoInput = (editor) => editor.popups.get('video.insert').find('input')\n    const removeErrorMsg = (elm) => elm.parent().find('.input__error-feedback').remove()\n    this.on('video.linkError', function (e, editor, link) {\n      const $input = getVideoInput(editor)\n      if ($input) {\n        removeErrorMsg($input)\n        const errorFeedbackId = $input.attr('id') + '-error'\n        const $errorMsg = $('<div>', { id: errorFeedbackId, class: 'input__error-feedback' })\n          .attr('aria-live', 'polite')\n          .html(\n            'Adressen pekar inte till en videotjänst vi stödjer. De tjänster som stöds är: SVT, Vimeo och YouTube.<br>Kontakta <a href=\"mailto:support@kundo.se\">support@kundo.se</a> om du saknar en tjänst.',\n          )\n        $input.parent().append($errorMsg)\n        $input.attr({ 'aria-invalid': 'true', 'aria-labelledby': errorFeedbackId })\n      }\n    })\n\n    this.on('video.inserted', function (e, editor, $video) {\n      const $input = getVideoInput(editor)\n      if ($input) {\n        $input.removeAttr('aria-invalid aria-labelledby')\n        removeErrorMsg($input)\n      }\n    })\n  }\n\n  setTextAreaValue(textArea: HTMLTextAreaElement | null, currentValue: string) {\n    if (textArea && textArea.getAttribute('data-texteditor-init') === 'true') {\n      textArea.value = currentValue\n    }\n  }\n\n  setUpdateContent(editorInstance: any) {\n    // Update the underlying textarea when content changes in the editor\n    // This is needed to make sure that when the form is submitted,\n    // the latest content from the editor area is sent to the server\n\n    let textArea = editorInstance.editor[0]\n\n    function setTextAreaValue(textArea: HTMLTextAreaElement | null, currentValue: string) {\n      if (textArea && textArea.getAttribute('data-texteditor-init') === 'true') {\n        textArea.value = currentValue\n      }\n    }\n\n    this.on('input', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n\n    this.on('keyup', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n\n    this.on('contentChanged', function () {\n      setTextAreaValue(textArea, this.html.get(true))\n    })\n  }\n\n  setUpAutoSave() {\n    if (!this.config.saveUrl) {\n      return\n    }\n\n    const IGNORED_FIELD_NAMES = [\n      'csrfmiddlewaretoken', // Is sent via a Cookie instead\n      'cmt-text', // Same contents as the \"body\" parameter that Froala sends\n    ]\n\n    const fieldIgnored = (field) => IGNORED_FIELD_NAMES.indexOf(field.name) !== -1\n\n    // Trigger autosave when non-froala fields change.\n    const editor_fields = this.editor.parents('form:first').find('input, select, textarea')\n    editor_fields\n      .filter((_, field) => !fieldIgnored(field))\n      .each((_, field) => {\n        $(field).on('input change', () => this.setDirty())\n      })\n\n    this.on('save.before', () => {\n      // If there's a loader in the editor cancel the save\n      if (this.froala.html.get().search(/smart-replies-froala-content--loader/g, '') != -1) {\n        return false\n      }\n\n      this.setAutosaveStatus(TRANSLATIONS.editor_before_save_msg)\n\n      const form = this.editor.parents('form:first')\n      const formFields = form\n        .serializeArray()\n        .filter((field) => field.value) // Remove empty fields\n        .filter((field) => !fieldIgnored(field)) // Remove ignored fields\n\n      this.froala.opts.saveParams = {\n        meta: JSON.stringify(formFields),\n      }\n    })\n\n    this.on('save.error', () => {\n      this.setAutosaveStatus(TRANSLATIONS.editor_save_error_msg)\n    })\n\n    this.on('save.after', () => {\n      this.setAutosaveStatus(TRANSLATIONS.editor_after_save_msg, { delay: 1000, autoHide: true })\n    })\n\n    this.setDirty = this.setDirty.bind(this)\n  }\n\n  setUpImageUploads() {\n    const onBeforePaste = (e: Event) => {\n      let file: null | File = null\n      const files = getFilesFromEvent(e)\n      for (let i = 0, len = files.length; i < len; i++) {\n        file = files[i]\n        if (file && isAllowedImageMime(file.type)) {\n          this.insertImage(file)\n        } else {\n          this.attachFile(file)\n        }\n      }\n      // Cancel event if any file was added, else fall through to Froalas drag handling\n      if (file) {\n        e.preventDefault()\n        e.stopPropagation()\n        return false\n      }\n    }\n\n    this.on('drop paste.before', onBeforePaste, { capture: true })\n\n    this.on('image.loaded', (img) => {\n      this.froala.image.setSize(`${img.width()}px`, 'auto')\n    })\n\n    // If `onBeforePaste` doesn't find any images, Froalas default event will be used\n    this.on('image.beforePasteUpload', (img) => {\n      // Remove pasted image from the editor, and instead insert\n      // the one from the insertImage function\n      this.froala.selection.setBefore(img)\n      $(img).remove()\n    })\n\n    this.on('image.beforeUpload', (images) => {\n      if (images) {\n        images.forEach((imageBlob) => {\n          this.insertImage(imageBlob)\n        })\n      }\n\n      return false\n    })\n\n    this.on('image.removed', (img) => {\n      this.attachmentsList.remove_file_by_url(img.attr('src'))\n    })\n  }\n\n  setUpMentions() {\n    if (!this.config.allowMentions) return\n    if (!window.EDITORSEARCHURL) return\n\n    const tribute = setupMentions(this.froala, this.texteditorDiv[0])\n\n    fetch(window.EDITORSEARCHURL)\n      .then((resp) => resp.json())\n      .then((data) => {\n        tribute.append(0, data['users'])\n      })\n  }\n\n  setAutosaveStatus(message: string, opts?: { delay: number; autoHide?: boolean }) {\n    const delay = opts?.delay || 1000\n    setTimeout(() => this.autosaveStatus.html(message).show(), delay)\n    if (opts?.autoHide) {\n      setTimeout(() => this.autosaveStatus.html('').hide(), delay + 1000)\n    }\n  }\n\n  /**\n   * Returns the underlying [contenteditable] element of the editor, for low-level access.\n   */\n  getContentEditable(): HTMLElement {\n    return this.froala.$el[0]\n  }\n\n  insertImage(files) {\n    if (!this.uploadsUrl) {\n      return\n    }\n    uploadImageAsUpload(\n      this,\n      files,\n      ALLOWED_IMAGE_EXTENSIONS,\n      this.isMailContext,\n      this.allowLargeUploads,\n      false,\n    )\n  }\n\n  attachFile(files) {\n    if (!this.uploadsUrl) {\n      return\n    }\n    uploaderFactory(\n      this.uploadsUrl,\n      this.attachmentsList,\n      this.isMailContext,\n      this.allowLargeUploads,\n    ).addFiles(files)\n  }\n\n  focus() {\n    this.froala.events.focus()\n  }\n\n  getHTML(): string {\n    return this.froala.html.get()\n  }\n\n  setHTML(html: string | null) {\n    this.froala.html.set(html)\n  }\n\n  setDirty() {\n    this.froala.save.reset()\n    this.froala.save.force()\n  }\n\n  saveSelection() {\n    this.froala.selection.save()\n  }\n\n  openSnippetWidget() {\n    this.saveSelection()\n    this.snippetWidget.open()\n  }\n\n  toggleSnippetWidget() {\n    this.saveSelection()\n    this.snippetWidget.toggle()\n  }\n\n  toggleInternalLinkWidget() {\n    this.saveSelection()\n    this.internalLinkWidget.toggle()\n  }\n\n  toggleSelfServiceWidget() {\n    this.saveSelection()\n    this.selfServiceWidget.toggle()\n  }\n}\n\nexport function getKundoFroalaInstance(elm: HTMLElement | JQuery): KundoFroalaEditor | null {\n  let $elm = $(elm)\n  let obj = $elm[0] as any\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  obj = $elm.parent('.fn-text-editor')[0]\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  obj = $elm.parent('[data-fn-text-editor]')[0]\n\n  if (obj && obj['kundoFroala']) {\n    return obj['kundoFroala']\n  }\n\n  return null\n}\n","import Tribute from 'tributejs'\n\ninterface MentionedUser {\n  avatar_background_color: string\n  avatar_url: string\n  email: string\n  id: number\n  name: string\n}\n\nexport function setupMentions(froala: any, container: HTMLElement): Tribute<MentionedUser> {\n  const tribute = new Tribute<MentionedUser>({\n    allowSpaces: true,\n    fillAttr: 'name',\n    lookup(user, _text: string) {\n      return user.name + user.email\n    },\n    menuContainer: container,\n    menuItemTemplate({ original }) {\n      const { avatar_background_color, avatar_url, name } = original\n      const avatar = $('<img>')\n        .attr({\n          height: 24,\n          src: avatar_url,\n          style: 'background-color:' + avatar_background_color,\n          width: 24,\n        })\n        .prop('outerHTML')\n      const displayName = $('<span class=\"\">').text(name).prop('outerHTML')\n\n      return avatar + displayName\n    },\n    noMatchTemplate() {\n      return $('<li class=\"no-match\"><span>')\n        .text(gettext('Hittar inga användare'))\n        .prop('outerHTML')\n    },\n    positionMenu: false,\n    selectTemplate({ original }) {\n      const { id, name } = original\n      return $('<span class=\"fr-deletable fr-tribute mention\" contenteditable=\"false\">')\n        .attr('data-editor-id', id)\n        .text('@' + name)\n        .prop('outerHTML')\n    },\n    values: [],\n  })\n\n  froala.events.on(\n    'keydown',\n    function (e: any) {\n      const enterKeyCode = 13\n      if (e.which === enterKeyCode && tribute.isActive) {\n        return false\n      }\n    },\n    true,\n  )\n\n  tribute.attach(froala.el)\n\n  return tribute\n}\n","import React, { ReactElement, useId, useState } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport * as Popover from '@radix-ui/react-popover'\nimport {\n  WinkleIcon,\n  XIcon,\n  QuestionCircleIcon,\n  ArrowRightUpIcon,\n  IconButton,\n  ChannelIcon,\n} from '@kundo/ui'\nimport { twMerge } from '@kundo/ui/dist/helpers'\nimport { IReferences } from './aiAutoReplies/types'\n\nexport const AiSourcesItem = ({\n  title,\n  url,\n  channelType,\n  channelColor,\n  channelName,\n}: {\n  title: string\n  url: string\n  channelType: any\n  channelColor: string\n  channelName: string\n}): ReactElement => {\n  const hasLink = !!url\n  const containerDivAttributes = hasLink\n    ? {\n        role: 'link',\n        tabIndex: 0,\n        'data-href': url ? url : undefined,\n        'aria-label': title ? title : undefined,\n        'aria-description': channelName ? channelName : undefined,\n        onClick: () => {\n          window.open(url, '_blank')\n        },\n      }\n    : {}\n  return (\n    <div role=\"listitem\">\n      <div\n        className={twMerge(\n          'tw-flex tw-flex-nowrap tw-items-center tw-box-border tw-gap-3',\n          'tw-border tw-border-solid tw-border-gray-30',\n          'tw-rounded-[26px] tw-min-h-[52px] tw-p-4',\n          'tw-cursor-pointer',\n          hasLink && 'hover:tw-bg-gray-10/60 active:tw-bg-gray-10',\n          'tw-duration-200',\n        )}\n        {...containerDivAttributes}\n      >\n        <ChannelIcon\n          channelType={channelType}\n          channelColor={channelColor}\n          size=\"medium\"\n          isWrapped={true}\n        />\n        <div className={twMerge('tw-flex-1')}>\n          {channelName && (\n            <div className=\"tw-text-sm tw-font-normal tw-text-gray-70 tw-mb-0.5\">{channelName}</div>\n          )}\n          <div className=\"tw-text-base tw-font-semibold\">{title}</div>\n        </div>\n        {hasLink && (\n          <ArrowRightUpIcon\n            className=\"tw-w-6 tw-h-auto tw-shrink-0 tw-text-gray-60 tw-fill-gray-60\"\n            aria-hidden=\"true\"\n          />\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport const AiRepliesSources = ({\n  editor,\n  references,\n}: {\n  editor: any\n  references: IReferences[]\n}): ReactElement => {\n  const [isOpen, setIsOpen] = useState<boolean>(false)\n  const titleId = useId()\n  const referencesCount = references.length\n  const badgeText = String(referencesCount) + ' ' + ngettext('källa', 'källor', referencesCount)\n  const autoRepliesHelpURL =\n    window.CURRENT_LANGUAGE == 'sv'\n      ? 'https://www.kundo.se/hjalp-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n      : 'https://www.kundo.se/en/help-support?path=%2Fguide%2Fsmart-suggestions-and-smart-replies'\n  return (\n    <Popover.Root\n      onOpenChange={(open) => setIsOpen(open)}\n      open={isOpen}\n    >\n      <Popover.Trigger asChild>\n        <div\n          role=\"button\"\n          tabIndex={0}\n          aria-label={badgeText}\n          className={twMerge(\n            'tw-text-sm tw-font-semibold tw-box-border',\n            'tw-px-2 tw-py-1 tw-rounded-sm',\n            'tw-text-[#238B68] tw-bg-[#ADEBD6]',\n            'data-[state=open]:tw-bg-[#D4F7EE]',\n            'tw-cursor-pointer',\n            'tw-duration-100',\n          )}\n        >\n          {badgeText}\n        </div>\n      </Popover.Trigger>\n      <Popover.Content\n        sideOffset={12}\n        className={twMerge(\n          'tw-flex tw-flex-col',\n          'tw-bg-white tw-text-gray-100 tw-rounded-xs tw-shadow-[0_0_6px_rgba(0,0,0,0.3)] tw-box-border',\n          'data-[state=open]:tw-animate-open',\n          'tw-z-[1000]',\n          'tw-max-w-[392px]',\n          'tw-max-h-[calc(var(--radix-popper-available-height)-16px)]',\n        )}\n      >\n        <div\n          className={twMerge(\n            'tw-flex tw-items-center tw-w-full tw-shrink-0 tw-grow-0 tw-box-border tw-gap-2',\n            'tw-p-4',\n          )}\n        >\n          <WinkleIcon\n            className={twMerge(\n              'tw-flex-initial tw-w-5 tw-h-5',\n              'tw-fill-[#238B68] tw-text-[#238B68]',\n            )}\n          />\n          <div\n            id={titleId}\n            className={twMerge('tw-flex-1 tw-text-base tw-font-semibold', 'tw-text-[#238B68]')}\n          >\n            {TRANSLATIONS.froalaAiAutoReply.popupTitle}\n          </div>\n          <div className=\"tw-flex tw-items-center tw-gap-1.5\">\n            {/* <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<QuestionCircleIcon />}\n              onClick={(e) => {\n                e.preventDefault()\n                window.open(autoRepliesHelpURL, '_blank')\n              }}\n              className=\"tw-text-gray-60 tw-fill-gray-60\"\n            /> */}\n            <IconButton\n              variant=\"tertiary\"\n              size=\"small\"\n              icon={<XIcon />}\n              onClick={(e) => {\n                e.preventDefault()\n                setIsOpen(false)\n              }}\n              label={gettext('Stäng')}\n              className=\"tw-text-gray-60 tw-fill-gray-60\"\n            />\n          </div>\n        </div>\n        <div\n          className={twMerge(\n            'tw-flex tw-flex-col tw-flex-auto',\n            'tw-overflow-y-auto tw-overflow-x-hidden',\n            'tw-px-4 tw-pb-4',\n          )}\n        >\n          {references.length > 0 && (\n            <div\n              className={twMerge('tw-flex tw-flex-col tw-gap-4')}\n              role=\"list\"\n              aria-labelledby={titleId}\n            >\n              {references.map((item, index) => (\n                <AiSourcesItem\n                  key={index}\n                  title={item.title}\n                  channelName={item.channel_name}\n                  url={item.public_url}\n                  channelType={item.channel_public_type}\n                  channelColor={`${item.channel_color_number}`}\n                />\n              ))}\n            </div>\n          )}\n        </div>\n      </Popover.Content>\n    </Popover.Root>\n  )\n}\n\nexport function renderSources(\n  element: HTMLElement,\n  references: IReferences[] = [],\n  options?: { editor?: any; initAiSources?: Function },\n) {\n  if (references.length > 0) {\n    const newElement = document.createElement('div')\n    newElement.id = 'ai-sources'\n    newElement.classList.add('tw-inline-flex', 'tw-h-[40px]', 'tw-items-center', 'tw-px-2')\n\n    if (element?.parentNode) {\n      const container = element.parentNode.insertBefore(newElement, element.nextSibling)\n      if (options?.initAiSources && options?.editor) {\n        options.initAiSources({\n          container: container,\n          editor: options.editor,\n          references: references,\n        })\n      }\n    }\n  }\n}\n\nexport function deleteSources(toolbarOrRoot?: HTMLElement) {\n  const element = toolbarOrRoot?.querySelector('#ai-sources')\n  if (element) {\n    element.remove()\n  }\n}\n\nexport const initAiSources = ({\n  container,\n  editor,\n  references,\n}: {\n  container: HTMLElement\n  editor: any\n  references: IReferences[]\n}) => {\n  const root = createRoot(container)\n  root?.render(\n    <AiRepliesSources\n      editor={editor}\n      references={references}\n    />,\n  )\n}\n","// Default Froala buttons and commands\nexport const BTN_BOLD = 'bold'\nexport const BTN_COLOR = 'color'\nexport const BTN_COLOR_BACKGROUND = 'backgroundColor'\nexport const BTN_COLOR_TEXT = 'textColor'\nexport const BTN_FORMAT_OL = 'formatOL'\nexport const BTN_FORMAT_UL = 'formatUL'\nexport const BTN_ITALIC = 'italic'\nexport const BTN_LINK = 'insertLink'\nexport const BTN_PARAGRAPH_FORMAT = 'paragraphFormat'\nexport const BTN_PARAGRAPH_STYLE = 'paragraphStyle'\nexport const BTN_QUOTE = 'quote'\nexport const BTN_SEPARATOR = '|'\nexport const BTN_TABLE = 'insertTable'\nexport const BTN_VIDEO = 'insertVideo'\nexport const BTN_UNDO = 'undo'\nexport const BTN_REDO = 'redo'\n\n// Custom Froala buttons and commands\nexport const BTN_CLEAR = 'kundoClearFormatting'\nexport const BTN_CONTACTS = 'kundoContactModal'\nexport const BTN_EMOJIS = 'emojis'\nexport const BTN_FILES = 'kundoFileUpload'\nexport const BTN_IMAGES = 'kundoImageUpload'\nexport const BTN_INTERNAL_LINKS = 'internalLink'\nexport const BTN_SNIPPETS = 'snippets'\nexport const BTN_SELF_SERVICE = 'selfService'\nexport const BTN_AI_AUTO_REPLIES = 'aiAutoReplies'\n\nconst _BUTTONS_ORDER = [\n  BTN_PARAGRAPH_FORMAT,\n  BTN_PARAGRAPH_STYLE,\n  BTN_SEPARATOR,\n  BTN_UNDO,\n  BTN_REDO,\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_QUOTE,\n  BTN_CLEAR,\n  BTN_COLOR,\n  BTN_COLOR_BACKGROUND,\n  BTN_COLOR_TEXT,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n  BTN_INTERNAL_LINKS,\n  BTN_EMOJIS,\n  BTN_TABLE,\n  BTN_SNIPPETS,\n  BTN_IMAGES,\n  BTN_VIDEO,\n  BTN_FILES,\n  BTN_SELF_SERVICE,\n  BTN_AI_AUTO_REPLIES,\n  BTN_SEPARATOR,\n  BTN_CONTACTS,\n]\n\nexport function sortedToolbarButtons(btns: string[]) {\n  const result: string[] = []\n  for (let i = 0, len = _BUTTONS_ORDER.length; i < len; i++) {\n    let btn = _BUTTONS_ORDER[i]\n    if (btns.includes(btn)) {\n      result.push(btn)\n    }\n    if (btn === BTN_SEPARATOR && result.length && result[result.length - 1] !== BTN_SEPARATOR) {\n      result.push(btn)\n    }\n  }\n  if (result.length && result[result.length - 1] === BTN_SEPARATOR) {\n    result.pop()\n  }\n  return result\n}\n\nexport enum ToolbarType {\n  NONE = 'toolbar-none',\n  CHAT = 'toolbar-chat',\n  EXTERNAL_CONVERSATIONS = 'toolbar-external-conversations',\n  FORUM = 'toolbar-forum',\n  FORUM_EDITOR = 'toolbar-forum-editor',\n  FORUM_TEXTS = 'toolbar-forum-texts',\n  KNOWLEDGE = 'toolbar-knowledge',\n  KNOWLEDGE_SETTINGS = 'toolbar-knowledge-settings',\n  MAIL = 'toolbar-mail',\n  MAIL_BASIC = 'toolbar-mail-basic',\n  MAIL_REPLY_SNIPPET = 'toolbar-mail-reply-snippet',\n  POLICY = 'toolbar-policy',\n  SIMPLE = 'toolbar-simple',\n  SIMPLE_CONTACT_MODAL = 'toolbar-simple-contact-modal',\n}\n\n// prettier-ignore\nconst _FROALA_BUTTONS_BASIC = [\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_QUOTE,\n  BTN_CLEAR,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n]\n// prettier-ignore\nconst _FROALA_BUTTONS_WITH_COLOR = [\n  BTN_BOLD,\n  BTN_ITALIC,\n  BTN_CLEAR,\n  BTN_COLOR,\n  BTN_COLOR_BACKGROUND,\n  BTN_COLOR_TEXT,\n  BTN_FORMAT_UL,\n  BTN_FORMAT_OL,\n  BTN_LINK,\n]\n\n// prettier-ignore\nconst FROALA_TOOLBAR = {\n  [ToolbarType.CHAT]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_PARAGRAPH_FORMAT,\n  ]),\n  [ToolbarType.EXTERNAL_CONVERSATIONS]: [\n    BTN_BOLD,\n    BTN_ITALIC,\n    BTN_CLEAR,\n    BTN_FORMAT_UL,\n    BTN_FORMAT_OL,\n    BTN_IMAGES,\n    BTN_FILES,\n  ],\n  [ToolbarType.FORUM]: [BTN_IMAGES, BTN_FILES],\n  [ToolbarType.FORUM_EDITOR]: _FROALA_BUTTONS_BASIC.concat([\n    BTN_INTERNAL_LINKS,\n    BTN_EMOJIS,\n    BTN_SNIPPETS,\n    BTN_IMAGES,\n    BTN_VIDEO,\n    BTN_FILES,\n    BTN_AI_AUTO_REPLIES,\n  ]),\n  [ToolbarType.FORUM_TEXTS]: _FROALA_BUTTONS_BASIC,\n  [ToolbarType.KNOWLEDGE]: _FROALA_BUTTONS_BASIC.concat([\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_IMAGES,\n    BTN_VIDEO,\n    BTN_FILES,\n    BTN_PARAGRAPH_FORMAT,\n    BTN_PARAGRAPH_STYLE,\n  ]),\n  [ToolbarType.KNOWLEDGE_SETTINGS]: _FROALA_BUTTONS_WITH_COLOR,\n  [ToolbarType.MAIL]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_UNDO,\n    BTN_REDO,\n    BTN_INTERNAL_LINKS,\n    BTN_EMOJIS,\n    BTN_TABLE,\n    BTN_SNIPPETS,\n    BTN_IMAGES,\n    BTN_FILES,\n    BTN_SELF_SERVICE,\n    BTN_AI_AUTO_REPLIES\n  ]),\n  [ToolbarType.MAIL_BASIC]: _FROALA_BUTTONS_WITH_COLOR.concat([BTN_EMOJIS, BTN_IMAGES]),\n  [ToolbarType.MAIL_REPLY_SNIPPET]: _FROALA_BUTTONS_WITH_COLOR.concat([\n    BTN_EMOJIS,\n    BTN_IMAGES,\n    BTN_FILES,\n  ]),\n  [ToolbarType.NONE]: [],\n  [ToolbarType.POLICY]: [BTN_PARAGRAPH_FORMAT].concat(_FROALA_BUTTONS_BASIC),\n  [ToolbarType.SIMPLE]: [BTN_BOLD, BTN_ITALIC, BTN_LINK],\n  [ToolbarType.SIMPLE_CONTACT_MODAL]: [BTN_BOLD, BTN_ITALIC, BTN_LINK, BTN_CONTACTS],\n}\n\nconst SMALL_TOOLBAR = {\n  [ToolbarType.EXTERNAL_CONVERSATIONS]: [BTN_BOLD, BTN_CLEAR],\n}\n\nconst TOOLBAR_BOTTOM = {\n  [ToolbarType.FORUM]: true,\n}\n\nconst TOOLBAR_INSERTED = {\n  [ToolbarType.FORUM]: true,\n}\n\nexport function getToolbar(\n  toolbarChoice: string,\n  options: {\n    includeInternalLinks: boolean\n    includeAI: boolean\n    includeAIDrafts: boolean\n  },\n) {\n  let buttons = sortedToolbarButtons(FROALA_TOOLBAR[toolbarChoice] || [])\n  let lessButtons = sortedToolbarButtons(SMALL_TOOLBAR[toolbarChoice] || [])\n  const toolbarBottom = TOOLBAR_BOTTOM[toolbarChoice]\n  const toolbarInserted = TOOLBAR_INSERTED[toolbarChoice]\n\n  if (!options.includeInternalLinks) {\n    buttons = buttons.filter((e) => e !== BTN_INTERNAL_LINKS)\n  }\n  if (!options.includeAI) {\n    buttons = buttons.filter((e) => e !== BTN_SELF_SERVICE)\n  }\n  if (!options.includeAIDrafts) {\n    buttons = buttons.filter((e) => e !== BTN_AI_AUTO_REPLIES && e !== BTN_UNDO && e !== BTN_REDO)\n  }\n  return {\n    bottom: !!toolbarBottom,\n    buttons: buttons,\n    hasColor: buttons.indexOf('color') > -1,\n    inserted: !!toolbarInserted,\n    lessButtons: lessButtons.length ? lessButtons : buttons,\n  }\n}\n\nexport function defineCustomIcons(FroalaEditor: any) {\n  const addIcon = (name, data) => FroalaEditor.DefineIcon(name, { ...data })\n  addIcon(BTN_CLEAR, { NAME: 'eraser' })\n  addIcon(BTN_CONTACTS, { NAME: 'list-alt' })\n  addIcon(BTN_EMOJIS, { FA5NAME: 'smile', NAME: 'smile-o' })\n  addIcon(BTN_FILES, { NAME: 'clip2' })\n  addIcon(BTN_IMAGES, { NAME: 'image' })\n  addIcon(BTN_SNIPPETS, { NAME: 'book' })\n  addIcon(BTN_INTERNAL_LINKS, { NAME: 'sitemap' })\n  addIcon(BTN_PARAGRAPH_STYLE, { NAME: 'paragraph' })\n  addIcon(BTN_COLOR_BACKGROUND, {\n    PATH: 'M18.999932 12.75s-1.75 2.533398-1.75 3.5.783671 1.75 1.75 1.75c.966327 0 1.75-.783398 1.75-1.75s-1.75-3.5-1.75-3.5zm-.256211-2.814765-5.679023-5.6790241C12.893799 4.0853125 12.669854 4 12.445908 4c-.223945 0-.44789.085312-.618515.2562109L9.5966897 6.4869141 7.2402051 4.1301562c-.1708984-.1708983-.4478908-.1708983-.6185157 0l-.6185156.6185156c-.1706251.1708985-.1706251.4478907 0 .6185157l2.3567579 2.3564843-2.5910939 2.5910932c-1.0251171 1.024844-1.0251171 2.686797 0 3.711915l3.2044139 3.204414C9.4856737 17.743515 10.15751 18 10.829073 18c.671835 0 1.343399-.256211 1.85582-.768906l6.058554-6.058555c.341797-.341797.341797-.895507.000274-1.237304zM15.56583 11.87582H6.8027051c.037188-.105.097617-.218203.203164-.323476l.3595702-.359571L9.5969627 8.96125l1.6023443 1.602344c.341524.341523.895508.341523 1.237031 0 .341523-.341524.341523-.895508 0-1.237032l-1.602344-1.6023432 1.611914-1.6119141 4.441719 4.4417183z',\n    template: 'svg',\n  })\n  addIcon(BTN_COLOR_TEXT, {\n    PATH: 'M9.5670901 12.458516c-1.0970313.07055-2.0926172.488359-2.6575391 1.976953-.064258.169804-.21875.27289-.3989453.27289-.3037891 0-1.2430469-.756601-1.5107422-.939257C5.0001369 16.020859 6.0372854 18 8.5001369 18c2.0742971 0 3.5000001-1.196836 3.5000001-3.286445 0-.08504-.01777-.16625-.02652-.249649zM17.520566 4c-.414531 0-.803086.1834766-1.099492.4498047-5.589335 4.9929683-6.170937 5.1102733-6.170937 6.5800003 0 .374609.08887.731718.238711 1.058203l1.745078 1.45414c.197148.04922.400312.08285.612227.08285 1.69832 0 2.682694-1.24332 5.773905-7.0125777.201797-.3923828.380078-.816211.380078-1.2575391C19.000136 4.564375 18.2892 4 17.520566 4Z',\n    template: 'svg',\n  })\n\n  const twinkleAIIcon =\n    '<svg xmlns=\"http://www.w3.org/2000/svg\" viewbox=\"2 2 40 20\" fill=\"none\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M9.43 3.359c-.333-.844-1.527-.844-1.86 0L6.538 5.975a1 1 0 0 1-.563.563L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.032a1 1 0 0 1 .563.563l1.032 2.616c.333.844 1.527.844 1.86 0l1.032-2.616a1 1 0 0 1 .563-.563l2.616-1.032c.844-.333.844-1.527 0-1.86l-2.616-1.032a1 1 0 0 1-.563-.563L9.43 3.359Zm8.5 10c-.333-.844-1.527-.845-1.86 0l-.608 1.54a1 1 0 0 1-.563.563l-1.54.608c-.844.333-.845 1.527 0 1.86l1.54.608a1 1 0 0 1 .563.563l.608 1.54c.333.844 1.527.844 1.86 0l.608-1.54a1 1 0 0 1 .563-.563l1.54-.608c.844-.333.844-1.527 0-1.86l-1.54-.608a1 1 0 0 1-.563-.563l-.608-1.54Z\" clip-rule=\"evenodd\"/><path fill=\"currentColor\" d=\"M30.384 6h2.128l4.4 11.424h-2.144L33.696 14.4h-4.56l-1.072 3.024H26L30.384 6Zm-.704 6.88h3.488l-1.712-4.912h-.048L29.68 12.88ZM38 6h2v11.424h-2V6Z\"/></svg>'\n\n  FroalaEditor.DefineIcon(BTN_SELF_SERVICE, {\n    NAME: '<span class=\"ai-fr-toolbar-btn-content\"><i>' + twinkleAIIcon + '</i></span>',\n    template: 'text',\n  })\n\n  FroalaEditor.DefineIcon(BTN_AI_AUTO_REPLIES, {\n    ICON: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" class=\"tw-fill-current tw-w-[18px]\"><path class=\"tw-fill-current tw-w-[18px]\" d=\"M8.5 2.727a.98.98 0 0 0-.93.632L6.537 5.975a1 1 0 0 1-.562.562L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.033c.257.101.46.305.562.562l1.033 2.616c.333.844 1.527.844 1.86 0l1.033-2.616a1 1 0 0 1 .562-.562l2.616-1.033c.844-.333.844-1.527 0-1.86l-2.616-1.033a1 1 0 0 1-.562-.562L9.43 3.359a.98.98 0 0 0-.93-.632m8.5 10a.98.98 0 0 0-.93.632l-.607 1.54a1 1 0 0 1-.565.564l-1.539.607c-.844.333-.844 1.527 0 1.86l1.54.607c.257.102.462.307.564.565l.607 1.539c.333.844 1.527.844 1.86 0l.607-1.54c.102-.257.307-.462.565-.564l1.539-.607c.844-.333.844-1.527 0-1.86l-1.54-.607a1 1 0 0 1-.564-.565l-.607-1.539a.98.98 0 0 0-.93-.632\"></path></svg>',\n    TEXT: TRANSLATIONS.froalaAiAutoReply.buttonText,\n    template: 'kundo-custom-icon',\n  })\n}\n","// Fine Uploader 5.15.0 - (c) 2013-present Widen Enterprises, Inc. MIT licensed. http://fineuploader.com\n(function(global) {\n    var qq = function(element) {\n        \"use strict\";\n        return {\n            hide: function() {\n                element.style.display = \"none\";\n                return this;\n            },\n            attach: function(type, fn) {\n                if (element.addEventListener) {\n                    element.addEventListener(type, fn, false);\n                } else if (element.attachEvent) {\n                    element.attachEvent(\"on\" + type, fn);\n                }\n                return function() {\n                    qq(element).detach(type, fn);\n                };\n            },\n            detach: function(type, fn) {\n                if (element.removeEventListener) {\n                    element.removeEventListener(type, fn, false);\n                } else if (element.attachEvent) {\n                    element.detachEvent(\"on\" + type, fn);\n                }\n                return this;\n            },\n            contains: function(descendant) {\n                if (!descendant) {\n                    return false;\n                }\n                if (element === descendant) {\n                    return true;\n                }\n                if (element.contains) {\n                    return element.contains(descendant);\n                } else {\n                    return !!(descendant.compareDocumentPosition(element) & 8);\n                }\n            },\n            insertBefore: function(elementB) {\n                elementB.parentNode.insertBefore(element, elementB);\n                return this;\n            },\n            remove: function() {\n                element.parentNode.removeChild(element);\n                return this;\n            },\n            css: function(styles) {\n                if (element.style == null) {\n                    throw new qq.Error(\"Can't apply style to node as it is not on the HTMLElement prototype chain!\");\n                }\n                if (styles.opacity != null) {\n                    if (typeof element.style.opacity !== \"string\" && typeof element.filters !== \"undefined\") {\n                        styles.filter = \"alpha(opacity=\" + Math.round(100 * styles.opacity) + \")\";\n                    }\n                }\n                qq.extend(element.style, styles);\n                return this;\n            },\n            hasClass: function(name, considerParent) {\n                var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n                return re.test(element.className) || !!(considerParent && re.test(element.parentNode.className));\n            },\n            addClass: function(name) {\n                if (!qq(element).hasClass(name)) {\n                    element.className += \" \" + name;\n                }\n                return this;\n            },\n            removeClass: function(name) {\n                var re = new RegExp(\"(^| )\" + name + \"( |$)\");\n                element.className = element.className.replace(re, \" \").replace(/^\\s+|\\s+$/g, \"\");\n                return this;\n            },\n            getByClass: function(className, first) {\n                var candidates, result = [];\n                if (first && element.querySelector) {\n                    return element.querySelector(\".\" + className);\n                } else if (element.querySelectorAll) {\n                    return element.querySelectorAll(\".\" + className);\n                }\n                candidates = element.getElementsByTagName(\"*\");\n                qq.each(candidates, function(idx, val) {\n                    if (qq(val).hasClass(className)) {\n                        result.push(val);\n                    }\n                });\n                return first ? result[0] : result;\n            },\n            getFirstByClass: function(className) {\n                return qq(element).getByClass(className, true);\n            },\n            children: function() {\n                var children = [], child = element.firstChild;\n                while (child) {\n                    if (child.nodeType === 1) {\n                        children.push(child);\n                    }\n                    child = child.nextSibling;\n                }\n                return children;\n            },\n            setText: function(text) {\n                element.innerText = text;\n                element.textContent = text;\n                return this;\n            },\n            clearText: function() {\n                return qq(element).setText(\"\");\n            },\n            hasAttribute: function(attrName) {\n                var attrVal;\n                if (element.hasAttribute) {\n                    if (!element.hasAttribute(attrName)) {\n                        return false;\n                    }\n                    return /^false$/i.exec(element.getAttribute(attrName)) == null;\n                } else {\n                    attrVal = element[attrName];\n                    if (attrVal === undefined) {\n                        return false;\n                    }\n                    return /^false$/i.exec(attrVal) == null;\n                }\n            }\n        };\n    };\n    (function() {\n        \"use strict\";\n        qq.canvasToBlob = function(canvas, mime, quality) {\n            return qq.dataUriToBlob(canvas.toDataURL(mime, quality));\n        };\n        qq.dataUriToBlob = function(dataUri) {\n            var arrayBuffer, byteString, createBlob = function(data, mime) {\n                var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();\n                if (blobBuilder) {\n                    blobBuilder.append(data);\n                    return blobBuilder.getBlob(mime);\n                } else {\n                    return new Blob([ data ], {\n                        type: mime\n                    });\n                }\n            }, intArray, mimeString;\n            if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n                byteString = atob(dataUri.split(\",\")[1]);\n            } else {\n                byteString = decodeURI(dataUri.split(\",\")[1]);\n            }\n            mimeString = dataUri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n            arrayBuffer = new ArrayBuffer(byteString.length);\n            intArray = new Uint8Array(arrayBuffer);\n            qq.each(byteString, function(idx, character) {\n                intArray[idx] = character.charCodeAt(0);\n            });\n            return createBlob(arrayBuffer, mimeString);\n        };\n        qq.log = function(message, level) {\n            if (window.console) {\n                if (!level || level === \"info\") {\n                    window.console.log(message);\n                } else {\n                    if (window.console[level]) {\n                        window.console[level](message);\n                    } else {\n                        window.console.log(\"<\" + level + \"> \" + message);\n                    }\n                }\n            }\n        };\n        qq.isObject = function(variable) {\n            return variable && !variable.nodeType && Object.prototype.toString.call(variable) === \"[object Object]\";\n        };\n        qq.isFunction = function(variable) {\n            return typeof variable === \"function\";\n        };\n        qq.isArray = function(value) {\n            return Object.prototype.toString.call(value) === \"[object Array]\" || value && window.ArrayBuffer && value.buffer && value.buffer.constructor === ArrayBuffer;\n        };\n        qq.isItemList = function(maybeItemList) {\n            return Object.prototype.toString.call(maybeItemList) === \"[object DataTransferItemList]\";\n        };\n        qq.isNodeList = function(maybeNodeList) {\n            return Object.prototype.toString.call(maybeNodeList) === \"[object NodeList]\" || maybeNodeList.item && maybeNodeList.namedItem;\n        };\n        qq.isString = function(maybeString) {\n            return Object.prototype.toString.call(maybeString) === \"[object String]\";\n        };\n        qq.trimStr = function(string) {\n            if (String.prototype.trim) {\n                return string.trim();\n            }\n            return string.replace(/^\\s+|\\s+$/g, \"\");\n        };\n        qq.format = function(str) {\n            var args = Array.prototype.slice.call(arguments, 1), newStr = str, nextIdxToReplace = newStr.indexOf(\"{}\");\n            qq.each(args, function(idx, val) {\n                var strBefore = newStr.substring(0, nextIdxToReplace), strAfter = newStr.substring(nextIdxToReplace + 2);\n                newStr = strBefore + val + strAfter;\n                nextIdxToReplace = newStr.indexOf(\"{}\", nextIdxToReplace + val.length);\n                if (nextIdxToReplace < 0) {\n                    return false;\n                }\n            });\n            return newStr;\n        };\n        qq.isFile = function(maybeFile) {\n            return window.File && Object.prototype.toString.call(maybeFile) === \"[object File]\";\n        };\n        qq.isFileList = function(maybeFileList) {\n            return window.FileList && Object.prototype.toString.call(maybeFileList) === \"[object FileList]\";\n        };\n        qq.isFileOrInput = function(maybeFileOrInput) {\n            return qq.isFile(maybeFileOrInput) || qq.isInput(maybeFileOrInput);\n        };\n        qq.isInput = function(maybeInput, notFile) {\n            var evaluateType = function(type) {\n                var normalizedType = type.toLowerCase();\n                if (notFile) {\n                    return normalizedType !== \"file\";\n                }\n                return normalizedType === \"file\";\n            };\n            if (window.HTMLInputElement) {\n                if (Object.prototype.toString.call(maybeInput) === \"[object HTMLInputElement]\") {\n                    if (maybeInput.type && evaluateType(maybeInput.type)) {\n                        return true;\n                    }\n                }\n            }\n            if (maybeInput.tagName) {\n                if (maybeInput.tagName.toLowerCase() === \"input\") {\n                    if (maybeInput.type && evaluateType(maybeInput.type)) {\n                        return true;\n                    }\n                }\n            }\n            return false;\n        };\n        qq.isBlob = function(maybeBlob) {\n            if (window.Blob && Object.prototype.toString.call(maybeBlob) === \"[object Blob]\") {\n                return true;\n            }\n        };\n        qq.isXhrUploadSupported = function() {\n            var input = document.createElement(\"input\");\n            input.type = \"file\";\n            return input.multiple !== undefined && typeof File !== \"undefined\" && typeof FormData !== \"undefined\" && typeof qq.createXhrInstance().upload !== \"undefined\";\n        };\n        qq.createXhrInstance = function() {\n            if (window.XMLHttpRequest) {\n                return new XMLHttpRequest();\n            }\n            try {\n                return new ActiveXObject(\"MSXML2.XMLHTTP.3.0\");\n            } catch (error) {\n                qq.log(\"Neither XHR or ActiveX are supported!\", \"error\");\n                return null;\n            }\n        };\n        qq.isFolderDropSupported = function(dataTransfer) {\n            return dataTransfer.items && dataTransfer.items.length > 0 && dataTransfer.items[0].webkitGetAsEntry;\n        };\n        qq.isFileChunkingSupported = function() {\n            return !qq.androidStock() && qq.isXhrUploadSupported() && (File.prototype.slice !== undefined || File.prototype.webkitSlice !== undefined || File.prototype.mozSlice !== undefined);\n        };\n        qq.sliceBlob = function(fileOrBlob, start, end) {\n            var slicer = fileOrBlob.slice || fileOrBlob.mozSlice || fileOrBlob.webkitSlice;\n            return slicer.call(fileOrBlob, start, end);\n        };\n        qq.arrayBufferToHex = function(buffer) {\n            var bytesAsHex = \"\", bytes = new Uint8Array(buffer);\n            qq.each(bytes, function(idx, byt) {\n                var byteAsHexStr = byt.toString(16);\n                if (byteAsHexStr.length < 2) {\n                    byteAsHexStr = \"0\" + byteAsHexStr;\n                }\n                bytesAsHex += byteAsHexStr;\n            });\n            return bytesAsHex;\n        };\n        qq.readBlobToHex = function(blob, startOffset, length) {\n            var initialBlob = qq.sliceBlob(blob, startOffset, startOffset + length), fileReader = new FileReader(), promise = new qq.Promise();\n            fileReader.onload = function() {\n                promise.success(qq.arrayBufferToHex(fileReader.result));\n            };\n            fileReader.onerror = promise.failure;\n            fileReader.readAsArrayBuffer(initialBlob);\n            return promise;\n        };\n        qq.extend = function(first, second, extendNested) {\n            qq.each(second, function(prop, val) {\n                if (extendNested && qq.isObject(val)) {\n                    if (first[prop] === undefined) {\n                        first[prop] = {};\n                    }\n                    qq.extend(first[prop], val, true);\n                } else {\n                    first[prop] = val;\n                }\n            });\n            return first;\n        };\n        qq.override = function(target, sourceFn) {\n            var super_ = {}, source = sourceFn(super_);\n            qq.each(source, function(srcPropName, srcPropVal) {\n                if (target[srcPropName] !== undefined) {\n                    super_[srcPropName] = target[srcPropName];\n                }\n                target[srcPropName] = srcPropVal;\n            });\n            return target;\n        };\n        qq.indexOf = function(arr, elt, from) {\n            if (arr.indexOf) {\n                return arr.indexOf(elt, from);\n            }\n            from = from || 0;\n            var len = arr.length;\n            if (from < 0) {\n                from += len;\n            }\n            for (;from < len; from += 1) {\n                if (arr.hasOwnProperty(from) && arr[from] === elt) {\n                    return from;\n                }\n            }\n            return -1;\n        };\n        qq.getUniqueId = function() {\n            return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function(c) {\n                var r = Math.random() * 16 | 0, v = c == \"x\" ? r : r & 3 | 8;\n                return v.toString(16);\n            });\n        };\n        qq.ie = function() {\n            return navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.userAgent.indexOf(\"Trident\") !== -1;\n        };\n        qq.ie7 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 7\") !== -1;\n        };\n        qq.ie8 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 8\") !== -1;\n        };\n        qq.ie10 = function() {\n            return navigator.userAgent.indexOf(\"MSIE 10\") !== -1;\n        };\n        qq.ie11 = function() {\n            return qq.ie() && navigator.userAgent.indexOf(\"rv:11\") !== -1;\n        };\n        qq.edge = function() {\n            return navigator.userAgent.indexOf(\"Edge\") >= 0;\n        };\n        qq.safari = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Apple\") !== -1;\n        };\n        qq.chrome = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Google\") !== -1;\n        };\n        qq.opera = function() {\n            return navigator.vendor !== undefined && navigator.vendor.indexOf(\"Opera\") !== -1;\n        };\n        qq.firefox = function() {\n            return !qq.edge() && !qq.ie11() && navigator.userAgent.indexOf(\"Mozilla\") !== -1 && navigator.vendor !== undefined && navigator.vendor === \"\";\n        };\n        qq.windows = function() {\n            return navigator.platform === \"Win32\";\n        };\n        qq.android = function() {\n            return navigator.userAgent.toLowerCase().indexOf(\"android\") !== -1;\n        };\n        qq.androidStock = function() {\n            return qq.android() && navigator.userAgent.toLowerCase().indexOf(\"chrome\") < 0;\n        };\n        qq.ios6 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 6_\") !== -1;\n        };\n        qq.ios7 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 7_\") !== -1;\n        };\n        qq.ios8 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 8_\") !== -1;\n        };\n        qq.ios800 = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\" OS 8_0 \") !== -1;\n        };\n        qq.ios = function() {\n            return navigator.userAgent.indexOf(\"iPad\") !== -1 || navigator.userAgent.indexOf(\"iPod\") !== -1 || navigator.userAgent.indexOf(\"iPhone\") !== -1;\n        };\n        qq.iosChrome = function() {\n            return qq.ios() && navigator.userAgent.indexOf(\"CriOS\") !== -1;\n        };\n        qq.iosSafari = function() {\n            return qq.ios() && !qq.iosChrome() && navigator.userAgent.indexOf(\"Safari\") !== -1;\n        };\n        qq.iosSafariWebView = function() {\n            return qq.ios() && !qq.iosChrome() && !qq.iosSafari();\n        };\n        qq.preventDefault = function(e) {\n            if (e.preventDefault) {\n                e.preventDefault();\n            } else {\n                e.returnValue = false;\n            }\n        };\n        qq.toElement = function() {\n            var div = document.createElement(\"div\");\n            return function(html) {\n                div.innerHTML = html;\n                var element = div.firstChild;\n                div.removeChild(element);\n                return element;\n            };\n        }();\n        qq.each = function(iterableItem, callback) {\n            var keyOrIndex, retVal;\n            if (iterableItem) {\n                if (window.Storage && iterableItem.constructor === window.Storage) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(iterableItem.key(keyOrIndex), iterableItem.getItem(iterableItem.key(keyOrIndex)));\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else if (qq.isArray(iterableItem) || qq.isItemList(iterableItem) || qq.isNodeList(iterableItem)) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else if (qq.isString(iterableItem)) {\n                    for (keyOrIndex = 0; keyOrIndex < iterableItem.length; keyOrIndex++) {\n                        retVal = callback(keyOrIndex, iterableItem.charAt(keyOrIndex));\n                        if (retVal === false) {\n                            break;\n                        }\n                    }\n                } else {\n                    for (keyOrIndex in iterableItem) {\n                        if (Object.prototype.hasOwnProperty.call(iterableItem, keyOrIndex)) {\n                            retVal = callback(keyOrIndex, iterableItem[keyOrIndex]);\n                            if (retVal === false) {\n                                break;\n                            }\n                        }\n                    }\n                }\n            }\n        };\n        qq.bind = function(oldFunc, context) {\n            if (qq.isFunction(oldFunc)) {\n                var args = Array.prototype.slice.call(arguments, 2);\n                return function() {\n                    var newArgs = qq.extend([], args);\n                    if (arguments.length) {\n                        newArgs = newArgs.concat(Array.prototype.slice.call(arguments));\n                    }\n                    return oldFunc.apply(context, newArgs);\n                };\n            }\n            throw new Error(\"first parameter must be a function!\");\n        };\n        qq.obj2url = function(obj, temp, prefixDone) {\n            var uristrings = [], prefix = \"&\", add = function(nextObj, i) {\n                var nextTemp = temp ? /\\[\\]$/.test(temp) ? temp : temp + \"[\" + i + \"]\" : i;\n                if (nextTemp !== \"undefined\" && i !== \"undefined\") {\n                    uristrings.push(typeof nextObj === \"object\" ? qq.obj2url(nextObj, nextTemp, true) : Object.prototype.toString.call(nextObj) === \"[object Function]\" ? encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj()) : encodeURIComponent(nextTemp) + \"=\" + encodeURIComponent(nextObj));\n                }\n            };\n            if (!prefixDone && temp) {\n                prefix = /\\?/.test(temp) ? /\\?$/.test(temp) ? \"\" : \"&\" : \"?\";\n                uristrings.push(temp);\n                uristrings.push(qq.obj2url(obj));\n            } else if (Object.prototype.toString.call(obj) === \"[object Array]\" && typeof obj !== \"undefined\") {\n                qq.each(obj, function(idx, val) {\n                    add(val, idx);\n                });\n            } else if (typeof obj !== \"undefined\" && obj !== null && typeof obj === \"object\") {\n                qq.each(obj, function(prop, val) {\n                    add(val, prop);\n                });\n            } else {\n                uristrings.push(encodeURIComponent(temp) + \"=\" + encodeURIComponent(obj));\n            }\n            if (temp) {\n                return uristrings.join(prefix);\n            } else {\n                return uristrings.join(prefix).replace(/^&/, \"\").replace(/%20/g, \"+\");\n            }\n        };\n        qq.obj2FormData = function(obj, formData, arrayKeyName) {\n            if (!formData) {\n                formData = new FormData();\n            }\n            qq.each(obj, function(key, val) {\n                key = arrayKeyName ? arrayKeyName + \"[\" + key + \"]\" : key;\n                if (qq.isObject(val)) {\n                    qq.obj2FormData(val, formData, key);\n                } else if (qq.isFunction(val)) {\n                    formData.append(key, val());\n                } else {\n                    formData.append(key, val);\n                }\n            });\n            return formData;\n        };\n        qq.obj2Inputs = function(obj, form) {\n            var input;\n            if (!form) {\n                form = document.createElement(\"form\");\n            }\n            qq.obj2FormData(obj, {\n                append: function(key, val) {\n                    input = document.createElement(\"input\");\n                    input.setAttribute(\"name\", key);\n                    input.setAttribute(\"value\", val);\n                    form.appendChild(input);\n                }\n            });\n            return form;\n        };\n        qq.parseJson = function(json) {\n            if (window.JSON && qq.isFunction(JSON.parse)) {\n                return JSON.parse(json);\n            } else {\n                return eval(\"(\" + json + \")\");\n            }\n        };\n        qq.getExtension = function(filename) {\n            var extIdx = filename.lastIndexOf(\".\") + 1;\n            if (extIdx > 0) {\n                return filename.substr(extIdx, filename.length - extIdx);\n            }\n        };\n        qq.getFilename = function(blobOrFileInput) {\n            if (qq.isInput(blobOrFileInput)) {\n                return blobOrFileInput.value.replace(/.*(\\/|\\\\)/, \"\");\n            } else if (qq.isFile(blobOrFileInput)) {\n                if (blobOrFileInput.fileName !== null && blobOrFileInput.fileName !== undefined) {\n                    return blobOrFileInput.fileName;\n                }\n            }\n            return blobOrFileInput.name;\n        };\n        qq.DisposeSupport = function() {\n            var disposers = [];\n            return {\n                dispose: function() {\n                    var disposer;\n                    do {\n                        disposer = disposers.shift();\n                        if (disposer) {\n                            disposer();\n                        }\n                    } while (disposer);\n                },\n                attach: function() {\n                    var args = arguments;\n                    this.addDisposer(qq(args[0]).attach.apply(this, Array.prototype.slice.call(arguments, 1)));\n                },\n                addDisposer: function(disposeFunction) {\n                    disposers.push(disposeFunction);\n                }\n            };\n        };\n    })();\n    (function() {\n        \"use strict\";\n        if (typeof define === \"function\" && define.amd) {\n            define(function() {\n                return qq;\n            });\n        } else if (typeof module !== \"undefined\" && module.exports) {\n            module.exports = qq;\n        } else {\n            global.qq = qq;\n        }\n    })();\n    (function() {\n        \"use strict\";\n        qq.Error = function(message) {\n            this.message = \"[Fine Uploader \" + qq.version + \"] \" + message;\n        };\n        qq.Error.prototype = new Error();\n    })();\n    qq.version = \"5.15.0\";\n    qq.supportedFeatures = function() {\n        \"use strict\";\n        var supportsUploading, supportsUploadingBlobs, supportsFileDrop, supportsAjaxFileUploading, supportsFolderDrop, supportsChunking, supportsResume, supportsUploadViaPaste, supportsUploadCors, supportsDeleteFileXdr, supportsDeleteFileCorsXhr, supportsDeleteFileCors, supportsFolderSelection, supportsImagePreviews, supportsUploadProgress;\n        function testSupportsFileInputElement() {\n            var supported = true, tempInput;\n            try {\n                tempInput = document.createElement(\"input\");\n                tempInput.type = \"file\";\n                qq(tempInput).hide();\n                if (tempInput.disabled) {\n                    supported = false;\n                }\n            } catch (ex) {\n                supported = false;\n            }\n            return supported;\n        }\n        function isChrome21OrHigher() {\n            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\\/[2][1-9]|Chrome\\/[3-9][0-9]/) !== undefined;\n        }\n        function isChrome14OrHigher() {\n            return (qq.chrome() || qq.opera()) && navigator.userAgent.match(/Chrome\\/[1][4-9]|Chrome\\/[2-9][0-9]/) !== undefined;\n        }\n        function isCrossOriginXhrSupported() {\n            if (window.XMLHttpRequest) {\n                var xhr = qq.createXhrInstance();\n                return xhr.withCredentials !== undefined;\n            }\n            return false;\n        }\n        function isXdrSupported() {\n            return window.XDomainRequest !== undefined;\n        }\n        function isCrossOriginAjaxSupported() {\n            if (isCrossOriginXhrSupported()) {\n                return true;\n            }\n            return isXdrSupported();\n        }\n        function isFolderSelectionSupported() {\n            return document.createElement(\"input\").webkitdirectory !== undefined;\n        }\n        function isLocalStorageSupported() {\n            try {\n                return !!window.localStorage && qq.isFunction(window.localStorage.setItem);\n            } catch (error) {\n                return false;\n            }\n        }\n        function isDragAndDropSupported() {\n            var span = document.createElement(\"span\");\n            return (\"draggable\" in span || \"ondragstart\" in span && \"ondrop\" in span) && !qq.android() && !qq.ios();\n        }\n        supportsUploading = testSupportsFileInputElement();\n        supportsAjaxFileUploading = supportsUploading && qq.isXhrUploadSupported();\n        supportsUploadingBlobs = supportsAjaxFileUploading && !qq.androidStock();\n        supportsFileDrop = supportsAjaxFileUploading && isDragAndDropSupported();\n        supportsFolderDrop = supportsFileDrop && isChrome21OrHigher();\n        supportsChunking = supportsAjaxFileUploading && qq.isFileChunkingSupported();\n        supportsResume = supportsAjaxFileUploading && supportsChunking && isLocalStorageSupported();\n        supportsUploadViaPaste = supportsAjaxFileUploading && isChrome14OrHigher();\n        supportsUploadCors = supportsUploading && (window.postMessage !== undefined || supportsAjaxFileUploading);\n        supportsDeleteFileCorsXhr = isCrossOriginXhrSupported();\n        supportsDeleteFileXdr = isXdrSupported();\n        supportsDeleteFileCors = isCrossOriginAjaxSupported();\n        supportsFolderSelection = isFolderSelectionSupported();\n        supportsImagePreviews = supportsAjaxFileUploading && window.FileReader !== undefined;\n        supportsUploadProgress = function() {\n            if (supportsAjaxFileUploading) {\n                return !qq.androidStock() && !qq.iosChrome();\n            }\n            return false;\n        }();\n        return {\n            ajaxUploading: supportsAjaxFileUploading,\n            blobUploading: supportsUploadingBlobs,\n            canDetermineSize: supportsAjaxFileUploading,\n            chunking: supportsChunking,\n            deleteFileCors: supportsDeleteFileCors,\n            deleteFileCorsXdr: supportsDeleteFileXdr,\n            deleteFileCorsXhr: supportsDeleteFileCorsXhr,\n            dialogElement: !!window.HTMLDialogElement,\n            fileDrop: supportsFileDrop,\n            folderDrop: supportsFolderDrop,\n            folderSelection: supportsFolderSelection,\n            imagePreviews: supportsImagePreviews,\n            imageValidation: supportsImagePreviews,\n            itemSizeValidation: supportsAjaxFileUploading,\n            pause: supportsChunking,\n            progressBar: supportsUploadProgress,\n            resume: supportsResume,\n            scaling: supportsImagePreviews && supportsUploadingBlobs,\n            tiffPreviews: qq.safari(),\n            unlimitedScaledImageSize: !qq.ios(),\n            uploading: supportsUploading,\n            uploadCors: supportsUploadCors,\n            uploadCustomHeaders: supportsAjaxFileUploading,\n            uploadNonMultipart: supportsAjaxFileUploading,\n            uploadViaPaste: supportsUploadViaPaste\n        };\n    }();\n    qq.isGenericPromise = function(maybePromise) {\n        \"use strict\";\n        return !!(maybePromise && maybePromise.then && qq.isFunction(maybePromise.then));\n    };\n    qq.Promise = function() {\n        \"use strict\";\n        var successArgs, failureArgs, successCallbacks = [], failureCallbacks = [], doneCallbacks = [], state = 0;\n        qq.extend(this, {\n            then: function(onSuccess, onFailure) {\n                if (state === 0) {\n                    if (onSuccess) {\n                        successCallbacks.push(onSuccess);\n                    }\n                    if (onFailure) {\n                        failureCallbacks.push(onFailure);\n                    }\n                } else if (state === -1) {\n                    onFailure && onFailure.apply(null, failureArgs);\n                } else if (onSuccess) {\n                    onSuccess.apply(null, successArgs);\n                }\n                return this;\n            },\n            done: function(callback) {\n                if (state === 0) {\n                    doneCallbacks.push(callback);\n                } else {\n                    callback.apply(null, failureArgs === undefined ? successArgs : failureArgs);\n                }\n                return this;\n            },\n            success: function() {\n                state = 1;\n                successArgs = arguments;\n                if (successCallbacks.length) {\n                    qq.each(successCallbacks, function(idx, callback) {\n                        callback.apply(null, successArgs);\n                    });\n                }\n                if (doneCallbacks.length) {\n                    qq.each(doneCallbacks, function(idx, callback) {\n                        callback.apply(null, successArgs);\n                    });\n                }\n                return this;\n            },\n            failure: function() {\n                state = -1;\n                failureArgs = arguments;\n                if (failureCallbacks.length) {\n                    qq.each(failureCallbacks, function(idx, callback) {\n                        callback.apply(null, failureArgs);\n                    });\n                }\n                if (doneCallbacks.length) {\n                    qq.each(doneCallbacks, function(idx, callback) {\n                        callback.apply(null, failureArgs);\n                    });\n                }\n                return this;\n            }\n        });\n    };\n    qq.BlobProxy = function(referenceBlob, onCreate) {\n        \"use strict\";\n        qq.extend(this, {\n            referenceBlob: referenceBlob,\n            create: function() {\n                return onCreate(referenceBlob);\n            }\n        });\n    };\n    qq.UploadButton = function(o) {\n        \"use strict\";\n        var self = this, disposeSupport = new qq.DisposeSupport(), options = {\n            acceptFiles: null,\n            element: null,\n            focusClass: \"qq-upload-button-focus\",\n            folders: false,\n            hoverClass: \"qq-upload-button-hover\",\n            ios8BrowserCrashWorkaround: false,\n            multiple: false,\n            name: \"qqfile\",\n            onChange: function(input) {},\n            title: null\n        }, input, buttonId;\n        qq.extend(options, o);\n        buttonId = qq.getUniqueId();\n        function createInput() {\n            var input = document.createElement(\"input\");\n            input.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME, buttonId);\n            input.setAttribute(\"title\", options.title);\n            self.setMultiple(options.multiple, input);\n            if (options.folders && qq.supportedFeatures.folderSelection) {\n                input.setAttribute(\"webkitdirectory\", \"\");\n            }\n            if (options.acceptFiles) {\n                input.setAttribute(\"accept\", options.acceptFiles);\n            }\n            input.setAttribute(\"type\", \"file\");\n            input.setAttribute(\"name\", options.name);\n            qq(input).css({\n                position: \"absolute\",\n                right: 0,\n                top: 0,\n                fontFamily: \"Arial\",\n                fontSize: qq.ie() && !qq.ie8() ? \"3500px\" : \"118px\",\n                margin: 0,\n                padding: 0,\n                cursor: \"pointer\",\n                opacity: 0\n            });\n            !qq.ie7() && qq(input).css({\n                height: \"100%\"\n            });\n            options.element.appendChild(input);\n            disposeSupport.attach(input, \"change\", function() {\n                options.onChange(input);\n            });\n            disposeSupport.attach(input, \"mouseover\", function() {\n                qq(options.element).addClass(options.hoverClass);\n            });\n            disposeSupport.attach(input, \"mouseout\", function() {\n                qq(options.element).removeClass(options.hoverClass);\n            });\n            disposeSupport.attach(input, \"focus\", function() {\n                qq(options.element).addClass(options.focusClass);\n            });\n            disposeSupport.attach(input, \"blur\", function() {\n                qq(options.element).removeClass(options.focusClass);\n            });\n            return input;\n        }\n        qq(options.element).css({\n            position: \"relative\",\n            overflow: \"hidden\",\n            direction: \"ltr\"\n        });\n        qq.extend(this, {\n            getInput: function() {\n                return input;\n            },\n            getButtonId: function() {\n                return buttonId;\n            },\n            setMultiple: function(isMultiple, optInput) {\n                var input = optInput || this.getInput();\n                if (options.ios8BrowserCrashWorkaround && qq.ios8() && (qq.iosChrome() || qq.iosSafariWebView())) {\n                    input.setAttribute(\"multiple\", \"\");\n                } else {\n                    if (isMultiple) {\n                        input.setAttribute(\"multiple\", \"\");\n                    } else {\n                        input.removeAttribute(\"multiple\");\n                    }\n                }\n            },\n            setAcceptFiles: function(acceptFiles) {\n                if (acceptFiles !== options.acceptFiles) {\n                    input.setAttribute(\"accept\", acceptFiles);\n                }\n            },\n            reset: function() {\n                if (input.parentNode) {\n                    qq(input).remove();\n                }\n                qq(options.element).removeClass(options.focusClass);\n                input = null;\n                input = createInput();\n            }\n        });\n        input = createInput();\n    };\n    qq.UploadButton.BUTTON_ID_ATTR_NAME = \"qq-button-id\";\n    qq.UploadData = function(uploaderProxy) {\n        \"use strict\";\n        var data = [], byUuid = {}, byStatus = {}, byProxyGroupId = {}, byBatchId = {};\n        function getDataByIds(idOrIds) {\n            if (qq.isArray(idOrIds)) {\n                var entries = [];\n                qq.each(idOrIds, function(idx, id) {\n                    entries.push(data[id]);\n                });\n                return entries;\n            }\n            return data[idOrIds];\n        }\n        function getDataByUuids(uuids) {\n            if (qq.isArray(uuids)) {\n                var entries = [];\n                qq.each(uuids, function(idx, uuid) {\n                    entries.push(data[byUuid[uuid]]);\n                });\n                return entries;\n            }\n            return data[byUuid[uuids]];\n        }\n        function getDataByStatus(status) {\n            var statusResults = [], statuses = [].concat(status);\n            qq.each(statuses, function(index, statusEnum) {\n                var statusResultIndexes = byStatus[statusEnum];\n                if (statusResultIndexes !== undefined) {\n                    qq.each(statusResultIndexes, function(i, dataIndex) {\n                        statusResults.push(data[dataIndex]);\n                    });\n                }\n            });\n            return statusResults;\n        }\n        qq.extend(this, {\n            addFile: function(spec) {\n                var status = spec.status || qq.status.SUBMITTING, id = data.push({\n                    name: spec.name,\n                    originalName: spec.name,\n                    uuid: spec.uuid,\n                    size: spec.size == null ? -1 : spec.size,\n                    status: status\n                }) - 1;\n                if (spec.batchId) {\n                    data[id].batchId = spec.batchId;\n                    if (byBatchId[spec.batchId] === undefined) {\n                        byBatchId[spec.batchId] = [];\n                    }\n                    byBatchId[spec.batchId].push(id);\n                }\n                if (spec.proxyGroupId) {\n                    data[id].proxyGroupId = spec.proxyGroupId;\n                    if (byProxyGroupId[spec.proxyGroupId] === undefined) {\n                        byProxyGroupId[spec.proxyGroupId] = [];\n                    }\n                    byProxyGroupId[spec.proxyGroupId].push(id);\n                }\n                data[id].id = id;\n                byUuid[spec.uuid] = id;\n                if (byStatus[status] === undefined) {\n                    byStatus[status] = [];\n                }\n                byStatus[status].push(id);\n                spec.onBeforeStatusChange && spec.onBeforeStatusChange(id);\n                uploaderProxy.onStatusChange(id, null, status);\n                return id;\n            },\n            retrieve: function(optionalFilter) {\n                if (qq.isObject(optionalFilter) && data.length) {\n                    if (optionalFilter.id !== undefined) {\n                        return getDataByIds(optionalFilter.id);\n                    } else if (optionalFilter.uuid !== undefined) {\n                        return getDataByUuids(optionalFilter.uuid);\n                    } else if (optionalFilter.status) {\n                        return getDataByStatus(optionalFilter.status);\n                    }\n                } else {\n                    return qq.extend([], data, true);\n                }\n            },\n            reset: function() {\n                data = [];\n                byUuid = {};\n                byStatus = {};\n                byBatchId = {};\n            },\n            setStatus: function(id, newStatus) {\n                var oldStatus = data[id].status, byStatusOldStatusIndex = qq.indexOf(byStatus[oldStatus], id);\n                byStatus[oldStatus].splice(byStatusOldStatusIndex, 1);\n                data[id].status = newStatus;\n                if (byStatus[newStatus] === undefined) {\n                    byStatus[newStatus] = [];\n                }\n                byStatus[newStatus].push(id);\n                uploaderProxy.onStatusChange(id, oldStatus, newStatus);\n            },\n            uuidChanged: function(id, newUuid) {\n                var oldUuid = data[id].uuid;\n                data[id].uuid = newUuid;\n                byUuid[newUuid] = id;\n                delete byUuid[oldUuid];\n            },\n            updateName: function(id, newName) {\n                data[id].name = newName;\n            },\n            updateSize: function(id, newSize) {\n                data[id].size = newSize;\n            },\n            setParentId: function(targetId, parentId) {\n                data[targetId].parentId = parentId;\n            },\n            getIdsInProxyGroup: function(id) {\n                var proxyGroupId = data[id].proxyGroupId;\n                if (proxyGroupId) {\n                    return byProxyGroupId[proxyGroupId];\n                }\n                return [];\n            },\n            getIdsInBatch: function(id) {\n                var batchId = data[id].batchId;\n                return byBatchId[batchId];\n            }\n        });\n    };\n    qq.status = {\n        SUBMITTING: \"submitting\",\n        SUBMITTED: \"submitted\",\n        REJECTED: \"rejected\",\n        QUEUED: \"queued\",\n        CANCELED: \"canceled\",\n        PAUSED: \"paused\",\n        UPLOADING: \"uploading\",\n        UPLOAD_RETRYING: \"retrying upload\",\n        UPLOAD_SUCCESSFUL: \"upload successful\",\n        UPLOAD_FAILED: \"upload failed\",\n        DELETE_FAILED: \"delete failed\",\n        DELETING: \"deleting\",\n        DELETED: \"deleted\"\n    };\n    (function() {\n        \"use strict\";\n        qq.basePublicApi = {\n            addBlobs: function(blobDataOrArray, params, endpoint) {\n                this.addFiles(blobDataOrArray, params, endpoint);\n            },\n            addInitialFiles: function(cannedFileList) {\n                var self = this;\n                qq.each(cannedFileList, function(index, cannedFile) {\n                    self._addCannedFile(cannedFile);\n                });\n            },\n            addFiles: function(data, params, endpoint) {\n                this._maybeHandleIos8SafariWorkaround();\n                var batchId = this._storedIds.length === 0 ? qq.getUniqueId() : this._currentBatchId, processBlob = qq.bind(function(blob) {\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName\n                    }, batchId, verifiedFiles);\n                }, this), processBlobData = qq.bind(function(blobData) {\n                    this._handleNewFile(blobData, batchId, verifiedFiles);\n                }, this), processCanvas = qq.bind(function(canvas) {\n                    var blob = qq.canvasToBlob(canvas);\n                    this._handleNewFile({\n                        blob: blob,\n                        name: this._options.blobs.defaultName + \".png\"\n                    }, batchId, verifiedFiles);\n                }, this), processCanvasData = qq.bind(function(canvasData) {\n                    var normalizedQuality = canvasData.quality && canvasData.quality / 100, blob = qq.canvasToBlob(canvasData.canvas, canvasData.type, normalizedQuality);\n                    this._handleNewFile({\n                        blob: blob,\n                        name: canvasData.name\n                    }, batchId, verifiedFiles);\n                }, this), processFileOrInput = qq.bind(function(fileOrInput) {\n                    if (qq.isInput(fileOrInput) && qq.supportedFeatures.ajaxUploading) {\n                        var files = Array.prototype.slice.call(fileOrInput.files), self = this;\n                        qq.each(files, function(idx, file) {\n                            self._handleNewFile(file, batchId, verifiedFiles);\n                        });\n                    } else {\n                        this._handleNewFile(fileOrInput, batchId, verifiedFiles);\n                    }\n                }, this), normalizeData = function() {\n                    if (qq.isFileList(data)) {\n                        data = Array.prototype.slice.call(data);\n                    }\n                    data = [].concat(data);\n                }, self = this, verifiedFiles = [];\n                this._currentBatchId = batchId;\n                if (data) {\n                    normalizeData();\n                    qq.each(data, function(idx, fileContainer) {\n                        if (qq.isFileOrInput(fileContainer)) {\n                            processFileOrInput(fileContainer);\n                        } else if (qq.isBlob(fileContainer)) {\n                            processBlob(fileContainer);\n                        } else if (qq.isObject(fileContainer)) {\n                            if (fileContainer.blob && fileContainer.name) {\n                                processBlobData(fileContainer);\n                            } else if (fileContainer.canvas && fileContainer.name) {\n                                processCanvasData(fileContainer);\n                            }\n                        } else if (fileContainer.tagName && fileContainer.tagName.toLowerCase() === \"canvas\") {\n                            processCanvas(fileContainer);\n                        } else {\n                            self.log(fileContainer + \" is not a valid file container!  Ignoring!\", \"warn\");\n                        }\n                    });\n                    this.log(\"Received \" + verifiedFiles.length + \" files.\");\n                    this._prepareItemsForUpload(verifiedFiles, params, endpoint);\n                }\n            },\n            cancel: function(id) {\n                this._handler.cancel(id);\n            },\n            cancelAll: function() {\n                var storedIdsCopy = [], self = this;\n                qq.extend(storedIdsCopy, this._storedIds);\n                qq.each(storedIdsCopy, function(idx, storedFileId) {\n                    self.cancel(storedFileId);\n                });\n                this._handler.cancelAll();\n            },\n            clearStoredFiles: function() {\n                this._storedIds = [];\n            },\n            continueUpload: function(id) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                    return false;\n                }\n                if (uploadData.status === qq.status.PAUSED) {\n                    this.log(qq.format(\"Paused file ID {} ({}) will be continued.  Not paused.\", id, this.getName(id)));\n                    this._uploadFile(id);\n                    return true;\n                } else {\n                    this.log(qq.format(\"Ignoring continue for file ID {} ({}).  Not paused.\", id, this.getName(id)), \"error\");\n                }\n                return false;\n            },\n            deleteFile: function(id) {\n                return this._onSubmitDelete(id);\n            },\n            doesExist: function(fileOrBlobId) {\n                return this._handler.isValid(fileOrBlobId);\n            },\n            drawThumbnail: function(fileId, imgOrCanvas, maxSize, fromServer, customResizeFunction) {\n                var promiseToReturn = new qq.Promise(), fileOrUrl, options;\n                if (this._imageGenerator) {\n                    fileOrUrl = this._thumbnailUrls[fileId];\n                    options = {\n                        customResizeFunction: customResizeFunction,\n                        maxSize: maxSize > 0 ? maxSize : null,\n                        scale: maxSize > 0\n                    };\n                    if (!fromServer && qq.supportedFeatures.imagePreviews) {\n                        fileOrUrl = this.getFile(fileId);\n                    }\n                    if (fileOrUrl == null) {\n                        promiseToReturn.failure({\n                            container: imgOrCanvas,\n                            error: \"File or URL not found.\"\n                        });\n                    } else {\n                        this._imageGenerator.generate(fileOrUrl, imgOrCanvas, options).then(function success(modifiedContainer) {\n                            promiseToReturn.success(modifiedContainer);\n                        }, function failure(container, reason) {\n                            promiseToReturn.failure({\n                                container: container,\n                                error: reason || \"Problem generating thumbnail\"\n                            });\n                        });\n                    }\n                } else {\n                    promiseToReturn.failure({\n                        container: imgOrCanvas,\n                        error: \"Missing image generator module\"\n                    });\n                }\n                return promiseToReturn;\n            },\n            getButton: function(fileId) {\n                return this._getButton(this._buttonIdsForFileIds[fileId]);\n            },\n            getEndpoint: function(fileId) {\n                return this._endpointStore.get(fileId);\n            },\n            getFile: function(fileOrBlobId) {\n                return this._handler.getFile(fileOrBlobId) || null;\n            },\n            getInProgress: function() {\n                return this._uploadData.retrieve({\n                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED ]\n                }).length;\n            },\n            getName: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).name;\n            },\n            getParentId: function(id) {\n                var uploadDataEntry = this.getUploads({\n                    id: id\n                }), parentId = null;\n                if (uploadDataEntry) {\n                    if (uploadDataEntry.parentId !== undefined) {\n                        parentId = uploadDataEntry.parentId;\n                    }\n                }\n                return parentId;\n            },\n            getResumableFilesData: function() {\n                return this._handler.getResumableFilesData();\n            },\n            getSize: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).size;\n            },\n            getNetUploads: function() {\n                return this._netUploaded;\n            },\n            getRemainingAllowedItems: function() {\n                var allowedItems = this._currentItemLimit;\n                if (allowedItems > 0) {\n                    return allowedItems - this._netUploadedOrQueued;\n                }\n                return null;\n            },\n            getUploads: function(optionalFilter) {\n                return this._uploadData.retrieve(optionalFilter);\n            },\n            getUuid: function(id) {\n                return this._uploadData.retrieve({\n                    id: id\n                }).uuid;\n            },\n            log: function(str, level) {\n                if (this._options.debug && (!level || level === \"info\")) {\n                    qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str);\n                } else if (level && level !== \"info\") {\n                    qq.log(\"[Fine Uploader \" + qq.version + \"] \" + str, level);\n                }\n            },\n            pauseUpload: function(id) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!qq.supportedFeatures.pause || !this._options.chunking.enabled) {\n                    return false;\n                }\n                if (qq.indexOf([ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING ], uploadData.status) >= 0) {\n                    if (this._handler.pause(id)) {\n                        this._uploadData.setStatus(id, qq.status.PAUSED);\n                        return true;\n                    } else {\n                        this.log(qq.format(\"Unable to pause file ID {} ({}).\", id, this.getName(id)), \"error\");\n                    }\n                } else {\n                    this.log(qq.format(\"Ignoring pause for file ID {} ({}).  Not in progress.\", id, this.getName(id)), \"error\");\n                }\n                return false;\n            },\n            removeFileRef: function(id) {\n                this._handler.expunge(id);\n            },\n            reset: function() {\n                this.log(\"Resetting uploader...\");\n                this._handler.reset();\n                this._storedIds = [];\n                this._autoRetries = [];\n                this._retryTimeouts = [];\n                this._preventRetries = [];\n                this._thumbnailUrls = [];\n                qq.each(this._buttons, function(idx, button) {\n                    button.reset();\n                });\n                this._paramsStore.reset();\n                this._endpointStore.reset();\n                this._netUploadedOrQueued = 0;\n                this._netUploaded = 0;\n                this._uploadData.reset();\n                this._buttonIdsForFileIds = [];\n                this._pasteHandler && this._pasteHandler.reset();\n                this._options.session.refreshOnReset && this._refreshSessionData();\n                this._succeededSinceLastAllComplete = [];\n                this._failedSinceLastAllComplete = [];\n                this._totalProgress && this._totalProgress.reset();\n            },\n            retry: function(id) {\n                return this._manualRetry(id);\n            },\n            scaleImage: function(id, specs) {\n                var self = this;\n                return qq.Scaler.prototype.scaleImage(id, specs, {\n                    log: qq.bind(self.log, self),\n                    getFile: qq.bind(self.getFile, self),\n                    uploadData: self._uploadData\n                });\n            },\n            setCustomHeaders: function(headers, id) {\n                this._customHeadersStore.set(headers, id);\n            },\n            setDeleteFileCustomHeaders: function(headers, id) {\n                this._deleteFileCustomHeadersStore.set(headers, id);\n            },\n            setDeleteFileEndpoint: function(endpoint, id) {\n                this._deleteFileEndpointStore.set(endpoint, id);\n            },\n            setDeleteFileParams: function(params, id) {\n                this._deleteFileParamsStore.set(params, id);\n            },\n            setEndpoint: function(endpoint, id) {\n                this._endpointStore.set(endpoint, id);\n            },\n            setForm: function(elementOrId) {\n                this._updateFormSupportAndParams(elementOrId);\n            },\n            setItemLimit: function(newItemLimit) {\n                this._currentItemLimit = newItemLimit;\n            },\n            setName: function(id, newName) {\n                this._uploadData.updateName(id, newName);\n            },\n            setParams: function(params, id) {\n                this._paramsStore.set(params, id);\n            },\n            setUuid: function(id, newUuid) {\n                return this._uploadData.uuidChanged(id, newUuid);\n            },\n            setStatus: function(id, newStatus) {\n                var fileRecord = this.getUploads({\n                    id: id\n                });\n                if (!fileRecord) {\n                    throw new qq.Error(id + \" is not a valid file ID.\");\n                }\n                switch (newStatus) {\n                  case qq.status.DELETED:\n                    this._onDeleteComplete(id, null, false);\n                    break;\n\n                  case qq.status.DELETE_FAILED:\n                    this._onDeleteComplete(id, null, true);\n                    break;\n\n                  default:\n                    var errorMessage = \"Method setStatus called on '\" + name + \"' not implemented yet for \" + newStatus;\n                    this.log(errorMessage);\n                    throw new qq.Error(errorMessage);\n                }\n            },\n            uploadStoredFiles: function() {\n                if (this._storedIds.length === 0) {\n                    this._itemError(\"noFilesError\");\n                } else {\n                    this._uploadStoredFiles();\n                }\n            }\n        };\n        qq.basePrivateApi = {\n            _addCannedFile: function(sessionData) {\n                var self = this;\n                return this._uploadData.addFile({\n                    uuid: sessionData.uuid,\n                    name: sessionData.name,\n                    size: sessionData.size,\n                    status: qq.status.UPLOAD_SUCCESSFUL,\n                    onBeforeStatusChange: function(id) {\n                        sessionData.deleteFileEndpoint && self.setDeleteFileEndpoint(sessionData.deleteFileEndpoint, id);\n                        sessionData.deleteFileParams && self.setDeleteFileParams(sessionData.deleteFileParams, id);\n                        if (sessionData.thumbnailUrl) {\n                            self._thumbnailUrls[id] = sessionData.thumbnailUrl;\n                        }\n                        self._netUploaded++;\n                        self._netUploadedOrQueued++;\n                    }\n                });\n            },\n            _annotateWithButtonId: function(file, associatedInput) {\n                if (qq.isFile(file)) {\n                    file.qqButtonId = this._getButtonId(associatedInput);\n                }\n            },\n            _batchError: function(message) {\n                this._options.callbacks.onError(null, null, message, undefined);\n            },\n            _createDeleteHandler: function() {\n                var self = this;\n                return new qq.DeleteFileAjaxRequester({\n                    method: this._options.deleteFile.method.toUpperCase(),\n                    maxConnections: this._options.maxConnections,\n                    uuidParamName: this._options.request.uuidName,\n                    customHeaders: this._deleteFileCustomHeadersStore,\n                    paramsStore: this._deleteFileParamsStore,\n                    endpointStore: this._deleteFileEndpointStore,\n                    cors: this._options.cors,\n                    log: qq.bind(self.log, self),\n                    onDelete: function(id) {\n                        self._onDelete(id);\n                        self._options.callbacks.onDelete(id);\n                    },\n                    onDeleteComplete: function(id, xhrOrXdr, isError) {\n                        self._onDeleteComplete(id, xhrOrXdr, isError);\n                        self._options.callbacks.onDeleteComplete(id, xhrOrXdr, isError);\n                    }\n                });\n            },\n            _createPasteHandler: function() {\n                var self = this;\n                return new qq.PasteSupport({\n                    targetElement: this._options.paste.targetElement,\n                    callbacks: {\n                        log: qq.bind(self.log, self),\n                        pasteReceived: function(blob) {\n                            self._handleCheckedCallback({\n                                name: \"onPasteReceived\",\n                                callback: qq.bind(self._options.callbacks.onPasteReceived, self, blob),\n                                onSuccess: qq.bind(self._handlePasteSuccess, self, blob),\n                                identifier: \"pasted image\"\n                            });\n                        }\n                    }\n                });\n            },\n            _createStore: function(initialValue, _readOnlyValues_) {\n                var store = {}, catchall = initialValue, perIdReadOnlyValues = {}, readOnlyValues = _readOnlyValues_, copy = function(orig) {\n                    if (qq.isObject(orig)) {\n                        return qq.extend({}, orig);\n                    }\n                    return orig;\n                }, getReadOnlyValues = function() {\n                    if (qq.isFunction(readOnlyValues)) {\n                        return readOnlyValues();\n                    }\n                    return readOnlyValues;\n                }, includeReadOnlyValues = function(id, existing) {\n                    if (readOnlyValues && qq.isObject(existing)) {\n                        qq.extend(existing, getReadOnlyValues());\n                    }\n                    if (perIdReadOnlyValues[id]) {\n                        qq.extend(existing, perIdReadOnlyValues[id]);\n                    }\n                };\n                return {\n                    set: function(val, id) {\n                        if (id == null) {\n                            store = {};\n                            catchall = copy(val);\n                        } else {\n                            store[id] = copy(val);\n                        }\n                    },\n                    get: function(id) {\n                        var values;\n                        if (id != null && store[id]) {\n                            values = store[id];\n                        } else {\n                            values = copy(catchall);\n                        }\n                        includeReadOnlyValues(id, values);\n                        return copy(values);\n                    },\n                    addReadOnly: function(id, values) {\n                        if (qq.isObject(store)) {\n                            if (id === null) {\n                                if (qq.isFunction(values)) {\n                                    readOnlyValues = values;\n                                } else {\n                                    readOnlyValues = readOnlyValues || {};\n                                    qq.extend(readOnlyValues, values);\n                                }\n                            } else {\n                                perIdReadOnlyValues[id] = perIdReadOnlyValues[id] || {};\n                                qq.extend(perIdReadOnlyValues[id], values);\n                            }\n                        }\n                    },\n                    remove: function(fileId) {\n                        return delete store[fileId];\n                    },\n                    reset: function() {\n                        store = {};\n                        perIdReadOnlyValues = {};\n                        catchall = initialValue;\n                    }\n                };\n            },\n            _createUploadDataTracker: function() {\n                var self = this;\n                return new qq.UploadData({\n                    getName: function(id) {\n                        return self.getName(id);\n                    },\n                    getUuid: function(id) {\n                        return self.getUuid(id);\n                    },\n                    getSize: function(id) {\n                        return self.getSize(id);\n                    },\n                    onStatusChange: function(id, oldStatus, newStatus) {\n                        self._onUploadStatusChange(id, oldStatus, newStatus);\n                        self._options.callbacks.onStatusChange(id, oldStatus, newStatus);\n                        self._maybeAllComplete(id, newStatus);\n                        if (self._totalProgress) {\n                            setTimeout(function() {\n                                self._totalProgress.onStatusChange(id, oldStatus, newStatus);\n                            }, 0);\n                        }\n                    }\n                });\n            },\n            _createUploadButton: function(spec) {\n                var self = this, acceptFiles = spec.accept || this._options.validation.acceptFiles, allowedExtensions = spec.allowedExtensions || this._options.validation.allowedExtensions, button;\n                function allowMultiple() {\n                    if (qq.supportedFeatures.ajaxUploading) {\n                        if (self._options.workarounds.iosEmptyVideos && qq.ios() && !qq.ios6() && self._isAllowedExtension(allowedExtensions, \".mov\")) {\n                            return false;\n                        }\n                        if (spec.multiple === undefined) {\n                            return self._options.multiple;\n                        }\n                        return spec.multiple;\n                    }\n                    return false;\n                }\n                button = new qq.UploadButton({\n                    acceptFiles: acceptFiles,\n                    element: spec.element,\n                    focusClass: this._options.classes.buttonFocus,\n                    folders: spec.folders,\n                    hoverClass: this._options.classes.buttonHover,\n                    ios8BrowserCrashWorkaround: this._options.workarounds.ios8BrowserCrash,\n                    multiple: allowMultiple(),\n                    name: this._options.request.inputName,\n                    onChange: function(input) {\n                        self._onInputChange(input);\n                    },\n                    title: spec.title == null ? this._options.text.fileInputTitle : spec.title\n                });\n                this._disposeSupport.addDisposer(function() {\n                    button.dispose();\n                });\n                self._buttons.push(button);\n                return button;\n            },\n            _createUploadHandler: function(additionalOptions, namespace) {\n                var self = this, lastOnProgress = {}, options = {\n                    debug: this._options.debug,\n                    maxConnections: this._options.maxConnections,\n                    cors: this._options.cors,\n                    paramsStore: this._paramsStore,\n                    endpointStore: this._endpointStore,\n                    chunking: this._options.chunking,\n                    resume: this._options.resume,\n                    blobs: this._options.blobs,\n                    log: qq.bind(self.log, self),\n                    preventRetryParam: this._options.retry.preventRetryResponseProperty,\n                    onProgress: function(id, name, loaded, total) {\n                        if (loaded < 0 || total < 0) {\n                            return;\n                        }\n                        if (lastOnProgress[id]) {\n                            if (lastOnProgress[id].loaded !== loaded || lastOnProgress[id].total !== total) {\n                                self._onProgress(id, name, loaded, total);\n                                self._options.callbacks.onProgress(id, name, loaded, total);\n                            }\n                        } else {\n                            self._onProgress(id, name, loaded, total);\n                            self._options.callbacks.onProgress(id, name, loaded, total);\n                        }\n                        lastOnProgress[id] = {\n                            loaded: loaded,\n                            total: total\n                        };\n                    },\n                    onComplete: function(id, name, result, xhr) {\n                        delete lastOnProgress[id];\n                        var status = self.getUploads({\n                            id: id\n                        }).status, retVal;\n                        if (status === qq.status.UPLOAD_SUCCESSFUL || status === qq.status.UPLOAD_FAILED) {\n                            return;\n                        }\n                        retVal = self._onComplete(id, name, result, xhr);\n                        if (retVal instanceof qq.Promise) {\n                            retVal.done(function() {\n                                self._options.callbacks.onComplete(id, name, result, xhr);\n                            });\n                        } else {\n                            self._options.callbacks.onComplete(id, name, result, xhr);\n                        }\n                    },\n                    onCancel: function(id, name, cancelFinalizationEffort) {\n                        var promise = new qq.Promise();\n                        self._handleCheckedCallback({\n                            name: \"onCancel\",\n                            callback: qq.bind(self._options.callbacks.onCancel, self, id, name),\n                            onFailure: promise.failure,\n                            onSuccess: function() {\n                                cancelFinalizationEffort.then(function() {\n                                    self._onCancel(id, name);\n                                });\n                                promise.success();\n                            },\n                            identifier: id\n                        });\n                        return promise;\n                    },\n                    onUploadPrep: qq.bind(this._onUploadPrep, this),\n                    onUpload: function(id, name) {\n                        self._onUpload(id, name);\n                        self._options.callbacks.onUpload(id, name);\n                    },\n                    onUploadChunk: function(id, name, chunkData) {\n                        self._onUploadChunk(id, chunkData);\n                        self._options.callbacks.onUploadChunk(id, name, chunkData);\n                    },\n                    onUploadChunkSuccess: function(id, chunkData, result, xhr) {\n                        self._options.callbacks.onUploadChunkSuccess.apply(self, arguments);\n                    },\n                    onResume: function(id, name, chunkData) {\n                        return self._options.callbacks.onResume(id, name, chunkData);\n                    },\n                    onAutoRetry: function(id, name, responseJSON, xhr) {\n                        return self._onAutoRetry.apply(self, arguments);\n                    },\n                    onUuidChanged: function(id, newUuid) {\n                        self.log(\"Server requested UUID change from '\" + self.getUuid(id) + \"' to '\" + newUuid + \"'\");\n                        self.setUuid(id, newUuid);\n                    },\n                    getName: qq.bind(self.getName, self),\n                    getUuid: qq.bind(self.getUuid, self),\n                    getSize: qq.bind(self.getSize, self),\n                    setSize: qq.bind(self._setSize, self),\n                    getDataByUuid: function(uuid) {\n                        return self.getUploads({\n                            uuid: uuid\n                        });\n                    },\n                    isQueued: function(id) {\n                        var status = self.getUploads({\n                            id: id\n                        }).status;\n                        return status === qq.status.QUEUED || status === qq.status.SUBMITTED || status === qq.status.UPLOAD_RETRYING || status === qq.status.PAUSED;\n                    },\n                    getIdsInProxyGroup: self._uploadData.getIdsInProxyGroup,\n                    getIdsInBatch: self._uploadData.getIdsInBatch\n                };\n                qq.each(this._options.request, function(prop, val) {\n                    options[prop] = val;\n                });\n                options.customHeaders = this._customHeadersStore;\n                if (additionalOptions) {\n                    qq.each(additionalOptions, function(key, val) {\n                        options[key] = val;\n                    });\n                }\n                return new qq.UploadHandlerController(options, namespace);\n            },\n            _fileOrBlobRejected: function(id) {\n                this._netUploadedOrQueued--;\n                this._uploadData.setStatus(id, qq.status.REJECTED);\n            },\n            _formatSize: function(bytes) {\n                if (bytes === 0) {\n                    return bytes + this._options.text.sizeSymbols[0];\n                }\n                var i = -1;\n                do {\n                    bytes = bytes / 1e3;\n                    i++;\n                } while (bytes > 999);\n                return Math.max(bytes, .1).toFixed(1) + this._options.text.sizeSymbols[i];\n            },\n            _generateExtraButtonSpecs: function() {\n                var self = this;\n                this._extraButtonSpecs = {};\n                qq.each(this._options.extraButtons, function(idx, extraButtonOptionEntry) {\n                    var multiple = extraButtonOptionEntry.multiple, validation = qq.extend({}, self._options.validation, true), extraButtonSpec = qq.extend({}, extraButtonOptionEntry);\n                    if (multiple === undefined) {\n                        multiple = self._options.multiple;\n                    }\n                    if (extraButtonSpec.validation) {\n                        qq.extend(validation, extraButtonOptionEntry.validation, true);\n                    }\n                    qq.extend(extraButtonSpec, {\n                        multiple: multiple,\n                        validation: validation\n                    }, true);\n                    self._initExtraButton(extraButtonSpec);\n                });\n            },\n            _getButton: function(buttonId) {\n                var extraButtonsSpec = this._extraButtonSpecs[buttonId];\n                if (extraButtonsSpec) {\n                    return extraButtonsSpec.element;\n                } else if (buttonId === this._defaultButtonId) {\n                    return this._options.button;\n                }\n            },\n            _getButtonId: function(buttonOrFileInputOrFile) {\n                var inputs, fileInput, fileBlobOrInput = buttonOrFileInputOrFile;\n                if (fileBlobOrInput instanceof qq.BlobProxy) {\n                    fileBlobOrInput = fileBlobOrInput.referenceBlob;\n                }\n                if (fileBlobOrInput && !qq.isBlob(fileBlobOrInput)) {\n                    if (qq.isFile(fileBlobOrInput)) {\n                        return fileBlobOrInput.qqButtonId;\n                    } else if (fileBlobOrInput.tagName.toLowerCase() === \"input\" && fileBlobOrInput.type.toLowerCase() === \"file\") {\n                        return fileBlobOrInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                    }\n                    inputs = fileBlobOrInput.getElementsByTagName(\"input\");\n                    qq.each(inputs, function(idx, input) {\n                        if (input.getAttribute(\"type\") === \"file\") {\n                            fileInput = input;\n                            return false;\n                        }\n                    });\n                    if (fileInput) {\n                        return fileInput.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);\n                    }\n                }\n            },\n            _getNotFinished: function() {\n                return this._uploadData.retrieve({\n                    status: [ qq.status.UPLOADING, qq.status.UPLOAD_RETRYING, qq.status.QUEUED, qq.status.SUBMITTING, qq.status.SUBMITTED, qq.status.PAUSED ]\n                }).length;\n            },\n            _getValidationBase: function(buttonId) {\n                var extraButtonSpec = this._extraButtonSpecs[buttonId];\n                return extraButtonSpec ? extraButtonSpec.validation : this._options.validation;\n            },\n            _getValidationDescriptor: function(fileWrapper) {\n                if (fileWrapper.file instanceof qq.BlobProxy) {\n                    return {\n                        name: qq.getFilename(fileWrapper.file.referenceBlob),\n                        size: fileWrapper.file.referenceBlob.size\n                    };\n                }\n                return {\n                    name: this.getUploads({\n                        id: fileWrapper.id\n                    }).name,\n                    size: this.getUploads({\n                        id: fileWrapper.id\n                    }).size\n                };\n            },\n            _getValidationDescriptors: function(fileWrappers) {\n                var self = this, fileDescriptors = [];\n                qq.each(fileWrappers, function(idx, fileWrapper) {\n                    fileDescriptors.push(self._getValidationDescriptor(fileWrapper));\n                });\n                return fileDescriptors;\n            },\n            _handleCameraAccess: function() {\n                if (this._options.camera.ios && qq.ios()) {\n                    var acceptIosCamera = \"image/*;capture=camera\", button = this._options.camera.button, buttonId = button ? this._getButtonId(button) : this._defaultButtonId, optionRoot = this._options;\n                    if (buttonId && buttonId !== this._defaultButtonId) {\n                        optionRoot = this._extraButtonSpecs[buttonId];\n                    }\n                    optionRoot.multiple = false;\n                    if (optionRoot.validation.acceptFiles === null) {\n                        optionRoot.validation.acceptFiles = acceptIosCamera;\n                    } else {\n                        optionRoot.validation.acceptFiles += \",\" + acceptIosCamera;\n                    }\n                    qq.each(this._buttons, function(idx, button) {\n                        if (button.getButtonId() === buttonId) {\n                            button.setMultiple(optionRoot.multiple);\n                            button.setAcceptFiles(optionRoot.acceptFiles);\n                            return false;\n                        }\n                    });\n                }\n            },\n            _handleCheckedCallback: function(details) {\n                var self = this, callbackRetVal = details.callback();\n                if (qq.isGenericPromise(callbackRetVal)) {\n                    this.log(details.name + \" - waiting for \" + details.name + \" promise to be fulfilled for \" + details.identifier);\n                    return callbackRetVal.then(function(successParam) {\n                        self.log(details.name + \" promise success for \" + details.identifier);\n                        details.onSuccess(successParam);\n                    }, function() {\n                        if (details.onFailure) {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                            details.onFailure();\n                        } else {\n                            self.log(details.name + \" promise failure for \" + details.identifier);\n                        }\n                    });\n                }\n                if (callbackRetVal !== false) {\n                    details.onSuccess(callbackRetVal);\n                } else {\n                    if (details.onFailure) {\n                        this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Invoking failure callback.\");\n                        details.onFailure();\n                    } else {\n                        this.log(details.name + \" - return value was 'false' for \" + details.identifier + \".  Will not proceed.\");\n                    }\n                }\n                return callbackRetVal;\n            },\n            _handleNewFile: function(file, batchId, newFileWrapperList) {\n                var self = this, uuid = qq.getUniqueId(), size = -1, name = qq.getFilename(file), actualFile = file.blob || file, handler = this._customNewFileHandler ? this._customNewFileHandler : qq.bind(self._handleNewFileGeneric, self);\n                if (!qq.isInput(actualFile) && actualFile.size >= 0) {\n                    size = actualFile.size;\n                }\n                handler(actualFile, name, uuid, size, newFileWrapperList, batchId, this._options.request.uuidName, {\n                    uploadData: self._uploadData,\n                    paramsStore: self._paramsStore,\n                    addFileToHandler: function(id, file) {\n                        self._handler.add(id, file);\n                        self._netUploadedOrQueued++;\n                        self._trackButton(id);\n                    }\n                });\n            },\n            _handleNewFileGeneric: function(file, name, uuid, size, fileList, batchId) {\n                var id = this._uploadData.addFile({\n                    uuid: uuid,\n                    name: name,\n                    size: size,\n                    batchId: batchId\n                });\n                this._handler.add(id, file);\n                this._trackButton(id);\n                this._netUploadedOrQueued++;\n                fileList.push({\n                    id: id,\n                    file: file\n                });\n            },\n            _handlePasteSuccess: function(blob, extSuppliedName) {\n                var extension = blob.type.split(\"/\")[1], name = extSuppliedName;\n                if (name == null) {\n                    name = this._options.paste.defaultName;\n                }\n                name += \".\" + extension;\n                this.addFiles({\n                    name: name,\n                    blob: blob\n                });\n            },\n            _handleDeleteSuccess: function(id) {\n                if (this.getUploads({\n                    id: id\n                }).status !== qq.status.DELETED) {\n                    var name = this.getName(id);\n                    this._netUploadedOrQueued--;\n                    this._netUploaded--;\n                    this._handler.expunge(id);\n                    this._uploadData.setStatus(id, qq.status.DELETED);\n                    this.log(\"Delete request for '\" + name + \"' has succeeded.\");\n                }\n            },\n            _handleDeleteFailed: function(id, xhrOrXdr) {\n                var name = this.getName(id);\n                this._uploadData.setStatus(id, qq.status.DELETE_FAILED);\n                this.log(\"Delete request for '\" + name + \"' has failed.\", \"error\");\n                if (!xhrOrXdr || xhrOrXdr.withCredentials === undefined) {\n                    this._options.callbacks.onError(id, name, \"Delete request failed\", xhrOrXdr);\n                } else {\n                    this._options.callbacks.onError(id, name, \"Delete request failed with response code \" + xhrOrXdr.status, xhrOrXdr);\n                }\n            },\n            _initExtraButton: function(spec) {\n                var button = this._createUploadButton({\n                    accept: spec.validation.acceptFiles,\n                    allowedExtensions: spec.validation.allowedExtensions,\n                    element: spec.element,\n                    folders: spec.folders,\n                    multiple: spec.multiple,\n                    title: spec.fileInputTitle\n                });\n                this._extraButtonSpecs[button.getButtonId()] = spec;\n            },\n            _initFormSupportAndParams: function() {\n                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));\n                if (this._formSupport && this._formSupport.attachedToForm) {\n                    this._paramsStore = this._createStore(this._options.request.params, this._formSupport.getFormInputsAsObject);\n                    this._options.autoUpload = this._formSupport.newAutoUpload;\n                    if (this._formSupport.newEndpoint) {\n                        this._options.request.endpoint = this._formSupport.newEndpoint;\n                    }\n                } else {\n                    this._paramsStore = this._createStore(this._options.request.params);\n                }\n            },\n            _isDeletePossible: function() {\n                if (!qq.DeleteFileAjaxRequester || !this._options.deleteFile.enabled) {\n                    return false;\n                }\n                if (this._options.cors.expected) {\n                    if (qq.supportedFeatures.deleteFileCorsXhr) {\n                        return true;\n                    }\n                    if (qq.supportedFeatures.deleteFileCorsXdr && this._options.cors.allowXdr) {\n                        return true;\n                    }\n                    return false;\n                }\n                return true;\n            },\n            _isAllowedExtension: function(allowed, fileName) {\n                var valid = false;\n                if (!allowed.length) {\n                    return true;\n                }\n                qq.each(allowed, function(idx, allowedExt) {\n                    if (qq.isString(allowedExt)) {\n                        var extRegex = new RegExp(\"\\\\.\" + allowedExt + \"$\", \"i\");\n                        if (fileName.match(extRegex) != null) {\n                            valid = true;\n                            return false;\n                        }\n                    }\n                });\n                return valid;\n            },\n            _itemError: function(code, maybeNameOrNames, item) {\n                var message = this._options.messages[code], allowedExtensions = [], names = [].concat(maybeNameOrNames), name = names[0], buttonId = this._getButtonId(item), validationBase = this._getValidationBase(buttonId), extensionsForMessage, placeholderMatch;\n                function r(name, replacement) {\n                    message = message.replace(name, replacement);\n                }\n                qq.each(validationBase.allowedExtensions, function(idx, allowedExtension) {\n                    if (qq.isString(allowedExtension)) {\n                        allowedExtensions.push(allowedExtension);\n                    }\n                });\n                extensionsForMessage = allowedExtensions.join(\", \").toLowerCase();\n                r(\"{file}\", this._options.formatFileName(name));\n                r(\"{extensions}\", extensionsForMessage);\n                r(\"{sizeLimit}\", this._formatSize(validationBase.sizeLimit));\n                r(\"{minSizeLimit}\", this._formatSize(validationBase.minSizeLimit));\n                placeholderMatch = message.match(/(\\{\\w+\\})/g);\n                if (placeholderMatch !== null) {\n                    qq.each(placeholderMatch, function(idx, placeholder) {\n                        r(placeholder, names[idx]);\n                    });\n                }\n                this._options.callbacks.onError(null, name, message, undefined);\n                return message;\n            },\n            _manualRetry: function(id, callback) {\n                if (this._onBeforeManualRetry(id)) {\n                    this._netUploadedOrQueued++;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n                    if (callback) {\n                        callback(id);\n                    } else {\n                        this._handler.retry(id);\n                    }\n                    return true;\n                }\n            },\n            _maybeAllComplete: function(id, status) {\n                var self = this, notFinished = this._getNotFinished();\n                if (status === qq.status.UPLOAD_SUCCESSFUL) {\n                    this._succeededSinceLastAllComplete.push(id);\n                } else if (status === qq.status.UPLOAD_FAILED) {\n                    this._failedSinceLastAllComplete.push(id);\n                }\n                if (notFinished === 0 && (this._succeededSinceLastAllComplete.length || this._failedSinceLastAllComplete.length)) {\n                    setTimeout(function() {\n                        self._onAllComplete(self._succeededSinceLastAllComplete, self._failedSinceLastAllComplete);\n                    }, 0);\n                }\n            },\n            _maybeHandleIos8SafariWorkaround: function() {\n                var self = this;\n                if (this._options.workarounds.ios8SafariUploads && qq.ios800() && qq.iosSafari()) {\n                    setTimeout(function() {\n                        window.alert(self._options.messages.unsupportedBrowserIos8Safari);\n                    }, 0);\n                    throw new qq.Error(this._options.messages.unsupportedBrowserIos8Safari);\n                }\n            },\n            _maybeParseAndSendUploadError: function(id, name, response, xhr) {\n                if (!response.success) {\n                    if (xhr && xhr.status !== 200 && !response.error) {\n                        this._options.callbacks.onError(id, name, \"XHR returned response code \" + xhr.status, xhr);\n                    } else {\n                        var errorReason = response.error ? response.error : this._options.text.defaultResponseError;\n                        this._options.callbacks.onError(id, name, errorReason, xhr);\n                    }\n                }\n            },\n            _maybeProcessNextItemAfterOnValidateCallback: function(validItem, items, index, params, endpoint) {\n                var self = this;\n                if (items.length > index) {\n                    if (validItem || !this._options.validation.stopOnFirstInvalidFile) {\n                        setTimeout(function() {\n                            var validationDescriptor = self._getValidationDescriptor(items[index]), buttonId = self._getButtonId(items[index].file), button = self._getButton(buttonId);\n                            self._handleCheckedCallback({\n                                name: \"onValidate\",\n                                callback: qq.bind(self._options.callbacks.onValidate, self, validationDescriptor, button),\n                                onSuccess: qq.bind(self._onValidateCallbackSuccess, self, items, index, params, endpoint),\n                                onFailure: qq.bind(self._onValidateCallbackFailure, self, items, index, params, endpoint),\n                                identifier: \"Item '\" + validationDescriptor.name + \"', size: \" + validationDescriptor.size\n                            });\n                        }, 0);\n                    } else if (!validItem) {\n                        for (;index < items.length; index++) {\n                            self._fileOrBlobRejected(items[index].id);\n                        }\n                    }\n                }\n            },\n            _onAllComplete: function(successful, failed) {\n                this._totalProgress && this._totalProgress.onAllComplete(successful, failed, this._preventRetries);\n                this._options.callbacks.onAllComplete(qq.extend([], successful), qq.extend([], failed));\n                this._succeededSinceLastAllComplete = [];\n                this._failedSinceLastAllComplete = [];\n            },\n            _onAutoRetry: function(id, name, responseJSON, xhr, callback) {\n                var self = this;\n                self._preventRetries[id] = responseJSON[self._options.retry.preventRetryResponseProperty];\n                if (self._shouldAutoRetry(id, name, responseJSON)) {\n                    var retryWaitPeriod = self._options.retry.autoAttemptDelay * 1e3;\n                    self._maybeParseAndSendUploadError.apply(self, arguments);\n                    self._options.callbacks.onAutoRetry(id, name, self._autoRetries[id]);\n                    self._onBeforeAutoRetry(id, name);\n                    self._uploadData.setStatus(id, qq.status.UPLOAD_RETRYING);\n                    self._retryTimeouts[id] = setTimeout(function() {\n                        self.log(\"Starting retry for \" + name + \"...\");\n                        if (callback) {\n                            callback(id);\n                        } else {\n                            self._handler.retry(id);\n                        }\n                    }, retryWaitPeriod);\n                    return true;\n                }\n            },\n            _onBeforeAutoRetry: function(id, name) {\n                this.log(\"Waiting \" + this._options.retry.autoAttemptDelay + \" seconds before retrying \" + name + \"...\");\n            },\n            _onBeforeManualRetry: function(id) {\n                var itemLimit = this._currentItemLimit, fileName;\n                if (this._preventRetries[id]) {\n                    this.log(\"Retries are forbidden for id \" + id, \"warn\");\n                    return false;\n                } else if (this._handler.isValid(id)) {\n                    fileName = this.getName(id);\n                    if (this._options.callbacks.onManualRetry(id, fileName) === false) {\n                        return false;\n                    }\n                    if (itemLimit > 0 && this._netUploadedOrQueued + 1 > itemLimit) {\n                        this._itemError(\"retryFailTooManyItems\");\n                        return false;\n                    }\n                    this.log(\"Retrying upload for '\" + fileName + \"' (id: \" + id + \")...\");\n                    return true;\n                } else {\n                    this.log(\"'\" + id + \"' is not a valid file ID\", \"error\");\n                    return false;\n                }\n            },\n            _onCancel: function(id, name) {\n                this._netUploadedOrQueued--;\n                clearTimeout(this._retryTimeouts[id]);\n                var storedItemIndex = qq.indexOf(this._storedIds, id);\n                if (!this._options.autoUpload && storedItemIndex >= 0) {\n                    this._storedIds.splice(storedItemIndex, 1);\n                }\n                this._uploadData.setStatus(id, qq.status.CANCELED);\n            },\n            _onComplete: function(id, name, result, xhr) {\n                if (!result.success) {\n                    this._netUploadedOrQueued--;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_FAILED);\n                    if (result[this._options.retry.preventRetryResponseProperty] === true) {\n                        this._preventRetries[id] = true;\n                    }\n                } else {\n                    if (result.thumbnailUrl) {\n                        this._thumbnailUrls[id] = result.thumbnailUrl;\n                    }\n                    this._netUploaded++;\n                    this._uploadData.setStatus(id, qq.status.UPLOAD_SUCCESSFUL);\n                }\n                this._maybeParseAndSendUploadError(id, name, result, xhr);\n                return result.success ? true : false;\n            },\n            _onDelete: function(id) {\n                this._uploadData.setStatus(id, qq.status.DELETING);\n            },\n            _onDeleteComplete: function(id, xhrOrXdr, isError) {\n                var name = this.getName(id);\n                if (isError) {\n                    this._handleDeleteFailed(id, xhrOrXdr);\n                } else {\n                    this._handleDeleteSuccess(id);\n                }\n            },\n            _onInputChange: function(input) {\n                var fileIndex;\n                if (qq.supportedFeatures.ajaxUploading) {\n                    for (fileIndex = 0; fileIndex < input.files.length; fileIndex++) {\n                        this._annotateWithButtonId(input.files[fileIndex], input);\n                    }\n                    this.addFiles(input.files);\n                } else if (input.value.length > 0) {\n                    this.addFiles(input);\n                }\n                qq.each(this._buttons, function(idx, button) {\n                    button.reset();\n                });\n            },\n            _onProgress: function(id, name, loaded, total) {\n                this._totalProgress && this._totalProgress.onIndividualProgress(id, loaded, total);\n            },\n            _onSubmit: function(id, name) {},\n            _onSubmitCallbackSuccess: function(id, name) {\n                this._onSubmit.apply(this, arguments);\n                this._uploadData.setStatus(id, qq.status.SUBMITTED);\n                this._onSubmitted.apply(this, arguments);\n                if (this._options.autoUpload) {\n                    this._options.callbacks.onSubmitted.apply(this, arguments);\n                    this._uploadFile(id);\n                } else {\n                    this._storeForLater(id);\n                    this._options.callbacks.onSubmitted.apply(this, arguments);\n                }\n            },\n            _onSubmitDelete: function(id, onSuccessCallback, additionalMandatedParams) {\n                var uuid = this.getUuid(id), adjustedOnSuccessCallback;\n                if (onSuccessCallback) {\n                    adjustedOnSuccessCallback = qq.bind(onSuccessCallback, this, id, uuid, additionalMandatedParams);\n                }\n                if (this._isDeletePossible()) {\n                    this._handleCheckedCallback({\n                        name: \"onSubmitDelete\",\n                        callback: qq.bind(this._options.callbacks.onSubmitDelete, this, id),\n                        onSuccess: adjustedOnSuccessCallback || qq.bind(this._deleteHandler.sendDelete, this, id, uuid, additionalMandatedParams),\n                        identifier: id\n                    });\n                    return true;\n                } else {\n                    this.log(\"Delete request ignored for ID \" + id + \", delete feature is disabled or request not possible \" + \"due to CORS on a user agent that does not support pre-flighting.\", \"warn\");\n                    return false;\n                }\n            },\n            _onSubmitted: function(id) {},\n            _onTotalProgress: function(loaded, total) {\n                this._options.callbacks.onTotalProgress(loaded, total);\n            },\n            _onUploadPrep: function(id) {},\n            _onUpload: function(id, name) {\n                this._uploadData.setStatus(id, qq.status.UPLOADING);\n            },\n            _onUploadChunk: function(id, chunkData) {},\n            _onUploadStatusChange: function(id, oldStatus, newStatus) {\n                if (newStatus === qq.status.PAUSED) {\n                    clearTimeout(this._retryTimeouts[id]);\n                }\n            },\n            _onValidateBatchCallbackFailure: function(fileWrappers) {\n                var self = this;\n                qq.each(fileWrappers, function(idx, fileWrapper) {\n                    self._fileOrBlobRejected(fileWrapper.id);\n                });\n            },\n            _onValidateBatchCallbackSuccess: function(validationDescriptors, items, params, endpoint, button) {\n                var errorMessage, itemLimit = this._currentItemLimit, proposedNetFilesUploadedOrQueued = this._netUploadedOrQueued;\n                if (itemLimit === 0 || proposedNetFilesUploadedOrQueued <= itemLimit) {\n                    if (items.length > 0) {\n                        this._handleCheckedCallback({\n                            name: \"onValidate\",\n                            callback: qq.bind(this._options.callbacks.onValidate, this, validationDescriptors[0], button),\n                            onSuccess: qq.bind(this._onValidateCallbackSuccess, this, items, 0, params, endpoint),\n                            onFailure: qq.bind(this._onValidateCallbackFailure, this, items, 0, params, endpoint),\n                            identifier: \"Item '\" + items[0].file.name + \"', size: \" + items[0].file.size\n                        });\n                    } else {\n                        this._itemError(\"noFilesError\");\n                    }\n                } else {\n                    this._onValidateBatchCallbackFailure(items);\n                    errorMessage = this._options.messages.tooManyItemsError.replace(/\\{netItems\\}/g, proposedNetFilesUploadedOrQueued).replace(/\\{itemLimit\\}/g, itemLimit);\n                    this._batchError(errorMessage);\n                }\n            },\n            _onValidateCallbackFailure: function(items, index, params, endpoint) {\n                var nextIndex = index + 1;\n                this._fileOrBlobRejected(items[index].id, items[index].file.name);\n                this._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n            },\n            _onValidateCallbackSuccess: function(items, index, params, endpoint) {\n                var self = this, nextIndex = index + 1, validationDescriptor = this._getValidationDescriptor(items[index]);\n                this._validateFileOrBlobData(items[index], validationDescriptor).then(function() {\n                    self._upload(items[index].id, params, endpoint);\n                    self._maybeProcessNextItemAfterOnValidateCallback(true, items, nextIndex, params, endpoint);\n                }, function() {\n                    self._maybeProcessNextItemAfterOnValidateCallback(false, items, nextIndex, params, endpoint);\n                });\n            },\n            _prepareItemsForUpload: function(items, params, endpoint) {\n                if (items.length === 0) {\n                    this._itemError(\"noFilesError\");\n                    return;\n                }\n                var validationDescriptors = this._getValidationDescriptors(items), buttonId = this._getButtonId(items[0].file), button = this._getButton(buttonId);\n                this._handleCheckedCallback({\n                    name: \"onValidateBatch\",\n                    callback: qq.bind(this._options.callbacks.onValidateBatch, this, validationDescriptors, button),\n                    onSuccess: qq.bind(this._onValidateBatchCallbackSuccess, this, validationDescriptors, items, params, endpoint, button),\n                    onFailure: qq.bind(this._onValidateBatchCallbackFailure, this, items),\n                    identifier: \"batch validation\"\n                });\n            },\n            _preventLeaveInProgress: function() {\n                var self = this;\n                this._disposeSupport.attach(window, \"beforeunload\", function(e) {\n                    if (self.getInProgress()) {\n                        e = e || window.event;\n                        e.returnValue = self._options.messages.onLeave;\n                        return self._options.messages.onLeave;\n                    }\n                });\n            },\n            _refreshSessionData: function() {\n                var self = this, options = this._options.session;\n                if (qq.Session && this._options.session.endpoint != null) {\n                    if (!this._session) {\n                        qq.extend(options, {\n                            cors: this._options.cors\n                        });\n                        options.log = qq.bind(this.log, this);\n                        options.addFileRecord = qq.bind(this._addCannedFile, this);\n                        this._session = new qq.Session(options);\n                    }\n                    setTimeout(function() {\n                        self._session.refresh().then(function(response, xhrOrXdr) {\n                            self._sessionRequestComplete();\n                            self._options.callbacks.onSessionRequestComplete(response, true, xhrOrXdr);\n                        }, function(response, xhrOrXdr) {\n                            self._options.callbacks.onSessionRequestComplete(response, false, xhrOrXdr);\n                        });\n                    }, 0);\n                }\n            },\n            _sessionRequestComplete: function() {},\n            _setSize: function(id, newSize) {\n                this._uploadData.updateSize(id, newSize);\n                this._totalProgress && this._totalProgress.onNewSize(id);\n            },\n            _shouldAutoRetry: function(id, name, responseJSON) {\n                var uploadData = this._uploadData.retrieve({\n                    id: id\n                });\n                if (!this._preventRetries[id] && this._options.retry.enableAuto && uploadData.status !== qq.status.PAUSED) {\n                    if (this._autoRetries[id] === undefined) {\n                        this._autoRetries[id] = 0;\n                    }\n                    if (this._autoRetries[id] < this._options.retry.maxAutoAttempts) {\n                        this._autoRetries[id] += 1;\n                        return true;\n                    }\n                }\n                return false;\n            },\n            _storeForLater: function(id) {\n                this._storedIds.push(id);\n            },\n            _trackButton: function(id) {\n                var buttonId;\n                if (qq.supportedFeatures.ajaxUploading) {\n                    buttonId = this._handler.getFile(id).qqButtonId;\n                } else {\n                    buttonId = this._getButtonId(this._handler.getInput(id));\n                }\n                if (buttonId) {\n                    this._buttonIdsForFileIds[id] = buttonId;\n                }\n            },\n            _updateFormSupportAndParams: function(formElementOrId) {\n                this._options.form.element = formElementOrId;\n                this._formSupport = qq.FormSupport && new qq.FormSupport(this._options.form, qq.bind(this.uploadStoredFiles, this), qq.bind(this.log, this));\n                if (this._formSupport && this._formSupport.attachedToForm) {\n                    this._paramsStore.addReadOnly(null, this._formSupport.getFormInputsAsObject);\n                    this._options.autoUpload = this._formSupport.newAutoUpload;\n                    if (this._formSupport.newEndpoint) {\n                        this.setEndpoint(this._formSupport.newEndpoint);\n                    }\n                }\n            },\n            _upload: function(id, params, endpoint) {\n                var name = this.getName(id);\n                if (params) {\n                    this.setParams(params, id);\n                }\n                if (endpoint) {\n                    this.setEndpoint(endpoint, id);\n                }\n                this._handleCheckedCallback({\n                    name: \"onSubmit\",\n                    callback: qq.bind(this._options.callbacks.onSubmit, this, id, name),\n                    onSuccess: qq.bind(this._onSubmitCallbackSuccess, this, id, name),\n                    onFailure: qq.bind(this._fileOrBlobRejected, this, id, name),\n                    identifier: id\n                });\n            },\n            _uploadFile: function(id) {\n                if (!this._handler.upload(id)) {\n                    this._uploadData.setStatus(id, qq.status.QUEUED);\n                }\n            },\n            _uploadStoredFiles: function() {\n                var idToUpload, stillSubmitting, self = this;\n                while (this._storedIds.length) {\n                    idToUpload = this._storedIds.shift();\n                    this._uploadFile(idToUpload);\n                }\n                stillSubmitting = this.getUploads({\n                    status: qq.status.SUBMITTING\n                }).length;\n                if (stillSubmitting) {\n                    qq.log(\"Still waiting for \" + stillSubmitting + \" files to clear submit queue. Will re-parse stored IDs array shortly.\");\n                    setTimeout(function() {\n                        self._uploadStoredFiles();\n                    }, 1e3);\n                }\n            },\n            _validateFileOrBlobData: function(fileWrapper, validationDescriptor) {\n                var self = this, file = function() {\n                    if (fileWrapper.file instanceof qq.BlobProxy) {\n                        return fileWrapper.file.referenceBlob;\n                    }\n                    return fileWrapper.file;\n                }(), name = validationDescriptor.name, size = validationDescriptor.size, buttonId = this._getButtonId(fileWrapper.file), validationBase = this._getValidationBase(buttonId), validityChecker = new qq.Promise();\n                validityChecker.then(function() {}, function() {\n                    self._fileOrBlobRejected(fileWrapper.id, name);\n                });\n                if (qq.isFileOrInput(file) && !this._isAllowedExtension(validationBase.allowedExtensions, name)) {\n                    this._itemError(\"typeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (!this._options.validation.allowEmpty && size === 0) {\n                    this._itemError(\"emptyError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (size > 0 && validationBase.sizeLimit && size > validationBase.sizeLimit) {\n                    this._itemError(\"sizeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (size > 0 && size < validationBase.minSizeLimit) {\n                    this._itemError(\"minSizeError\", name, file);\n                    return validityChecker.failure();\n                }\n                if (qq.ImageValidation && qq.supportedFeatures.imagePreviews && qq.isFile(file)) {\n                    new qq.ImageValidation(file, qq.bind(self.log, self)).validate(validationBase.image).then(validityChecker.success, function(errorCode) {\n                        self._itemError(errorCode + \"ImageError\", name, file);\n                        validityChecker.failure();\n                    });\n                } else {\n                    validityChecker.success();\n                }\n                return validityChecker;\n            },\n            _wrapCallbacks: function() {\n                var self, safeCallback, prop;\n                self = this;\n                safeCallback = function(name, callback, args) {\n                    var errorMsg;\n                    try {\n                        return callback.apply(self, args);\n                    } catch (exception) {\n                        errorMsg = exception.message || exception.toString();\n                        self.log(\"Caught exception in '\" + name + \"' callback - \" + errorMsg, \"error\");\n                    }\n                };\n                for (prop in this._options.callbacks) {\n                    (function() {\n                        var callbackName, callbackFunc;\n                        callbackName = prop;\n                        callbackFunc = self._options.callbacks[callbackName];\n                        self._options.callbacks[callbackName] = function() {\n                            return safeCallback(callbackName, callbackFunc, arguments);\n                        };\n                    })();\n                }\n            }\n        };\n    })();\n    (function() {\n        \"use strict\";\n        qq.FineUploaderBasic = function(o) {\n            var self = this;\n            this._options = {\n                debug: false,\n                button: null,\n                multiple: true,\n                maxConnections: 3,\n                disableCancelForFormUploads: false,\n                autoUpload: true,\n                request: {\n                    customHeaders: {},\n                    endpoint: \"/server/upload\",\n                    filenameParam: \"qqfilename\",\n                    forceMultipart: true,\n                    inputName: \"qqfile\",\n                    method: \"POST\",\n                    params: {},\n                    paramsInBody: true,\n                    totalFileSizeName: \"qqtotalfilesize\",\n                    uuidName: \"qquuid\"\n                },\n                validation: {\n                    allowedExtensions: [],\n                    sizeLimit: 0,\n                    minSizeLimit: 0,\n                    itemLimit: 0,\n                    stopOnFirstInvalidFile: true,\n                    acceptFiles: null,\n                    image: {\n                        maxHeight: 0,\n                        maxWidth: 0,\n                        minHeight: 0,\n                        minWidth: 0\n                    },\n                    allowEmpty: false\n                },\n                callbacks: {\n                    onSubmit: function(id, name) {},\n                    onSubmitted: function(id, name) {},\n                    onComplete: function(id, name, responseJSON, maybeXhr) {},\n                    onAllComplete: function(successful, failed) {},\n                    onCancel: function(id, name) {},\n                    onUpload: function(id, name) {},\n                    onUploadChunk: function(id, name, chunkData) {},\n                    onUploadChunkSuccess: function(id, chunkData, responseJSON, xhr) {},\n                    onResume: function(id, fileName, chunkData) {},\n                    onProgress: function(id, name, loaded, total) {},\n                    onTotalProgress: function(loaded, total) {},\n                    onError: function(id, name, reason, maybeXhrOrXdr) {},\n                    onAutoRetry: function(id, name, attemptNumber) {},\n                    onManualRetry: function(id, name) {},\n                    onValidateBatch: function(fileOrBlobData) {},\n                    onValidate: function(fileOrBlobData) {},\n                    onSubmitDelete: function(id) {},\n                    onDelete: function(id) {},\n                    onDeleteComplete: function(id, xhrOrXdr, isError) {},\n                    onPasteReceived: function(blob) {},\n                    onStatusChange: function(id, oldStatus, newStatus) {},\n                    onSessionRequestComplete: function(response, success, xhrOrXdr) {}\n                },\n                messages: {\n                    typeError: \"{file} has an invalid extension. Valid extension(s): {extensions}.\",\n                    sizeError: \"{file} is too large, maximum file size is {sizeLimit}.\",\n                    minSizeError: \"{file} is too small, minimum file size is {minSizeLimit}.\",\n                    emptyError: \"{file} is empty, please select files again without it.\",\n                    noFilesError: \"No files to upload.\",\n                    tooManyItemsError: \"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.\",\n                    maxHeightImageError: \"Image is too tall.\",\n                    maxWidthImageError: \"Image is too wide.\",\n                    minHeightImageError: \"Image is not tall enough.\",\n                    minWidthImageError: \"Image is not wide enough.\",\n                    retryFailTooManyItems: \"Retry failed - you have reached your file limit.\",\n                    onLeave: \"The files are being uploaded, if you leave now the upload will be canceled.\",\n                    unsupportedBrowserIos8Safari: \"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues.\"\n                },\n                retry: {\n                    enableAuto: false,\n                    maxAutoAttempts: 3,\n                    autoAttemptDelay: 5,\n                    preventRetryResponseProperty: \"preventRetry\"\n                },\n                classes: {\n                    buttonHover: \"qq-upload-button-hover\",\n                    buttonFocus: \"qq-upload-button-focus\"\n                },\n                chunking: {\n                    enabled: false,\n                    concurrent: {\n                        enabled: false\n                    },\n                    mandatory: false,\n                    paramNames: {\n                        partIndex: \"qqpartindex\",\n                        partByteOffset: \"qqpartbyteoffset\",\n                        chunkSize: \"qqchunksize\",\n                        totalFileSize: \"qqtotalfilesize\",\n                        totalParts: \"qqtotalparts\"\n                    },\n                    partSize: 2e6,\n                    success: {\n                        endpoint: null\n                    }\n                },\n                resume: {\n                    enabled: false,\n                    recordsExpireIn: 7,\n                    paramNames: {\n                        resuming: \"qqresume\"\n                    }\n                },\n                formatFileName: function(fileOrBlobName) {\n                    return fileOrBlobName;\n                },\n                text: {\n                    defaultResponseError: \"Upload failure reason unknown\",\n                    fileInputTitle: \"file input\",\n                    sizeSymbols: [ \"kB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\" ]\n                },\n                deleteFile: {\n                    enabled: false,\n                    method: \"DELETE\",\n                    endpoint: \"/server/upload\",\n                    customHeaders: {},\n                    params: {}\n                },\n                cors: {\n                    expected: false,\n                    sendCredentials: false,\n                    allowXdr: false\n                },\n                blobs: {\n                    defaultName: \"misc_data\"\n                },\n                paste: {\n                    targetElement: null,\n                    defaultName: \"pasted_image\"\n                },\n                camera: {\n                    ios: false,\n                    button: null\n                },\n                extraButtons: [],\n                session: {\n                    endpoint: null,\n                    params: {},\n                    customHeaders: {},\n                    refreshOnReset: true\n                },\n                form: {\n                    element: \"qq-form\",\n                    autoUpload: false,\n                    interceptSubmit: true\n                },\n                scaling: {\n                    customResizer: null,\n                    sendOriginal: true,\n                    orient: true,\n                    defaultType: null,\n                    defaultQuality: 80,\n                    failureText: \"Failed to scale\",\n                    includeExif: false,\n                    sizes: []\n                },\n                workarounds: {\n                    iosEmptyVideos: true,\n                    ios8SafariUploads: true,\n                    ios8BrowserCrash: false\n                }\n            };\n            qq.extend(this._options, o, true);\n            this._buttons = [];\n            this._extraButtonSpecs = {};\n            this._buttonIdsForFileIds = [];\n            this._wrapCallbacks();\n            this._disposeSupport = new qq.DisposeSupport();\n            this._storedIds = [];\n            this._autoRetries = [];\n            this._retryTimeouts = [];\n            this._preventRetries = [];\n            this._thumbnailUrls = [];\n            this._netUploadedOrQueued = 0;\n            this._netUploaded = 0;\n            this._uploadData = this._createUploadDataTracker();\n            this._initFormSupportAndParams();\n            this._customHeadersStore = this._createStore(this._options.request.customHeaders);\n            this._deleteFileCustomHeadersStore = this._createStore(this._options.deleteFile.customHeaders);\n            this._deleteFileParamsStore = this._createStore(this._options.deleteFile.params);\n            this._endpointStore = this._createStore(this._options.request.endpoint);\n            this._deleteFileEndpointStore = this._createStore(this._options.deleteFile.endpoint);\n            this._handler = this._createUploadHandler();\n            this._deleteHandler = qq.DeleteFileAjaxRequester && this._createDeleteHandler();\n            if (this._options.button) {\n                this._defaultButtonId = this._createUploadButton({\n                    element: this._options.button,\n                    title: this._options.text.fileInputTitle\n                }).getButtonId();\n            }\n            this._generateExtraButtonSpecs();\n            this._handleCameraAccess();\n            if (this._options.paste.targetElement) {\n                if (qq.PasteSupport) {\n                    this._pasteHandler = this._createPasteHandler();\n                } else {\n                    this.log(\"Paste support module not found\", \"error\");\n                }\n            }\n            this._preventLeaveInProgress();\n            this._imageGenerator = qq.ImageGenerator && new qq.ImageGenerator(qq.bind(this.log, this));\n            this._refreshSessionData();\n            this._succeededSinceLastAllComplete = [];\n            this._failedSinceLastAllComplete = [];\n            this._scaler = qq.Scaler && new qq.Scaler(this._options.scaling, qq.bind(this.log, this)) || {};\n            if (this._scaler.enabled) {\n                this._customNewFileHandler = qq.bind(this._scaler.handleNewFile, this._scaler);\n            }\n            if (qq.TotalProgress && qq.supportedFeatures.progressBar) {\n                this._totalProgress = new qq.TotalProgress(qq.bind(this._onTotalProgress, this), function(id) {\n                    var entry = self._uploadData.retrieve({\n                        id: id\n                    });\n                    return entry && entry.size || 0;\n                });\n            }\n            this._currentItemLimit = this._options.validation.itemLimit;\n        };\n        qq.FineUploaderBasic.prototype = qq.basePublicApi;\n        qq.extend(qq.FineUploaderBasic.prototype, qq.basePrivateApi);\n    })();\n    qq.AjaxRequester = function(o) {\n        \"use strict\";\n        var log, shouldParamsBeInQueryString, queue = [], requestData = {}, options = {\n            acceptHeader: null,\n            validMethods: [ \"PATCH\", \"POST\", \"PUT\" ],\n            method: \"POST\",\n            contentType: \"application/x-www-form-urlencoded\",\n            maxConnections: 3,\n            customHeaders: {},\n            endpointStore: {},\n            paramsStore: {},\n            mandatedParams: {},\n            allowXRequestedWithAndCacheControl: true,\n            successfulResponseCodes: {\n                DELETE: [ 200, 202, 204 ],\n                PATCH: [ 200, 201, 202, 203, 204 ],\n                POST: [ 200, 201, 202, 203, 204 ],\n                PUT: [ 200, 201, 202, 203, 204 ],\n                GET: [ 200 ]\n            },\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onSend: function(id) {},\n            onComplete: function(id, xhrOrXdr, isError) {},\n            onProgress: null\n        };\n        qq.extend(options, o);\n        log = options.log;\n        if (qq.indexOf(options.validMethods, options.method) < 0) {\n            throw new Error(\"'\" + options.method + \"' is not a supported method for this type of request!\");\n        }\n        function isSimpleMethod() {\n            return qq.indexOf([ \"GET\", \"POST\", \"HEAD\" ], options.method) >= 0;\n        }\n        function containsNonSimpleHeaders(headers) {\n            var containsNonSimple = false;\n            qq.each(containsNonSimple, function(idx, header) {\n                if (qq.indexOf([ \"Accept\", \"Accept-Language\", \"Content-Language\", \"Content-Type\" ], header) < 0) {\n                    containsNonSimple = true;\n                    return false;\n                }\n            });\n            return containsNonSimple;\n        }\n        function isXdr(xhr) {\n            return options.cors.expected && xhr.withCredentials === undefined;\n        }\n        function getCorsAjaxTransport() {\n            var xhrOrXdr;\n            if (window.XMLHttpRequest || window.ActiveXObject) {\n                xhrOrXdr = qq.createXhrInstance();\n                if (xhrOrXdr.withCredentials === undefined) {\n                    xhrOrXdr = new XDomainRequest();\n                    xhrOrXdr.onload = function() {};\n                    xhrOrXdr.onerror = function() {};\n                    xhrOrXdr.ontimeout = function() {};\n                    xhrOrXdr.onprogress = function() {};\n                }\n            }\n            return xhrOrXdr;\n        }\n        function getXhrOrXdr(id, suppliedXhr) {\n            var xhrOrXdr = requestData[id].xhr;\n            if (!xhrOrXdr) {\n                if (suppliedXhr) {\n                    xhrOrXdr = suppliedXhr;\n                } else {\n                    if (options.cors.expected) {\n                        xhrOrXdr = getCorsAjaxTransport();\n                    } else {\n                        xhrOrXdr = qq.createXhrInstance();\n                    }\n                }\n                requestData[id].xhr = xhrOrXdr;\n            }\n            return xhrOrXdr;\n        }\n        function dequeue(id) {\n            var i = qq.indexOf(queue, id), max = options.maxConnections, nextId;\n            delete requestData[id];\n            queue.splice(i, 1);\n            if (queue.length >= max && i < max) {\n                nextId = queue[max - 1];\n                sendRequest(nextId);\n            }\n        }\n        function onComplete(id, xdrError) {\n            var xhr = getXhrOrXdr(id), method = options.method, isError = xdrError === true;\n            dequeue(id);\n            if (isError) {\n                log(method + \" request for \" + id + \" has failed\", \"error\");\n            } else if (!isXdr(xhr) && !isResponseSuccessful(xhr.status)) {\n                isError = true;\n                log(method + \" request for \" + id + \" has failed - response code \" + xhr.status, \"error\");\n            }\n            options.onComplete(id, xhr, isError);\n        }\n        function getParams(id) {\n            var onDemandParams = requestData[id].additionalParams, mandatedParams = options.mandatedParams, params;\n            if (options.paramsStore.get) {\n                params = options.paramsStore.get(id);\n            }\n            if (onDemandParams) {\n                qq.each(onDemandParams, function(name, val) {\n                    params = params || {};\n                    params[name] = val;\n                });\n            }\n            if (mandatedParams) {\n                qq.each(mandatedParams, function(name, val) {\n                    params = params || {};\n                    params[name] = val;\n                });\n            }\n            return params;\n        }\n        function sendRequest(id, optXhr) {\n            var xhr = getXhrOrXdr(id, optXhr), method = options.method, params = getParams(id), payload = requestData[id].payload, url;\n            options.onSend(id);\n            url = createUrl(id, params, requestData[id].additionalQueryParams);\n            if (isXdr(xhr)) {\n                xhr.onload = getXdrLoadHandler(id);\n                xhr.onerror = getXdrErrorHandler(id);\n            } else {\n                xhr.onreadystatechange = getXhrReadyStateChangeHandler(id);\n            }\n            registerForUploadProgress(id);\n            xhr.open(method, url, true);\n            if (options.cors.expected && options.cors.sendCredentials && !isXdr(xhr)) {\n                xhr.withCredentials = true;\n            }\n            setHeaders(id);\n            log(\"Sending \" + method + \" request for \" + id);\n            if (payload) {\n                xhr.send(payload);\n            } else if (shouldParamsBeInQueryString || !params) {\n                xhr.send();\n            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/x-www-form-urlencoded\") >= 0) {\n                xhr.send(qq.obj2url(params, \"\"));\n            } else if (params && options.contentType && options.contentType.toLowerCase().indexOf(\"application/json\") >= 0) {\n                xhr.send(JSON.stringify(params));\n            } else {\n                xhr.send(params);\n            }\n            return xhr;\n        }\n        function createUrl(id, params, additionalQueryParams) {\n            var endpoint = options.endpointStore.get(id), addToPath = requestData[id].addToPath;\n            if (addToPath != undefined) {\n                endpoint += \"/\" + addToPath;\n            }\n            if (shouldParamsBeInQueryString && params) {\n                endpoint = qq.obj2url(params, endpoint);\n            }\n            if (additionalQueryParams) {\n                endpoint = qq.obj2url(additionalQueryParams, endpoint);\n            }\n            return endpoint;\n        }\n        function getXhrReadyStateChangeHandler(id) {\n            return function() {\n                if (getXhrOrXdr(id).readyState === 4) {\n                    onComplete(id);\n                }\n            };\n        }\n        function registerForUploadProgress(id) {\n            var onProgress = options.onProgress;\n            if (onProgress) {\n                getXhrOrXdr(id).upload.onprogress = function(e) {\n                    if (e.lengthComputable) {\n                        onProgress(id, e.loaded, e.total);\n                    }\n                };\n            }\n        }\n        function getXdrLoadHandler(id) {\n            return function() {\n                onComplete(id);\n            };\n        }\n        function getXdrErrorHandler(id) {\n            return function() {\n                onComplete(id, true);\n            };\n        }\n        function setHeaders(id) {\n            var xhr = getXhrOrXdr(id), customHeaders = options.customHeaders, onDemandHeaders = requestData[id].additionalHeaders || {}, method = options.method, allHeaders = {};\n            if (!isXdr(xhr)) {\n                options.acceptHeader && xhr.setRequestHeader(\"Accept\", options.acceptHeader);\n                if (options.allowXRequestedWithAndCacheControl) {\n                    if (!options.cors.expected || (!isSimpleMethod() || containsNonSimpleHeaders(customHeaders))) {\n                        xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n                        xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n                    }\n                }\n                if (options.contentType && (method === \"POST\" || method === \"PUT\")) {\n                    xhr.setRequestHeader(\"Content-Type\", options.contentType);\n                }\n                qq.extend(allHeaders, qq.isFunction(customHeaders) ? customHeaders(id) : customHeaders);\n                qq.extend(allHeaders, onDemandHeaders);\n                qq.each(allHeaders, function(name, val) {\n                    xhr.setRequestHeader(name, val);\n                });\n            }\n        }\n        function isResponseSuccessful(responseCode) {\n            return qq.indexOf(options.successfulResponseCodes[options.method], responseCode) >= 0;\n        }\n        function prepareToSend(id, optXhr, addToPath, additionalParams, additionalQueryParams, additionalHeaders, payload) {\n            requestData[id] = {\n                addToPath: addToPath,\n                additionalParams: additionalParams,\n                additionalQueryParams: additionalQueryParams,\n                additionalHeaders: additionalHeaders,\n                payload: payload\n            };\n            var len = queue.push(id);\n            if (len <= options.maxConnections) {\n                return sendRequest(id, optXhr);\n            }\n        }\n        shouldParamsBeInQueryString = options.method === \"GET\" || options.method === \"DELETE\";\n        qq.extend(this, {\n            initTransport: function(id) {\n                var path, params, headers, payload, cacheBuster, additionalQueryParams;\n                return {\n                    withPath: function(appendToPath) {\n                        path = appendToPath;\n                        return this;\n                    },\n                    withParams: function(additionalParams) {\n                        params = additionalParams;\n                        return this;\n                    },\n                    withQueryParams: function(_additionalQueryParams_) {\n                        additionalQueryParams = _additionalQueryParams_;\n                        return this;\n                    },\n                    withHeaders: function(additionalHeaders) {\n                        headers = additionalHeaders;\n                        return this;\n                    },\n                    withPayload: function(thePayload) {\n                        payload = thePayload;\n                        return this;\n                    },\n                    withCacheBuster: function() {\n                        cacheBuster = true;\n                        return this;\n                    },\n                    send: function(optXhr) {\n                        if (cacheBuster && qq.indexOf([ \"GET\", \"DELETE\" ], options.method) >= 0) {\n                            params.qqtimestamp = new Date().getTime();\n                        }\n                        return prepareToSend(id, optXhr, path, params, additionalQueryParams, headers, payload);\n                    }\n                };\n            },\n            canceled: function(id) {\n                dequeue(id);\n            }\n        });\n    };\n    qq.UploadHandler = function(spec) {\n        \"use strict\";\n        var proxy = spec.proxy, fileState = {}, onCancel = proxy.onCancel, getName = proxy.getName;\n        qq.extend(this, {\n            add: function(id, fileItem) {\n                fileState[id] = fileItem;\n                fileState[id].temp = {};\n            },\n            cancel: function(id) {\n                var self = this, cancelFinalizationEffort = new qq.Promise(), onCancelRetVal = onCancel(id, getName(id), cancelFinalizationEffort);\n                onCancelRetVal.then(function() {\n                    if (self.isValid(id)) {\n                        fileState[id].canceled = true;\n                        self.expunge(id);\n                    }\n                    cancelFinalizationEffort.success();\n                });\n            },\n            expunge: function(id) {\n                delete fileState[id];\n            },\n            getThirdPartyFileId: function(id) {\n                return fileState[id].key;\n            },\n            isValid: function(id) {\n                return fileState[id] !== undefined;\n            },\n            reset: function() {\n                fileState = {};\n            },\n            _getFileState: function(id) {\n                return fileState[id];\n            },\n            _setThirdPartyFileId: function(id, thirdPartyFileId) {\n                fileState[id].key = thirdPartyFileId;\n            },\n            _wasCanceled: function(id) {\n                return !!fileState[id].canceled;\n            }\n        });\n    };\n    qq.UploadHandlerController = function(o, namespace) {\n        \"use strict\";\n        var controller = this, chunkingPossible = false, concurrentChunkingPossible = false, chunking, preventRetryResponse, log, handler, options = {\n            paramsStore: {},\n            maxConnections: 3,\n            chunking: {\n                enabled: false,\n                multiple: {\n                    enabled: false\n                }\n            },\n            log: function(str, level) {},\n            onProgress: function(id, fileName, loaded, total) {},\n            onComplete: function(id, fileName, response, xhr) {},\n            onCancel: function(id, fileName) {},\n            onUploadPrep: function(id) {},\n            onUpload: function(id, fileName) {},\n            onUploadChunk: function(id, fileName, chunkData) {},\n            onUploadChunkSuccess: function(id, chunkData, response, xhr) {},\n            onAutoRetry: function(id, fileName, response, xhr) {},\n            onResume: function(id, fileName, chunkData) {},\n            onUuidChanged: function(id, newUuid) {},\n            getName: function(id) {},\n            setSize: function(id, newSize) {},\n            isQueued: function(id) {},\n            getIdsInProxyGroup: function(id) {},\n            getIdsInBatch: function(id) {}\n        }, chunked = {\n            done: function(id, chunkIdx, response, xhr) {\n                var chunkData = handler._getChunkData(id, chunkIdx);\n                handler._getFileState(id).attemptingResume = false;\n                delete handler._getFileState(id).temp.chunkProgress[chunkIdx];\n                handler._getFileState(id).loaded += chunkData.size;\n                options.onUploadChunkSuccess(id, handler._getChunkDataForCallback(chunkData), response, xhr);\n            },\n            finalize: function(id) {\n                var size = options.getSize(id), name = options.getName(id);\n                log(\"All chunks have been uploaded for \" + id + \" - finalizing....\");\n                handler.finalizeChunks(id).then(function(response, xhr) {\n                    log(\"Finalize successful for \" + id);\n                    var normaizedResponse = upload.normalizeResponse(response, true);\n                    options.onProgress(id, name, size, size);\n                    handler._maybeDeletePersistedChunkData(id);\n                    upload.cleanup(id, normaizedResponse, xhr);\n                }, function(response, xhr) {\n                    var normaizedResponse = upload.normalizeResponse(response, false);\n                    log(\"Problem finalizing chunks for file ID \" + id + \" - \" + normaizedResponse.error, \"error\");\n                    if (normaizedResponse.reset) {\n                        chunked.reset(id);\n                    }\n                    if (!options.onAutoRetry(id, name, normaizedResponse, xhr)) {\n                        upload.cleanup(id, normaizedResponse, xhr);\n                    }\n                });\n            },\n            handleFailure: function(chunkIdx, id, response, xhr) {\n                var name = options.getName(id);\n                log(\"Chunked upload request failed for \" + id + \", chunk \" + chunkIdx);\n                handler.clearCachedChunk(id, chunkIdx);\n                var responseToReport = upload.normalizeResponse(response, false), inProgressIdx;\n                if (responseToReport.reset) {\n                    chunked.reset(id);\n                } else {\n                    inProgressIdx = qq.indexOf(handler._getFileState(id).chunking.inProgress, chunkIdx);\n                    if (inProgressIdx >= 0) {\n                        handler._getFileState(id).chunking.inProgress.splice(inProgressIdx, 1);\n                        handler._getFileState(id).chunking.remaining.unshift(chunkIdx);\n                    }\n                }\n                if (!handler._getFileState(id).temp.ignoreFailure) {\n                    if (concurrentChunkingPossible) {\n                        handler._getFileState(id).temp.ignoreFailure = true;\n                        log(qq.format(\"Going to attempt to abort these chunks: {}. These are currently in-progress: {}.\", JSON.stringify(Object.keys(handler._getXhrs(id))), JSON.stringify(handler._getFileState(id).chunking.inProgress)));\n                        qq.each(handler._getXhrs(id), function(ckid, ckXhr) {\n                            log(qq.format(\"Attempting to abort file {}.{}. XHR readyState {}. \", id, ckid, ckXhr.readyState));\n                            ckXhr.abort();\n                            ckXhr._cancelled = true;\n                        });\n                        handler.moveInProgressToRemaining(id);\n                        connectionManager.free(id, true);\n                    }\n                    if (!options.onAutoRetry(id, name, responseToReport, xhr)) {\n                        upload.cleanup(id, responseToReport, xhr);\n                    }\n                }\n            },\n            hasMoreParts: function(id) {\n                return !!handler._getFileState(id).chunking.remaining.length;\n            },\n            nextPart: function(id) {\n                var nextIdx = handler._getFileState(id).chunking.remaining.shift();\n                if (nextIdx >= handler._getTotalChunks(id)) {\n                    nextIdx = null;\n                }\n                return nextIdx;\n            },\n            reset: function(id) {\n                log(\"Server or callback has ordered chunking effort to be restarted on next attempt for item ID \" + id, \"error\");\n                handler._maybeDeletePersistedChunkData(id);\n                handler.reevaluateChunking(id);\n                handler._getFileState(id).loaded = 0;\n            },\n            sendNext: function(id) {\n                var size = options.getSize(id), name = options.getName(id), chunkIdx = chunked.nextPart(id), chunkData = handler._getChunkData(id, chunkIdx), resuming = handler._getFileState(id).attemptingResume, inProgressChunks = handler._getFileState(id).chunking.inProgress || [];\n                if (handler._getFileState(id).loaded == null) {\n                    handler._getFileState(id).loaded = 0;\n                }\n                if (resuming && options.onResume(id, name, chunkData) === false) {\n                    chunked.reset(id);\n                    chunkIdx = chunked.nextPart(id);\n                    chunkData = handler._getChunkData(id, chunkIdx);\n                    resuming = false;\n                }\n                if (chunkIdx == null && inProgressChunks.length === 0) {\n                    chunked.finalize(id);\n                } else {\n                    log(qq.format(\"Sending chunked upload request for item {}.{}, bytes {}-{} of {}.\", id, chunkIdx, chunkData.start + 1, chunkData.end, size));\n                    options.onUploadChunk(id, name, handler._getChunkDataForCallback(chunkData));\n                    inProgressChunks.push(chunkIdx);\n                    handler._getFileState(id).chunking.inProgress = inProgressChunks;\n                    if (concurrentChunkingPossible) {\n                        connectionManager.open(id, chunkIdx);\n                    }\n                    if (concurrentChunkingPossible && connectionManager.available() && handler._getFileState(id).chunking.remaining.length) {\n                        chunked.sendNext(id);\n                    }\n                    if (chunkData.blob.size === 0) {\n                        log(qq.format(\"Chunk {} for file {} will not be uploaded, zero sized chunk.\", chunkIdx, id), \"error\");\n                        chunked.handleFailure(chunkIdx, id, \"File is no longer available\", null);\n                    } else {\n                        handler.uploadChunk(id, chunkIdx, resuming).then(function success(response, xhr) {\n                            log(\"Chunked upload request succeeded for \" + id + \", chunk \" + chunkIdx);\n                            handler.clearCachedChunk(id, chunkIdx);\n                            var inProgressChunks = handler._getFileState(id).chunking.inProgress || [], responseToReport = upload.normalizeResponse(response, true), inProgressChunkIdx = qq.indexOf(inProgressChunks, chunkIdx);\n                            log(qq.format(\"Chunk {} for file {} uploaded successfully.\", chunkIdx, id));\n                            chunked.done(id, chunkIdx, responseToReport, xhr);\n                            if (inProgressChunkIdx >= 0) {\n                                inProgressChunks.splice(inProgressChunkIdx, 1);\n                            }\n                            handler._maybePersistChunkedState(id);\n                            if (!chunked.hasMoreParts(id) && inProgressChunks.length === 0) {\n                                chunked.finalize(id);\n                            } else if (chunked.hasMoreParts(id)) {\n                                chunked.sendNext(id);\n                            } else {\n                                log(qq.format(\"File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}\", id, JSON.stringify(inProgressChunks)));\n                            }\n                        }, function failure(response, xhr) {\n                            chunked.handleFailure(chunkIdx, id, response, xhr);\n                        }).done(function() {\n                            handler.clearXhr(id, chunkIdx);\n                        });\n                    }\n                }\n            }\n        }, connectionManager = {\n            _open: [],\n            _openChunks: {},\n            _waiting: [],\n            available: function() {\n                var max = options.maxConnections, openChunkEntriesCount = 0, openChunksCount = 0;\n                qq.each(connectionManager._openChunks, function(fileId, openChunkIndexes) {\n                    openChunkEntriesCount++;\n                    openChunksCount += openChunkIndexes.length;\n                });\n                return max - (connectionManager._open.length - openChunkEntriesCount + openChunksCount);\n            },\n            free: function(id, dontAllowNext) {\n                var allowNext = !dontAllowNext, waitingIndex = qq.indexOf(connectionManager._waiting, id), connectionsIndex = qq.indexOf(connectionManager._open, id), nextId;\n                delete connectionManager._openChunks[id];\n                if (upload.getProxyOrBlob(id) instanceof qq.BlobProxy) {\n                    log(\"Generated blob upload has ended for \" + id + \", disposing generated blob.\");\n                    delete handler._getFileState(id).file;\n                }\n                if (waitingIndex >= 0) {\n                    connectionManager._waiting.splice(waitingIndex, 1);\n                } else if (allowNext && connectionsIndex >= 0) {\n                    connectionManager._open.splice(connectionsIndex, 1);\n                    nextId = connectionManager._waiting.shift();\n                    if (nextId >= 0) {\n                        connectionManager._open.push(nextId);\n                        upload.start(nextId);\n                    }\n                }\n            },\n            getWaitingOrConnected: function() {\n                var waitingOrConnected = [];\n                qq.each(connectionManager._openChunks, function(fileId, chunks) {\n                    if (chunks && chunks.length) {\n                        waitingOrConnected.push(parseInt(fileId));\n                    }\n                });\n                qq.each(connectionManager._open, function(idx, fileId) {\n                    if (!connectionManager._openChunks[fileId]) {\n                        waitingOrConnected.push(parseInt(fileId));\n                    }\n                });\n                waitingOrConnected = waitingOrConnected.concat(connectionManager._waiting);\n                return waitingOrConnected;\n            },\n            isUsingConnection: function(id) {\n                return qq.indexOf(connectionManager._open, id) >= 0;\n            },\n            open: function(id, chunkIdx) {\n                if (chunkIdx == null) {\n                    connectionManager._waiting.push(id);\n                }\n                if (connectionManager.available()) {\n                    if (chunkIdx == null) {\n                        connectionManager._waiting.pop();\n                        connectionManager._open.push(id);\n                    } else {\n                        (function() {\n                            var openChunksEntry = connectionManager._openChunks[id] || [];\n                            openChunksEntry.push(chunkIdx);\n                            connectionManager._openChunks[id] = openChunksEntry;\n                        })();\n                    }\n                    return true;\n                }\n                return false;\n            },\n            reset: function() {\n                connectionManager._waiting = [];\n                connectionManager._open = [];\n            }\n        }, simple = {\n            send: function(id, name) {\n                handler._getFileState(id).loaded = 0;\n                log(\"Sending simple upload request for \" + id);\n                handler.uploadFile(id).then(function(response, optXhr) {\n                    log(\"Simple upload request succeeded for \" + id);\n                    var responseToReport = upload.normalizeResponse(response, true), size = options.getSize(id);\n                    options.onProgress(id, name, size, size);\n                    upload.maybeNewUuid(id, responseToReport);\n                    upload.cleanup(id, responseToReport, optXhr);\n                }, function(response, optXhr) {\n                    log(\"Simple upload request failed for \" + id);\n                    var responseToReport = upload.normalizeResponse(response, false);\n                    if (!options.onAutoRetry(id, name, responseToReport, optXhr)) {\n                        upload.cleanup(id, responseToReport, optXhr);\n                    }\n                });\n            }\n        }, upload = {\n            cancel: function(id) {\n                log(\"Cancelling \" + id);\n                options.paramsStore.remove(id);\n                connectionManager.free(id);\n            },\n            cleanup: function(id, response, optXhr) {\n                var name = options.getName(id);\n                options.onComplete(id, name, response, optXhr);\n                if (handler._getFileState(id)) {\n                    handler._clearXhrs && handler._clearXhrs(id);\n                }\n                connectionManager.free(id);\n            },\n            getProxyOrBlob: function(id) {\n                return handler.getProxy && handler.getProxy(id) || handler.getFile && handler.getFile(id);\n            },\n            initHandler: function() {\n                var handlerType = namespace ? qq[namespace] : qq.traditional, handlerModuleSubtype = qq.supportedFeatures.ajaxUploading ? \"Xhr\" : \"Form\";\n                handler = new handlerType[handlerModuleSubtype + \"UploadHandler\"](options, {\n                    getDataByUuid: options.getDataByUuid,\n                    getName: options.getName,\n                    getSize: options.getSize,\n                    getUuid: options.getUuid,\n                    log: log,\n                    onCancel: options.onCancel,\n                    onProgress: options.onProgress,\n                    onUuidChanged: options.onUuidChanged\n                });\n                if (handler._removeExpiredChunkingRecords) {\n                    handler._removeExpiredChunkingRecords();\n                }\n            },\n            isDeferredEligibleForUpload: function(id) {\n                return options.isQueued(id);\n            },\n            maybeDefer: function(id, blob) {\n                if (blob && !handler.getFile(id) && blob instanceof qq.BlobProxy) {\n                    options.onUploadPrep(id);\n                    log(\"Attempting to generate a blob on-demand for \" + id);\n                    blob.create().then(function(generatedBlob) {\n                        log(\"Generated an on-demand blob for \" + id);\n                        handler.updateBlob(id, generatedBlob);\n                        options.setSize(id, generatedBlob.size);\n                        handler.reevaluateChunking(id);\n                        upload.maybeSendDeferredFiles(id);\n                    }, function(errorMessage) {\n                        var errorResponse = {};\n                        if (errorMessage) {\n                            errorResponse.error = errorMessage;\n                        }\n                        log(qq.format(\"Failed to generate blob for ID {}.  Error message: {}.\", id, errorMessage), \"error\");\n                        options.onComplete(id, options.getName(id), qq.extend(errorResponse, preventRetryResponse), null);\n                        upload.maybeSendDeferredFiles(id);\n                        connectionManager.free(id);\n                    });\n                } else {\n                    return upload.maybeSendDeferredFiles(id);\n                }\n                return false;\n            },\n            maybeSendDeferredFiles: function(id) {\n                var idsInGroup = options.getIdsInProxyGroup(id), uploadedThisId = false;\n                if (idsInGroup && idsInGroup.length) {\n                    log(\"Maybe ready to upload proxy group file \" + id);\n                    qq.each(idsInGroup, function(idx, idInGroup) {\n                        if (upload.isDeferredEligibleForUpload(idInGroup) && !!handler.getFile(idInGroup)) {\n                            uploadedThisId = idInGroup === id;\n                            upload.now(idInGroup);\n                        } else if (upload.isDeferredEligibleForUpload(idInGroup)) {\n                            return false;\n                        }\n                    });\n                } else {\n                    uploadedThisId = true;\n                    upload.now(id);\n                }\n                return uploadedThisId;\n            },\n            maybeNewUuid: function(id, response) {\n                if (response.newUuid !== undefined) {\n                    options.onUuidChanged(id, response.newUuid);\n                }\n            },\n            normalizeResponse: function(originalResponse, successful) {\n                var response = originalResponse;\n                if (!qq.isObject(originalResponse)) {\n                    response = {};\n                    if (qq.isString(originalResponse) && !successful) {\n                        response.error = originalResponse;\n                    }\n                }\n                response.success = successful;\n                return response;\n            },\n            now: function(id) {\n                var name = options.getName(id);\n                if (!controller.isValid(id)) {\n                    throw new qq.Error(id + \" is not a valid file ID to upload!\");\n                }\n                options.onUpload(id, name);\n                if (chunkingPossible && handler._shouldChunkThisFile(id)) {\n                    chunked.sendNext(id);\n                } else {\n                    simple.send(id, name);\n                }\n            },\n            start: function(id) {\n                var blobToUpload = upload.getProxyOrBlob(id);\n                if (blobToUpload) {\n                    return upload.maybeDefer(id, blobToUpload);\n                } else {\n                    upload.now(id);\n                    return true;\n                }\n            }\n        };\n        qq.extend(this, {\n            add: function(id, file) {\n                handler.add.apply(this, arguments);\n            },\n            upload: function(id) {\n                if (connectionManager.open(id)) {\n                    return upload.start(id);\n                }\n                return false;\n            },\n            retry: function(id) {\n                if (concurrentChunkingPossible) {\n                    handler._getFileState(id).temp.ignoreFailure = false;\n                }\n                if (connectionManager.isUsingConnection(id)) {\n                    return upload.start(id);\n                } else {\n                    return controller.upload(id);\n                }\n            },\n            cancel: function(id) {\n                var cancelRetVal = handler.cancel(id);\n                if (qq.isGenericPromise(cancelRetVal)) {\n                    cancelRetVal.then(function() {\n                        upload.cancel(id);\n                    });\n                } else if (cancelRetVal !== false) {\n                    upload.cancel(id);\n                }\n            },\n            cancelAll: function() {\n                var waitingOrConnected = connectionManager.getWaitingOrConnected(), i;\n                if (waitingOrConnected.length) {\n                    for (i = waitingOrConnected.length - 1; i >= 0; i--) {\n                        controller.cancel(waitingOrConnected[i]);\n                    }\n                }\n                connectionManager.reset();\n            },\n            getFile: function(id) {\n                if (handler.getProxy && handler.getProxy(id)) {\n                    return handler.getProxy(id).referenceBlob;\n                }\n                return handler.getFile && handler.getFile(id);\n            },\n            isProxied: function(id) {\n                return !!(handler.getProxy && handler.getProxy(id));\n            },\n            getInput: function(id) {\n                if (handler.getInput) {\n                    return handler.getInput(id);\n                }\n            },\n            reset: function() {\n                log(\"Resetting upload handler\");\n                controller.cancelAll();\n                connectionManager.reset();\n                handler.reset();\n            },\n            expunge: function(id) {\n                if (controller.isValid(id)) {\n                    return handler.expunge(id);\n                }\n            },\n            isValid: function(id) {\n                return handler.isValid(id);\n            },\n            getResumableFilesData: function() {\n                if (handler.getResumableFilesData) {\n                    return handler.getResumableFilesData();\n                }\n                return [];\n            },\n            getThirdPartyFileId: function(id) {\n                if (controller.isValid(id)) {\n                    return handler.getThirdPartyFileId(id);\n                }\n            },\n            pause: function(id) {\n                if (controller.isResumable(id) && handler.pause && controller.isValid(id) && handler.pause(id)) {\n                    connectionManager.free(id);\n                    handler.moveInProgressToRemaining(id);\n                    return true;\n                }\n                return false;\n            },\n            isResumable: function(id) {\n                return !!handler.isResumable && handler.isResumable(id);\n            }\n        });\n        qq.extend(options, o);\n        log = options.log;\n        chunkingPossible = options.chunking.enabled && qq.supportedFeatures.chunking;\n        concurrentChunkingPossible = chunkingPossible && options.chunking.concurrent.enabled;\n        preventRetryResponse = function() {\n            var response = {};\n            response[options.preventRetryParam] = true;\n            return response;\n        }();\n        upload.initHandler();\n    };\n    qq.WindowReceiveMessage = function(o) {\n        \"use strict\";\n        var options = {\n            log: function(message, level) {}\n        }, callbackWrapperDetachers = {};\n        qq.extend(options, o);\n        qq.extend(this, {\n            receiveMessage: function(id, callback) {\n                var onMessageCallbackWrapper = function(event) {\n                    callback(event.data);\n                };\n                if (window.postMessage) {\n                    callbackWrapperDetachers[id] = qq(window).attach(\"message\", onMessageCallbackWrapper);\n                } else {\n                    log(\"iframe message passing not supported in this browser!\", \"error\");\n                }\n            },\n            stopReceivingMessages: function(id) {\n                if (window.postMessage) {\n                    var detacher = callbackWrapperDetachers[id];\n                    if (detacher) {\n                        detacher();\n                    }\n                }\n            }\n        });\n    };\n    qq.FormUploadHandler = function(spec) {\n        \"use strict\";\n        var options = spec.options, handler = this, proxy = spec.proxy, formHandlerInstanceId = qq.getUniqueId(), onloadCallbacks = {}, detachLoadEvents = {}, postMessageCallbackTimers = {}, isCors = options.isCors, inputName = options.inputName, getUuid = proxy.getUuid, log = proxy.log, corsMessageReceiver = new qq.WindowReceiveMessage({\n            log: log\n        });\n        function expungeFile(id) {\n            delete detachLoadEvents[id];\n            if (isCors) {\n                clearTimeout(postMessageCallbackTimers[id]);\n                delete postMessageCallbackTimers[id];\n                corsMessageReceiver.stopReceivingMessages(id);\n            }\n            var iframe = document.getElementById(handler._getIframeName(id));\n            if (iframe) {\n                iframe.setAttribute(\"src\", \"javascript:false;\");\n                qq(iframe).remove();\n            }\n        }\n        function getFileIdForIframeName(iframeName) {\n            return iframeName.split(\"_\")[0];\n        }\n        function initIframeForUpload(name) {\n            var iframe = qq.toElement(\"<iframe src='javascript:false;' name='\" + name + \"' />\");\n            iframe.setAttribute(\"id\", name);\n            iframe.style.display = \"none\";\n            document.body.appendChild(iframe);\n            return iframe;\n        }\n        function registerPostMessageCallback(iframe, callback) {\n            var iframeName = iframe.id, fileId = getFileIdForIframeName(iframeName), uuid = getUuid(fileId);\n            onloadCallbacks[uuid] = callback;\n            detachLoadEvents[fileId] = qq(iframe).attach(\"load\", function() {\n                if (handler.getInput(fileId)) {\n                    log(\"Received iframe load event for CORS upload request (iframe name \" + iframeName + \")\");\n                    postMessageCallbackTimers[iframeName] = setTimeout(function() {\n                        var errorMessage = \"No valid message received from loaded iframe for iframe name \" + iframeName;\n                        log(errorMessage, \"error\");\n                        callback({\n                            error: errorMessage\n                        });\n                    }, 1e3);\n                }\n            });\n            corsMessageReceiver.receiveMessage(iframeName, function(message) {\n                log(\"Received the following window message: '\" + message + \"'\");\n                var fileId = getFileIdForIframeName(iframeName), response = handler._parseJsonResponse(message), uuid = response.uuid, onloadCallback;\n                if (uuid && onloadCallbacks[uuid]) {\n                    log(\"Handling response for iframe name \" + iframeName);\n                    clearTimeout(postMessageCallbackTimers[iframeName]);\n                    delete postMessageCallbackTimers[iframeName];\n                    handler._detachLoadEvent(iframeName);\n                    onloadCallback = onloadCallbacks[uuid];\n                    delete onloadCallbacks[uuid];\n                    corsMessageReceiver.stopReceivingMessages(iframeName);\n                    onloadCallback(response);\n                } else if (!uuid) {\n                    log(\"'\" + message + \"' does not contain a UUID - ignoring.\");\n                }\n            });\n        }\n        qq.extend(this, new qq.UploadHandler(spec));\n        qq.override(this, function(super_) {\n            return {\n                add: function(id, fileInput) {\n                    super_.add(id, {\n                        input: fileInput\n                    });\n                    fileInput.setAttribute(\"name\", inputName);\n                    if (fileInput.parentNode) {\n                        qq(fileInput).remove();\n                    }\n                },\n                expunge: function(id) {\n                    expungeFile(id);\n                    super_.expunge(id);\n                },\n                isValid: function(id) {\n                    return super_.isValid(id) && handler._getFileState(id).input !== undefined;\n                }\n            };\n        });\n        qq.extend(this, {\n            getInput: function(id) {\n                return handler._getFileState(id).input;\n            },\n            _attachLoadEvent: function(iframe, callback) {\n                var responseDescriptor;\n                if (isCors) {\n                    registerPostMessageCallback(iframe, callback);\n                } else {\n                    detachLoadEvents[iframe.id] = qq(iframe).attach(\"load\", function() {\n                        log(\"Received response for \" + iframe.id);\n                        if (!iframe.parentNode) {\n                            return;\n                        }\n                        try {\n                            if (iframe.contentDocument && iframe.contentDocument.body && iframe.contentDocument.body.innerHTML == \"false\") {\n                                return;\n                            }\n                        } catch (error) {\n                            log(\"Error when attempting to access iframe during handling of upload response (\" + error.message + \")\", \"error\");\n                            responseDescriptor = {\n                                success: false\n                            };\n                        }\n                        callback(responseDescriptor);\n                    });\n                }\n            },\n            _createIframe: function(id) {\n                var iframeName = handler._getIframeName(id);\n                return initIframeForUpload(iframeName);\n            },\n            _detachLoadEvent: function(id) {\n                if (detachLoadEvents[id] !== undefined) {\n                    detachLoadEvents[id]();\n                    delete detachLoadEvents[id];\n                }\n            },\n            _getIframeName: function(fileId) {\n                return fileId + \"_\" + formHandlerInstanceId;\n            },\n            _initFormForUpload: function(spec) {\n                var method = spec.method, endpoint = spec.endpoint, params = spec.params, paramsInBody = spec.paramsInBody, targetName = spec.targetName, form = qq.toElement(\"<form method='\" + method + \"' enctype='multipart/form-data'></form>\"), url = endpoint;\n                if (paramsInBody) {\n                    qq.obj2Inputs(params, form);\n                } else {\n                    url = qq.obj2url(params, endpoint);\n                }\n                form.setAttribute(\"action\", url);\n                form.setAttribute(\"target\", targetName);\n                form.style.display = \"none\";\n                document.body.appendChild(form);\n                return form;\n            },\n            _parseJsonResponse: function(innerHtmlOrMessage) {\n                var response = {};\n                try {\n                    response = qq.parseJson(innerHtmlOrMessage);\n                } catch (error) {\n                    log(\"Error when attempting to parse iframe upload response (\" + error.message + \")\", \"error\");\n                }\n                return response;\n            }\n        });\n    };\n    qq.XhrUploadHandler = function(spec) {\n        \"use strict\";\n        var handler = this, namespace = spec.options.namespace, proxy = spec.proxy, chunking = spec.options.chunking, resume = spec.options.resume, chunkFiles = chunking && spec.options.chunking.enabled && qq.supportedFeatures.chunking, resumeEnabled = resume && spec.options.resume.enabled && chunkFiles && qq.supportedFeatures.resume, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, getEndpoint = proxy.getEndpoint, getDataByUuid = proxy.getDataByUuid, onUuidChanged = proxy.onUuidChanged, onProgress = proxy.onProgress, log = proxy.log;\n        function abort(id) {\n            qq.each(handler._getXhrs(id), function(xhrId, xhr) {\n                var ajaxRequester = handler._getAjaxRequester(id, xhrId);\n                xhr.onreadystatechange = null;\n                xhr.upload.onprogress = null;\n                xhr.abort();\n                ajaxRequester && ajaxRequester.canceled && ajaxRequester.canceled(id);\n            });\n        }\n        qq.extend(this, new qq.UploadHandler(spec));\n        qq.override(this, function(super_) {\n            return {\n                add: function(id, blobOrProxy) {\n                    if (qq.isFile(blobOrProxy) || qq.isBlob(blobOrProxy)) {\n                        super_.add(id, {\n                            file: blobOrProxy\n                        });\n                    } else if (blobOrProxy instanceof qq.BlobProxy) {\n                        super_.add(id, {\n                            proxy: blobOrProxy\n                        });\n                    } else {\n                        throw new Error(\"Passed obj is not a File, Blob, or proxy\");\n                    }\n                    handler._initTempState(id);\n                    resumeEnabled && handler._maybePrepareForResume(id);\n                },\n                expunge: function(id) {\n                    abort(id);\n                    handler._maybeDeletePersistedChunkData(id);\n                    handler._clearXhrs(id);\n                    super_.expunge(id);\n                }\n            };\n        });\n        qq.extend(this, {\n            clearCachedChunk: function(id, chunkIdx) {\n                delete handler._getFileState(id).temp.cachedChunks[chunkIdx];\n            },\n            clearXhr: function(id, chunkIdx) {\n                var tempState = handler._getFileState(id).temp;\n                if (tempState.xhrs) {\n                    delete tempState.xhrs[chunkIdx];\n                }\n                if (tempState.ajaxRequesters) {\n                    delete tempState.ajaxRequesters[chunkIdx];\n                }\n            },\n            finalizeChunks: function(id, responseParser) {\n                var lastChunkIdx = handler._getTotalChunks(id) - 1, xhr = handler._getXhr(id, lastChunkIdx);\n                if (responseParser) {\n                    return new qq.Promise().success(responseParser(xhr), xhr);\n                }\n                return new qq.Promise().success({}, xhr);\n            },\n            getFile: function(id) {\n                return handler.isValid(id) && handler._getFileState(id).file;\n            },\n            getProxy: function(id) {\n                return handler.isValid(id) && handler._getFileState(id).proxy;\n            },\n            getResumableFilesData: function() {\n                var resumableFilesData = [];\n                handler._iterateResumeRecords(function(key, uploadData) {\n                    handler.moveInProgressToRemaining(null, uploadData.chunking.inProgress, uploadData.chunking.remaining);\n                    var data = {\n                        name: uploadData.name,\n                        remaining: uploadData.chunking.remaining,\n                        size: uploadData.size,\n                        uuid: uploadData.uuid\n                    };\n                    if (uploadData.key) {\n                        data.key = uploadData.key;\n                    }\n                    resumableFilesData.push(data);\n                });\n                return resumableFilesData;\n            },\n            isResumable: function(id) {\n                return !!chunking && handler.isValid(id) && !handler._getFileState(id).notResumable;\n            },\n            moveInProgressToRemaining: function(id, optInProgress, optRemaining) {\n                var inProgress = optInProgress || handler._getFileState(id).chunking.inProgress, remaining = optRemaining || handler._getFileState(id).chunking.remaining;\n                if (inProgress) {\n                    log(qq.format(\"Moving these chunks from in-progress {}, to remaining.\", JSON.stringify(inProgress)));\n                    inProgress.reverse();\n                    qq.each(inProgress, function(idx, chunkIdx) {\n                        remaining.unshift(chunkIdx);\n                    });\n                    inProgress.length = 0;\n                }\n            },\n            pause: function(id) {\n                if (handler.isValid(id)) {\n                    log(qq.format(\"Aborting XHR upload for {} '{}' due to pause instruction.\", id, getName(id)));\n                    handler._getFileState(id).paused = true;\n                    abort(id);\n                    return true;\n                }\n            },\n            reevaluateChunking: function(id) {\n                if (chunking && handler.isValid(id)) {\n                    var state = handler._getFileState(id), totalChunks, i;\n                    delete state.chunking;\n                    state.chunking = {};\n                    totalChunks = handler._getTotalChunks(id);\n                    if (totalChunks > 1 || chunking.mandatory) {\n                        state.chunking.enabled = true;\n                        state.chunking.parts = totalChunks;\n                        state.chunking.remaining = [];\n                        for (i = 0; i < totalChunks; i++) {\n                            state.chunking.remaining.push(i);\n                        }\n                        handler._initTempState(id);\n                    } else {\n                        state.chunking.enabled = false;\n                    }\n                }\n            },\n            updateBlob: function(id, newBlob) {\n                if (handler.isValid(id)) {\n                    handler._getFileState(id).file = newBlob;\n                }\n            },\n            _clearXhrs: function(id) {\n                var tempState = handler._getFileState(id).temp;\n                qq.each(tempState.ajaxRequesters, function(chunkId) {\n                    delete tempState.ajaxRequesters[chunkId];\n                });\n                qq.each(tempState.xhrs, function(chunkId) {\n                    delete tempState.xhrs[chunkId];\n                });\n            },\n            _createXhr: function(id, optChunkIdx) {\n                return handler._registerXhr(id, optChunkIdx, qq.createXhrInstance());\n            },\n            _getAjaxRequester: function(id, optChunkIdx) {\n                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n                return handler._getFileState(id).temp.ajaxRequesters[chunkIdx];\n            },\n            _getChunkData: function(id, chunkIndex) {\n                var chunkSize = chunking.partSize, fileSize = getSize(id), fileOrBlob = handler.getFile(id), startBytes = chunkSize * chunkIndex, endBytes = startBytes + chunkSize >= fileSize ? fileSize : startBytes + chunkSize, totalChunks = handler._getTotalChunks(id), cachedChunks = this._getFileState(id).temp.cachedChunks, blob = cachedChunks[chunkIndex] || qq.sliceBlob(fileOrBlob, startBytes, endBytes);\n                cachedChunks[chunkIndex] = blob;\n                return {\n                    part: chunkIndex,\n                    start: startBytes,\n                    end: endBytes,\n                    count: totalChunks,\n                    blob: blob,\n                    size: endBytes - startBytes\n                };\n            },\n            _getChunkDataForCallback: function(chunkData) {\n                return {\n                    partIndex: chunkData.part,\n                    startByte: chunkData.start + 1,\n                    endByte: chunkData.end,\n                    totalParts: chunkData.count\n                };\n            },\n            _getLocalStorageId: function(id) {\n                var formatVersion = \"5.0\", name = getName(id), size = getSize(id), chunkSize = chunking.partSize, endpoint = getEndpoint(id);\n                return qq.format(\"qq{}resume{}-{}-{}-{}-{}\", namespace, formatVersion, name, size, chunkSize, endpoint);\n            },\n            _getMimeType: function(id) {\n                return handler.getFile(id).type;\n            },\n            _getPersistableData: function(id) {\n                return handler._getFileState(id).chunking;\n            },\n            _getTotalChunks: function(id) {\n                if (chunking) {\n                    var fileSize = getSize(id), chunkSize = chunking.partSize;\n                    return Math.ceil(fileSize / chunkSize);\n                }\n            },\n            _getXhr: function(id, optChunkIdx) {\n                var chunkIdx = optChunkIdx == null ? -1 : optChunkIdx;\n                return handler._getFileState(id).temp.xhrs[chunkIdx];\n            },\n            _getXhrs: function(id) {\n                return handler._getFileState(id).temp.xhrs;\n            },\n            _iterateResumeRecords: function(callback) {\n                if (resumeEnabled) {\n                    qq.each(localStorage, function(key, item) {\n                        if (key.indexOf(qq.format(\"qq{}resume\", namespace)) === 0) {\n                            var uploadData = JSON.parse(item);\n                            callback(key, uploadData);\n                        }\n                    });\n                }\n            },\n            _initTempState: function(id) {\n                handler._getFileState(id).temp = {\n                    ajaxRequesters: {},\n                    chunkProgress: {},\n                    xhrs: {},\n                    cachedChunks: {}\n                };\n            },\n            _markNotResumable: function(id) {\n                handler._getFileState(id).notResumable = true;\n            },\n            _maybeDeletePersistedChunkData: function(id) {\n                var localStorageId;\n                if (resumeEnabled && handler.isResumable(id)) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    if (localStorageId && localStorage.getItem(localStorageId)) {\n                        localStorage.removeItem(localStorageId);\n                        return true;\n                    }\n                }\n                return false;\n            },\n            _maybePrepareForResume: function(id) {\n                var state = handler._getFileState(id), localStorageId, persistedData;\n                if (resumeEnabled && state.key === undefined) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    persistedData = localStorage.getItem(localStorageId);\n                    if (persistedData) {\n                        persistedData = JSON.parse(persistedData);\n                        if (getDataByUuid(persistedData.uuid)) {\n                            handler._markNotResumable(id);\n                        } else {\n                            log(qq.format(\"Identified file with ID {} and name of {} as resumable.\", id, getName(id)));\n                            onUuidChanged(id, persistedData.uuid);\n                            state.key = persistedData.key;\n                            state.chunking = persistedData.chunking;\n                            state.loaded = persistedData.loaded;\n                            state.attemptingResume = true;\n                            handler.moveInProgressToRemaining(id);\n                        }\n                    }\n                }\n            },\n            _maybePersistChunkedState: function(id) {\n                var state = handler._getFileState(id), localStorageId, persistedData;\n                if (resumeEnabled && handler.isResumable(id)) {\n                    localStorageId = handler._getLocalStorageId(id);\n                    persistedData = {\n                        name: getName(id),\n                        size: getSize(id),\n                        uuid: getUuid(id),\n                        key: state.key,\n                        chunking: state.chunking,\n                        loaded: state.loaded,\n                        lastUpdated: Date.now()\n                    };\n                    try {\n                        localStorage.setItem(localStorageId, JSON.stringify(persistedData));\n                    } catch (error) {\n                        log(qq.format(\"Unable to save resume data for '{}' due to error: '{}'.\", id, error.toString()), \"warn\");\n                    }\n                }\n            },\n            _registerProgressHandler: function(id, chunkIdx, chunkSize) {\n                var xhr = handler._getXhr(id, chunkIdx), name = getName(id), progressCalculator = {\n                    simple: function(loaded, total) {\n                        var fileSize = getSize(id);\n                        if (loaded === total) {\n                            onProgress(id, name, fileSize, fileSize);\n                        } else {\n                            onProgress(id, name, loaded >= fileSize ? fileSize - 1 : loaded, fileSize);\n                        }\n                    },\n                    chunked: function(loaded, total) {\n                        var chunkProgress = handler._getFileState(id).temp.chunkProgress, totalSuccessfullyLoadedForFile = handler._getFileState(id).loaded, loadedForRequest = loaded, totalForRequest = total, totalFileSize = getSize(id), estActualChunkLoaded = loadedForRequest - (totalForRequest - chunkSize), totalLoadedForFile = totalSuccessfullyLoadedForFile;\n                        chunkProgress[chunkIdx] = estActualChunkLoaded;\n                        qq.each(chunkProgress, function(chunkIdx, chunkLoaded) {\n                            totalLoadedForFile += chunkLoaded;\n                        });\n                        onProgress(id, name, totalLoadedForFile, totalFileSize);\n                    }\n                };\n                xhr.upload.onprogress = function(e) {\n                    if (e.lengthComputable) {\n                        var type = chunkSize == null ? \"simple\" : \"chunked\";\n                        progressCalculator[type](e.loaded, e.total);\n                    }\n                };\n            },\n            _registerXhr: function(id, optChunkIdx, xhr, optAjaxRequester) {\n                var xhrsId = optChunkIdx == null ? -1 : optChunkIdx, tempState = handler._getFileState(id).temp;\n                tempState.xhrs = tempState.xhrs || {};\n                tempState.ajaxRequesters = tempState.ajaxRequesters || {};\n                tempState.xhrs[xhrsId] = xhr;\n                if (optAjaxRequester) {\n                    tempState.ajaxRequesters[xhrsId] = optAjaxRequester;\n                }\n                return xhr;\n            },\n            _removeExpiredChunkingRecords: function() {\n                var expirationDays = resume.recordsExpireIn;\n                handler._iterateResumeRecords(function(key, uploadData) {\n                    var expirationDate = new Date(uploadData.lastUpdated);\n                    expirationDate.setDate(expirationDate.getDate() + expirationDays);\n                    if (expirationDate.getTime() <= Date.now()) {\n                        log(\"Removing expired resume record with key \" + key);\n                        localStorage.removeItem(key);\n                    }\n                });\n            },\n            _shouldChunkThisFile: function(id) {\n                var state = handler._getFileState(id);\n                if (!state.chunking) {\n                    handler.reevaluateChunking(id);\n                }\n                return state.chunking.enabled;\n            }\n        });\n    };\n    qq.DeleteFileAjaxRequester = function(o) {\n        \"use strict\";\n        var requester, options = {\n            method: \"DELETE\",\n            uuidParamName: \"qquuid\",\n            endpointStore: {},\n            maxConnections: 3,\n            customHeaders: function(id) {\n                return {};\n            },\n            paramsStore: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            log: function(str, level) {},\n            onDelete: function(id) {},\n            onDeleteComplete: function(id, xhrOrXdr, isError) {}\n        };\n        qq.extend(options, o);\n        function getMandatedParams() {\n            if (options.method.toUpperCase() === \"POST\") {\n                return {\n                    _method: \"DELETE\"\n                };\n            }\n            return {};\n        }\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ \"POST\", \"DELETE\" ],\n            method: options.method,\n            endpointStore: options.endpointStore,\n            paramsStore: options.paramsStore,\n            mandatedParams: getMandatedParams(),\n            maxConnections: options.maxConnections,\n            customHeaders: function(id) {\n                return options.customHeaders.get(id);\n            },\n            log: options.log,\n            onSend: options.onDelete,\n            onComplete: options.onDeleteComplete,\n            cors: options.cors\n        }));\n        qq.extend(this, {\n            sendDelete: function(id, uuid, additionalMandatedParams) {\n                var additionalOptions = additionalMandatedParams || {};\n                options.log(\"Submitting delete file request for \" + id);\n                if (options.method === \"DELETE\") {\n                    requester.initTransport(id).withPath(uuid).withParams(additionalOptions).send();\n                } else {\n                    additionalOptions[options.uuidParamName] = uuid;\n                    requester.initTransport(id).withParams(additionalOptions).send();\n                }\n            }\n        });\n    };\n    (function() {\n        function detectSubsampling(img) {\n            var iw = img.naturalWidth, ih = img.naturalHeight, canvas = document.createElement(\"canvas\"), ctx;\n            if (iw * ih > 1024 * 1024) {\n                canvas.width = canvas.height = 1;\n                ctx = canvas.getContext(\"2d\");\n                ctx.drawImage(img, -iw + 1, 0);\n                return ctx.getImageData(0, 0, 1, 1).data[3] === 0;\n            } else {\n                return false;\n            }\n        }\n        function detectVerticalSquash(img, iw, ih) {\n            var canvas = document.createElement(\"canvas\"), sy = 0, ey = ih, py = ih, ctx, data, alpha, ratio;\n            canvas.width = 1;\n            canvas.height = ih;\n            ctx = canvas.getContext(\"2d\");\n            ctx.drawImage(img, 0, 0);\n            data = ctx.getImageData(0, 0, 1, ih).data;\n            while (py > sy) {\n                alpha = data[(py - 1) * 4 + 3];\n                if (alpha === 0) {\n                    ey = py;\n                } else {\n                    sy = py;\n                }\n                py = ey + sy >> 1;\n            }\n            ratio = py / ih;\n            return ratio === 0 ? 1 : ratio;\n        }\n        function renderImageToDataURL(img, blob, options, doSquash) {\n            var canvas = document.createElement(\"canvas\"), mime = options.mime || \"image/jpeg\", promise = new qq.Promise();\n            renderImageToCanvas(img, blob, canvas, options, doSquash).then(function() {\n                promise.success(canvas.toDataURL(mime, options.quality || .8));\n            });\n            return promise;\n        }\n        function maybeCalculateDownsampledDimensions(spec) {\n            var maxPixels = 5241e3;\n            if (!qq.ios()) {\n                throw new qq.Error(\"Downsampled dimensions can only be reliably calculated for iOS!\");\n            }\n            if (spec.origHeight * spec.origWidth > maxPixels) {\n                return {\n                    newHeight: Math.round(Math.sqrt(maxPixels * (spec.origHeight / spec.origWidth))),\n                    newWidth: Math.round(Math.sqrt(maxPixels * (spec.origWidth / spec.origHeight)))\n                };\n            }\n        }\n        function renderImageToCanvas(img, blob, canvas, options, doSquash) {\n            var iw = img.naturalWidth, ih = img.naturalHeight, width = options.width, height = options.height, ctx = canvas.getContext(\"2d\"), promise = new qq.Promise(), modifiedDimensions;\n            ctx.save();\n            if (options.resize) {\n                return renderImageToCanvasWithCustomResizer({\n                    blob: blob,\n                    canvas: canvas,\n                    image: img,\n                    imageHeight: ih,\n                    imageWidth: iw,\n                    orientation: options.orientation,\n                    resize: options.resize,\n                    targetHeight: height,\n                    targetWidth: width\n                });\n            }\n            if (!qq.supportedFeatures.unlimitedScaledImageSize) {\n                modifiedDimensions = maybeCalculateDownsampledDimensions({\n                    origWidth: width,\n                    origHeight: height\n                });\n                if (modifiedDimensions) {\n                    qq.log(qq.format(\"Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h\", width, height, modifiedDimensions.newWidth, modifiedDimensions.newHeight), \"warn\");\n                    width = modifiedDimensions.newWidth;\n                    height = modifiedDimensions.newHeight;\n                }\n            }\n            transformCoordinate(canvas, width, height, options.orientation);\n            if (qq.ios()) {\n                (function() {\n                    if (detectSubsampling(img)) {\n                        iw /= 2;\n                        ih /= 2;\n                    }\n                    var d = 1024, tmpCanvas = document.createElement(\"canvas\"), vertSquashRatio = doSquash ? detectVerticalSquash(img, iw, ih) : 1, dw = Math.ceil(d * width / iw), dh = Math.ceil(d * height / ih / vertSquashRatio), sy = 0, dy = 0, tmpCtx, sx, dx;\n                    tmpCanvas.width = tmpCanvas.height = d;\n                    tmpCtx = tmpCanvas.getContext(\"2d\");\n                    while (sy < ih) {\n                        sx = 0;\n                        dx = 0;\n                        while (sx < iw) {\n                            tmpCtx.clearRect(0, 0, d, d);\n                            tmpCtx.drawImage(img, -sx, -sy);\n                            ctx.drawImage(tmpCanvas, 0, 0, d, d, dx, dy, dw, dh);\n                            sx += d;\n                            dx += dw;\n                        }\n                        sy += d;\n                        dy += dh;\n                    }\n                    ctx.restore();\n                    tmpCanvas = tmpCtx = null;\n                })();\n            } else {\n                ctx.drawImage(img, 0, 0, width, height);\n            }\n            canvas.qqImageRendered && canvas.qqImageRendered();\n            promise.success();\n            return promise;\n        }\n        function renderImageToCanvasWithCustomResizer(resizeInfo) {\n            var blob = resizeInfo.blob, image = resizeInfo.image, imageHeight = resizeInfo.imageHeight, imageWidth = resizeInfo.imageWidth, orientation = resizeInfo.orientation, promise = new qq.Promise(), resize = resizeInfo.resize, sourceCanvas = document.createElement(\"canvas\"), sourceCanvasContext = sourceCanvas.getContext(\"2d\"), targetCanvas = resizeInfo.canvas, targetHeight = resizeInfo.targetHeight, targetWidth = resizeInfo.targetWidth;\n            transformCoordinate(sourceCanvas, imageWidth, imageHeight, orientation);\n            targetCanvas.height = targetHeight;\n            targetCanvas.width = targetWidth;\n            sourceCanvasContext.drawImage(image, 0, 0);\n            resize({\n                blob: blob,\n                height: targetHeight,\n                image: image,\n                sourceCanvas: sourceCanvas,\n                targetCanvas: targetCanvas,\n                width: targetWidth\n            }).then(function success() {\n                targetCanvas.qqImageRendered && targetCanvas.qqImageRendered();\n                promise.success();\n            }, promise.failure);\n            return promise;\n        }\n        function transformCoordinate(canvas, width, height, orientation) {\n            switch (orientation) {\n              case 5:\n              case 6:\n              case 7:\n              case 8:\n                canvas.width = height;\n                canvas.height = width;\n                break;\n\n              default:\n                canvas.width = width;\n                canvas.height = height;\n            }\n            var ctx = canvas.getContext(\"2d\");\n            switch (orientation) {\n              case 2:\n                ctx.translate(width, 0);\n                ctx.scale(-1, 1);\n                break;\n\n              case 3:\n                ctx.translate(width, height);\n                ctx.rotate(Math.PI);\n                break;\n\n              case 4:\n                ctx.translate(0, height);\n                ctx.scale(1, -1);\n                break;\n\n              case 5:\n                ctx.rotate(.5 * Math.PI);\n                ctx.scale(1, -1);\n                break;\n\n              case 6:\n                ctx.rotate(.5 * Math.PI);\n                ctx.translate(0, -height);\n                break;\n\n              case 7:\n                ctx.rotate(.5 * Math.PI);\n                ctx.translate(width, -height);\n                ctx.scale(-1, 1);\n                break;\n\n              case 8:\n                ctx.rotate(-.5 * Math.PI);\n                ctx.translate(-width, 0);\n                break;\n\n              default:\n                break;\n            }\n        }\n        function MegaPixImage(srcImage, errorCallback) {\n            var self = this;\n            if (window.Blob && srcImage instanceof Blob) {\n                (function() {\n                    var img = new Image(), URL = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                    if (!URL) {\n                        throw Error(\"No createObjectURL function found to create blob url\");\n                    }\n                    img.src = URL.createObjectURL(srcImage);\n                    self.blob = srcImage;\n                    srcImage = img;\n                })();\n            }\n            if (!srcImage.naturalWidth && !srcImage.naturalHeight) {\n                srcImage.onload = function() {\n                    var listeners = self.imageLoadListeners;\n                    if (listeners) {\n                        self.imageLoadListeners = null;\n                        setTimeout(function() {\n                            for (var i = 0, len = listeners.length; i < len; i++) {\n                                listeners[i]();\n                            }\n                        }, 0);\n                    }\n                };\n                srcImage.onerror = errorCallback;\n                this.imageLoadListeners = [];\n            }\n            this.srcImage = srcImage;\n        }\n        MegaPixImage.prototype.render = function(target, options) {\n            options = options || {};\n            var self = this, imgWidth = this.srcImage.naturalWidth, imgHeight = this.srcImage.naturalHeight, width = options.width, height = options.height, maxWidth = options.maxWidth, maxHeight = options.maxHeight, doSquash = !this.blob || this.blob.type === \"image/jpeg\", tagName = target.tagName.toLowerCase(), opt;\n            if (this.imageLoadListeners) {\n                this.imageLoadListeners.push(function() {\n                    self.render(target, options);\n                });\n                return;\n            }\n            if (width && !height) {\n                height = imgHeight * width / imgWidth << 0;\n            } else if (height && !width) {\n                width = imgWidth * height / imgHeight << 0;\n            } else {\n                width = imgWidth;\n                height = imgHeight;\n            }\n            if (maxWidth && width > maxWidth) {\n                width = maxWidth;\n                height = imgHeight * width / imgWidth << 0;\n            }\n            if (maxHeight && height > maxHeight) {\n                height = maxHeight;\n                width = imgWidth * height / imgHeight << 0;\n            }\n            opt = {\n                width: width,\n                height: height\n            }, qq.each(options, function(optionsKey, optionsValue) {\n                opt[optionsKey] = optionsValue;\n            });\n            if (tagName === \"img\") {\n                (function() {\n                    var oldTargetSrc = target.src;\n                    renderImageToDataURL(self.srcImage, self.blob, opt, doSquash).then(function(dataUri) {\n                        target.src = dataUri;\n                        oldTargetSrc === target.src && target.onload();\n                    });\n                })();\n            } else if (tagName === \"canvas\") {\n                renderImageToCanvas(this.srcImage, this.blob, target, opt, doSquash);\n            }\n            if (typeof this.onrender === \"function\") {\n                this.onrender(target);\n            }\n        };\n        qq.MegaPixImage = MegaPixImage;\n    })();\n    qq.ImageGenerator = function(log) {\n        \"use strict\";\n        function isImg(el) {\n            return el.tagName.toLowerCase() === \"img\";\n        }\n        function isCanvas(el) {\n            return el.tagName.toLowerCase() === \"canvas\";\n        }\n        function isImgCorsSupported() {\n            return new Image().crossOrigin !== undefined;\n        }\n        function isCanvasSupported() {\n            var canvas = document.createElement(\"canvas\");\n            return canvas.getContext && canvas.getContext(\"2d\");\n        }\n        function determineMimeOfFileName(nameWithPath) {\n            var pathSegments = nameWithPath.split(\"/\"), name = pathSegments[pathSegments.length - 1].split(\"?\")[0], extension = qq.getExtension(name);\n            extension = extension && extension.toLowerCase();\n            switch (extension) {\n              case \"jpeg\":\n              case \"jpg\":\n                return \"image/jpeg\";\n\n              case \"png\":\n                return \"image/png\";\n\n              case \"bmp\":\n                return \"image/bmp\";\n\n              case \"gif\":\n                return \"image/gif\";\n\n              case \"tiff\":\n              case \"tif\":\n                return \"image/tiff\";\n            }\n        }\n        function isCrossOrigin(url) {\n            var targetAnchor = document.createElement(\"a\"), targetProtocol, targetHostname, targetPort;\n            targetAnchor.href = url;\n            targetProtocol = targetAnchor.protocol;\n            targetPort = targetAnchor.port;\n            targetHostname = targetAnchor.hostname;\n            if (targetProtocol.toLowerCase() !== window.location.protocol.toLowerCase()) {\n                return true;\n            }\n            if (targetHostname.toLowerCase() !== window.location.hostname.toLowerCase()) {\n                return true;\n            }\n            if (targetPort !== window.location.port && !qq.ie()) {\n                return true;\n            }\n            return false;\n        }\n        function registerImgLoadListeners(img, promise) {\n            img.onload = function() {\n                img.onload = null;\n                img.onerror = null;\n                promise.success(img);\n            };\n            img.onerror = function() {\n                img.onload = null;\n                img.onerror = null;\n                log(\"Problem drawing thumbnail!\", \"error\");\n                promise.failure(img, \"Problem drawing thumbnail!\");\n            };\n        }\n        function registerCanvasDrawImageListener(canvas, promise) {\n            canvas.qqImageRendered = function() {\n                promise.success(canvas);\n            };\n        }\n        function registerThumbnailRenderedListener(imgOrCanvas, promise) {\n            var registered = isImg(imgOrCanvas) || isCanvas(imgOrCanvas);\n            if (isImg(imgOrCanvas)) {\n                registerImgLoadListeners(imgOrCanvas, promise);\n            } else if (isCanvas(imgOrCanvas)) {\n                registerCanvasDrawImageListener(imgOrCanvas, promise);\n            } else {\n                promise.failure(imgOrCanvas);\n                log(qq.format(\"Element container of type {} is not supported!\", imgOrCanvas.tagName), \"error\");\n            }\n            return registered;\n        }\n        function draw(fileOrBlob, container, options) {\n            var drawPreview = new qq.Promise(), identifier = new qq.Identify(fileOrBlob, log), maxSize = options.maxSize, orient = options.orient == null ? true : options.orient, megapixErrorHandler = function() {\n                container.onerror = null;\n                container.onload = null;\n                log(\"Could not render preview, file may be too large!\", \"error\");\n                drawPreview.failure(container, \"Browser cannot render image!\");\n            };\n            identifier.isPreviewable().then(function(mime) {\n                var dummyExif = {\n                    parse: function() {\n                        return new qq.Promise().success();\n                    }\n                }, exif = orient ? new qq.Exif(fileOrBlob, log) : dummyExif, mpImg = new qq.MegaPixImage(fileOrBlob, megapixErrorHandler);\n                if (registerThumbnailRenderedListener(container, drawPreview)) {\n                    exif.parse().then(function(exif) {\n                        var orientation = exif && exif.Orientation;\n                        mpImg.render(container, {\n                            maxWidth: maxSize,\n                            maxHeight: maxSize,\n                            orientation: orientation,\n                            mime: mime,\n                            resize: options.customResizeFunction\n                        });\n                    }, function(failureMsg) {\n                        log(qq.format(\"EXIF data could not be parsed ({}).  Assuming orientation = 1.\", failureMsg));\n                        mpImg.render(container, {\n                            maxWidth: maxSize,\n                            maxHeight: maxSize,\n                            mime: mime,\n                            resize: options.customResizeFunction\n                        });\n                    });\n                }\n            }, function() {\n                log(\"Not previewable\");\n                drawPreview.failure(container, \"Not previewable\");\n            });\n            return drawPreview;\n        }\n        function drawOnCanvasOrImgFromUrl(url, canvasOrImg, draw, maxSize, customResizeFunction) {\n            var tempImg = new Image(), tempImgRender = new qq.Promise();\n            registerThumbnailRenderedListener(tempImg, tempImgRender);\n            if (isCrossOrigin(url)) {\n                tempImg.crossOrigin = \"anonymous\";\n            }\n            tempImg.src = url;\n            tempImgRender.then(function rendered() {\n                registerThumbnailRenderedListener(canvasOrImg, draw);\n                var mpImg = new qq.MegaPixImage(tempImg);\n                mpImg.render(canvasOrImg, {\n                    maxWidth: maxSize,\n                    maxHeight: maxSize,\n                    mime: determineMimeOfFileName(url),\n                    resize: customResizeFunction\n                });\n            }, draw.failure);\n        }\n        function drawOnImgFromUrlWithCssScaling(url, img, draw, maxSize) {\n            registerThumbnailRenderedListener(img, draw);\n            qq(img).css({\n                maxWidth: maxSize + \"px\",\n                maxHeight: maxSize + \"px\"\n            });\n            img.src = url;\n        }\n        function drawFromUrl(url, container, options) {\n            var draw = new qq.Promise(), scale = options.scale, maxSize = scale ? options.maxSize : null;\n            if (scale && isImg(container)) {\n                if (isCanvasSupported()) {\n                    if (isCrossOrigin(url) && !isImgCorsSupported()) {\n                        drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                    } else {\n                        drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n                    }\n                } else {\n                    drawOnImgFromUrlWithCssScaling(url, container, draw, maxSize);\n                }\n            } else if (isCanvas(container)) {\n                drawOnCanvasOrImgFromUrl(url, container, draw, maxSize);\n            } else if (registerThumbnailRenderedListener(container, draw)) {\n                container.src = url;\n            }\n            return draw;\n        }\n        qq.extend(this, {\n            generate: function(fileBlobOrUrl, container, options) {\n                if (qq.isString(fileBlobOrUrl)) {\n                    log(\"Attempting to update thumbnail based on server response.\");\n                    return drawFromUrl(fileBlobOrUrl, container, options || {});\n                } else {\n                    log(\"Attempting to draw client-side image preview.\");\n                    return draw(fileBlobOrUrl, container, options || {});\n                }\n            }\n        });\n        this._testing = {};\n        this._testing.isImg = isImg;\n        this._testing.isCanvas = isCanvas;\n        this._testing.isCrossOrigin = isCrossOrigin;\n        this._testing.determineMimeOfFileName = determineMimeOfFileName;\n    };\n    qq.Exif = function(fileOrBlob, log) {\n        \"use strict\";\n        var TAG_IDS = [ 274 ], TAG_INFO = {\n            274: {\n                name: \"Orientation\",\n                bytes: 2\n            }\n        };\n        function parseLittleEndian(hex) {\n            var result = 0, pow = 0;\n            while (hex.length > 0) {\n                result += parseInt(hex.substring(0, 2), 16) * Math.pow(2, pow);\n                hex = hex.substring(2, hex.length);\n                pow += 8;\n            }\n            return result;\n        }\n        function seekToApp1(offset, promise) {\n            var theOffset = offset, thePromise = promise;\n            if (theOffset === undefined) {\n                theOffset = 2;\n                thePromise = new qq.Promise();\n            }\n            qq.readBlobToHex(fileOrBlob, theOffset, 4).then(function(hex) {\n                var match = /^ffe([0-9])/.exec(hex), segmentLength;\n                if (match) {\n                    if (match[1] !== \"1\") {\n                        segmentLength = parseInt(hex.slice(4, 8), 16);\n                        seekToApp1(theOffset + segmentLength + 2, thePromise);\n                    } else {\n                        thePromise.success(theOffset);\n                    }\n                } else {\n                    thePromise.failure(\"No EXIF header to be found!\");\n                }\n            });\n            return thePromise;\n        }\n        function getApp1Offset() {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, 0, 6).then(function(hex) {\n                if (hex.indexOf(\"ffd8\") !== 0) {\n                    promise.failure(\"Not a valid JPEG!\");\n                } else {\n                    seekToApp1().then(function(offset) {\n                        promise.success(offset);\n                    }, function(error) {\n                        promise.failure(error);\n                    });\n                }\n            });\n            return promise;\n        }\n        function isLittleEndian(app1Start) {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, app1Start + 10, 2).then(function(hex) {\n                promise.success(hex === \"4949\");\n            });\n            return promise;\n        }\n        function getDirEntryCount(app1Start, littleEndian) {\n            var promise = new qq.Promise();\n            qq.readBlobToHex(fileOrBlob, app1Start + 18, 2).then(function(hex) {\n                if (littleEndian) {\n                    return promise.success(parseLittleEndian(hex));\n                } else {\n                    promise.success(parseInt(hex, 16));\n                }\n            });\n            return promise;\n        }\n        function getIfd(app1Start, dirEntries) {\n            var offset = app1Start + 20, bytes = dirEntries * 12;\n            return qq.readBlobToHex(fileOrBlob, offset, bytes);\n        }\n        function getDirEntries(ifdHex) {\n            var entries = [], offset = 0;\n            while (offset + 24 <= ifdHex.length) {\n                entries.push(ifdHex.slice(offset, offset + 24));\n                offset += 24;\n            }\n            return entries;\n        }\n        function getTagValues(littleEndian, dirEntries) {\n            var TAG_VAL_OFFSET = 16, tagsToFind = qq.extend([], TAG_IDS), vals = {};\n            qq.each(dirEntries, function(idx, entry) {\n                var idHex = entry.slice(0, 4), id = littleEndian ? parseLittleEndian(idHex) : parseInt(idHex, 16), tagsToFindIdx = tagsToFind.indexOf(id), tagValHex, tagName, tagValLength;\n                if (tagsToFindIdx >= 0) {\n                    tagName = TAG_INFO[id].name;\n                    tagValLength = TAG_INFO[id].bytes;\n                    tagValHex = entry.slice(TAG_VAL_OFFSET, TAG_VAL_OFFSET + tagValLength * 2);\n                    vals[tagName] = littleEndian ? parseLittleEndian(tagValHex) : parseInt(tagValHex, 16);\n                    tagsToFind.splice(tagsToFindIdx, 1);\n                }\n                if (tagsToFind.length === 0) {\n                    return false;\n                }\n            });\n            return vals;\n        }\n        qq.extend(this, {\n            parse: function() {\n                var parser = new qq.Promise(), onParseFailure = function(message) {\n                    log(qq.format(\"EXIF header parse failed: '{}' \", message));\n                    parser.failure(message);\n                };\n                getApp1Offset().then(function(app1Offset) {\n                    log(qq.format(\"Moving forward with EXIF header parsing for '{}'\", fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name));\n                    isLittleEndian(app1Offset).then(function(littleEndian) {\n                        log(qq.format(\"EXIF Byte order is {} endian\", littleEndian ? \"little\" : \"big\"));\n                        getDirEntryCount(app1Offset, littleEndian).then(function(dirEntryCount) {\n                            log(qq.format(\"Found {} APP1 directory entries\", dirEntryCount));\n                            getIfd(app1Offset, dirEntryCount).then(function(ifdHex) {\n                                var dirEntries = getDirEntries(ifdHex), tagValues = getTagValues(littleEndian, dirEntries);\n                                log(\"Successfully parsed some EXIF tags\");\n                                parser.success(tagValues);\n                            }, onParseFailure);\n                        }, onParseFailure);\n                    }, onParseFailure);\n                }, onParseFailure);\n                return parser;\n            }\n        });\n        this._testing = {};\n        this._testing.parseLittleEndian = parseLittleEndian;\n    };\n    qq.Identify = function(fileOrBlob, log) {\n        \"use strict\";\n        function isIdentifiable(magicBytes, questionableBytes) {\n            var identifiable = false, magicBytesEntries = [].concat(magicBytes);\n            qq.each(magicBytesEntries, function(idx, magicBytesArrayEntry) {\n                if (questionableBytes.indexOf(magicBytesArrayEntry) === 0) {\n                    identifiable = true;\n                    return false;\n                }\n            });\n            return identifiable;\n        }\n        qq.extend(this, {\n            isPreviewable: function() {\n                var self = this, identifier = new qq.Promise(), previewable = false, name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n                log(qq.format(\"Attempting to determine if {} can be rendered in this browser\", name));\n                log(\"First pass: check type attribute of blob object.\");\n                if (this.isPreviewableSync()) {\n                    log(\"Second pass: check for magic bytes in file header.\");\n                    qq.readBlobToHex(fileOrBlob, 0, 4).then(function(hex) {\n                        qq.each(self.PREVIEWABLE_MIME_TYPES, function(mime, bytes) {\n                            if (isIdentifiable(bytes, hex)) {\n                                if (mime !== \"image/tiff\" || qq.supportedFeatures.tiffPreviews) {\n                                    previewable = true;\n                                    identifier.success(mime);\n                                }\n                                return false;\n                            }\n                        });\n                        log(qq.format(\"'{}' is {} able to be rendered in this browser\", name, previewable ? \"\" : \"NOT\"));\n                        if (!previewable) {\n                            identifier.failure();\n                        }\n                    }, function() {\n                        log(\"Error reading file w/ name '\" + name + \"'.  Not able to be rendered in this browser.\");\n                        identifier.failure();\n                    });\n                } else {\n                    identifier.failure();\n                }\n                return identifier;\n            },\n            isPreviewableSync: function() {\n                var fileMime = fileOrBlob.type, isRecognizedImage = qq.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES), fileMime) >= 0, previewable = false, name = fileOrBlob.name === undefined ? \"blob\" : fileOrBlob.name;\n                if (isRecognizedImage) {\n                    if (fileMime === \"image/tiff\") {\n                        previewable = qq.supportedFeatures.tiffPreviews;\n                    } else {\n                        previewable = true;\n                    }\n                }\n                !previewable && log(name + \" is not previewable in this browser per the blob's type attr\");\n                return previewable;\n            }\n        });\n    };\n    qq.Identify.prototype.PREVIEWABLE_MIME_TYPES = {\n        \"image/jpeg\": \"ffd8ff\",\n        \"image/gif\": \"474946\",\n        \"image/png\": \"89504e\",\n        \"image/bmp\": \"424d\",\n        \"image/tiff\": [ \"49492a00\", \"4d4d002a\" ]\n    };\n    qq.ImageValidation = function(blob, log) {\n        \"use strict\";\n        function hasNonZeroLimits(limits) {\n            var atLeastOne = false;\n            qq.each(limits, function(limit, value) {\n                if (value > 0) {\n                    atLeastOne = true;\n                    return false;\n                }\n            });\n            return atLeastOne;\n        }\n        function getWidthHeight() {\n            var sizeDetermination = new qq.Promise();\n            new qq.Identify(blob, log).isPreviewable().then(function() {\n                var image = new Image(), url = window.URL && window.URL.createObjectURL ? window.URL : window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL : null;\n                if (url) {\n                    image.onerror = function() {\n                        log(\"Cannot determine dimensions for image.  May be too large.\", \"error\");\n                        sizeDetermination.failure();\n                    };\n                    image.onload = function() {\n                        sizeDetermination.success({\n                            width: this.width,\n                            height: this.height\n                        });\n                    };\n                    image.src = url.createObjectURL(blob);\n                } else {\n                    log(\"No createObjectURL function available to generate image URL!\", \"error\");\n                    sizeDetermination.failure();\n                }\n            }, sizeDetermination.failure);\n            return sizeDetermination;\n        }\n        function getFailingLimit(limits, dimensions) {\n            var failingLimit;\n            qq.each(limits, function(limitName, limitValue) {\n                if (limitValue > 0) {\n                    var limitMatcher = /(max|min)(Width|Height)/.exec(limitName), dimensionPropName = limitMatcher[2].charAt(0).toLowerCase() + limitMatcher[2].slice(1), actualValue = dimensions[dimensionPropName];\n                    switch (limitMatcher[1]) {\n                      case \"min\":\n                        if (actualValue < limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n\n                      case \"max\":\n                        if (actualValue > limitValue) {\n                            failingLimit = limitName;\n                            return false;\n                        }\n                        break;\n                    }\n                }\n            });\n            return failingLimit;\n        }\n        this.validate = function(limits) {\n            var validationEffort = new qq.Promise();\n            log(\"Attempting to validate image.\");\n            if (hasNonZeroLimits(limits)) {\n                getWidthHeight().then(function(dimensions) {\n                    var failingLimit = getFailingLimit(limits, dimensions);\n                    if (failingLimit) {\n                        validationEffort.failure(failingLimit);\n                    } else {\n                        validationEffort.success();\n                    }\n                }, validationEffort.success);\n            } else {\n                validationEffort.success();\n            }\n            return validationEffort;\n        };\n    };\n    qq.Session = function(spec) {\n        \"use strict\";\n        var options = {\n            endpoint: null,\n            params: {},\n            customHeaders: {},\n            cors: {},\n            addFileRecord: function(sessionData) {},\n            log: function(message, level) {}\n        };\n        qq.extend(options, spec, true);\n        function isJsonResponseValid(response) {\n            if (qq.isArray(response)) {\n                return true;\n            }\n            options.log(\"Session response is not an array.\", \"error\");\n        }\n        function handleFileItems(fileItems, success, xhrOrXdr, promise) {\n            var someItemsIgnored = false;\n            success = success && isJsonResponseValid(fileItems);\n            if (success) {\n                qq.each(fileItems, function(idx, fileItem) {\n                    if (fileItem.uuid == null) {\n                        someItemsIgnored = true;\n                        options.log(qq.format(\"Session response item {} did not include a valid UUID - ignoring.\", idx), \"error\");\n                    } else if (fileItem.name == null) {\n                        someItemsIgnored = true;\n                        options.log(qq.format(\"Session response item {} did not include a valid name - ignoring.\", idx), \"error\");\n                    } else {\n                        try {\n                            options.addFileRecord(fileItem);\n                            return true;\n                        } catch (err) {\n                            someItemsIgnored = true;\n                            options.log(err.message, \"error\");\n                        }\n                    }\n                    return false;\n                });\n            }\n            promise[success && !someItemsIgnored ? \"success\" : \"failure\"](fileItems, xhrOrXdr);\n        }\n        this.refresh = function() {\n            var refreshEffort = new qq.Promise(), refreshCompleteCallback = function(response, success, xhrOrXdr) {\n                handleFileItems(response, success, xhrOrXdr, refreshEffort);\n            }, requesterOptions = qq.extend({}, options), requester = new qq.SessionAjaxRequester(qq.extend(requesterOptions, {\n                onComplete: refreshCompleteCallback\n            }));\n            requester.queryServer();\n            return refreshEffort;\n        };\n    };\n    qq.SessionAjaxRequester = function(spec) {\n        \"use strict\";\n        var requester, options = {\n            endpoint: null,\n            customHeaders: {},\n            params: {},\n            cors: {\n                expected: false,\n                sendCredentials: false\n            },\n            onComplete: function(response, success, xhrOrXdr) {},\n            log: function(str, level) {}\n        };\n        qq.extend(options, spec);\n        function onComplete(id, xhrOrXdr, isError) {\n            var response = null;\n            if (xhrOrXdr.responseText != null) {\n                try {\n                    response = qq.parseJson(xhrOrXdr.responseText);\n                } catch (err) {\n                    options.log(\"Problem parsing session response: \" + err.message, \"error\");\n                    isError = true;\n                }\n            }\n            options.onComplete(response, !isError, xhrOrXdr);\n        }\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ \"GET\" ],\n            method: \"GET\",\n            endpointStore: {\n                get: function() {\n                    return options.endpoint;\n                }\n            },\n            customHeaders: options.customHeaders,\n            log: options.log,\n            onComplete: onComplete,\n            cors: options.cors\n        }));\n        qq.extend(this, {\n            queryServer: function() {\n                var params = qq.extend({}, options.params);\n                options.log(\"Session query request.\");\n                requester.initTransport(\"sessionRefresh\").withParams(params).withCacheBuster().send();\n            }\n        });\n    };\n    qq.Scaler = function(spec, log) {\n        \"use strict\";\n        var self = this, customResizeFunction = spec.customResizer, includeOriginal = spec.sendOriginal, orient = spec.orient, defaultType = spec.defaultType, defaultQuality = spec.defaultQuality / 100, failedToScaleText = spec.failureText, includeExif = spec.includeExif, sizes = this._getSortedSizes(spec.sizes);\n        qq.extend(this, {\n            enabled: qq.supportedFeatures.scaling && sizes.length > 0,\n            getFileRecords: function(originalFileUuid, originalFileName, originalBlobOrBlobData) {\n                var self = this, records = [], originalBlob = originalBlobOrBlobData.blob ? originalBlobOrBlobData.blob : originalBlobOrBlobData, identifier = new qq.Identify(originalBlob, log);\n                if (identifier.isPreviewableSync()) {\n                    qq.each(sizes, function(idx, sizeRecord) {\n                        var outputType = self._determineOutputType({\n                            defaultType: defaultType,\n                            requestedType: sizeRecord.type,\n                            refType: originalBlob.type\n                        });\n                        records.push({\n                            uuid: qq.getUniqueId(),\n                            name: self._getName(originalFileName, {\n                                name: sizeRecord.name,\n                                type: outputType,\n                                refType: originalBlob.type\n                            }),\n                            blob: new qq.BlobProxy(originalBlob, qq.bind(self._generateScaledImage, self, {\n                                customResizeFunction: customResizeFunction,\n                                maxSize: sizeRecord.maxSize,\n                                orient: orient,\n                                type: outputType,\n                                quality: defaultQuality,\n                                failedText: failedToScaleText,\n                                includeExif: includeExif,\n                                log: log\n                            }))\n                        });\n                    });\n                    records.push({\n                        uuid: originalFileUuid,\n                        name: originalFileName,\n                        size: originalBlob.size,\n                        blob: includeOriginal ? originalBlob : null\n                    });\n                } else {\n                    records.push({\n                        uuid: originalFileUuid,\n                        name: originalFileName,\n                        size: originalBlob.size,\n                        blob: originalBlob\n                    });\n                }\n                return records;\n            },\n            handleNewFile: function(file, name, uuid, size, fileList, batchId, uuidParamName, api) {\n                var self = this, buttonId = file.qqButtonId || file.blob && file.blob.qqButtonId, scaledIds = [], originalId = null, addFileToHandler = api.addFileToHandler, uploadData = api.uploadData, paramsStore = api.paramsStore, proxyGroupId = qq.getUniqueId();\n                qq.each(self.getFileRecords(uuid, name, file), function(idx, record) {\n                    var blobSize = record.size, id;\n                    if (record.blob instanceof qq.BlobProxy) {\n                        blobSize = -1;\n                    }\n                    id = uploadData.addFile({\n                        uuid: record.uuid,\n                        name: record.name,\n                        size: blobSize,\n                        batchId: batchId,\n                        proxyGroupId: proxyGroupId\n                    });\n                    if (record.blob instanceof qq.BlobProxy) {\n                        scaledIds.push(id);\n                    } else {\n                        originalId = id;\n                    }\n                    if (record.blob) {\n                        addFileToHandler(id, record.blob);\n                        fileList.push({\n                            id: id,\n                            file: record.blob\n                        });\n                    } else {\n                        uploadData.setStatus(id, qq.status.REJECTED);\n                    }\n                });\n                if (originalId !== null) {\n                    qq.each(scaledIds, function(idx, scaledId) {\n                        var params = {\n                            qqparentuuid: uploadData.retrieve({\n                                id: originalId\n                            }).uuid,\n                            qqparentsize: uploadData.retrieve({\n                                id: originalId\n                            }).size\n                        };\n                        params[uuidParamName] = uploadData.retrieve({\n                            id: scaledId\n                        }).uuid;\n                        uploadData.setParentId(scaledId, originalId);\n                        paramsStore.addReadOnly(scaledId, params);\n                    });\n                    if (scaledIds.length) {\n                        (function() {\n                            var param = {};\n                            param[uuidParamName] = uploadData.retrieve({\n                                id: originalId\n                            }).uuid;\n                            paramsStore.addReadOnly(originalId, param);\n                        })();\n                    }\n                }\n            }\n        });\n    };\n    qq.extend(qq.Scaler.prototype, {\n        scaleImage: function(id, specs, api) {\n            \"use strict\";\n            if (!qq.supportedFeatures.scaling) {\n                throw new qq.Error(\"Scaling is not supported in this browser!\");\n            }\n            var scalingEffort = new qq.Promise(), log = api.log, file = api.getFile(id), uploadData = api.uploadData.retrieve({\n                id: id\n            }), name = uploadData && uploadData.name, uuid = uploadData && uploadData.uuid, scalingOptions = {\n                customResizer: specs.customResizer,\n                sendOriginal: false,\n                orient: specs.orient,\n                defaultType: specs.type || null,\n                defaultQuality: specs.quality,\n                failedToScaleText: \"Unable to scale\",\n                sizes: [ {\n                    name: \"\",\n                    maxSize: specs.maxSize\n                } ]\n            }, scaler = new qq.Scaler(scalingOptions, log);\n            if (!qq.Scaler || !qq.supportedFeatures.imagePreviews || !file) {\n                scalingEffort.failure();\n                log(\"Could not generate requested scaled image for \" + id + \".  \" + \"Scaling is either not possible in this browser, or the file could not be located.\", \"error\");\n            } else {\n                qq.bind(function() {\n                    var record = scaler.getFileRecords(uuid, name, file)[0];\n                    if (record && record.blob instanceof qq.BlobProxy) {\n                        record.blob.create().then(scalingEffort.success, scalingEffort.failure);\n                    } else {\n                        log(id + \" is not a scalable image!\", \"error\");\n                        scalingEffort.failure();\n                    }\n                }, this)();\n            }\n            return scalingEffort;\n        },\n        _determineOutputType: function(spec) {\n            \"use strict\";\n            var requestedType = spec.requestedType, defaultType = spec.defaultType, referenceType = spec.refType;\n            if (!defaultType && !requestedType) {\n                if (referenceType !== \"image/jpeg\") {\n                    return \"image/png\";\n                }\n                return referenceType;\n            }\n            if (!requestedType) {\n                return defaultType;\n            }\n            if (qq.indexOf(Object.keys(qq.Identify.prototype.PREVIEWABLE_MIME_TYPES), requestedType) >= 0) {\n                if (requestedType === \"image/tiff\") {\n                    return qq.supportedFeatures.tiffPreviews ? requestedType : defaultType;\n                }\n                return requestedType;\n            }\n            return defaultType;\n        },\n        _getName: function(originalName, scaledVersionProperties) {\n            \"use strict\";\n            var startOfExt = originalName.lastIndexOf(\".\"), versionType = scaledVersionProperties.type || \"image/png\", referenceType = scaledVersionProperties.refType, scaledName = \"\", scaledExt = qq.getExtension(originalName), nameAppendage = \"\";\n            if (scaledVersionProperties.name && scaledVersionProperties.name.trim().length) {\n                nameAppendage = \" (\" + scaledVersionProperties.name + \")\";\n            }\n            if (startOfExt >= 0) {\n                scaledName = originalName.substr(0, startOfExt);\n                if (referenceType !== versionType) {\n                    scaledExt = versionType.split(\"/\")[1];\n                }\n                scaledName += nameAppendage + \".\" + scaledExt;\n            } else {\n                scaledName = originalName + nameAppendage;\n            }\n            return scaledName;\n        },\n        _getSortedSizes: function(sizes) {\n            \"use strict\";\n            sizes = qq.extend([], sizes);\n            return sizes.sort(function(a, b) {\n                if (a.maxSize > b.maxSize) {\n                    return 1;\n                }\n                if (a.maxSize < b.maxSize) {\n                    return -1;\n                }\n                return 0;\n            });\n        },\n        _generateScaledImage: function(spec, sourceFile) {\n            \"use strict\";\n            var self = this, customResizeFunction = spec.customResizeFunction, log = spec.log, maxSize = spec.maxSize, orient = spec.orient, type = spec.type, quality = spec.quality, failedText = spec.failedText, includeExif = spec.includeExif && sourceFile.type === \"image/jpeg\" && type === \"image/jpeg\", scalingEffort = new qq.Promise(), imageGenerator = new qq.ImageGenerator(log), canvas = document.createElement(\"canvas\");\n            log(\"Attempting to generate scaled version for \" + sourceFile.name);\n            imageGenerator.generate(sourceFile, canvas, {\n                maxSize: maxSize,\n                orient: orient,\n                customResizeFunction: customResizeFunction\n            }).then(function() {\n                var scaledImageDataUri = canvas.toDataURL(type, quality), signalSuccess = function() {\n                    log(\"Success generating scaled version for \" + sourceFile.name);\n                    var blob = qq.dataUriToBlob(scaledImageDataUri);\n                    scalingEffort.success(blob);\n                };\n                if (includeExif) {\n                    self._insertExifHeader(sourceFile, scaledImageDataUri, log).then(function(scaledImageDataUriWithExif) {\n                        scaledImageDataUri = scaledImageDataUriWithExif;\n                        signalSuccess();\n                    }, function() {\n                        log(\"Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.\", \"error\");\n                        signalSuccess();\n                    });\n                } else {\n                    signalSuccess();\n                }\n            }, function() {\n                log(\"Failed attempt to generate scaled version for \" + sourceFile.name, \"error\");\n                scalingEffort.failure(failedText);\n            });\n            return scalingEffort;\n        },\n        _insertExifHeader: function(originalImage, scaledImageDataUri, log) {\n            \"use strict\";\n            var reader = new FileReader(), insertionEffort = new qq.Promise(), originalImageDataUri = \"\";\n            reader.onload = function() {\n                originalImageDataUri = reader.result;\n                insertionEffort.success(qq.ExifRestorer.restore(originalImageDataUri, scaledImageDataUri));\n            };\n            reader.onerror = function() {\n                log(\"Problem reading \" + originalImage.name + \" during attempt to transfer EXIF data to scaled version.\", \"error\");\n                insertionEffort.failure();\n            };\n            reader.readAsDataURL(originalImage);\n            return insertionEffort;\n        },\n        _dataUriToBlob: function(dataUri) {\n            \"use strict\";\n            var byteString, mimeString, arrayBuffer, intArray;\n            if (dataUri.split(\",\")[0].indexOf(\"base64\") >= 0) {\n                byteString = atob(dataUri.split(\",\")[1]);\n            } else {\n                byteString = decodeURI(dataUri.split(\",\")[1]);\n            }\n            mimeString = dataUri.split(\",\")[0].split(\":\")[1].split(\";\")[0];\n            arrayBuffer = new ArrayBuffer(byteString.length);\n            intArray = new Uint8Array(arrayBuffer);\n            qq.each(byteString, function(idx, character) {\n                intArray[idx] = character.charCodeAt(0);\n            });\n            return this._createBlob(arrayBuffer, mimeString);\n        },\n        _createBlob: function(data, mime) {\n            \"use strict\";\n            var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder, blobBuilder = BlobBuilder && new BlobBuilder();\n            if (blobBuilder) {\n                blobBuilder.append(data);\n                return blobBuilder.getBlob(mime);\n            } else {\n                return new Blob([ data ], {\n                    type: mime\n                });\n            }\n        }\n    });\n    qq.ExifRestorer = function() {\n        var ExifRestorer = {};\n        ExifRestorer.KEY_STR = \"ABCDEFGHIJKLMNOP\" + \"QRSTUVWXYZabcdef\" + \"ghijklmnopqrstuv\" + \"wxyz0123456789+/\" + \"=\";\n        ExifRestorer.encode64 = function(input) {\n            var output = \"\", chr1, chr2, chr3 = \"\", enc1, enc2, enc3, enc4 = \"\", i = 0;\n            do {\n                chr1 = input[i++];\n                chr2 = input[i++];\n                chr3 = input[i++];\n                enc1 = chr1 >> 2;\n                enc2 = (chr1 & 3) << 4 | chr2 >> 4;\n                enc3 = (chr2 & 15) << 2 | chr3 >> 6;\n                enc4 = chr3 & 63;\n                if (isNaN(chr2)) {\n                    enc3 = enc4 = 64;\n                } else if (isNaN(chr3)) {\n                    enc4 = 64;\n                }\n                output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4);\n                chr1 = chr2 = chr3 = \"\";\n                enc1 = enc2 = enc3 = enc4 = \"\";\n            } while (i < input.length);\n            return output;\n        };\n        ExifRestorer.restore = function(origFileBase64, resizedFileBase64) {\n            var expectedBase64Header = \"data:image/jpeg;base64,\";\n            if (!origFileBase64.match(expectedBase64Header)) {\n                return resizedFileBase64;\n            }\n            var rawImage = this.decode64(origFileBase64.replace(expectedBase64Header, \"\"));\n            var segments = this.slice2Segments(rawImage);\n            var image = this.exifManipulation(resizedFileBase64, segments);\n            return expectedBase64Header + this.encode64(image);\n        };\n        ExifRestorer.exifManipulation = function(resizedFileBase64, segments) {\n            var exifArray = this.getExifArray(segments), newImageArray = this.insertExif(resizedFileBase64, exifArray), aBuffer = new Uint8Array(newImageArray);\n            return aBuffer;\n        };\n        ExifRestorer.getExifArray = function(segments) {\n            var seg;\n            for (var x = 0; x < segments.length; x++) {\n                seg = segments[x];\n                if (seg[0] == 255 & seg[1] == 225) {\n                    return seg;\n                }\n            }\n            return [];\n        };\n        ExifRestorer.insertExif = function(resizedFileBase64, exifArray) {\n            var imageData = resizedFileBase64.replace(\"data:image/jpeg;base64,\", \"\"), buf = this.decode64(imageData), separatePoint = buf.indexOf(255, 3), mae = buf.slice(0, separatePoint), ato = buf.slice(separatePoint), array = mae;\n            array = array.concat(exifArray);\n            array = array.concat(ato);\n            return array;\n        };\n        ExifRestorer.slice2Segments = function(rawImageArray) {\n            var head = 0, segments = [];\n            while (1) {\n                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 218) {\n                    break;\n                }\n                if (rawImageArray[head] == 255 & rawImageArray[head + 1] == 216) {\n                    head += 2;\n                } else {\n                    var length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3], endPoint = head + length + 2, seg = rawImageArray.slice(head, endPoint);\n                    segments.push(seg);\n                    head = endPoint;\n                }\n                if (head > rawImageArray.length) {\n                    break;\n                }\n            }\n            return segments;\n        };\n        ExifRestorer.decode64 = function(input) {\n            var output = \"\", chr1, chr2, chr3 = \"\", enc1, enc2, enc3, enc4 = \"\", i = 0, buf = [];\n            var base64test = /[^A-Za-z0-9\\+\\/\\=]/g;\n            if (base64test.exec(input)) {\n                throw new Error(\"There were invalid base64 characters in the input text.  \" + \"Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\");\n            }\n            input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\n            do {\n                enc1 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc2 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc3 = this.KEY_STR.indexOf(input.charAt(i++));\n                enc4 = this.KEY_STR.indexOf(input.charAt(i++));\n                chr1 = enc1 << 2 | enc2 >> 4;\n                chr2 = (enc2 & 15) << 4 | enc3 >> 2;\n                chr3 = (enc3 & 3) << 6 | enc4;\n                buf.push(chr1);\n                if (enc3 != 64) {\n                    buf.push(chr2);\n                }\n                if (enc4 != 64) {\n                    buf.push(chr3);\n                }\n                chr1 = chr2 = chr3 = \"\";\n                enc1 = enc2 = enc3 = enc4 = \"\";\n            } while (i < input.length);\n            return buf;\n        };\n        return ExifRestorer;\n    }();\n    qq.TotalProgress = function(callback, getSize) {\n        \"use strict\";\n        var perFileProgress = {}, totalLoaded = 0, totalSize = 0, lastLoadedSent = -1, lastTotalSent = -1, callbackProxy = function(loaded, total) {\n            if (loaded !== lastLoadedSent || total !== lastTotalSent) {\n                callback(loaded, total);\n            }\n            lastLoadedSent = loaded;\n            lastTotalSent = total;\n        }, noRetryableFiles = function(failed, retryable) {\n            var none = true;\n            qq.each(failed, function(idx, failedId) {\n                if (qq.indexOf(retryable, failedId) >= 0) {\n                    none = false;\n                    return false;\n                }\n            });\n            return none;\n        }, onCancel = function(id) {\n            updateTotalProgress(id, -1, -1);\n            delete perFileProgress[id];\n        }, onAllComplete = function(successful, failed, retryable) {\n            if (failed.length === 0 || noRetryableFiles(failed, retryable)) {\n                callbackProxy(totalSize, totalSize);\n                this.reset();\n            }\n        }, onNew = function(id) {\n            var size = getSize(id);\n            if (size > 0) {\n                updateTotalProgress(id, 0, size);\n                perFileProgress[id] = {\n                    loaded: 0,\n                    total: size\n                };\n            }\n        }, updateTotalProgress = function(id, newLoaded, newTotal) {\n            var oldLoaded = perFileProgress[id] ? perFileProgress[id].loaded : 0, oldTotal = perFileProgress[id] ? perFileProgress[id].total : 0;\n            if (newLoaded === -1 && newTotal === -1) {\n                totalLoaded -= oldLoaded;\n                totalSize -= oldTotal;\n            } else {\n                if (newLoaded) {\n                    totalLoaded += newLoaded - oldLoaded;\n                }\n                if (newTotal) {\n                    totalSize += newTotal - oldTotal;\n                }\n            }\n            callbackProxy(totalLoaded, totalSize);\n        };\n        qq.extend(this, {\n            onAllComplete: onAllComplete,\n            onStatusChange: function(id, oldStatus, newStatus) {\n                if (newStatus === qq.status.CANCELED || newStatus === qq.status.REJECTED) {\n                    onCancel(id);\n                } else if (newStatus === qq.status.SUBMITTING) {\n                    onNew(id);\n                }\n            },\n            onIndividualProgress: function(id, loaded, total) {\n                updateTotalProgress(id, loaded, total);\n                perFileProgress[id] = {\n                    loaded: loaded,\n                    total: total\n                };\n            },\n            onNewSize: function(id) {\n                onNew(id);\n            },\n            reset: function() {\n                perFileProgress = {};\n                totalLoaded = 0;\n                totalSize = 0;\n            }\n        });\n    };\n    qq.PasteSupport = function(o) {\n        \"use strict\";\n        var options, detachPasteHandler;\n        options = {\n            targetElement: null,\n            callbacks: {\n                log: function(message, level) {},\n                pasteReceived: function(blob) {}\n            }\n        };\n        function isImage(item) {\n            return item.type && item.type.indexOf(\"image/\") === 0;\n        }\n        function registerPasteHandler() {\n            detachPasteHandler = qq(options.targetElement).attach(\"paste\", function(event) {\n                var clipboardData = event.clipboardData;\n                if (clipboardData) {\n                    qq.each(clipboardData.items, function(idx, item) {\n                        if (isImage(item)) {\n                            var blob = item.getAsFile();\n                            options.callbacks.pasteReceived(blob);\n                        }\n                    });\n                }\n            });\n        }\n        function unregisterPasteHandler() {\n            if (detachPasteHandler) {\n                detachPasteHandler();\n            }\n        }\n        qq.extend(options, o);\n        registerPasteHandler();\n        qq.extend(this, {\n            reset: function() {\n                unregisterPasteHandler();\n            }\n        });\n    };\n    qq.FormSupport = function(options, startUpload, log) {\n        \"use strict\";\n        var self = this, interceptSubmit = options.interceptSubmit, formEl = options.element, autoUpload = options.autoUpload;\n        qq.extend(this, {\n            newEndpoint: null,\n            newAutoUpload: autoUpload,\n            attachedToForm: false,\n            getFormInputsAsObject: function() {\n                if (formEl == null) {\n                    return null;\n                }\n                return self._form2Obj(formEl);\n            }\n        });\n        function determineNewEndpoint(formEl) {\n            if (formEl.getAttribute(\"action\")) {\n                self.newEndpoint = formEl.getAttribute(\"action\");\n            }\n        }\n        function validateForm(formEl, nativeSubmit) {\n            if (formEl.checkValidity && !formEl.checkValidity()) {\n                log(\"Form did not pass validation checks - will not upload.\", \"error\");\n                nativeSubmit();\n            } else {\n                return true;\n            }\n        }\n        function maybeUploadOnSubmit(formEl) {\n            var nativeSubmit = formEl.submit;\n            qq(formEl).attach(\"submit\", function(event) {\n                event = event || window.event;\n                if (event.preventDefault) {\n                    event.preventDefault();\n                } else {\n                    event.returnValue = false;\n                }\n                validateForm(formEl, nativeSubmit) && startUpload();\n            });\n            formEl.submit = function() {\n                validateForm(formEl, nativeSubmit) && startUpload();\n            };\n        }\n        function determineFormEl(formEl) {\n            if (formEl) {\n                if (qq.isString(formEl)) {\n                    formEl = document.getElementById(formEl);\n                }\n                if (formEl) {\n                    log(\"Attaching to form element.\");\n                    determineNewEndpoint(formEl);\n                    interceptSubmit && maybeUploadOnSubmit(formEl);\n                }\n            }\n            return formEl;\n        }\n        formEl = determineFormEl(formEl);\n        this.attachedToForm = !!formEl;\n    };\n    qq.extend(qq.FormSupport.prototype, {\n        _form2Obj: function(form) {\n            \"use strict\";\n            var obj = {}, notIrrelevantType = function(type) {\n                var irrelevantTypes = [ \"button\", \"image\", \"reset\", \"submit\" ];\n                return qq.indexOf(irrelevantTypes, type.toLowerCase()) < 0;\n            }, radioOrCheckbox = function(type) {\n                return qq.indexOf([ \"checkbox\", \"radio\" ], type.toLowerCase()) >= 0;\n            }, ignoreValue = function(el) {\n                if (radioOrCheckbox(el.type) && !el.checked) {\n                    return true;\n                }\n                return el.disabled && el.type.toLowerCase() !== \"hidden\";\n            }, selectValue = function(select) {\n                var value = null;\n                qq.each(qq(select).children(), function(idx, child) {\n                    if (child.tagName.toLowerCase() === \"option\" && child.selected) {\n                        value = child.value;\n                        return false;\n                    }\n                });\n                return value;\n            };\n            qq.each(form.elements, function(idx, el) {\n                if ((qq.isInput(el, true) || el.tagName.toLowerCase() === \"textarea\") && notIrrelevantType(el.type) && !ignoreValue(el)) {\n                    obj[el.name] = el.value;\n                } else if (el.tagName.toLowerCase() === \"select\" && !ignoreValue(el)) {\n                    var value = selectValue(el);\n                    if (value !== null) {\n                        obj[el.name] = value;\n                    }\n                }\n            });\n            return obj;\n        }\n    });\n    qq.traditional = qq.traditional || {};\n    qq.traditional.FormUploadHandler = function(options, proxy) {\n        \"use strict\";\n        var handler = this, getName = proxy.getName, getUuid = proxy.getUuid, log = proxy.log;\n        function getIframeContentJson(id, iframe) {\n            var response, doc, innerHtml;\n            try {\n                doc = iframe.contentDocument || iframe.contentWindow.document;\n                innerHtml = doc.body.innerHTML;\n                log(\"converting iframe's innerHTML to JSON\");\n                log(\"innerHTML = \" + innerHtml);\n                if (innerHtml && innerHtml.match(/^<pre/i)) {\n                    innerHtml = doc.body.firstChild.firstChild.nodeValue;\n                }\n                response = handler._parseJsonResponse(innerHtml);\n            } catch (error) {\n                log(\"Error when attempting to parse form upload response (\" + error.message + \")\", \"error\");\n                response = {\n                    success: false\n                };\n            }\n            return response;\n        }\n        function createForm(id, iframe) {\n            var params = options.paramsStore.get(id), method = options.method.toLowerCase() === \"get\" ? \"GET\" : \"POST\", endpoint = options.endpointStore.get(id), name = getName(id);\n            params[options.uuidName] = getUuid(id);\n            params[options.filenameParam] = name;\n            return handler._initFormForUpload({\n                method: method,\n                endpoint: endpoint,\n                params: params,\n                paramsInBody: options.paramsInBody,\n                targetName: iframe.name\n            });\n        }\n        this.uploadFile = function(id) {\n            var input = handler.getInput(id), iframe = handler._createIframe(id), promise = new qq.Promise(), form;\n            form = createForm(id, iframe);\n            form.appendChild(input);\n            handler._attachLoadEvent(iframe, function(responseFromMessage) {\n                log(\"iframe loaded\");\n                var response = responseFromMessage ? responseFromMessage : getIframeContentJson(id, iframe);\n                handler._detachLoadEvent(id);\n                if (!options.cors.expected) {\n                    qq(iframe).remove();\n                }\n                if (response.success) {\n                    promise.success(response);\n                } else {\n                    promise.failure(response);\n                }\n            });\n            log(\"Sending upload request for \" + id);\n            form.submit();\n            qq(form).remove();\n            return promise;\n        };\n        qq.extend(this, new qq.FormUploadHandler({\n            options: {\n                isCors: options.cors.expected,\n                inputName: options.inputName\n            },\n            proxy: {\n                onCancel: options.onCancel,\n                getName: getName,\n                getUuid: getUuid,\n                log: log\n            }\n        }));\n    };\n    qq.traditional = qq.traditional || {};\n    qq.traditional.XhrUploadHandler = function(spec, proxy) {\n        \"use strict\";\n        var handler = this, getName = proxy.getName, getSize = proxy.getSize, getUuid = proxy.getUuid, log = proxy.log, multipart = spec.forceMultipart || spec.paramsInBody, addChunkingSpecificParams = function(id, params, chunkData) {\n            var size = getSize(id), name = getName(id);\n            params[spec.chunking.paramNames.partIndex] = chunkData.part;\n            params[spec.chunking.paramNames.partByteOffset] = chunkData.start;\n            params[spec.chunking.paramNames.chunkSize] = chunkData.size;\n            params[spec.chunking.paramNames.totalParts] = chunkData.count;\n            params[spec.totalFileSizeName] = size;\n            if (multipart) {\n                params[spec.filenameParam] = name;\n            }\n        }, allChunksDoneRequester = new qq.traditional.AllChunksDoneAjaxRequester({\n            cors: spec.cors,\n            endpoint: spec.chunking.success.endpoint,\n            log: log\n        }), createReadyStateChangedHandler = function(id, xhr) {\n            var promise = new qq.Promise();\n            xhr.onreadystatechange = function() {\n                if (xhr.readyState === 4) {\n                    var result = onUploadOrChunkComplete(id, xhr);\n                    if (result.success) {\n                        promise.success(result.response, xhr);\n                    } else {\n                        promise.failure(result.response, xhr);\n                    }\n                }\n            };\n            return promise;\n        }, getChunksCompleteParams = function(id) {\n            var params = spec.paramsStore.get(id), name = getName(id), size = getSize(id);\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            params[spec.totalFileSizeName] = size;\n            params[spec.chunking.paramNames.totalParts] = handler._getTotalChunks(id);\n            return params;\n        }, isErrorUploadResponse = function(xhr, response) {\n            return qq.indexOf([ 200, 201, 202, 203, 204 ], xhr.status) < 0 || !response.success || response.reset;\n        }, onUploadOrChunkComplete = function(id, xhr) {\n            var response;\n            log(\"xhr - server response received for \" + id);\n            log(\"responseText = \" + xhr.responseText);\n            response = parseResponse(true, xhr);\n            return {\n                success: !isErrorUploadResponse(xhr, response),\n                response: response\n            };\n        }, parseResponse = function(upload, xhr) {\n            var response = {};\n            try {\n                log(qq.format(\"Received response status {} with body: {}\", xhr.status, xhr.responseText));\n                response = qq.parseJson(xhr.responseText);\n            } catch (error) {\n                upload && log(\"Error when attempting to parse xhr response text (\" + error.message + \")\", \"error\");\n            }\n            return response;\n        }, sendChunksCompleteRequest = function(id) {\n            var promise = new qq.Promise();\n            allChunksDoneRequester.complete(id, handler._createXhr(id), getChunksCompleteParams(id), spec.customHeaders.get(id)).then(function(xhr) {\n                promise.success(parseResponse(false, xhr), xhr);\n            }, function(xhr) {\n                promise.failure(parseResponse(false, xhr), xhr);\n            });\n            return promise;\n        }, setParamsAndGetEntityToSend = function(params, xhr, fileOrBlob, id) {\n            var formData = new FormData(), method = spec.method, endpoint = spec.endpointStore.get(id), name = getName(id), size = getSize(id);\n            params[spec.uuidName] = getUuid(id);\n            params[spec.filenameParam] = name;\n            if (multipart) {\n                params[spec.totalFileSizeName] = size;\n            }\n            if (!spec.paramsInBody) {\n                if (!multipart) {\n                    params[spec.inputName] = name;\n                }\n                endpoint = qq.obj2url(params, endpoint);\n            }\n            xhr.open(method, endpoint, true);\n            if (spec.cors.expected && spec.cors.sendCredentials) {\n                xhr.withCredentials = true;\n            }\n            if (multipart) {\n                if (spec.paramsInBody) {\n                    qq.obj2FormData(params, formData);\n                }\n                formData.append(spec.inputName, fileOrBlob);\n                return formData;\n            }\n            return fileOrBlob;\n        }, setUploadHeaders = function(id, xhr) {\n            var extraHeaders = spec.customHeaders.get(id), fileOrBlob = handler.getFile(id);\n            xhr.setRequestHeader(\"Accept\", \"application/json\");\n            xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n            xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n            if (!multipart) {\n                xhr.setRequestHeader(\"Content-Type\", \"application/octet-stream\");\n                xhr.setRequestHeader(\"X-Mime-Type\", fileOrBlob.type);\n            }\n            qq.each(extraHeaders, function(name, val) {\n                xhr.setRequestHeader(name, val);\n            });\n        };\n        qq.extend(this, {\n            uploadChunk: function(id, chunkIdx, resuming) {\n                var chunkData = handler._getChunkData(id, chunkIdx), xhr = handler._createXhr(id, chunkIdx), size = getSize(id), promise, toSend, params;\n                promise = createReadyStateChangedHandler(id, xhr);\n                handler._registerProgressHandler(id, chunkIdx, chunkData.size);\n                params = spec.paramsStore.get(id);\n                addChunkingSpecificParams(id, params, chunkData);\n                if (resuming) {\n                    params[spec.resume.paramNames.resuming] = true;\n                }\n                toSend = setParamsAndGetEntityToSend(params, xhr, chunkData.blob, id);\n                setUploadHeaders(id, xhr);\n                xhr.send(toSend);\n                return promise;\n            },\n            uploadFile: function(id) {\n                var fileOrBlob = handler.getFile(id), promise, xhr, params, toSend;\n                xhr = handler._createXhr(id);\n                handler._registerProgressHandler(id);\n                promise = createReadyStateChangedHandler(id, xhr);\n                params = spec.paramsStore.get(id);\n                toSend = setParamsAndGetEntityToSend(params, xhr, fileOrBlob, id);\n                setUploadHeaders(id, xhr);\n                xhr.send(toSend);\n                return promise;\n            }\n        });\n        qq.extend(this, new qq.XhrUploadHandler({\n            options: qq.extend({\n                namespace: \"traditional\"\n            }, spec),\n            proxy: qq.extend({\n                getEndpoint: spec.endpointStore.get\n            }, proxy)\n        }));\n        qq.override(this, function(super_) {\n            return {\n                finalizeChunks: function(id) {\n                    if (spec.chunking.success.endpoint) {\n                        return sendChunksCompleteRequest(id);\n                    } else {\n                        return super_.finalizeChunks(id, qq.bind(parseResponse, this, true));\n                    }\n                }\n            };\n        });\n    };\n    qq.traditional.AllChunksDoneAjaxRequester = function(o) {\n        \"use strict\";\n        var requester, method = \"POST\", options = {\n            cors: {\n                allowXdr: false,\n                expected: false,\n                sendCredentials: false\n            },\n            endpoint: null,\n            log: function(str, level) {}\n        }, promises = {}, endpointHandler = {\n            get: function(id) {\n                return options.endpoint;\n            }\n        };\n        qq.extend(options, o);\n        requester = qq.extend(this, new qq.AjaxRequester({\n            acceptHeader: \"application/json\",\n            validMethods: [ method ],\n            method: method,\n            endpointStore: endpointHandler,\n            allowXRequestedWithAndCacheControl: false,\n            cors: options.cors,\n            log: options.log,\n            onComplete: function(id, xhr, isError) {\n                var promise = promises[id];\n                delete promises[id];\n                if (isError) {\n                    promise.failure(xhr);\n                } else {\n                    promise.success(xhr);\n                }\n            }\n        }));\n        qq.extend(this, {\n            complete: function(id, xhr, params, headers) {\n                var promise = new qq.Promise();\n                options.log(\"Submitting All Chunks Done request for \" + id);\n                promises[id] = promise;\n                requester.initTransport(id).withParams(params).withHeaders(headers).send(xhr);\n                return promise;\n            }\n        });\n    };\n})(window);\n//# sourceMappingURL=fine-uploader.core.js.map","\"use strict\";\r\n\r\nmodule.exports = require(\"../../fine-uploader/fine-uploader.core\");\r\n","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.FroalaEditor=t()}(this,function(){\"use strict\";function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function N(e,t,n,r,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function S(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=l(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==n[\"return\"]||n[\"return\"]()}finally{if(s)throw i}}}}function M(e,t,n){return(t=function r(e){var t=function o(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);var r=n.call(e,t||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function T(){var h,g,e=\"function\"==typeof Symbol?Symbol:{},t=e.iterator||\"@@iterator\",n=e.toStringTag||\"@@toStringTag\";function r(e,t,n,u){var r=t&&t.prototype instanceof i?t:i,o=Object.create(r.prototype);return d(o,\"_invoke\",function(r,o,e){var i,a,s,l=0,c=u||[],d=!1,f={p:0,n:0,v:h,a:p,f:p.bind(h,4),d:function(e,t){return i=e,a=0,s=h,f.n=t,C}};function p(e,t){for(a=e,s=t,g=0;!d&&l&&!n&&g<c.length;g++){var n,r=c[g],o=f.p,i=r[2];3<e?(n=i===t)&&(s=r[(a=r[4])?5:(a=3,3)],r[4]=r[5]=h):r[0]<=o&&((n=e<2&&o<r[1])?(a=0,f.v=t,f.n=r[1]):o<i&&(n=e<3||r[0]>t||i<t)&&(r[4]=e,r[5]=t,f.n=i,a=0))}if(n||1<e)return C;throw d=!0,t}return function(e,t,n){if(1<l)throw TypeError(\"Generator is already running\");for(d&&1===t&&p(t,n),a=t,s=n;(g=a<2?h:s)||!d;){i||(a?a<3?(1<a&&(f.n=-1),p(a,s)):f.n=s:f.v=s);try{if(l=2,i){if(a||(e=\"next\"),g=i[e]){if(!(g=g.call(i,s)))throw TypeError(\"iterator result is not an object\");if(!g.done)return g;s=g.value,a<2&&(a=0)}else 1===a&&(g=i[\"return\"])&&g.call(i),a<2&&(s=TypeError(\"The iterator does not provide a '\"+e+\"' method\"),a=1);i=h}else if((g=(d=f.n<0)?s:r.call(o,f))!==C)break}catch(g){i=h,a=1,s=g}finally{l=1}}return{value:g,done:d}}}(e,n),!0),o}var C={};function i(){}function o(){}function a(){}g=Object.getPrototypeOf;var s=[][t]?g(g([][t]())):(d(g={},t,function(){return this}),g),l=a.prototype=i.prototype=Object.create(s);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,a):(e.__proto__=a,d(e,n,\"GeneratorFunction\")),e.prototype=Object.create(l),e}return d(l,\"constructor\",o.prototype=a),d(a,\"constructor\",o),d(a,n,o.displayName=\"GeneratorFunction\"),d(l),d(l,n,\"Generator\"),d(l,t,function(){return this}),d(l,\"toString\",function(){return\"[object Generator]\"}),(T=function(){return{w:r,m:c}})()}function d(e,t,n,r){var i=Object.defineProperty;try{i({},\"\",{})}catch(e){i=0}(d=function(e,t,n,r){function o(t,n){d(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o(\"next\",0),o(\"throw\",1),o(\"return\",2))})(e,t,n,r)}function H(e,t){return function n(e){if(Array.isArray(e))return e}(e)||function d(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n[\"return\"]&&(a=n[\"return\"](),Object(a)!==a))return}finally{if(c)throw o}}return s}}(e,t)||l(e,t)||function r(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function x(e){return function t(e){if(Array.isArray(e))return o(e)}(e)||function n(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function w(e){return(w=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){if(e){if(\"string\"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;if(!document.documentElement.contains(t))return null;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),n=t.length;0<=--n&&t.item(n)!==this;);return-1<n}),Array.isArray||(Array.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}),\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(e,t){if(null==e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(e),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i])}return n},writable:!0,configurable:!0}),function(){var a=/^\\s*:scope/gi,s=/,\\s*:scope/gi,l=document.createElement(\"div\");function e(e,t){var i=e[t];e[t]=function(e){var t,n=!1,r=!1;if(!e||Array.isArray(e)||!e.match(a)&&!e.match(s))return i.call(this,e);this.parentNode||(l.appendChild(this),r=!0);var o=this.parentNode;return this.id||(this.id=\"rootedQuerySelector_id_\".concat((new Date).getTime()),n=!0),t=i.call(o,e.replace(a,\"#\".concat(this.id)).replace(s,\",#\".concat(this.id))),n&&(this.id=\"\"),r&&l.removeChild(this),t}}try{var t=l.querySelectorAll(\":scope *\");if(!t||Array.isArray(t))throw\"error\"}catch(n){e(Element.prototype,\"querySelector\"),e(Element.prototype,\"querySelectorAll\"),e(HTMLElement.prototype,\"querySelector\"),e(HTMLElement.prototype,\"querySelectorAll\")}}(),\"document\"in self&&(\"classList\"in document.createElement(\"_\")&&(!document.createElementNS||\"classList\"in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))||function(e){if(\"Element\"in e){var t=\"classList\",n=\"prototype\",r=e.Element[n],o=Object,i=String[n].trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")},a=Array[n].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(t in this&&this[t]===e)return t;return-1},s=function s(e,t){this.name=e,this.code=DOMException[e],this.message=t},l=function l(e,t){if(\"\"===t)throw new s(\"SYNTAX_ERR\",\"The token must not be empty.\");if(/\\s/.test(t))throw new s(\"INVALID_CHARACTER_ERR\",\"The token must not contain space characters.\");return a.call(e,t)},c=function c(e){for(var t=i.call(e.getAttribute(\"class\")||\"\"),n=t?t.split(/\\s+/):[],r=0,o=n.length;r<o;r++)this.push(n[r]);this._updateClassName=function(){e.setAttribute(\"class\",this.toString())}},d=c[n]=[],f=function f(){return new c(this)};if(s[n]=Error[n],d.item=function(e){return this[e]||null},d.contains=function(e){return~l(this,e+\"\")},d.add=function(){for(var e,t=arguments,n=0,r=t.length,o=!1;e=t[n]+\"\",~l(this,e)||(this.push(e),o=!0),++n<r;);o&&this._updateClassName()},d.remove=function(){var e,t,n=arguments,r=0,o=n.length,i=!1;do{for(e=n[r]+\"\",t=l(this,e);~t;)this.splice(t,1),i=!0,t=l(this,e)}while(++r<o);i&&this._updateClassName()},d.toggle=function(e,t){var n=this.contains(e),r=n?!0!==t&&\"remove\":!1!==t&&\"add\";return r&&this[r](e),!0===t||!1===t?t:!n},d.replace=function(e,t){var n=l(e+\"\");~n&&(this.splice(n,1,t),this._updateClassName())},d.toString=function(){return this.join(\" \")},o.defineProperty){var p={get:f,enumerable:!0,configurable:!0};try{o.defineProperty(r,t,p)}catch(u){void 0!==u.number&&-2146823252!==u.number||(p.enumerable=!1,o.defineProperty(r,t,p))}}else o[n].__defineGetter__&&r.__defineGetter__(t,f)}}(self),function(){var e=document.createElement(\"_\");if(e.classList.add(\"c1\",\"c2\"),!e.classList.contains(\"c2\")){var t=function pf(e){var pf=DOMTokenList.prototype[e];DOMTokenList.prototype[e]=function(e){var t,n=arguments.length;for(t=0;t<n;t++)e=arguments[t],pf.call(this,e)}};t(\"add\"),t(\"remove\")}if(e.classList.toggle(\"c3\",!1),e.classList.contains(\"c3\")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(e,t){return 1 in arguments&&!this.contains(e)==!t?t:n.call(this,e)}}\"replace\"in document.createElement(\"_\").classList||(DOMTokenList.prototype.replace=function(e,t){var n=this.toString().split(\" \"),r=n.indexOf(e+\"\");~r&&(n=n.slice(r),this.remove.apply(this,n),this.add(t),this.add.apply(this,n.slice(1)))}),e=null}()),function(){var e,t=-1;if(\"Microsoft Internet Explorer\"===navigator.appName?(e=navigator.userAgent,null!==new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))):\"Netscape\"===navigator.appName&&(e=navigator.userAgent,null!==new RegExp(\"Trident/.*rv:([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))),!(\"undefined\"==typeof window||\"undefined\"==typeof document||\"undefined\"==typeof HTMLElement||t<0)){var n=!1;try{var r=document.createElement(\"div\");r.addEventListener(\"focus\",function(e){e.preventDefault(),e.stopPropagation()},!0),r.focus(Object.defineProperty({},\"preventScroll\",{get:function(){if(navigator&&\"undefined\"!=typeof navigator.userAgent&&navigator.userAgent&&navigator.userAgent.match(/Edge\\/1[7-8]/))return n=!1;n=!0}}))}catch(s){}if(HTMLElement.prototype.nativeFocus===undefined&&!n){HTMLElement.prototype.nativeFocus=HTMLElement.prototype.focus;var o=function o(e){for(var t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;t&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push([t,t.scrollTop,t.scrollLeft]),t=t.parentNode;return t=r,n.push([t,t.scrollTop,t.scrollLeft]),n},i=function i(e){for(var t=0;t<e.length;t++)e[t][0].scrollTop=e[t][1],e[t][0].scrollLeft=e[t][2];e=[]},a=function a(e){if(e&&e.preventScroll){var t=o(this);if(\"function\"==typeof setTimeout){var n=this;setTimeout(function(){n.nativeFocus(),i(t)},0)}else this.nativeFocus(),i(t)}else this.nativeFocus()};HTMLElement.prototype.focus=a}}}();function Y(e,t,n){if(\"string\"!=typeof e)return new Y.Bootstrap(e,t,n);var r=document.querySelectorAll(e);t&&t.iframe_document&&(r=t.iframe_document.querySelectorAll(e));for(var o=[],i=0;i<r.length;i++){var a=r[i][\"data-froala.editor\"];a?o.push(a):o.push(new Y.Bootstrap(r[i],t,n))}return 1==o.length?o[0]:o}Y.RegisterPlugins=function(e){for(var t=0;t<e.length;t++)e[t].call(Y)},Object.assign(Y,{DEFAULTS:{allowStylingOnNonEditable:!1,initOnClick:!1,pluginsEnabled:null,pluginsDisabled:null},MODULES:{},PLUGINS:{},VERSION:\"4.6.2\",INSTANCES:[],OPTS_MAPPING:{},SHARED:{},ID:0}),Y.MODULES.node=function(a){var n=a.$;function s(e){return e&&\"IFRAME\"!==e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]}function l(e){return!!e&&(e.nodeType===Node.ELEMENT_NODE&&0<=Y.BLOCK_TAGS.indexOf(e.tagName.toLowerCase()))}function c(e){var t={},n=e.attributes;if(n)for(var r=0;r<n.length;r++){var o=n[r];t[o.nodeName]=o.value}return t}function t(e){for(var t=\"\",n=c(e),r=Object.keys(n),o=0;o<r.length;o++){var i=r[o],a=n[i];a.indexOf(\"'\")<0&&0<=a.indexOf('\"')?t+=\" \".concat(i,\"='\").concat(a,\"'\"):(0<=a.indexOf('\"')&&0<=a.indexOf(\"'\")&&(a=a.replace(/\"/g,\"&quot;\")),t+=\" \".concat(i,'=\"').concat(a,'\"'))}return t}function r(e){return e===a.el}return{isBlock:l,isEmpty:function d(e,t){if(!e)return!0;if(e.querySelector(\"table\"))return!1;var n=s(e);1===n.length&&l(n[0])&&(n=s(n[0]));for(var r=!1,o=0;o<n.length;o++){var i=n[o];if(!(t&&a.node.hasClass(i,\"fr-marker\")||i.nodeType===Node.TEXT_NODE&&0===i.textContent.length)){if(\"BR\"!==i.tagName&&0<(i.textContent||\"\").replace(/\\u200B/gi,\"\").replace(/\\n/g,\"\").length)return!1;if(r)return!1;\"BR\"===i.tagName&&(r=!0)}}return!(e.querySelectorAll(Y.VOID_ELEMENTS.join(\",\")).length-e.querySelectorAll(\"br\").length||e.querySelector(\"\".concat(a.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||1<e.querySelectorAll(Y.BLOCK_TAGS.join(\",\")).length||e.querySelector(\"\".concat(a.opts.htmlDoNotWrapTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\")))},blockParent:function o(e){for(;e&&e.parentNode!==a.el&&(!e.parentNode||!a.node.hasClass(e.parentNode,\"fr-inner\"));)if(l(e=e.parentNode))return e;return null},deepestParent:function i(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=!0),t.push(a.el),0<=t.indexOf(e.parentNode)||e.parentNode&&a.node.hasClass(e.parentNode,\"fr-inner\")||e.parentNode&&0<=Y.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)&&n)return null;for(;t.indexOf(e.parentNode)<0&&e.parentNode&&!a.node.hasClass(e.parentNode,\"fr-inner\")&&(Y.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)<0||!n)&&(!l(e)||l(e.parentNode))&&(!l(e)||!l(e.parentNode)||!n);)e=e.parentNode;return e},rawAttributes:c,attributes:t,clearAttributes:function f(e){for(var t=e.attributes,n=t.length-1;0<=n;n--){var r=t[n];e.removeAttribute(r.nodeName)}},openTagString:function p(e){return\"<\".concat(e.tagName.toLowerCase()).concat(t(e),\">\")},closeTagString:function u(e){return\"</\".concat(e.tagName.toLowerCase(),\">\")},isFirstSibling:function h(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&t&&a.node.hasClass(n,\"fr-marker\");)n=n.previousSibling;return!n||n.nodeType===Node.TEXT_NODE&&\"\"===n.textContent&&h(n)},isLastSibling:function g(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&t&&a.node.hasClass(n,\"fr-marker\");)n=n.nextSibling;return!n||n.nodeType===Node.TEXT_NODE&&\"\"===n.textContent&&g(n)},isList:function C(e){return!!e&&0<=[\"UL\",\"OL\"].indexOf(e.tagName)},isLink:function m(e){return!!e&&e.nodeType===Node.ELEMENT_NODE&&\"a\"===e.tagName.toLowerCase()},isElement:r,contents:s,isVoid:function v(e){return e&&e.nodeType===Node.ELEMENT_NODE&&0<=Y.VOID_ELEMENTS.indexOf((e.tagName||\"\").toLowerCase())},hasFocus:function b(e){return e===a.doc.activeElement&&(!a.doc.hasFocus||a.doc.hasFocus())&&Boolean(r(e)||e.type||e.href||~e.tabIndex)},isEditable:function E(e){return(!e.getAttribute||\"false\"!==e.getAttribute(\"contenteditable\"))&&[\"STYLE\",\"SCRIPT\"].indexOf(e.tagName)<0&&!(e.viewportElement&&\"svg\"===e.viewportElement.tagName)},isDeletable:function L(e){return e&&e.nodeType===Node.ELEMENT_NODE&&e.getAttribute(\"class\")&&0<=(e.getAttribute(\"class\")||\"\").indexOf(\"fr-deletable\")},hasClass:function y(e,t){return e instanceof n&&(e=e.get(0)),e&&e.classList&&e.classList.contains(t)},filter:function N(e){return a.browser.msie?e:{acceptNode:e}}}},Object.assign(Y.DEFAULTS,{DOMPurify:window.DOMPurify,htmlAllowedTags:[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"blockquote\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"pre\",\"progress\",\"queue\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"style\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strike\",\"strong\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"],htmlRemoveTags:[\"script\",\"style\"],htmlAllowedAttrs:[\"accept\",\"accept-charset\",\"accesskey\",\"action\",\"align\",\"allowfullscreen\",\"allowtransparency\",\"alt\",\"async\",\"autocomplete\",\"autofocus\",\"autoplay\",\"autosave\",\"background\",\"bgcolor\",\"border\",\"charset\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"color\",\"cols\",\"colspan\",\"content\",\"contenteditable\",\"contextmenu\",\"controls\",\"coords\",\"data\",\"data-.*\",\"datetime\",\"default\",\"defer\",\"dir\",\"dirname\",\"disabled\",\"download\",\"draggable\",\"dropzone\",\"enctype\",\"for\",\"form\",\"formaction\",\"frameborder\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"http-equiv\",\"icon\",\"id\",\"ismap\",\"itemprop\",\"keytype\",\"kind\",\"label\",\"lang\",\"language\",\"list\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"mozallowfullscreen\",\"multiple\",\"muted\",\"name\",\"novalidate\",\"open\",\"optimum\",\"pattern\",\"ping\",\"placeholder\",\"playsinline\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"reversed\",\"rows\",\"rowspan\",\"sandbox\",\"scope\",\"scoped\",\"scrolling\",\"seamless\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"src\",\"srcdoc\",\"srclang\",\"srcset\",\"start\",\"step\",\"summary\",\"spellcheck\",\"style\",\"tabindex\",\"target\",\"title\",\"type\",\"translate\",\"usemap\",\"value\",\"valign\",\"webkitallowfullscreen\",\"width\",\"wrap\"],htmlAllowedStyleProps:[\".*\"],htmlAllowComments:!0,htmlUntouched:!1,preserveTabSpaces:!1,fullPage:!1}),Y.HTML5Map={B:\"STRONG\",I:\"EM\",STRIKE:\"S\"},Y.MODULES.clean=function(C){var m,v,b,E,f=C.$;function o(e){if(e.nodeType===Node.ELEMENT_NODE&&e.getAttribute(\"class\")&&0<=e.getAttribute(\"class\").indexOf(\"fr-marker\")||[\"TABLE\",\"TBODY\",\"THEAD\",\"TFOOT\",\"TR\",\"TD\",\"TH\"].includes(e.nodeName))return!1;var t,n=C.node.contents(e),r=[];for(t=0;t<n.length;t++)n[t].nodeType!==Node.ELEMENT_NODE||C.node.isVoid(n[t])?n[t].nodeType===Node.TEXT_NODE&&(n[t].textContent=n[t].textContent.replace(/\\u200b/g,\"\")):n[t].textContent.replace(/\\u200b/g,\"\").length!==n[t].textContent.length&&o(n[t]);if(e.nodeType===Node.ELEMENT_NODE&&!C.node.isVoid(e)&&(e.normalize(),n=C.node.contents(e),r=e.querySelectorAll(\".fr-marker\"),n.length-r.length==0)){for(t=0;t<n.length;t++)if(n[t].nodeType===Node.ELEMENT_NODE&&(n[t].getAttribute(\"class\")||\"\").indexOf(\"fr-marker\")<0)return!1;for(t=0;t<r.length;t++)e.parentNode.insertBefore(r[t].cloneNode(!0),e);return e.parentNode.removeChild(e),!1}}function s(e,t){if(e.nodeType===Node.COMMENT_NODE)return\"\\x3c!--\".concat(e.nodeValue,\"--\\x3e\");if(e.nodeType===Node.TEXT_NODE)return t?e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"):C.opts.preserveTabSpaces?e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,\" \".repeat(C.opts.tabSpaces)||\" \".repeat(4)):e.textContent.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,\"\");if(e.nodeType!==Node.ELEMENT_NODE)return e.outerHTML;if(e.nodeType===Node.ELEMENT_NODE&&0<=[\"STYLE\",\"SCRIPT\",\"NOSCRIPT\"].indexOf(e.tagName))return e.outerHTML;if(e.nodeType===Node.ELEMENT_NODE&&\"svg\"===e.tagName){var n=document.createElement(\"div\"),r=e.cloneNode(!0);return n.appendChild(r),n.innerHTML}if(\"IFRAME\"===e.tagName)return e.outerHTML.replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\");var o=e.childNodes;if(0===o.length)return e.outerHTML;for(var i=\"\",a=0;a<o.length;a++)\"PRE\"===e.tagName&&(t=!0),i+=s(o[a],t);return C.node.openTagString(e)+i+C.node.closeTagString(e)}var l=[];function L(e){var t=e.replace(/;;/gi,\";\");return\";\"!==(t=t.replace(/^;/gi,\"\")).charAt(t.length)&&(t+=\";\"),t}function c(e){var t;for(t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=t.match(b),r=null;\"style\"===t&&C.opts.htmlAllowedStyleProps.length&&(r=e[t].match(E)),n&&r?e[t]=L(r.join(\";\")):n&&(\"style\"!==t||r)||delete e[t]}for(var o=\"\",i=Object.keys(e).sort(),a=0;a<i.length;a++)e[t=i[a]].indexOf('\"')<0?o+=\" \".concat(t,'=\"').concat(e[t],'\"'):o+=\" \".concat(t,\"='\").concat(e[t],\"'\");return o}function d(e,t){var n,r=document.implementation.createHTMLDocument(\"Froala DOC\").createElement(\"DIV\"),o=e.replace(/(<col[^>]*>)&nbsp;/g,\"$1\");f(r).append(o);var i=\"\";if(r){var a=C.node.contents(r);for(n=0;n<a.length;n++)t(a[n]);for(a=C.node.contents(r),n=0;n<a.length;n++)i+=s(a[n])}return i}function p(e,t,n){var r=e=function i(e){return l=[],e=(e=(e=(e=e.replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,function(e){return l.push(e),\"[FROALA.EDITOR.SCRIPT \".concat(l.length-1,\"]\")})).replace(/<noscript\\b[^<]*(?:(?!<\\/noscript>)<[^<]*)*<\\/noscript>/gi,function(e){return l.push(e),\"[FROALA.EDITOR.NOSCRIPT \".concat(l.length-1,\"]\")})).replace(/<meta((?:[\\w\\W]*?)) http-equiv=\"/g,'<meta$1 data-fr-http-equiv=\"')).replace(/<img((?:[\\w\\W]*?)) src=\"/g,'<img$1 data-fr-src=\"')}(e),o=null;return C.opts.fullPage&&(r=C.html.extractNode(e,\"body\")||(0<=e.indexOf(\"<body\")?\"\":e),n&&(o=C.html.extractNode(e,\"head\")||\"\")),r=d(r,t),o&&(o=d(o,t)),function a(e){return e=(e=(e=e.replace(/\\[FROALA\\.EDITOR\\.SCRIPT ([\\d]*)\\]/gi,function(e,t){return 0<=C.opts.htmlRemoveTags.indexOf(\"script\")?\"\":l[parseInt(t,10)]})).replace(/\\[FROALA\\.EDITOR\\.NOSCRIPT ([\\d]*)\\]/gi,function(e,t){if(0<=C.opts.htmlRemoveTags.indexOf(\"noscript\"))return\"\";var n=l[parseInt(t,10)].replace(/&lt;/g,\"<\").replace(/&gt;/g,\">\"),r=f(n);if(r&&r.length){var o=d(r.html(),u);r.html(o),n=r.get(0).outerHTML}return n})).replace(/<img((?:[\\w\\W]*?)) data-fr-src=\"/g,'<img$1 src=\"')}(function s(e,t,n){if(C.opts.fullPage){var r=C.html.extractDoctype(n),o=c(C.html.extractNodeAttrs(n,\"html\"));t=null===t?C.html.extractNode(n,\"head\")||\"<title></title>\":t;var i=c(C.html.extractNodeAttrs(n,\"head\")),a=c(C.html.extractNodeAttrs(n,\"body\"));return\"\".concat(r,\"<html\").concat(o,\"><head\").concat(i,\">\").concat(t,\"</head><body\").concat(a,\">\").concat(e,\"</body></html>\")}return e}(r,o,e))}function y(e){var t=C.doc.createElement(\"DIV\");return t.innerText=e,t.textContent}function u(e){for(var t=C.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!==Node.TEXT_NODE&&u(t[n]);!function g(n){if(\"SPAN\"===n.tagName&&0<=(n.getAttribute(\"class\")||\"\").indexOf(\"fr-marker\"))return!1;if(\"PRE\"===n.tagName&&function h(e){var t=e.innerHTML;0<=t.indexOf(\"\\n\")&&(e.innerHTML=t.replace(/\\n/g,\"<br>\"))}(n),n.nodeType===Node.ELEMENT_NODE&&(n.getAttribute(\"data-fr-src\")&&0!==n.getAttribute(\"data-fr-src\").indexOf(\"blob:\")&&n.setAttribute(\"data-fr-src\",C.helpers.sanitizeURL(y(n.getAttribute(\"data-fr-src\")))),n.getAttribute(\"href\")&&n.setAttribute(\"href\",C.helpers.sanitizeURL(y(n.getAttribute(\"href\")))),n.getAttribute(\"src\")&&n.setAttribute(\"src\",C.helpers.sanitizeURL(y(n.getAttribute(\"src\")))),n.getAttribute(\"srcdoc\")&&n.setAttribute(\"srcdoc\",C.clean.html(n.getAttribute(\"srcdoc\"))),0<=[\"TABLE\",\"TBODY\",\"TFOOT\",\"TR\"].indexOf(n.tagName)&&(n.innerHTML=n.innerHTML.trim())),!C.opts.pasteAllowLocalImages&&n.nodeType===Node.ELEMENT_NODE&&\"IMG\"===n.tagName&&n.getAttribute(\"data-fr-src\")&&0===n.getAttribute(\"data-fr-src\").indexOf(\"file://\"))return n.parentNode.removeChild(n),!1;if(n.nodeType===Node.ELEMENT_NODE&&Y.HTML5Map[n.tagName]&&\"\"===C.node.attributes(n)){var e=Y.HTML5Map[n.tagName],t=\"<\".concat(e,\">\").concat(n.innerHTML,\"</\").concat(e,\">\");n.insertAdjacentHTML(\"beforebegin\",t),(n=n.previousSibling).parentNode.removeChild(n.nextSibling)}if(C.opts.htmlAllowComments||n.nodeType!==Node.COMMENT_NODE)if(n.tagName&&n.tagName.match(v)){if(\"STYLE\"==n.tagName&&C.helpers.isMac()){var r,o=n.innerHTML.trim(),i=[],a=/{([^}]+)}/g;for(o=o.replace(/\\/\\*[\\s\\S]*?\\*\\/|([^\\\\:]|^)\\/\\/.*|<!--[\\s\\S]*?-->$/,\"\");r=a.exec(o);)i.push(r[1]);for(var s=function s(t){var e=o.substring(0,o.indexOf(\"{\")).trim();0==!/^[a-z_-][a-z\\d_-]*$/i.test(e)&&n.parentNode.querySelectorAll(e).forEach(function(e){e.removeAttribute(\"class\"),e.setAttribute(\"style\",i[t])}),o=o.substring(o.indexOf(\"}\")+1)},l=0;-1!=o.indexOf(\"{\");l++)s(l)}n.parentNode.removeChild(n)}else if(n.tagName&&!n.tagName.match(m))\"svg\"===n.tagName?n.parentNode.removeChild(n):C.browser.safari&&\"path\"===n.tagName&&n.parentNode&&\"svg\"===n.parentNode.tagName||(n.outerHTML=n.innerHTML);else{var c=n.attributes;if(c)for(var d=c.length-1;0<=d;d--){var f=c[d],p=f.nodeName.match(b),u=null;\"style\"===f.nodeName&&C.opts.htmlAllowedStyleProps.length&&(u=f.value.match(E)),p&&u?f.value=L(u.join(\";\")):p&&(\"style\"!==f.nodeName||u)||n.removeAttribute(f.nodeName)}}else 0!==n.data.indexOf(\"[FROALA.EDITOR\")&&n.parentNode.removeChild(n)}(e)}return{_init:function e(){C.opts.fullPage&&f.merge(C.opts.htmlAllowedTags,[\"head\",\"title\",\"style\",\"link\",\"base\",\"body\",\"html\",\"meta\"])},html:function h(e,t,n,r){if(void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r=!1),0<=e.indexOf(\"<plaintext>\")){e=e.replace(/<plaintext>/g,\"\").replace(/<\\/plaintext>/g,\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\\u00A0/g,\"&nbsp;\").replace(/\\t/g,C.opts.preserveTabSpaces?\" \".repeat(C.opts.tabSpaces||4):\"\");var o=C.html.defaultTag();C.opts.enter!=Y.ENTER_BR&&(e=\"<\".concat(o,\">\").concat(e,\"</\").concat(o,\">\"))}var i,a=f.merge([],C.opts.htmlAllowedTags);for(i=0;i<t.length;i++)0<=a.indexOf(t[i])&&a.splice(a.indexOf(t[i]),1);var s=f.merge([],C.opts.htmlAllowedAttrs);for(i=0;i<n.length;i++)0<=s.indexOf(n[i])&&s.splice(s.indexOf(n[i]),1);if(s.push(\"data-fr-.*\"),s.push(\"fr-.*\"),m=new RegExp(\"^\".concat(a.join(\"$|^\"),\"$\"),\"gi\"),b=new RegExp(\"^\".concat(s.join(\"$|^\"),\"$\"),\"gi\"),v=new RegExp(\"^\".concat(C.opts.htmlRemoveTags.join(\"$|^\"),\"$\"),\"gi\"),E=C.opts.htmlAllowedStyleProps.length?new RegExp(\"((^|;|\\\\s)\".concat(C.opts.htmlAllowedStyleProps.join(\":.+?(?=;|$))|((^|;|\\\\s)\"),\":.+?(?=(;)|$))\"),\"gi\"):null,e=p(e,u,!0),\"undefined\"!=typeof C.opts.DOMPurify){var l={ALLOW_UNKNOWN_PROTOCOLS:!0};1===C.opts.htmlAllowedTags.length&&\".*\"===C.opts.htmlAllowedTags[0]||(l.ALLOWED_TAGS=C.opts.htmlAllowedTags),1===C.opts.htmlAllowedAttrs.length&&\".*\"===C.opts.htmlAllowedAttrs[0]||(l.ALLOWED_ATTR=C.opts.htmlAllowedAttrs),e=C.opts.DOMPurify.sanitize(e,l)}return e},toHTML5:function r(){var e=C.el.querySelectorAll(Object.keys(Y.HTML5Map).join(\",\"));if(e.length){var t=!1;C.el.querySelector(\".fr-marker\")||(C.selection.save(),t=!0);for(var n=0;n<e.length;n++)\"\"===C.node.attributes(e[n])&&f(e[n]).replaceWith(\"<\".concat(Y.HTML5Map[e[n].tagName],\">\").concat(e[n].innerHTML,\"</\").concat(Y.HTML5Map[e[n].tagName],\">\"));t&&C.selection.restore()}},tables:function t(){!function d(){for(var e=C.el.querySelectorAll(\"tr\"),t=0,n=0;n<e.length;n++){var r=e[n].outerHTML.match(/rowspan=\"([0-9]+)\"/);r&&(t+=Number(r[1])-1);for(var o=e[n].children,i=!0,a=0;a<o.length;a++)if(\"TH\"!==o[a].tagName){i=!1;break}if(!1!==i&&0!==o.length)if(1===o.length&&\"TH\"===o[0].tagName&&t)t--;else{var s=e[n],l=s.closest(\"table\");if(l){var c=l.querySelector(\"thead\");c||(c=C.doc.createElement(\"THEAD\"),l.insertBefore(c,l.firstChild)),c.contains(s)||c.appendChild(s)}}}}(),function s(){for(var e=C.$el.find(\"table[style]\"),t=0;t<e.length;t++){var n=f(e[t]);n.attr(\"style\").indexOf(\"width\")<0&&n.css(\"width\",\"100%\")}for(var r=C.$el.find(\"td[width]\"),o=0;o<r.length;o++){var i=f(r[o]),a=i.attr(\"width\");a&&(i.css(\"width\",a),i.removeAttr(\"width\"))}}()},lists:function g(){!function s(){var e,t=[];do{if(t.length){var n=t[0],r=C.doc.createElement(\"ul\");n.parentNode.insertBefore(r,n);do{var o=n;n=n.nextSibling,r.appendChild(o)}while(n&&\"LI\"===n.tagName)}t=[];for(var i=C.el.querySelectorAll(\"li\"),a=0;a<i.length;a++)e=i[a],C.node.isList(e.parentNode)||t.push(i[a])}while(0<t.length)}(),function i(){for(var e=C.el.querySelectorAll(\"ol + ol, ul + ul\"),t=0;t<e.length;t++){var n=e[t];if(C.node.isList(n.previousSibling)&&C.node.openTagString(n)===C.node.openTagString(n.previousSibling)){for(var r=C.node.contents(n),o=0;o<r.length;o++)n.previousSibling.appendChild(r[o]);n.parentNode.removeChild(n)}}}(),function a(){for(var e=C.el.querySelectorAll(\"ul, ol\"),t=0;t<e.length;t++)for(var n=C.node.contents(e[t]),r=null,o=n.length-1;0<=o;o--)!n[o].tagName&&C.opts.htmlUntouched||\"LI\"===n[o].tagName||\"UL\"==n[o].tagName||\"OL\"==n[o].tagName?r=null:\"BR\"==n[o].tagName?f(n[o]).remove():(r||(r=f(C.doc.createElement(\"LI\"))).insertBefore(n[o]),r.prepend(n[o]))}(),function l(){var e,t,n;do{t=!1;var r=C.el.querySelectorAll(\"li:empty\");for(e=0;e<r.length;e++)r[e].parentNode.removeChild(r[e]);var o=C.el.querySelectorAll(\"ul, ol\");for(e=0;e<o.length;e++)(n=o[e]).querySelector(\"LI\")||(t=!0,n.parentNode.removeChild(n))}while(!0===t)}(),function o(){for(var e=C.el.querySelectorAll(\"ul > ul, ol > ol, ul > ol, ol > ul\"),t=0;t<e.length;t++){var n=e[t],r=n.previousSibling;r&&(\"LI\"===r.tagName?r.appendChild(n):f(n).wrap(\"<li></li>\"))}}(),function c(){for(var e=C.el.querySelectorAll(\"li > ul, li > ol\"),t=0;t<e.length;t++){var n=e[t];if(n.nextSibling)for(var r=n.nextSibling;0<r.childNodes.length;)n.append(r.childNodes[0])}}(),function d(){for(var e=C.el.querySelectorAll(\"li > ul, li > ol\"),t=0;t<e.length;t++){var n=e[t];if(C.node.isFirstSibling(n)&&\"none\"!=n.parentNode.style.listStyleType)f(n).before(\"<br/>\");else if(n.previousSibling&&\"BR\"===n.previousSibling.tagName){for(var r=n.previousSibling.previousSibling;r&&C.node.hasClass(r,\"fr-marker\");)r=r.previousSibling;r&&\"BR\"!==r.tagName&&f(n.previousSibling).remove()}}}(),function n(){for(var e=C.el.querySelectorAll(\"li:empty\"),t=0;t<e.length;t++)f(e[t]).remove()}(),function r(){for(var e=C.el.querySelectorAll(\"ul, ol\"),t=0;t<e.length;t++)for(var n=e[t],a=C.node.contents(n),s=function s(){var e=a[l],t=C.node.contents(e);if(e.nodeType!==Node.ELEMENT_NODE)return 0;var n=e.querySelectorAll(\"ul, ol\");if(0<n.length&&1==t.length&&t[0].nodeType===Node.ELEMENT_NODE){var r=n[0],o=a[l-1];if(!o)return 0;var i=f(o).data(\"tracking\")&&C.opts.trackChangesEnabled;x(r.querySelectorAll(\"li\")).reverse().forEach(function(e){if(i){var t=\"pending-\".concat(C.id,\"-\").concat(C.track_changes.getPendingChanges().length),n=C.opts.showChangesEnabled?'class=\"fr-highlight-change\"':\"\",r=e.innerHTML;e.innerHTML='<span data-tracking=\"true\" data-track-id=\"'.concat(t,'\" ').concat(n,\">\").concat(r,\"</span>\"),C.track_changes.pushChange(t)}}),o.append(r),e.remove()}},l=0;l<a.length;l++)s()}()},invisibleSpaces:function n(e){return e.replace(/\\u200b/g,\"\").length===e.length?e:C.clean.exec(e,o)},exec:p}},Y.XS=0,Y.SM=1,Y.MD=2,Y.LG=3;Y.LinkRegExCommon=\"[\".concat(\"a-z\\\\u0080-\\\\u009f\\\\u00a1-\\\\uffff0-9-_\\\\.\",\"]{1,}\"),Y.LinkRegExEnd=\"((:[0-9]{1,5})|)(((\\\\/|\\\\?|#)[a-zA-Z0-9\\\\u00a1-\\\\uffff@\\\\[\\\\]\\\\(\\\\)\\\\{\\\\}.,:;!?%&$^=*+~#_\\\\-`'\\\"\\\\\\\\\\\\/|]*)|())\",Y.LinkRegExTLD=\"((\".concat(Y.LinkRegExCommon,\")(\\\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev|in|fr|it)))\"),Y.LinkRegExHTTP=\"((ftp|http|https):\\\\/\\\\/\".concat(Y.LinkRegExCommon,\")\"),Y.LinkRegExAuth=\"((ftp|http|https):\\\\/\\\\/[\\\\u0021-\\\\uffff]{1,}@\".concat(Y.LinkRegExCommon,\")\"),Y.LinkRegExWWW=\"(www\\\\.\".concat(Y.LinkRegExCommon,\"\\\\.[a-z0-9-]{2,24})\"),Y.LinkRegEx=\"(\".concat(Y.LinkRegExTLD,\"|\").concat(Y.LinkRegExHTTP,\"|\").concat(Y.LinkRegExWWW,\"|\").concat(Y.LinkRegExAuth,\")\").concat(Y.LinkRegExEnd),Y.LinkProtocols=[\"mailto\",\"tel\",\"sms\",\"notes\",\"data\"],Y.MAIL_REGEX=/.+@.+\\..+/i,Y.MODULES.helpers=function(i){var a,s=i.$;function e(){var e={},t=function i(){var e,t=-1;return\"Microsoft Internet Explorer\"===navigator.appName?(e=navigator.userAgent,null!==new RegExp(\"MSIE ([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))):\"Netscape\"===navigator.appName&&(e=navigator.userAgent,null!==new RegExp(\"Trident/.*rv:([0-9]{1,}[\\\\.0-9]{0,})\").exec(e)&&(t=parseFloat(RegExp.$1))),t}();if(0<t)e.msie=!0;else{var n=navigator.userAgent.toLowerCase(),r=/(edge)[ /]([\\w.]+)/.exec(n)||/(chrome)[ /]([\\w.]+)/.exec(n)||/(webkit)[ /]([\\w.]+)/.exec(n)||/(opera)(?:.*version|)[ /]([\\w.]+)/.exec(n)||/(msie) ([\\w.]+)/.exec(n)||n.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(n)||[],o=r[1]||\"\";r[2];r[1]&&(e[o]=!0),e.chrome?e.webkit=!0:e.webkit&&(e.safari=!0)}return e.msie&&(e.version=t),e}function t(){return(/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||function e(){return navigator.maxTouchPoints&&2<navigator.maxTouchPoints&&/Macintosh/.test(navigator.userAgent)}())&&!o()}function n(){return/(Android)/g.test(navigator.userAgent)&&!o()}function r(){return/(Blackberry)/g.test(navigator.userAgent)}function o(){return/(Windows Phone)/gi.test(navigator.userAgent)}var l=null;return{_init:function c(){i.browser=e()},isIOS:t,isMac:function d(){return null===l&&(l=0<=navigator.platform.toUpperCase().indexOf(\"MAC\")),l},getIOSVersion:function f(){if(t()){var e=navigator.userAgent.match(/OS (\\d)?\\d_\\d(_\\d)?/i)||navigator.userAgent.match(/\\b[0-9]+_[0-9]+(?:_[0-9]+)?\\b/);return e&&e.length&&Math.abs(e[0].split(\"_\")[0].replace(\"OS \",\"\"))||NaN}return NaN},getSafariVersion:function p(){var e=navigator.userAgent;if(-1!==e.indexOf(\"Safari\")){var t=e.match(/Version\\/(\\d+\\.\\d+)/);if(t)return parseInt(t[1])}return null},isAndroid:n,isBlackberry:r,isWindowsPhone:o,isMobile:function u(){return n()||t()||r()},isEmail:function h(e){return!/^(https?:|ftps?:|)\\/\\//i.test(e)&&Y.MAIL_REGEX.test(e)},requestAnimationFrame:function g(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}},getPX:function C(e){return parseInt(e,10)||0},screenSize:function m(e){try{var t=0;if((t=e?i.$box.width():i.$sc.width())<768)return Y.XS;if(768<=t&&t<992)return Y.SM;if(992<=t&&t<1200)return Y.MD;if(1200<=t)return Y.LG}catch(n){return Y.LG}},isTouch:function v(){return\"ontouchstart\"in window||window.DocumentTouch&&document instanceof window.DocumentTouch},sanitizeURL:function b(e){if(i.opts.DOMPurify){var t={ALLOW_UNKNOWN_PROTOCOLS:!0,ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|xxx):|[^a-z]|[a-z+.]+(?:[^a-z+.\\-:]|$))/i};1===i.opts.htmlAllowedTags.length&&\".*\"===i.opts.htmlAllowedTags[0]||(t.ALLOWED_TAGS=i.opts.htmlAllowedTags),1===i.opts.htmlAllowedAttrs.length&&\".*\"===i.opts.htmlAllowedAttrs[0]||(t.ALLOWED_ATTR=i.opts.htmlAllowedAttrs),e=i.opts.DOMPurify.sanitize(e,t)}return e=e.replace(/([\"'/]|\\s+)on\\w+=(?:\"[^\"]*\"|'[^']*'|[^>\\s]+)/gi,\"\"),/^(https?:|ftps?:|)\\/\\//i.test(e)?e:/^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e)?e:new RegExp(\"^(\".concat(Y.LinkProtocols.join(\"|\"),\"):\"),\"i\").test(e)?e:e=encodeURIComponent(e).replace(/%23/g,\"#\").replace(/%2F/g,\"/\").replace(/%25/g,\"%\").replace(/mailto%3A/gi,\"mailto:\").replace(/file%3A/gi,\"file:\").replace(/sms%3A/gi,\"sms:\").replace(/tel%3A/gi,\"tel:\").replace(/notes%3A/gi,\"notes:\").replace(/data%3Aimage/gi,\"data:image\").replace(/blob%3A/gi,\"blob:\").replace(/%3A(\\d)/gi,\":$1\").replace(/webkit-fake-url%3A/gi,\"webkit-fake-url:\").replace(/%3F/g,\"?\").replace(/%3D/g,\"=\").replace(/%26/g,\"&\").replace(/&amp;/g,\"&\").replace(/%2C/g,\",\").replace(/%3B/g,\";\").replace(/%2B/g,\"+\").replace(/%40/g,\"@\").replace(/%5B/g,\"[\").replace(/%5D/g,\"]\").replace(/%7B/g,\"{\").replace(/%7D/g,\"}\").replace(/%[0-1]+[0-9]+|%[0-1]+[A-F]+/g,\"\")},isArray:function E(e){return e&&!Object.prototype.propertyIsEnumerable.call(e,\"length\")&&\"object\"===w(e)&&\"number\"==typeof e.length},RGBToHex:function L(e){function t(e){return\"0\".concat(parseInt(e,10).toString(16)).slice(-2)}try{if(!e||\"transparent\"===e)return\"\";if(/^#[0-9A-F]{6}$/i.test(e)||/^#[0-9A-F]{8}$/i.test(e))return e.toUpperCase();var n=e.match(/^rgb\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+)\\s*\\)$/i);if(n)return\"#\".concat(t(n[1])).concat(t(n[2])).concat(t(n[3])).toUpperCase();if(n=e.match(/^rgba\\(\\s*(\\d+),\\s*(\\d+),\\s*(\\d+),\\s*(\\d*\\.?\\d+)\\s*\\)$/i))return\"#\".concat(t(n[1])).concat(t(n[2])).concat(t(n[3])).concat(t(Math.round(255*parseFloat(n[4])))).toUpperCase()}catch(r){return null}},HEXtoRGB:function y(e){if(e=e.replace(/^#/,\"\"),/^rgba?\\(\\d+,\\s*\\d+,\\s*\\d+(,\\s*(0|1|0?\\.\\d+))?\\)$/i.test(e))return e;if(3!==e.length&&4!==e.length||(e=e.split(\"\").map(function(e){return e+e}).join(\"\")),6===e.length){var t=/^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);return t?\"rgb(\".concat(parseInt(t[1],16),\", \").concat(parseInt(t[2],16),\", \").concat(parseInt(t[3],16),\")\"):\"\"}if(8===e.length){var n=/^([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);if(n){var r=parseInt(n[1],16),o=parseInt(n[2],16),i=parseInt(n[3],16),a=parseInt(n[4],16)/255;return\"rgba(\".concat(r,\", \").concat(o,\", \").concat(i,\", \").concat(a.toFixed(2),\")\")}}return\"\"},isURL:function N(e){return!!/^(https?:|ftps?:|)\\/\\//i.test(e)&&(e=String(e).replace(/</g,\"%3C\").replace(/>/g,\"%3E\").replace(/\"/g,\"%22\").replace(/ /g,\"%20\"),new RegExp(\"^\".concat(Y.LinkRegExHTTP).concat(Y.LinkRegExEnd,\"$\"),\"gi\").test(e))},getAlignment:function S(e){e.css||(e=s(e));var t=(e.css(\"text-align\")||\"\").replace(/-(.*)-/g,\"\");if([\"left\",\"right\",\"justify\",\"center\"].indexOf(t)<0){if(!a){var n=s('<div dir=\"'.concat(\"rtl\"===i.opts.direction?\"rtl\":\"auto\",'\" style=\"text-align: ').concat(i.$el.css(\"text-align\"),'; position: fixed; left: -3000px;\"><span id=\"s1\">.</span><span id=\"s2\">.</span></div>'));s(\"body\").first().append(n);var r=n.find(\"#s1\").get(0).getBoundingClientRect().left,o=n.find(\"#s2\").get(0).getBoundingClientRect().left;n.remove(),a=r<o?\"left\":\"right\"}t=a}return t},scrollTop:function T(){return i.o_win.pageYOffset?i.o_win.pageYOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollTop?i.o_doc.documentElement.scrollTop:i.o_doc.body.scrollTop?i.o_doc.body.scrollTop:0},scrollLeft:function M(){return i.o_win.pageXOffset?i.o_win.pageXOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollLeft?i.o_doc.documentElement.scrollLeft:i.o_doc.body.scrollLeft?i.o_doc.body.scrollLeft:0},isInViewPort:function A(e){var t=e.getBoundingClientRect();return 0<=(t={top:Math.round(t.top),bottom:Math.round(t.bottom)}).top&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||t.top<=0&&t.bottom>=(window.innerHeight||document.documentElement.clientHeight)},isValidHexColor:function x(e){return/^#([0-9A-F]{3}|[0-9A-F]{6})$/i.test(e)},isRGBColor:function O(e){return/^rgba?\\(\\d+,\\s*\\d+,\\s*\\d+(,\\s*\\d+\\.?\\d*)?\\)$/i.test(e)}}},Y.MODULES.events=function(p){var e,i=p.$,a={};function s(e,t,n){E(e,t,n)}function l(e){if(e.originalEvent&&\"insertReplacementText\"===e.originalEvent.inputType){var t=p.selection.get();if(!t||0===t.rangeCount)return;for(var n=t.getRangeAt(0),r=n.startContainer,o=n.startOffset,i=n.endContainer,a=n.endOffset;r;){for(var s=r.textContent,l=o-1;0<=l&&g(s[l]);)l--;if(l<=o-1){o=l+1;break}o=(r=u(r))?r.textContent.length:0}for(;i;){for(var c=i.textContent,d=a;d<c.length&&g(c[d]);)d++;if(a<=d&&(d<c.length||!r.isSameNode(i))){a=d;break}i=h(i),a=0}if(r&&i){var f=document.createRange();f.setStart(r,o),f.setEnd(i,a),t.removeAllRanges(),t.addRange(f)}}}function u(e){for(;e;)if((!(e=e.previousSibling)||!i(e).hasClass(\"fr-marker\"))&&e&&e.nodeType===Node.TEXT_NODE&&e.textContent.trim())return e;return null}function h(e){for(;e;)if((!(e=e.nextSibling)||!i(e).hasClass(\"fr-marker\"))&&e&&e.nodeType===Node.TEXT_NODE&&e.textContent.trim())return e;return null}function g(e){return/\\w/.test(e)}function c(e){if(void 0===e&&(e=!0),!p.$wp)return!1;if(p.helpers.isIOS()&&p.$win.get(0).focus(),p.core.hasFocus())return!1;if(!p.core.hasFocus()&&e){var t=p.$win.scrollTop();if(p.browser.msie&&p.$box&&p.$box.css(\"position\",\"fixed\"),p.browser.msie&&p.$wp&&p.$wp.css(\"overflow\",\"visible\"),p.browser.msie&&p.$sc&&p.$sc.css(\"position\",\"fixed\"),p.browser.msie||(C(),p.el.focus(),p.events.trigger(\"focus\"),f()),p.browser.msie&&p.$sc&&p.$sc.css(\"position\",\"\"),p.browser.msie&&p.$box&&p.$box.css(\"position\",\"\"),p.browser.msie&&p.$wp&&p.$wp.css(\"overflow\",\"auto\"),t!==p.$win.scrollTop()&&p.$win.scrollTop(t),!p.selection.info(p.el).atStart)return!1}if(!p.core.hasFocus()||0<p.$el.find(\".fr-marker\").length)return!1;if(p.selection.info(p.el).atStart&&p.selection.isCollapsed()&&null!==p.html.defaultTag()){var n=p.markers.insert();if(n&&!p.node.blockParent(n)){i(n).remove();var r=p.$el.find(p.html.blockTagsQuery()).get(0);r&&(i(r).prepend(Y.MARKERS),p.selection.restore())}else n&&i(n).remove()}}var d=!1;function f(){e=!0}function C(){e=!1}function m(){return e}function v(e,t,n){var r,o=e.split(\" \");if(1<o.length){for(var i=0;i<o.length;i++)v(o[i],t,n);return!0}void 0===n&&(n=!1),r=0!==e.indexOf(\"shared.\")?(a[e]=a[e]||[],a[e]):(p.shared._events[e]=p.shared._events[e]||[],p.shared._events[e]),n?r.unshift(t):r.push(t)}var b=[];function E(e,t,n,r,o){\"function\"==typeof n&&(o=r,r=n,n=!1);var i=o?p.shared.$_events:b,a=o?p.sid:p.id,s=\"\".concat(t.trim().split(\" \").join(\".ed\".concat(a,\" \")),\".ed\").concat(a);n?e.on(s,n,r):e.on(s,r),i.push([e,s])}function t(e){for(var t=0;t<e.length;t++)e[t][0].off(e[t][1])}function L(e,t,n){if(!p.edit.isDisabled()||n){var r,o;if(0!==e.indexOf(\"shared.\"))r=a[e];else{if(0<p.shared.count)return!1;r=p.shared._events[e]}if(r)for(var i=0;i<r.length;i++)if(!1===(o=r[i].apply(p,t)))return!1;return(!p.opts.events||!p.opts.events[e]||!1!==(o=p.opts.events[e].apply(p,t)))&&o}}function y(){for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&delete a[e]}function N(){for(var e in p.shared._events)Object.prototype.hasOwnProperty.call(p.shared._events,e)&&delete p.shared._events[e]}return{_init:function S(){p.shared.$_events=p.shared.$_events||[],p.shared._events={},function e(){p.helpers.isMobile()?(p._mousedown=\"touchstart\",p._mouseup=\"touchend\",p._move=\"touchmove\",p._mousemove=\"touchmove\"):(p._mousedown=\"mousedown\",p._mouseup=\"mouseup\",p._move=\"\",p._mousemove=\"mousemove\")}(),function t(){s(p.$el,\"click mouseup mousemove mousedown touchstart touchend dragenter dragover dragleave dragend drop dragstart\",function(e){L(e.type,[e])}),v(\"mousedown\",function(){for(var e=0;e<Y.INSTANCES.length;e++)Y.INSTANCES[e]!==p&&Y.INSTANCES[e].popups&&Y.INSTANCES[e].popups.areVisible()&&Y.INSTANCES[e].$el.find(\".fr-marker\").remove()})}(),function n(){s(p.$win,p._mousedown,function(e){L(\"window.mousedown\",[e]),f()}),s(p.$win,p._mouseup,function(e){L(\"window.mouseup\",[e])}),s(p.$win,\"beforeinput cut copy keydown keyup touchmove touchend\",function(e){L(\"window.\".concat(e.type),[e])})}(),function r(){s(p.$doc,\"dragend drop\",function(e){L(\"document.\".concat(e.type),[e])})}(),function o(){s(p.$el,\"beforeinput keydown keypress keyup input\",function(e){L(e.type,[e])})}(),function i(){s(p.$el,\"focus\",function(e){m()&&(c(!1),!1===d&&(L(e.type,[e]),p.helpers.isMobile()&&C()))}),s(p.$el,\"blur\",function(e){m()&&!0===d&&(L(e.type,[e]),p.helpers.isMobile()&&p.opts.toolbarContainer&&(p.shared.selected_editor=p.id),f())}),E(p.$el,\"mousedown\",'[contenteditable=\"true\"]',function(){C(),p.$el.blur()}),v(\"focus\",function(){d=!0}),v(\"blur\",function(){d=!1})}(),f(),function a(){s(p.$el,\"cut copy paste beforepaste\",function(e){L(e.type,[e])})}(),v(\"destroy\",y),v(\"shared.destroy\",N),v(\"beforeinput\",l)},on:v,trigger:L,bindClick:function r(e,t,n){E(e,p._mousedown,t,function(e){p.edit.isDisabled()||function n(e){var t=i(e.currentTarget);return p.edit.isDisabled()||p.node.hasClass(t.get(0),\"fr-disabled\")?(e.preventDefault(),!1):\"mousedown\"===e.type&&1!==e.which||(p.helpers.isMobile()||e.preventDefault(),(p.helpers.isAndroid()||p.helpers.isWindowsPhone())&&0===t.parents(\".fr-dropdown-menu\").length&&(e.preventDefault(),e.stopPropagation()),t.addClass(\"fr-selected\"),void p.events.trigger(\"commands.mousedown\",[t]))}(e)},!0),E(e,\"\".concat(p._mouseup,\" \").concat(p._move),t,function(e){p.edit.isDisabled()||(p.helpers.isIOS()&&null!==p.selection.get().focusNode&&p.selection.save(),function o(e,t){var n=i(e.currentTarget);if(p.edit.isDisabled()||p.node.hasClass(n.get(0),\"fr-disabled\"))return e.preventDefault(),!1;if(\"mouseup\"===e.type&&1!==e.which)return!0;if(p.button.getButtons(\".fr-selected\",!0).get(0)==n.get(0)&&!p.node.hasClass(n.get(0),\"fr-selected\"))return!0;if(\"touchmove\"!==e.type){if(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault(),!p.node.hasClass(n.get(0),\"fr-selected\"))return p.button.getButtons(\".fr-selected\",!0).removeClass(\"fr-selected\"),!1;if(p.button.getButtons(\".fr-selected\",!0).removeClass(\"fr-selected\"),n.data(\"dragging\")||n.attr(\"disabled\"))return n.removeData(\"dragging\"),!1;var r=n.data(\"timeout\");r&&(clearTimeout(r),n.removeData(\"timeout\")),t.apply(p,[e])}else n.data(\"timeout\")||n.data(\"timeout\",setTimeout(function(){n.data(\"dragging\",!0)},100))}(e,n))},!0),E(e,\"mousedown click mouseup\",t,function(e){p.edit.isDisabled()||e.stopPropagation()},!0),v(\"window.mouseup\",function(){p.edit.isDisabled()||(e.find(t).removeClass(\"fr-selected\"),f())}),E(e,\"mouseover\",t,function(){i(this).hasClass(\"fr-options\")&&i(this).prev(\".fr-btn\").addClass(\"fr-btn-hover\"),i(this).next(\".fr-btn\").hasClass(\"fr-options\")&&i(this).next(\".fr-btn\").addClass(\"fr-btn-hover\")}),E(e,\"mouseout\",t,function(){i(this).hasClass(\"fr-options\")&&i(this).prev(\".fr-btn\").removeClass(\"fr-btn-hover\"),i(this).next(\".fr-btn\").hasClass(\"fr-options\")&&i(this).next(\".fr-btn\").removeClass(\"fr-btn-hover\")})},disableBlur:C,enableBlur:f,blurActive:m,focus:c,chainTrigger:function T(e,t,n){if(!p.edit.isDisabled()||n){var r,o;if(0!==e.indexOf(\"shared.\"))r=a[e];else{if(0<p.shared.count)return!1;r=p.shared._events[e]}if(r)for(var i=0;i<r.length;i++)void 0!==(o=r[i].apply(p,[t]))&&(t=o);return p.opts.events&&p.opts.events[e]&&void 0!==(o=p.opts.events[e].apply(p,[t]))&&(t=o),t}},$on:E,$off:function n(){t(b),b=[],0===p.shared.count&&(t(p.shared.$_events),p.shared.$_events=[])}}},Object.assign(Y.DEFAULTS,{indentMargin:20}),Y.COMMANDS={bold:{title:\"Bold\",toggle:!0,refresh:function(e){var t=this.format.is(\"strong\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},italic:{title:\"Italic\",toggle:!0,refresh:function(e){var t=this.format.is(\"em\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},underline:{title:\"Underline\",toggle:!0,refresh:function(e){var t=this.format.is(\"u\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},strikeThrough:{title:\"Strikethrough\",toggle:!0,refresh:function(e){var t=this.format.is(\"s\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},subscript:{title:\"Subscript\",toggle:!0,refresh:function(e){var t=this.format.is(\"sub\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},superscript:{title:\"Superscript\",toggle:!0,refresh:function(e){var t=this.format.is(\"sup\");e.toggleClass(\"fr-active\",t).attr(\"aria-pressed\",t)}},outdent:{title:\"Decrease Indent\"},indent:{title:\"Increase Indent\"},undo:{title:\"Undo\",undo:!1,forcedRefresh:!0,disabled:!0},redo:{title:\"Redo\",undo:!1,forcedRefresh:!0,disabled:!0},insertHR:{title:\"Insert Horizontal Line\"},clearFormatting:{title:\"Clear Formatting\"},selectAll:{title:\"Select All\",undo:!1},moreText:{title:\"More Text\",undo:!1},moreParagraph:{title:\"More Paragraph\",undo:!1},moreRich:{title:\"More Rich\",undo:!1},moreMisc:{title:\"More Misc\",undo:!1}},Y.RegisterCommand=function(e,t){Y.COMMANDS[e]=t},Y.MODULES.commands=function(f){var p=f.$;function a(e){return f.html.defaultTag()&&(e=\"<\".concat(f.html.defaultTag(),\">\").concat(e,\"</\").concat(f.html.defaultTag(),\">\")),e}var s={bold:function(){e(\"bold\",\"strong\")},subscript:function(){f.format.is(\"sup\")&&f.format.remove(\"sup\"),e(\"subscript\",\"sub\")},superscript:function(){f.format.is(\"sub\")&&f.format.remove(\"sub\"),e(\"superscript\",\"sup\")},italic:function(){e(\"italic\",\"em\")},strikeThrough:function(){e(\"strikeThrough\",\"s\")},underline:function(){e(\"underline\",\"u\")},undo:function(){f.undo.run()},redo:function(){f.undo.redo()},indent:function(){r(1)},outdent:function(){r(-1)},show:function(){f.opts.toolbarInline&&f.toolbar.showInline(null,!0)},insertHR:function(){f.selection.remove();var e=\"\";f.core.isEmpty()&&(e=a(e=\"<br>\"));var t='<hr id=\"fr-just\" class=\"fr-just\">'.concat(e);f.opts.trackChangesEnabled&&(t=f.track_changes.wrapInTracking(p(t),\"hrWrapper\").get(0).outerHTML);f.html.insert(t);var n,r=f.$el.find(\"hr#fr-just\").length?f.$el.find(\"hr#fr-just\"):f.$el.find(\".fr-just\");r.removeAttr(\"id\"),r.removeAttr(\"class\");var o=f.opts.trackChangesEnabled&&\"SPAN\"===r[0].parentNode.tagName&&\"P\"===r[0].parentNode.parentNode.tagName;if(0===r.next().length){var i=f.html.defaultTag();i&&!o?r.after(p(f.doc.createElement(i)).append(\"<br>\").get(0)):o?r[0].parentNode.after(p(f.doc.createElement(i)).append(\"<br>\").get(0)):r.after(\"<br>\")}r.prev().is(\"hr\")?n=f.selection.setAfter(r.get(0),!1):r.next().is(\"hr\")?n=f.selection.setBefore(r.get(0),!1):o||f.selection.setAfter(r.get(0),!1)?f.selection.setAfter(r[0].parentNode,!1):f.selection.setBefore(r.get(0),!1),n||void 0===n||(e=a(e=\"\".concat(Y.MARKERS,\"<br>\")),r.after(e)),f.selection.restore()},clearFormatting:function(){f.format.remove()},selectAll:function(){f.doc.execCommand(\"selectAll\",!1,!1),function d(){var e=null,t=null,n=null,r=null,o=!0===f.opts.iframe,i=p(\".fr-iframe\")[0],a=o?p(i.contentWindow.document.body):f.$el;if(o&&i){var s=i.contentWindow;n=s.document.createRange.bind(s.document),r=s.getSelection()}else n=document.createRange.bind(document),r=window.getSelection();if(f.selection.isCollapsed()){r.removeAllRanges();var l=a.contents();if(e=l.first()[0],t=l.last()[0],e&&t){var c=n();c.setStart(e,0),c.setEnd(t,t.nodeType===Node.TEXT_NODE?t.textContent.length:t.childNodes.length),r.addRange(c),f.selection.save()}}}()},moreText:function(e){t(e)},moreParagraph:function(e){t(e)},moreRich:function(e){t(e)},moreMisc:function(e){t(e)},moreTrackChanges:function(){t(\"trackChanges\")}};function t(e){var t=f.$tb.find(\"[data-cmd=\".concat(e,\"]\")),n=f.$tb.find(\"[data-cmd=html]\");f.opts.trackChangesEnabled||f.markdown&&f.markdown.isEnabled()?n&&n.addClass(\"fr-disabled\"):n&&n.removeClass(\"fr-disabled\"),function r(n){f.helpers.isMobile()&&f.opts.toolbarInline&&f.events.disableBlur();var e=f.$tb.find('.fr-more-toolbar[data-name=\"'.concat(n.attr(\"data-group-name\"),'\"]'));\"trackChanges\"===n.data(\"cmd\")&&(e=f.$tb.find('.fr-more-toolbar[data-name=\"'.concat(n.attr(\"id\"),'\"]')));if(f.$tb.find(\".fr-open\").not(n).not('[data-cmd=\"trackChanges\"]').removeClass(\"fr-open\").attr(\"aria-expanded\",!1),n.toggleClass(\"fr-open\"),n.attr(\"aria-expanded\",n.hasClass(\"fr-open\")),f.$tb.find(\".fr-more-toolbar\").removeClass(\"fr-overflow-visible\"),f.$tb.find(\".fr-expanded\").not(e).length){var t=f.$tb.find(\".fr-expanded\").not(e);t.each(function(e,t){0!=p(t).data(\"name\").indexOf(\"trackChanges-\")&&0!=p(t).data(\"name\").indexOf(\"moreRich-\")?p(t).toggleClass(\"fr-expanded\"):n.parents('[data-name^=\"moreRich-\"]').length||0==p(t).data(\"name\").indexOf(\"trackChanges-\")||p(t).find('[id^=\"trackChanges-\"]').length&&f.opts.trackChangesEnabled||p(t).toggleClass(\"fr-expanded\")}),e.toggleClass(\"fr-expanded\")}else e.toggleClass(\"fr-expanded\"),f.$box.toggleClass(\"fr-toolbar-open\"),f.$tb.toggleClass(\"fr-toolbar-open\")}(t),f.toolbar.setMoreToolbarsHeight()}function n(e,t){if(!(f.markdown&&f.markdown.isEnabled()&&(\"bold\"===e||\"italic\"===e||\"underline\"===e)||f.opts.trackChangesEnabled&&\"markdown\"===e)&&!1!==f.events.trigger(\"commands.before\",p.merge([e],t||[]))){var n=Y.COMMANDS[e]&&Y.COMMANDS[e].callback||s[e],r=!0,o=!1;if(Y.COMMANDS[e]&&(\"undefined\"!=typeof Y.COMMANDS[e].focus&&(r=Y.COMMANDS[e].focus),\"undefined\"!=typeof Y.COMMANDS[e].accessibilityFocus&&(o=Y.COMMANDS[e].accessibilityFocus)),!f.core.hasFocus()&&r||!f.core.hasFocus()&&o&&f.accessibility.hasFocus()){var i=f.selection.ranges()[0];f.opts.allowStylingOnNonEditable&&i&&p(i.startContainer).parentsUntil(f.$el,'[contenteditable=\"false\"]').length&&f.selection.save(),f.el.focus({preventScroll:!0}),f.events.trigger(\"focus\")}Y.COMMANDS[e]&&!1!==Y.COMMANDS[e].undo&&(f.$el.find(\".fr-marker\").length&&(f.events.disableBlur(),f.selection.restore()),f.undo.saveStep()),n&&n.apply(f,p.merge([e],t||[])),f.events.trigger(\"commands.after\",p.merge([e],t||[])),Y.COMMANDS[e]&&!1!==Y.COMMANDS[e].undo&&f.undo.saveStep()}}function e(e,t){f.format.toggle(t)}function r(e){f.selection.save(),f.html.wrap(!0,!0,!0,!0),f.selection.restore();for(var t=f.selection.blocks(),n=0;n<t.length;n++)if(\"LI\"!==t[n].tagName&&\"LI\"!=t[n].parentNode.tagName&&(\"LI\"!==t[n].tagName||\"LI\"!==t[n].parentNode.tagName)){var r=p(t[n]);\"LI\"!=t[n].tagName&&\"LI\"==t[n].parentNode.tagName&&(r=p(t[n].parentNode));var o=\"rtl\"===f.opts.direction||\"rtl\"===r.css(\"direction\")?\"margin-right\":\"margin-left\",i=f.helpers.getPX(r.css(o)),a=f.helpers.getPX(r.css(\"text-indent\"));if(r.width()<2*f.opts.indentMargin&&0<e||i+a<=0&&e<0)continue;\"UL\"!=t[n].parentNode.tagName&&\"OL\"!=t[n].parentNode.tagName&&\"LI\"!=t[n].parentNode.tagName&&r.css(o,Math.max(i+e*f.opts.indentMargin,0)||\"\"),r.removeClass(\"fr-temp-div\")}f.selection.save(),f.html.unwrap(),f.selection.restore()}function o(e){return function(){n(e)}}var i={};for(var l in s)Object.prototype.hasOwnProperty.call(s,l)&&(i[l]=o(l));return Object.assign(i,{exec:n,_init:function c(){f.events.on(\"keydown\",function(e){var t=f.selection.element();if((e.ctrlKey||e.metaKey)&&\"a\"===e.key&&(e.preventDefault(),n(\"selectAll\")),t&&\"HR\"===t.tagName&&!f.keys.isArrow(e.which))return e.preventDefault(),!1}),f.events.on(\"keyup\",function(e){var t=f.selection.element();if(t&&\"HR\"===t.tagName)if(e.which===Y.KEYCODE.ARROW_LEFT||e.which===Y.KEYCODE.ARROW_UP){if(t.previousSibling)return f.node.isBlock(t.previousSibling)?f.selection.setAtEnd(t.previousSibling):p(t).before(Y.MARKERS),f.selection.restore(),!1}else if((e.which===Y.KEYCODE.ARROW_RIGHT||e.which===Y.KEYCODE.ARROW_DOWN)&&t.nextSibling)return f.node.isBlock(t.nextSibling)?f.selection.setAtStart(t.nextSibling):p(t).after(Y.MARKERS),f.selection.restore(),!1}),f.events.on(\"mousedown\",function(e){if(e.target&&\"HR\"===e.target.tagName)return e.preventDefault(),e.stopPropagation(),!1}),f.events.on(\"mouseup\",function(){var e=f.selection.element();e===f.selection.endElement()&&e&&\"HR\"===e.tagName&&(e.nextSibling&&(f.node.isBlock(e.nextSibling)?f.selection.setAtStart(e.nextSibling):p(e).after(Y.MARKERS)),f.selection.restore())})}})},Y.MODULES.cursorLists=function(v){var b=v.$;function E(e){for(var t=e;\"LI\"!==t.tagName;)t=t.parentNode;return t}function L(e){for(var t=e;!v.node.isList(t);)t=t.parentNode;return t}function y(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];t+=\"\".concat(r.name,\"='\").concat(r.value,\"' \")}return t}return{_startEnter:function N(e){var t,n=E(e),r=n.nextSibling,o=n.previousSibling,i=v.html.defaultTag();if(v.node.isEmpty(n,!0)&&r){for(var a=\"\",s=\"\",l=e.parentNode;!v.node.isList(l)&&l.parentNode&&(\"LI\"!==l.parentNode.tagName||l.parentNode===n);)-1<[\"OL\",\"LI\",\"UL\"].indexOf(l.tagName)&&(a=v.node.openTagString(l)+a,s+=v.node.closeTagString(l)),l=l.parentNode;a=v.node.openTagString(l)+a,s+=v.node.closeTagString(l);var c=\"\";if(l.parentNode&&\"LI\"===l.parentNode.tagName)if(l.parentNode.attributes.length){var d=y(l.parentNode.attributes);c=\"\".concat(s,\"<li \").concat(d,\">\").concat(Y.MARKERS,\"<br>\").concat(a)}else c=\"\".concat(s,\"<li>\").concat(Y.MARKERS,\"<br>\").concat(a);else c=i?\"\".concat(s,\"<\").concat(i,\">\").concat(Y.MARKERS,\"<br></\").concat(i,\">\").concat(a):\"\".concat(s+Y.MARKERS,\"<br>\").concat(a);for(;[\"UL\",\"OL\"].indexOf(l.tagName)<0||l.parentNode&&\"LI\"===l.parentNode.tagName;)l=l.parentNode;b(n).replaceWith('<span id=\"fr-break\"></span>');var f=v.node.openTagString(l)+b(l).html()+v.node.closeTagString(l);f=f.replace(/<span id=\"fr-break\"><\\/span>/g,c),b(l).replaceWith(f),v.$el.find(\"li:empty\").remove(),v.$el.find(\"li > p > span:empty\").length&&v.$el.find(\"li > p > span:empty\")[0].parentNode.parentNode.remove()}else if(o&&r||!v.node.isEmpty(n,!0)){var p=\"<br>\",u=e.parentNode;for(u&&\"A\"===u.tagName&&(u=null);u&&\"LI\"!==u.tagName;)p=v.node.openTagString(u)+p+v.node.closeTagString(u),u=u.parentNode;if(u&&u.attributes.length){var h=y(u.attributes);b(n).before(\"<li \".concat(h,\">\").concat(p,\"</li>\"))}else b(n).before(\"<li>\".concat(p,\"</li>\"));b(e).remove()}else if(o){t=L(n);for(var g=\"\".concat(Y.MARKERS,\"<br>\"),C=e.parentNode;C&&\"LI\"!==C.tagName;)g=v.node.openTagString(C)+g+v.node.closeTagString(C),C=C.parentNode;if(t.parentNode&&\"LI\"===t.parentNode.tagName)if(t.parentNode.attributes.length){var m=y(t.parentNode.attributes);b(t.parentNode).after(\"<li \".concat(m,\">\").concat(g,\"</li>\"))}else b(t.parentNode).after(\"<li>\".concat(g,\"</li>\"));else i?b(t).after(\"<\".concat(i,\">\").concat(g,\"</\").concat(i,\">\")):b(t).after(g);b(n).remove()}else(t=L(n)).parentNode&&\"LI\"===t.parentNode.tagName?r?b(t.parentNode).before(\"\".concat(v.node.openTagString(n)+Y.MARKERS,\"<br></li>\")):b(t.parentNode).after(\"\".concat(v.node.openTagString(n)+Y.MARKERS,\"<br></li>\")):i?b(t).before(\"<\".concat(i,\">\").concat(Y.MARKERS,\"<br></\").concat(i,\">\")):b(t).before(\"\".concat(Y.MARKERS,\"<br>\")),b(n).remove()},_middleEnter:function c(e){for(var t=E(e),n=\"\",r=e,o=\"\",i=\"\",a=!1;r!==t;){var s=\"A\"===(r=r.parentNode).tagName&&v.cursor.isAtEnd(e,r)?\"fr-to-remove\":\"\";a||r==t||v.node.isBlock(r)||(a=!0,o+=Y.INVISIBLE_SPACE),o=v.node.openTagString(b(r).clone().addClass(s).get(0))+o,i+=v.node.closeTagString(r)}n=i+n+o+Y.MARKERS+(v.opts.keepFormatOnDelete?Y.INVISIBLE_SPACE:\"\"),b(e).replaceWith('<span id=\"fr-break\"></span>');var l=v.node.openTagString(t)+b(t).html()+v.node.closeTagString(t);l=l.replace(/<span id=\"fr-break\"><\\/span>/g,n),b(t).replaceWith(l)},_endEnter:function l(e){for(var t=E(e),n=Y.MARKERS,r=\"\",o=e,i=!1;o!==t;)if(!(o=o.parentNode).classList.contains(\"fr-img-space-wrap\")&&!o.classList.contains(\"fr-img-space-wrap2\")){var a=\"A\"===o.tagName&&v.cursor.isAtEnd(e,o)?\"fr-to-remove\":\"\";i||o===t||v.node.isBlock(o)||(i=!0,r+=Y.INVISIBLE_SPACE),r=v.node.openTagString(b(o).clone().addClass(a).get(0))+r,n+=v.node.closeTagString(o)}var s=r+n;b(e).remove(),b(t).after(s)},_backspace:function u(e){var t=E(e),n=t.previousSibling;if(n){var r=b(n).children().last(),o=r[0]&&r[0].tagName?r[0].tagName:\"\",i=\"P\"===o,a=0<b(n).find(\"table\").length;[\"TABLE\",\"TBODY\",\"TR\",\"TD\",\"TH\"].includes(o)||a&&i||(n=b(n).find(v.html.blockTagsQuery()).get(-1)||n),b(e).replaceWith(Y.MARKERS);var s=v.node.contents(n);s.length&&\"BR\"===s[s.length-1].tagName&&b(s[s.length-1]).remove(),b(t).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===t&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))});for(var l,c=v.node.contents(t)[0];c&&!v.node.isList(c);)l=c.nextSibling,b(n).append(c),c=l;for(n=t.previousSibling;c;)l=c.nextSibling,b(n).append(c),c=l;1<(s=v.node.contents(n)).length&&\"BR\"===s[s.length-1].tagName&&b(s[s.length-1]).remove(),b(t).remove()}else{var d=L(t);if(b(e).replaceWith(Y.MARKERS),d.parentNode&&\"LI\"===d.parentNode.tagName){var f=d.previousSibling;v.node.isBlock(f)?(b(t).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===t&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))}),b(f).append(b(t).html())):b(d).before(b(t).html())}else{var p=v.html.defaultTag();p&&0===b(t).find(v.html.blockTagsQuery()).length?b(d).before(\"<\".concat(p,\">\").concat(b(t).html(),\"</\").concat(p,\">\")):b(d).before(b(t).html())}b(t).remove(),v.html.wrap(),0===b(d).find(\"li\").length&&b(d).remove()}},_del:function d(e){var t,n=E(e),r=n.nextSibling;if(r){(t=v.node.contents(r)).length&&\"BR\"===t[0].tagName&&b(t[0]).remove(),b(r).find(v.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===r&&b(this).replaceWith(b(this).html()+(v.node.isEmpty(this)?\"\":\"<br>\"))});for(var o,i=e,a=v.node.contents(r)[0];a&&!v.node.isList(a);)o=a.nextSibling,b(i).after(a),i=a,a=o;for(;a;)o=a.nextSibling,b(n).append(a),a=o;b(e).replaceWith(Y.MARKERS),b(r).remove()}else{for(var s=n;!s.nextSibling&&s!==v.el;)s=s.parentNode;if(s===v.el)return!1;if(s=s.nextSibling,v.node.isBlock(s)){if(Y.NO_DELETE_TAGS.indexOf(s.tagName)<0){if(b(e).replaceWith(Y.MARKERS),(t=v.node.contents(n)).length&&\"BR\"===t[t.length-1].tagName&&b(t[t.length-1]).remove(),s.isContentEditable&&\"DIV\"===s.tagName&&(!v.node.isBlock(s.previousSibling)||\"DIV\"===s.previousSibling.tagName))return;b(n).append(b(s).html()),b(s).remove()}}else{for((t=v.node.contents(n)).length&&\"BR\"===t[t.length-1].tagName&&b(t[t.length-1]).remove(),b(e).replaceWith(Y.MARKERS);s&&!v.node.isBlock(s)&&\"BR\"!==s.tagName;)b(n).append(b(s)),s=s.nextSibling;b(s).remove()}}}}},Y.NO_DELETE_TAGS=[\"TH\",\"TD\",\"TR\",\"TABLE\",\"FORM\"],Y.SIMPLE_ENTER_TAGS=[\"TH\",\"TD\",\"LI\",\"DL\",\"DT\",\"FORM\"],Y.MODULES.cursor=function(b){var E=b.$,L=function L(e){var t=null;e&&e.nodeType===Node.TEXT_NODE&&e.nodeValue.trim()&&(t=e);var n=function(e){E(e).contents().each(function(){this.nodeType===Node.TEXT_NODE&&this.nodeValue.trim()?t=this:this.nodeType===Node.ELEMENT_NODE&&n(this)})};return n(e),t};function u(e){return!!e&&(b.node.isBlock(e)?\"P\"!==e.tagName||!e.nextElementSibling||!e.parentElement||\"OL\"!==e.nextElementSibling.tagName||\"LI\"!==e.parentElement.tagName:e.nextSibling&&e.nextSibling.nodeType===Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\\u200b/g,\"\").length?u(e.nextSibling):!(e.nextSibling&&(!e.previousSibling||\"BR\"!==e.nextSibling.tagName||e.nextSibling.nextSibling))&&u(e.parentNode))}function h(e){return!!e&&(!!b.node.isBlock(e)||(e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\\u200b/g,\"\").length?h(e.previousSibling):!e.previousSibling&&(!(e.previousSibling||!b.node.hasClass(e.parentNode,\"fr-inner\"))||h(e.parentNode))))}function g(e,t){return!!e&&(e!==b.$wp.get(0)&&(e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\\u200b/g,\"\").length?g(e.previousSibling,t):!e.previousSibling&&(e.parentNode===t||g(e.parentNode,t))))}function C(e,t){return!!e&&(e!==b.$wp.get(0)&&(e.nextSibling&&e.nextSibling.nodeType===Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\\u200b/g,\"\").length?C(e.nextSibling,t):!(e.nextSibling&&(!e.previousSibling||\"BR\"!==e.nextSibling.tagName||e.nextSibling.nextSibling))&&(e.parentNode===t||C(e.parentNode,t))))}function m(e){return 0<E(e).parentsUntil(b.$el,\"LI\").length&&0===E(e).parentsUntil(\"LI\",\"TABLE\").length}function y(e,t){var n=new RegExp(\"\".concat(t?\"^\":\"\",\"(([\\\\uD83C-\\\\uDBFF\\\\uDC00-\\\\uDFFF]+\\\\u200D)*[\\\\uD83C-\\\\uDBFF\\\\uDC00-\\\\uDFFF]{2})\").concat(t?\"\":\"$\"),\"i\"),r=e.match(n);return r?r[0].length:1}function N(e){for(var t,n=e;!n.previousSibling;)if(n=n.parentNode,b.node.isElement(n))return!1;n=n.previousSibling;var r=b.opts.htmlAllowedEmptyTags,o=n.tagName&&n.tagName.toLowerCase();if((!b.node.isBlock(n)||n.lastChild&&o&&0<=r.indexOf(o))&&b.node.isEditable(n)){for(t=b.node.contents(n);n.nodeType!==Node.TEXT_NODE&&!b.node.isDeletable(n)&&t.length&&b.node.isEditable(n);)n=t[t.length-1],t=b.node.contents(n);if(n.nodeType===Node.TEXT_NODE){var i=n.textContent,a=i.length;if(i.length&&\"\\n\"===i[i.length-1])return n.textContent=i.substring(0,a-2),0===n.textContent.length&&n.parentNode.removeChild(n),N(e);if(b.opts.tabSpaces&&i.length>=b.opts.tabSpaces||b.opts.preserveTabSpaces&&4<=i.length){var s=b.opts.tabSpaces?b.opts.tabSpaces:4;0===i.substr(i.length-s,i.length-1).replace(/ /g,\"\").replace(new RegExp(Y.UNICODE_NBSP,\"g\"),\"\").length&&(a=i.length-s+1)}n.textContent=i.substring(0,a-y(i));var l=n.textContent;(b.opts.enter===Y.ENTER_BR&&0<l.length&&\" \"===l.charAt(l.length-1)||0===l.length&&e.previousSibling&&e.previousSibling.nodeType===Node.TEXT_NODE&&\"TD\"!==e.parentNode.tagName&&\"LI\"!==e.parentNode.tagName&&i!==String.fromCharCode(8203))&&(b.node.isBlock(E(e).parentsUntil(b.el).last().get(0))&&e.insertAdjacentHTML(\"beforebegin\",Y.MARKERS),e.insertAdjacentHTML(\"beforebegin\",Y.INVISIBLE_SPACE),n=n.nextSibling),b.opts.trackChangesEnabled&&0===n.textContent.length&&E(n.parentElement).data(\"tracking\")&&0===E(n.parentElement).find(\"[data-tracking-deleted=true]\").length&&(E(e).insertBefore(n.parentElement),E(n.parentElement).remove(),n=E(e)[0].previousSibling),b.opts.htmlUntouched&&!e.nextSibling&&n.textContent.length&&\" \"===n.textContent[n.textContent.length-1]&&(n.textContent=n.textContent.substring(0,n.textContent.length-1)+Y.UNICODE_NBSP);var c=i.length!==n.textContent.length;if(b.opts.enter!==Y.ENTER_BR&&n&&n.previousSibling&&n.previousSibling.previousSibling&&\"BR\"===n.previousSibling.previousSibling.tagName&&0===n.textContent.length&&n.previousSibling.previousSibling.remove(),0===n.textContent.length&&\"LI\"===n.parentNode.tagName&&n.previousSibling&&\"BR\"===n.previousSibling.tagName&&n.previousSibling.remove(),0===n.textContent.length&&n.parentNode.tagName&&\"svg\"===n.parentNode.tagName.toLowerCase()&&n.parentElement.remove(),0===n.textContent.length)if(c&&b.opts.keepFormatOnDelete)E(n).after(Y.INVISIBLE_SPACE+Y.MARKERS);else if(0!==i.length&&b.node.isBlock(n.parentNode))E(n).after(Y.MARKERS);else if((2!=n.parentNode.childNodes.length||n.parentNode!=e.parentNode)&&1!=n.parentNode.childNodes.length||b.node.isBlock(n.parentNode)||b.node.isElement(n.parentNode)||!b.node.isDeletable(n.parentNode)){for(var d,f=n;!b.node.isElement(n.parentNode)&&b.node.isEmpty(n.parentNode)&&Y.NO_DELETE_TAGS.indexOf(n.parentNode.tagName)<0;)if(\"A\"===(n=n.parentNode).tagName){var p=n.childNodes[0];for(E(n).before(p),d=!0;0<p.childNodes.length;)p=p.childNodes[0];n.parentNode.removeChild(n),n=p;break}d||(n=f),E(n).after(Y.MARKERS),b.node.isElement(n.parentNode)&&!e.nextSibling&&n.previousSibling&&\"BR\"===n.previousSibling.tagName&&E(e).after(\"<br>\");var u=n.parentNode;n.parentNode.removeChild(n),b.node.isEmpty(u)&&E(u).html(Y.INVISIBLE_SPACE+Y.MARKERS)}else E(n.parentNode).after(Y.MARKERS),E(n.parentNode).remove();else E(n).after(Y.MARKERS)}else b.node.isDeletable(n)?(E(n).after(Y.MARKERS),E(n).remove()):e.nextSibling&&\"BR\"===e.nextSibling.tagName&&b.node.isVoid(n)&&\"BR\"!==n.tagName?(E(e.nextSibling).remove(),E(e).replaceWith(Y.MARKERS)):!1!==b.events.trigger(\"node.remove\",[E(n)])&&(\"BR\"===n.tagName?E(L(n.previousSibling)).after(Y.MARKERS):E(n).after(Y.MARKERS),E(n).remove())}else if(Y.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(b.node.isEditable(n)||b.node.isDeletable(n)))if(b.node.isDeletable(n))E(e).replaceWith(Y.MARKERS),E(n).remove();else if(b.node.isEmpty(n)&&!b.node.isList(n))E(n).remove(),E(e).replaceWith(Y.MARKERS);else{for(b.node.isList(n)&&(n=E(n).find(\"li\").last().get(0)),(t=b.node.contents(n))&&0<t.length&&\"BR\"===t[t.length-1].tagName&&E(t[t.length-1]).remove(),t=b.node.contents(n);t&&0<t.length&&b.node.isBlock(t[t.length-1]);)n=t[t.length-1],t=b.node.contents(n);var h=L(n),g=h&&0<E(h).parents(\"span\").length;if(b.opts.enter===Y.ENTER_BR&&g){var C=E(n).find(\"span\").last().get(0);C?E(L(C)).after(Y.MARKERS):E(n).append(Y.MARKERS)}else E(n).append(Y.MARKERS);for(var m=e;!m.previousSibling;)m=m.parentNode;for(;m&&\"BR\"!==m.tagName&&!b.node.isBlock(m);){var v=m;m=m.nextSibling,E(n).append(v)}m&&\"BR\"===m.tagName&&E(m).remove(),E(e).remove()}else e.nextSibling&&\"BR\"===e.nextSibling.tagName&&E(e.nextSibling).remove();return!0}function i(e){var t=0<E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").length,n=b.node.deepestParent(e,[],!t);if(n&&\"BLOCKQUOTE\"===n.tagName){var r=b.node.deepestParent(e,[E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").get(0)]);r&&r.nextSibling&&(n=r)}if(null!==n){var o,i=n.nextSibling;if(b.node.isBlock(n)&&(b.node.isEditable(n)||b.node.isDeletable(n))&&i&&Y.NO_DELETE_TAGS.indexOf(i.tagName)<0)if(b.node.isDeletable(i))E(i).remove(),E(e).replaceWith(Y.MARKERS);else if(b.node.isBlock(i)&&b.node.isEditable(i))if(b.node.isList(i))if(b.node.isEmpty(n,!0))E(n).remove(),E(i).find(\"li\").first().prepend(Y.MARKERS);else{var a=E(i).find(\"li\").first();\"BLOCKQUOTE\"===n.tagName&&(o=b.node.contents(n)).length&&b.node.isBlock(o[o.length-1])&&(n=o[o.length-1]),0===a.find(\"ul, ol\").length&&(E(e).replaceWith(Y.MARKERS),a.find(b.html.blockTagsQuery()).not(\"ol, ul, table\").each(function(){this.parentNode===a.get(0)&&E(this).replaceWith(E(this).html()+(b.node.isEmpty(this)?\"\":\"<br>\"))}),E(n).append(b.node.contents(a.get(0))),a.remove(),0===E(i).find(\"li\").length&&E(i).remove())}else{if((o=b.node.contents(i)).length&&\"BR\"===o[0].tagName&&E(o[0]).remove(),\"BLOCKQUOTE\"!==i.tagName&&\"BLOCKQUOTE\"===n.tagName)for(o=b.node.contents(n);o.length&&b.node.isBlock(o[o.length-1]);)n=o[o.length-1],o=b.node.contents(n);else if(\"BLOCKQUOTE\"===i.tagName&&\"BLOCKQUOTE\"!==n.tagName)for(o=b.node.contents(i);o.length&&b.node.isBlock(o[0]);)i=o[0],o=b.node.contents(i);E(e).replaceWith(Y.MARKERS),E(n).append(i.innerHTML),E(i).remove()}else{for(E(e).replaceWith(Y.MARKERS);i&&\"BR\"!==i.tagName&&!b.node.isBlock(i)&&b.node.isEditable(i);){var s=i;i=i.nextSibling,E(n).append(s)}i&&\"BR\"===i.tagName&&b.node.isEditable(i)&&E(i).remove()}}}function n(e){for(var t,n=e;!n.nextSibling;)if(n=n.parentNode,b.node.isElement(n))return!1;if(\"BR\"===(n=n.nextSibling).tagName&&b.node.isEditable(n))if(n.nextSibling){if(b.node.isBlock(n.nextSibling)&&b.node.isEditable(n.nextSibling)){if(!(Y.NO_DELETE_TAGS.indexOf(n.nextSibling.tagName)<0))return void E(n).remove();n=n.nextSibling,E(n.previousSibling).remove()}}else if(u(n)){if(m(e))b.cursorLists._del(e);else b.node.deepestParent(n)&&((!b.node.isEmpty(b.node.blockParent(n))||(b.node.blockParent(n).nextSibling&&Y.NO_DELETE_TAGS.indexOf(b.node.blockParent(n).nextSibling.tagName))<0)&&E(n).remove(),n&&n.parentNode&&8203===n.parentNode.textContent.charCodeAt()&&n.parentNode.childNodes[1]&&\"BR\"===n.parentNode.childNodes[1].tagName&&n.parentNode.tagName.toLowerCase()===b.html.defaultTag()&&n.parentNode.nextSibling&&\"TABLE\"===n.parentNode.nextSibling.tagName&&E(n.parentNode).remove(),i(e));return}if(!b.node.isBlock(n)&&b.node.isEditable(n)){for(t=b.node.contents(n);n.nodeType!==Node.TEXT_NODE&&t.length&&!b.node.isDeletable(n)&&b.node.isEditable(n);)n=t[0],t=b.node.contents(n);n.nodeType===Node.TEXT_NODE?(E(n).before(Y.MARKERS),n.textContent.length&&(n.textContent=n.textContent.substring(y(n.textContent,!0),n.textContent.length))):b.node.isDeletable(n)?(E(n).before(Y.MARKERS),E(n).remove()):!1!==b.events.trigger(\"node.remove\",[E(n)])&&(E(n).before(Y.MARKERS),E(n).remove()),E(e).remove()}else if(Y.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(b.node.isEditable(n)||b.node.isDeletable(n)))if(b.node.isDeletable(n))E(e).replaceWith(Y.MARKERS),E(n).remove();else if(b.node.isList(n))e.previousSibling?(E(n).find(\"li\").first().prepend(e),b.cursorLists._backspace(e)):(E(n).find(\"li\").first().prepend(Y.MARKERS),E(e).remove());else if((t=b.node.contents(n))&&0<t.length&&\"BR\"===t[0].tagName&&E(t[0]).remove(),t&&0<t.length&&\"BLOCKQUOTE\"===n.tagName){var r=t[0];for(E(e).before(Y.MARKERS);r&&\"BR\"!==r.tagName;){var o=r;r=r.nextSibling,E(e).before(o)}r&&\"BR\"===r.tagName&&E(r).remove()}else E(e).after(E(n).html()).after(Y.MARKERS),E(n).remove()}function a(){for(var e=b.el.querySelectorAll(\"blockquote:empty\"),t=0;t<e.length;t++)e[t].parentNode.removeChild(e[t])}function v(e,t,n){var r,o=b.node.deepestParent(e,[],!n);if(o&&\"BLOCKQUOTE\"===o.tagName)return C(e,o)?(r=b.html.defaultTag(),t?E(e).replaceWith(\"<br>\"+Y.MARKERS):r?E(o).after(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(o).after(\"\".concat(Y.MARKERS,\"<br>\")),E(e).remove()):S(e,t,n),!1;if(null===o)(r=b.html.defaultTag())&&b.node.isElement(e.parentNode)?E(e).replaceWith(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):!e.previousSibling||E(e.previousSibling).is(\"br\")||e.nextSibling?E(e).replaceWith(\"<br>\".concat(Y.MARKERS)):E(e).replaceWith(\"<br>\".concat(Y.MARKERS,\"<br>\"));else{var i=e,a=\"\";\"PRE\"!=o.tagName||e.nextSibling||(t=!0),b.node.isBlock(o)&&!t||(a=\"<br/>\");var s,l=\"\",c=\"\",d=\"\",f=\"\";(r=b.html.defaultTag())&&b.node.isBlock(o)&&(d=\"<\".concat(r,\">\"),f=\"</\".concat(r,\">\"),o.tagName===r.toUpperCase()&&(d=b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0))));do{if(i=i.parentNode,!t||i!==o||t&&!b.node.isBlock(o))if(l+=b.node.closeTagString(i),i===o&&b.node.isBlock(o))c=d+c;else{var p=(\"A\"===i.tagName||b.node.hasClass(i,\"fa\"))&&C(e,i)?\"fr-to-remove\":\"\";c=i.getAttribute(\"data-pasted\")?b.node.openTagString(E(i).clone().attr(\"style\",\"\").addClass(p).get(0))+c:b.node.openTagString(E(i).clone().addClass(p).get(0))+c}}while(i!==o);a=l+a+c+(e.parentNode===o&&b.node.isBlock(o)?\"\":Y.INVISIBLE_SPACE)+Y.MARKERS,b.node.isBlock(o)&&!E(o).find(\"*\").last().is(\"br\")&&E(o).append(\"<br/>\"),E(e).after('<span id=\"fr-break\"></span>'),E(e).remove(),o.nextSibling&&!b.node.isBlock(o.nextSibling)||b.node.isBlock(o)||E(o).after(\"<br>\"),s=(s=!t&&b.node.isBlock(o)?b.node.openTagString(o)+E(o).html()+f:b.node.openTagString(o)+E(o).html()+b.node.closeTagString(o)).replace(/<span id=\"fr-break\"><\\/span>/g,a),E(o).replaceWith(s)}}function S(e,t,n){var r=b.node.deepestParent(e,[],!n);if(null===r)b.html.defaultTag()&&e.parentNode===b.el?E(e).replaceWith(\"<\".concat(b.html.defaultTag(),\">\").concat(Y.MARKERS,\"<br></\").concat(b.html.defaultTag(),\">\")):(e.nextSibling&&!b.node.isBlock(e.nextSibling)||E(e).after(\"<br>\"),E(e).replaceWith(\"<br>\".concat(Y.MARKERS)));else if(e.previousSibling&&\"IMG\"==e.previousSibling.tagName||e.nextSibling&&\"IMG\"==e.nextSibling.tagName)E(e).replaceWith(\"<\"+b.html.defaultTag()+\">\"+Y.MARKERS+\"<br></\"+b.html.defaultTag()+\">\");else{var o=e,i=\"\";\"PRE\"===r.tagName&&(t=!0),b.node.isBlock(r)&&!t||(i=\"<br>\");var a=\"\",s=\"\";do{var l=o;if(o=o.parentNode,\"BLOCKQUOTE\"===r.tagName&&b.node.isEmpty(l)&&!b.node.hasClass(l,\"fr-marker\")&&E(l).contains(e)&&E(l).after(e),\"BLOCKQUOTE\"!==r.tagName||!C(e,o)&&!g(e,o))if(!t||o!==r||t&&!b.node.isBlock(r)){a+=b.node.closeTagString(o);var c=\"A\"==o.tagName&&C(e,o)||b.node.hasClass(o,\"fa\")?\"fr-to-remove\":\"\";s=b.node.openTagString(E(o).clone().addClass(c).removeAttr(\"id\").removeAttr(\"data-pasted\").get(0))+s,b.opts.enter!==Y.ENTER_DIV&&o===r&&\"DIV\"===r.tagName&&(a=\"<br>\",s=\"\")}else\"BLOCKQUOTE\"==r.tagName&&t&&(s=a=\"\")}while(o!==r);var d=r===e.parentNode&&b.node.isBlock(r)||e.nextSibling;if(\"BLOCKQUOTE\"===r.tagName)if(e.previousSibling&&b.node.isBlock(e.previousSibling)&&e.nextSibling&&\"BR\"===e.nextSibling.tagName&&(E(e.nextSibling).after(e),e.nextSibling&&\"BR\"===e.nextSibling.tagName&&E(e.nextSibling).remove()),t)i=a+i+Y.MARKERS+s;else{var f=b.html.defaultTag();i=\"\".concat(a+i+(f?\"<\".concat(f,\">\"):\"\")+Y.MARKERS,\"<br>\").concat(f?\"</\".concat(f,\">\"):\"\").concat(s)}else i=a+i+s+(d?\"\":Y.INVISIBLE_SPACE)+Y.MARKERS;E(e).replaceWith('<span id=\"fr-break\"></span>');var p=b.node.openTagString(r)+E(r).html()+b.node.closeTagString(r);p=p.replace(/<span id=\"fr-break\"><\\/span>/g,i),E(r).replaceWith(p)}}function T(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return b.opts.iframe?{top:t.top+b.$wp.offset().top,left:t.left+n}:{top:t.top+r,left:t.left+n}}function M(){var e=b.selection.get(),t=null;if(b.selection.inEditor()&&e.rangeCount)for(var n=b.selection.ranges(),r=0;r<n.length;r++){var o=n[r];t=b.selection.rangeElement(o.startContainer,o.startOffset);break}return t}return{enter:function A(e){var t=b.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!b.node.isElement(n);){if(\"false\"===n.getAttribute(\"contenteditable\"))return E(t).replaceWith(Y.MARKERS),b.selection.restore(),!1;if(\"true\"===n.getAttribute(\"contenteditable\"))break;n=n.parentNode}b.el.normalize();var r=!1;0<E(t).parentsUntil(b.$el,\"BLOCKQUOTE\").length&&(r=!0),E(t).parentsUntil(b.$el,\"TD, TH\").length&&(r=!1),u(t)?!m(t)||e||r?v(t,e,r):b.cursorLists._endEnter(t):h(t)?!m(t)||e||r?function f(e,t,n){var r,o=b.node.deepestParent(e,[],!n);if(o&&\"TABLE\"===o.tagName)return E(o).find(\"td, th\").first().prepend(e),f(e,t,n);if(o&&\"BLOCKQUOTE\"===o.tagName)if(g(e,o)){if(!t)return(r=b.html.defaultTag())?E(o).before(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(o).before(\"\".concat(Y.MARKERS,\"<br>\")),E(e).remove(),!1}else C(e,o)?v(e,t,!0):S(e,t,!0);if(null===o)(r=b.html.defaultTag())&&b.node.isElement(e.parentNode)?E(e).replaceWith(\"<\".concat(r,\">\").concat(Y.MARKERS,\"<br></\").concat(r,\">\")):E(e).replaceWith(\"<br>\".concat(Y.MARKERS));else{if(r=b.html.defaultTag(),b.node.isBlock(o))if(\"PRE\"===o.tagName&&(t=!0),t)E(e).remove(),E(o).prepend(\"<br>\".concat(Y.MARKERS));else if(e.nextSibling&&\"IMG\"==e.nextSibling.tagName||e.nextSibling&&e.nextSibling.nextElementSibling&&\"IMG\"==e.nextSibling.nextElementSibling)E(e).replaceWith(\"<\"+b.html.defaultTag()+\">\"+Y.MARKERS+\"<br></\"+b.html.defaultTag()+\">\");else{if(b.node.isEmpty(o,!0))return v(e,t,n);if(b.opts.keepFormatOnDelete||\"DIV\"===o.tagName||\"div\"===b.html.defaultTag())if(!b.opts.keepFormatOnDelete&&\"DIV\"===o.tagName||\"div\"===b.html.defaultTag())E(o).before(\"<\"+b.html.defaultTag()+\"><br></\"+b.html.defaultTag()+\">\");else if(b.opts.keepFormatOnDelete&&!b.opts.htmlUntouched&&\"DIV\"!==o.tagName&&\"div\"!==b.html.defaultTag()&&h(b.selection.get().focusNode))E(o).before(\"\".concat(b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0)),\"<br>\").concat(b.node.closeTagString(o)));else{for(var i=e,a=Y.INVISIBLE_SPACE;i!==o&&!b.node.isElement(i);)i=i.parentNode,a=b.node.openTagString(i)+a+b.node.closeTagString(i);E(o).before(a)}else E(o).before(\"\".concat(b.node.openTagString(E(o).clone().removeAttr(\"id\").removeAttr(\"data-pasted\").get(0)),\"<br>\").concat(b.node.closeTagString(o)))}else E(o).before(\"<br>\");E(e).remove()}}(t,e,r):b.cursorLists._startEnter(t):!m(t)||e||r?S(t,e,r):b.cursorLists._middleEnter(t),function p(){b.$el.find(\".fr-to-remove\").each(function(){for(var e=b.node.contents(this),t=0;t<e.length;t++)e[t].nodeType===Node.TEXT_NODE&&(e[t].textContent=e[t].textContent.replace(/\\u200B/g,\"\"));E(this).replaceWith(this.innerHTML)})}(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists(),b.spaces.normalizeAroundCursor()),b.selection.restore();var o=b.o_win.innerHeight;if(b.$oel[0].offsetHeight>o){var i=M();if(i){var a=T(i);a=a.top;var s=i.getBoundingClientRect().top;b.opts.iframe&&(s=s+b.$wp.offset().top-b.helpers.scrollTop()),b.opts.scrollableContainer&&b.opts.enter!==Y.ENTER_BR&&\"BR\"===i.tagName&&s+20===o&&(s=a=i.parentNode.offsetTop),i.parentNode&&\"TD\"===i.parentNode.tagName&&o<s?b.o_win.scroll(0,s-50):\"BR\"===i.tagName&&s<0?b.o_win.scroll(0,a-80):b.opts.scrollableContainer&&o<s+20?b.o_win.scroll(0,a-o+50):b.opts.scrollableContainer&&s+2*b.$tb.height()>b.$sc[0].scrollTop+E(b.$sc).height()&&b.$sc[0].scroll(0,a-E(b.$sc).height()+2*b.$tb.height())}}else if(b.opts.scrollableContainer&&b.opts.toolbarSticky){var l=M();if(l){var c=T(l);c=c.top;var d=l.getBoundingClientRect().top;b.opts.enter!==Y.ENTER_BR&&\"BR\"===l.tagName&&(d=c=l.parentNode.offsetTop),(b.opts.iframe&&d+2*b.$tb.height()>b.$sc[0].scrollTop+E(b.$sc).height()||d+2*b.$tb.height()>E(b.$sc).height())&&b.$sc[0].scroll(0,c-E(b.$sc).height()+2*b.$tb.height())}}},backspace:function s(){var e=!1,t=b.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!b.node.isElement(n);){if(\"false\"===n.getAttribute(\"contenteditable\"))return E(t).replaceWith(Y.MARKERS),b.selection.restore(),!1;if(n.innerText.length&&\"true\"===n.getAttribute(\"contenteditable\"))break;n=n.parentNode}b.el.normalize();var r=t.previousSibling;if(r){var o=r.textContent;o&&o.length&&8203===o.charCodeAt(o.length-1)&&(1===o.length?E(r).remove():r.textContent=r.textContent.substr(0,o.length-y(o)))}return u(t)?m(t)&&g(t,E(t).parents(\"li\").first().get(0))?b.cursorLists._backspace(t):e=N(t):h(t)?m(t)&&g(t,E(t).parents(\"li\").first().get(0))?b.cursorLists._backspace(t):function c(e){for(var t=0<E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").length,n=b.node.deepestParent(e,[],!t),r=n;n&&!n.previousSibling&&\"BLOCKQUOTE\"!==n.tagName&&n.parentElement!==b.el&&!b.node.hasClass(n.parentElement,\"fr-inner\")&&Y.SIMPLE_ENTER_TAGS.indexOf(n.parentElement.tagName)<0;)n=n.parentElement;if(n&&\"BLOCKQUOTE\"===n.tagName){var o=b.node.deepestParent(e,[E(e).parentsUntil(b.$el,\"BLOCKQUOTE\").get(0)]);o&&o.previousSibling&&(r=n=o)}if(null!==n){var i,a=n.previousSibling;if(b.node.isBlock(n)&&b.node.isEditable(n))if(a&&Y.NO_DELETE_TAGS.indexOf(a.tagName)<0){if(b.node.isDeletable(a))E(a).remove(),E(e).replaceWith(Y.MARKERS);else if(b.node.isEditable(a))if(b.node.isBlock(a))if(b.node.isEmpty(a)&&!b.node.isList(a))E(a).remove(),E(e).after(b.opts.keepFormatOnDelete?Y.INVISIBLE_SPACE:\"\");else{if(b.node.isList(a)&&(a=E(a).find(\"li\").last().get(0)),(i=b.node.contents(a)).length&&\"BR\"===i[i.length-1].tagName&&E(i[i.length-1]).remove(),\"BLOCKQUOTE\"===a.tagName&&\"BLOCKQUOTE\"!==n.tagName)for(i=b.node.contents(a);i.length&&b.node.isBlock(i[i.length-1]);)a=i[i.length-1],i=b.node.contents(a);else if(\"BLOCKQUOTE\"!==a.tagName&&\"BLOCKQUOTE\"===r.tagName)for(i=b.node.contents(r);i.length&&b.node.isBlock(i[0]);)r=i[0],i=b.node.contents(r);if(b.node.isEmpty(n))E(e).remove(),b.selection.setAtEnd(a,!0);else{E(e).replaceWith(Y.MARKERS);var s=a.childNodes;b.node.isBlock(s[s.length-1])?E(s[s.length-1]).append(r.innerHTML):E(a).append(r.innerHTML)}E(r).remove(),b.node.isEmpty(n)&&E(n).remove()}else E(e).replaceWith(Y.MARKERS),\"BLOCKQUOTE\"===n.tagName&&a.nodeType===Node.ELEMENT_NODE?E(a).remove():(E(a).after(b.node.isEmpty(n)?\"\":E(n).html()),E(n).remove(),\"BR\"===a.tagName&&E(a).remove())}else if(a)8203===n.textContent.charCodeAt()&&n.childNodes[1]&&\"BR\"===n.childNodes[1].tagName&&n.tagName.toLowerCase()===b.html.defaultTag()&&n.previousSibling&&\"TABLE\"===n.previousSibling.tagName&&E(n).remove();else if(n&&\"BLOCKQUOTE\"===n.tagName&&0===E(n).text().replace(/\\u200B/g,\"\").length)E(n).remove();else{var l=n.nextSibling;b.node.isEmpty(n)&&n.parentNode&&b.node.isEditable(n.parentNode)&&!l&&(n.parentNode!=b.el&&\"TD\"!==n.parentNode.tagName?E(n.parentNode).remove():n.parentNode!=b.el&&\"TD\"===n.parentNode.tagName&&E(n).remove())}}}(t):e=N(t),E(t).remove(),a(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists(),b.spaces.normalizeAroundCursor()),b.selection.restore(),e},del:function r(){var e=b.markers.insert();if(!e)return!1;if(b.el.normalize(),u(e))if(m(e))if(0===E(e).parents(\"li\").first().find(\"ul, ol\").length)b.cursorLists._del(e);else{var t=E(e).parents(\"li\").first().find(\"ul, ol\").first().find(\"li\").first();(t=t.find(b.html.blockTagsQuery()).get(-1)||t).prepend(e),b.cursorLists._backspace(e)}else i(e);else h(e),n(e);E(e).remove(),a(),b.html.fillEmptyBlocks(!0),b.opts.htmlUntouched||(b.html.cleanEmptyTags(),b.clean.lists()),b.spaces.normalizeAroundCursor(),b.selection.restore()},isAtEnd:C,isAtStart:g}},Y.MODULES.data=function(f){function p(e){return e}function c(e){for(var t=e.toString(),n=0,r=0;r<t.length;r++)n+=parseInt(t.charAt(r),10);return 10<n?n%9+1:n}function d(e,t,n){for(var r=Math.abs(n);0<r--;)e-=t;return n<0&&(e+=123),e}function u(e){return e&&\"block\"!==e.css(\"display\")?(e.remove(),!0):e&&0===f.helpers.getPX(e.css(\"height\"))?(e.remove(),!0):!(!e||\"absolute\"!==e.css(\"position\")&&\"fixed\"!==e.css(\"position\")||(e.remove(),0))}function h(e){return e&&0===f.$box.find(e).length}function g(){if(10<e&&(f[p(M(\"0ppecjvc==\"))](),setTimeout(function(){E.FE=null},10)),!f.$box)return!1;f.$wp.prepend(M(p(M(S)))),v=f.$wp.find(\"> div\").first(),b=v.find(\"> a\"),\"rtl\"===f.opts.direction&&v.css(\"left\",\"auto\").css(\"right\",0).attr(\"direction\",\"rtl\"),e++}function C(e){for(var t=[M(\"9qqG-7amjlwq==\"),M(\"KA3B3C2A6D1D5H5H1A3==\"),M(\"3B9B3B5F3C4G3E3==\"),M(\"QzbzvxyB2yA-9m==\"),M(\"ji1kacwmgG5bc==\"),M(\"nmA-13aogi1A3c1jd==\"),M(\"BA9ggq==\"),M(\"emznbjbH3fij==\"),M(\"tkC-22d1qC-13sD1wzF-7==\"),M(\"tA3jjf==\"),M(\"1D1brkm==\")],n=0;n<t.length;n++)if(String.prototype.endsWith||(String.prototype.endsWith=function(e,t){return(void 0===t||t>this.length)&&(t=this.length),this.substring(t-e.length,t)===e}),e.endsWith(t[n]))return!0;return!1}function m(){var e=M(p(n)),t=M(p(\"tzgatD-13eD1dtdrvmF3c1nrC-7saQcdav==\")).split(\".\");try{return window.parent.document.querySelector(e)&&window[t[1]][t[2]]}catch(e){return!1}}var v,b,E=f.$,L=\"sC-7OB2fwhVC4vsG-7ohPA4ZD4D-8f1J3stzB-11bFE2FC1A3NB2IF1HE1TH4WB8eB-11zVG2F3I3yYB5ZG4CB2DA15CC5AD3F1A1KG1oLA10B1A6wQF1H3vgale2C4F4XA2qc2A5D5B3pepmriKB3OE1HD1fUC10pjD-11E-11TB4YJ3bC-16zE-11yc1B2CE2BC3jhjKC1pdA-21OA6C1D5B-8vF4QA11pD6sqf1C3lldA-16BD4A2H3qoEA7bB-16rmNH5H1F1vSB7RE2A3TH4YC5A5b1A4d1B3whepyAC3AA2zknC3mbgf1SC4WH4PD8TC5ZB2C3H3jb2A5ZA2EF2aoFC5qqHC4B1H1zeGA7UA5RF4TA29TA6ZC4d1C3hyWA10A3rBB2E3decorationRD3QC10UD3E6E6ZD2F3F3fme2E5uxxrEC9C3E4fB-11azhHB1LD7D6VF4VVTPC6b1C4TYG3qzDD6B3B3AH4I2H2kxbHE1JD1yihfd1QD6WB1D4mhrc1B5rvFG3A14A7cDA2OC1AA1JB5zC-16KA6WB4C-8wvlTB5A5lkZB2C2C7zynBD2D2bI-7C-21d1HE2cubyvPC8A6VB3aroxxZE4C4F4e1I2BE1WjdifH1H4A14NA1GB1YG-10tWA3A14A9sVA2C5XH2A29b2A6gsleGG2jaED2D-13fhE1OA8NjwytyTD4e1sc1D-16ZC3B5C-9e1C2FB6EFF5B2C2JH4E1C2tdLE5A3UG4G-7b2D3B4fA-9oh1G3kqvB4AG3ibnjcAC6D2B1cDA9KC2QA6bRC4VA30RB8hYB2A4A-8h1A21A2B2==\",y=\"7D4YH4fkhHB3pqDC3H2E1fkMD1IB1NF1D3QD9wB5rxqlh1A8c2B4ZA3FD2AA6FB5EB3jJG4D2J-7aC-21GB6PC5RE4TC11QD6XC4XE3XH3mlvnqjbaOA2OC2BE6A1fmI-7ujwbc1G5f1F3e1C11mXF4owBG3E1yD1E4F1D2D-8B-8C-7yC-22HD1MF5UE4cWA3D8D6a1B2C3H3a3I3sZA4B3A2akfwEB3xHD5D1F1wIC11pA-16xdxtVI2C9A6YC4a1A2F3B2GA6B4C3lsjyJB1eMA1D-11MF5PE4ja1D3D7byrf1C3e1C7D-16lwqAF3H2A1B-21wNE1MA1OG1HB2A-16tSE5UD4RB3icRA4F-10wtwzBB3E1C3CC2DA8LA2LA1EB1kdH-8uVB7decorg1J2B7B6qjrqGI2J1C6ijehIB1hkemC-13hqkrH4H-7QD6XF5XF3HLNAC3CB2aD2CD2KB10B4ycg1A-8KA4H4B11jVB5TC4yqpB-21pd1E4pedzGB6MD5B3ncB-7MA4LD2JB6PD5uH-8TB9C7YD5XD2E3I3jmiDB3zeimhLD8E2F2JC1H-9ivkPC5lG-10SB1D3H3A-21rc1A3d1E3fsdqwfGA2KA1OrC-22LA6D1B4afUB16SC7AitC-8qYA11fsxcajGA15avjNE2A-9h1hDB16B9tPC1C5F5UC1G3B8d2A5d1D4RnHJ3C3JB5D3ucMG1yzD-17hafjC-8VD3yWC6e1YD2H3ZE2C8C5oBA3H3D2vFA4WzJC4C2i1A-65fNB8afWA1H4A26mvkC-13ZB3E3h1A21BC4eFB2GD2AA5ghqND2A2B2==\",n=\"MekC-11nB-8tIzpD7pewxvzC6mD-16xerg1==\",N=\"KB5A2B1B2A5F1A3E1J4B17C1D8E7E4A3G3D4B2C7B5B6E5B2b1==\",S=\"sC-7OB2fwhVC4vsG-7ohPA4ZD4D-8f1J3stzB-11bFE2EE1MA2ND1KD1IE4cA-21pSD2D5ve1G3h1A8b1E5ZC3CD2FA16mC5OC5E1hpnG1NA10B1D7hkUD4I-7b2C3C5nXD2E3F3whidEC2EH3GI2mJE2E2bxci1WA10VC7pllSG2F3A7xd1A4ZC3DB2aaeGA2DE4H2E1j1ywD-13FD1A3VE4WA3D8C6wuc1A2hf1B5B7vnrrjA1B9ic1mpbD1oMB1iSB7rWC4RI4G-7upB6jd1A2F3H2EA4FD3kDF4A2moc1anJD1TD4VI4b2C7oeQF4c1E3XC7ZA3C3G3uDB2wGB6D1JC4D1JD4C1hTE6QC5pH4pD3C-22D7c1A3textAA4gdlB2mpozkmhNC1mrxA3yWA5edhg1I2H3B7ozgmvAI3I2B5GD1LD2RSNH1KA1XA5SB4PA3sA9tlmC-9tnf1G3nd1coBH4I2I2JC3C-16LE6A1tnUA3vbwQB1G3f1A20a3A8a1C6pxAB2eniuE1F3kH2lnjB2hB-16XA5PF1G4zwtYA5B-11mzTG2B9pHB3BE2hGH3B3B2cMD5C1F1wzPA8E7VG5H5vD3H-7C8tyvsVF2I1G2A5fE3bg1mgajoyxMA4fhuzSD8aQB2B4g1A20ukb1A4B3F3GG2CujjanIC1ObiB11SD1C5pWC1D4YB8YE5FE-11jXE2F-7jB4CC2G-10uLH4E1C2tA-13yjUH5d1H1A7sWD5E4hmjF-7pykafoGA16hDD4joyD-8OA33B3C2tC7cRE4SA31a1B8d1e2A4F4g1A2A22CC5zwlAC2C1A12==\",T=function(){for(var e=0,t=document.domain,n=t.split(\".\"),r=\"_gd\".concat((new Date).getTime());e<n.length-1&&-1===document.cookie.indexOf(\"\".concat(r,\"=\").concat(r));)t=n.slice(-1-++e).join(\".\"),document.cookie=\"\".concat(r,\"=\").concat(r,\";domain=\").concat(t,\";\");return document.cookie=\"\".concat(r,\"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=\").concat(t,\";\"),(t||\"\").replace(/(^\\.*)|(\\.*$)/g,\"\")}(),M=p(function A(e){if(!e)return e;for(var t=\"\",n=p(\"charCodeAt\"),r=p(\"fromCharCode\"),o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\".indexOf(e[0]),i=1;i<e.length-2;i++){for(var a=c(++o),s=e[n](i),l=\"\";/[0-9-]/.test(e[i+1]);)l+=e[++i];s=d(s,a,l=parseInt(l,10)||0),s^=o-1&31,t+=String[r](s)}return t}),e=0;return{_init:function x(){var e=f.opts.key||[\"\"],t=M(p(\"ziRA1E3B9pA5B-11D-11xg1A3ZB5D1D4B-11ED2EG2pdeoC1clIH4wB-22yQD5uF4YE3E3A9==\"));\"string\"==typeof e&&(e=[e]);for(var n,r,o,i=!(f.ul=!0),a=0,s=0;s<e.length;s++){var l=(r=e[s],4===(o=(M(r)||\"\").split(\"|\")).length&&\"V3\"===o[0]?[o[1],o[3],o[2]]:[null,null,\"\"]),c=l[2];if(c===M(p(M(\"LGnD1KNZf1CPBYCAZB-8F3UDSLLSG1VFf1A3C2==\")))||0<=c.indexOf(T,c.length-T.length)||C(T)||m()){if(null!==(n=l[1])&&!(0==n.indexOf(\"TRIAL\")?(n=new Date(n.replace(/TRIAL/,\"\")),new Date(n)<new Date&&(L=y,1)):new Date(n)<new Date(M(N)))||!(0<(T||\"\").length)||C(T)||m()){f.ul=!1;break}i=!0,S=L,a=l[0]||-1}}var d=new Image;!0===f.ul&&(g(),d.src=i?\"\".concat(p(M(t)),\"e=\").concat(a):\"\".concat(p(M(t)),\"u\")),!0===f.ul&&(f.events.on(\"contentChanged\",function(){(function e(){return u(v)||u(b)||h(v)||h(b)})()&&g()}),f.events.on(\"html.get\",function(e){return e+M(\"qD2H-9G3ioD-17qA1tE1B-8qI3A4hA-13C-11E2C1njfldD1E6pg1C-8sC3hfbkcD2G3stC-22gqgB3G2B-7vtoA4nweeD1A31A15B9uC-16A1F5dkykdc1B8dE-11bA3F2D3A9gd1E7F2tlI-8H-7vtxB2A5B2C3B2F2B5A6ldbyC4iqC-22D-17E-13mA3D2dywiB3oxlvfC1H4C2TjqbzlnI3ntB4E3qA2zaqsC6D3pmnkoE3C6D5wvuE3bwifdhB6hch1E4xibD-17dmrC1rG-7pntnF6nB-8F1D2A11C8plrkmF2F3MC-16bocqA2WwA-21ayeA1C4d1isC-22rD-13D6DfjpjtC2E6hB2G2G4A-7D2==\")})),f.events.on(\"html.set\",function(){var e=f.el.querySelector('[data-f-id=\"pbf\"]');e&&E(e).remove()}),f.events.on(\"destroy\",function(){v&&v.length&&v.remove()},!0)}}},Y.MODULES.edit=function(t){function e(){if(t.browser.mozilla)try{t.doc.execCommand(\"enableObjectResizing\",!1,\"false\"),t.doc.execCommand(\"enableInlineTableEditing\",!1,\"false\")}catch(e){}if(t.browser.msie)try{t.doc.body.addEventListener(\"mscontrolselect\",function(e){return e.srcElement.focus(),!1})}catch(e){}}var n=!1;function r(){return n}return{_init:function o(){t.events.on(\"focus\",function(){r()?t.edit.off():t.edit.on()})},on:function i(){t.$wp?(t.$el.attr(\"contenteditable\",!0),t.$el.removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1),e()):t.$el.is(\"a\")&&t.$el.attr(\"contenteditable\",!0),t.events.trigger(\"edit.on\",[],!0),n=!1},off:function a(){t.events.disableBlur(),t.$wp?(t.$el.attr(\"contenteditable\",!1),t.$el.addClass(\"fr-disabled\").attr(\"aria-disabled\",!0)):t.$el.is(\"a\")&&t.$el.attr(\"contenteditable\",!1),t.events.trigger(\"edit.off\"),t.events.enableBlur(),n=!0},disableDesign:e,isDisabled:r}},Y.MODULES.format=function(x){var O=x.$;function w(e,t){var n=e;for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n+=\"id\"===r?\"#\".concat(t[r]):\"class\"===r?\".\".concat(t[r]):\"[\".concat(r,'=\"').concat(t[r],'\"]'));return n}function k(e,t){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}function N(l,c,d){var f,n,r,e={strong:{prop:\"font-weight\",val:\"bold\"},em:{prop:\"font-style\",val:\"italic\"}},p=function L(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach(function(e){M(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({},d||{});if(l){T(l)&&(l=l.nextSibling);var t=\"LI\"===l.tagName?l:O(l).parentsUntil(x.$el,\"li\").get(0),o=O(t).find(\".fr-marker[data-type=false]\").get(0);if(\"LI\"!==l.parentNode.parentNode.tagName||!o||null!=o.previousSibling){if(x.node.isBlock(l)&&l.hasAttribute(\"contenteditable\")&&\"false\"===l.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable||l.parentNode&&l.parentNode.hasAttribute(\"contenteditable\")&&\"false\"===l.parentNode.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable){if(l.nextSibling&&O(l.nextSibling).hasClass(\"fr-marker\"))return;if(l.nextSibling)return void N(l.nextSibling,c,d);if(l.parentNode)return void N(l.parentNode,c,d)}for(;l&&l.nodeType===Node.COMMENT_NODE;)l=l.nextSibling;if(l){if(x.node.isBlock(l)&&\"HR\"!==l.tagName&&\"LI\"!==l.tagName)return x.node.hasClass(l.firstChild,\"fr-marker\")?N(l.firstChild.nextSibling,c,d):N(l.firstChild,c,d),!1;if(p.style){var i=p.style.split(\";\").map(function(e){return e.trim()}).filter(function(e){var t=H(e.split(\":\").map(function(e){return e&&e.trim()}),2),n=t[0],r=t[1];return n&&r}).join(\"; \");i?p.style=i+\";\":delete p.style}var u=O(x.doc.createElement(c));if(u.attr(p),!(\"span\"===c&&l.parentNode&&\"span\"===l.parentNode.tagName.toLowerCase())&&l.parentNode&&l.parentNode.hasAttribute(\"contenteditable\")&&\"false\"===l.parentNode.getAttribute(\"contenteditable\")&&x.opts.allowStylingOnNonEditable){for(var a=l.parentNode,s=O(x.doc.createElement(c)).attr(d);a.firstChild;)s.append(a.firstChild);return O(a).append(s),void(O(a.lastChild.lastChild).hasClass(\"fr-marker\")||N(a.nextSibling,c,d))}if(u.insertBefore(l),(f=S(l))&&(0<=[\"strong\",\"em\"].indexOf(c)||\"span\"===c&&d.hasOwnProperty(\"style\"))&&(r=\"span\"===c?(e=d.style.replace(/;$/,\"\").split(\":\"),n=e[0].trim(),e[1].trim()):(n=e[c].prop,e[c].val),\"background-color\"!==n)){var h=O(f);h.css(n,r),h.find(\"a\").each(function(){var e=O(this),t=this.style;\"\"===r?t.getPropertyValue(n)&&(t.removeProperty(n),t.length||this.removeAttribute(\"style\")):e.css(n,r)}),function y(e,t){var n,r=e.childNodes;for(n=0;n<r.length;n++)0<=[\"UL\",\"OL\",\"LI\"].indexOf(r[n].tagName)&&\"\"===r[n].style[t]&&O(r[n]).css(t,\"initial\")}(f,n)}for(var g,C=l,m=!1,v=function v(){var t=C;if(\"SPAN\"===C.tagName&&O(C).hasClass(\"fr-tracking-deleted\"))return C=C.nextSibling,0;if(x.node.isBlock(C)&&\"HR\"!==l.tagName)return N(C.firstChild,c,d),{v:!1};if(\"SPAN\"===C.tagName&&x.node.isEditable(C))return u.is(\":empty\")&&u.remove(),N(C.firstChild,c,d),{v:!1};if(C.tagName&&C.hasAttribute(\"contenteditable\")&&\"false\"===C.getAttribute(\"contenteditable\")&&!x.opts.allowStylingOnNonEditable){var e=u.get(0).parentNode,n=C.nextSibling;return\"P\"===C.parentNode.tagName&&null==C.nextSibling?n=C.parentNode.nextSibling:!n&&e&&e.nextSibling&&\"DIV\"===e.nextSibling.tagName&&(n=e.nextSibling),N(n,c,d),{v:void 0}}if(!x.node.isEditable(C.parentNode)&&!x.opts.allowStylingOnNonEditable)return x.selection.restore(),x.toolbar.disable(),{v:void 0};if(C=C.nextSibling,\"span\"!=c||f)u.append(t);else{var r=t;[\"u\",\"s\"].forEach(function(e){0<O(t).parents(e).length&&(r=O(r).wrap(\"<\".concat(e,\"></\").concat(e,\">\")).get(0).parentNode,m=!0)});var o=function a(t){return[].filter.call(t.parentNode.childNodes,function(e){return e.nodeType===Node.TEXT_NODE&&e!==t})}(r);0<o.length&&0<O(r).parents(\"u, s\").length&&(o.forEach(function(e){var t=null,n=null;0<O(r).parents(\"u\").length&&(n=t=document.createElement(\"u\")),0<O(r).parents(\"s\").length&&(n=n?(t.appendChild(document.createElement(\"s\")),t.firstChild):t=document.createElement(\"s\")),n.appendChild(e.cloneNode()),e.replaceWith(t)}),x.selection.restore(),x.selection.save());var i=\"A\"===r.tagName?r:r.parentNode&&\"A\"===r.parentNode.tagName?r.parentNode:null;i&&(!p.style&&i.hasAttribute(\"style\")?i.removeAttribute(\"style\"):p.style&&O(i).attr(\"style\",p.style)),u.append(r)}x.browser.mozilla&&0<u.length&&function s(e){if(O(e).parentsUntil(x.$el,\"TABLE\").length){for(var t=null,n=e.nextSibling;n;)\"BR\"===n.nodeName&&(t=n),n=n.nextSibling;t&&!t.nextSibling&&\"TD\"!=t.parentNode.nodeName&&t.parentNode.textContent&&t.remove()}}(u[0])};C&&!O(C).hasClass(\"fr-marker\")&&0===O(C).find(\".fr-marker\").length&&\"UL\"!==C.tagName&&\"OL\"!==C.tagName;)if(0!==(g=v())&&g)return g.v;if(C)(O(C).find(\".fr-marker\").length||\"UL\"===C.tagName||\"OL\"===C.tagName)&&N(C.firstChild,c,d);else{for(var b=u.get(0).parentNode;b&&!b.nextSibling&&!x.node.isElement(b);)b=b.parentNode;if(b){var E=b.nextSibling;E&&(x.node.isBlock(E)?\"HR\"===E.tagName?N(E.nextSibling,c,d):N(E.firstChild,c,d):N(E,c,d))}}u.is(\":empty\")?u.remove():m&&(u.parents(\"u, s\").get().forEach(function(e){var t=e.parentNode;if(t){var n=document.createDocumentFragment();e.childNodes.forEach(function(e){n.appendChild(e.cloneNode(!0))}),t.replaceChild(n,e)}}),x.selection.restore(),x.selection.save())}}}}function l(e,t){var n;if(void 0===t&&(t={}),t.style&&delete t.style,x.selection.isCollapsed()){x.markers.insert();var r=x.$el.find(\".fr-marker\");r.get(0).nextSibling&&x.node.isBlock(r.get(0).nextSibling)&&!r.get(0).previousSibling&&\"LI\"===r.get(0).parentNode.tagName&&r.get(0).nextSibling.prepend(r.get(0)),r.replaceWith(function l(e,t){var n=\"<\".concat(e);for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n+=\" \".concat(r,'=\"').concat(t[r],'\"'));return n+=\">\"}(e,t)+Y.INVISIBLE_SPACE+Y.MARKERS+function c(e){return\"</\".concat(e,\">\")}(e)),x.selection.restore()}else{x.selection.save();var o,i=x.$el.find('.fr-marker[data-type=\"true\"]').length&&x.$el.find('.fr-marker[data-type=\"true\"]').get(0).nextSibling;N(i,e,t),O(i).parent().find(\"a:empty\").remove();do{for(o=x.$el.find(\"\".concat(w(e,t),\" > \").concat(w(e,t))),n=0;n<o.length;n++)o[n].outerHTML=o[n].innerHTML}while(o.length);x.el.normalize();var a=x.el.querySelectorAll(\".fr-marker\");for(n=0;n<a.length;n++){var s=O(a[n]);!0===s.data(\"type\")?k(s.get(0).nextSibling,w(e,t))&&s.next().prepend(s):k(s.get(0).previousSibling,w(e,t))&&s.prev().append(s)}x.selection.restore()}}function $(e,t,n,r){if(!r){var o=!1;if(!0===e.data(\"type\"))for(;x.node.isFirstSibling(e.get(0))&&!e.parent().is(x.$el)&&!e.parent().is(\"ol\")&&!e.parent().is(\"ul\");)e.parent().before(e),o=!0;else if(!1===e.data(\"type\"))for(;x.node.isLastSibling(e.get(0))&&!e.parent().is(x.$el)&&!e.parent().is(\"ol\")&&!e.parent().is(\"ul\");)e.parent().after(e),o=!0;if(o)return!0}if(e.parents(t).length||void 0===t){var i,a=\"\",s=\"\",l=e.parent();if(\"A\"===l[0].tagName&&(l=l.parent()),l.is(x.$el)||x.node.isBlock(l.get(0)))return!1;for(;!(x.node.isBlock(l.parent().get(0))||void 0!==t&&k(l.get(0),w(t,n))||[\"#document\",\"HTML\",\"BODY\"].includes(l.parent().get(0).nodeName.toUpperCase()));)a+=x.node.closeTagString(l.get(0)),s=x.node.openTagString(l.get(0))+s,l=l.parent();var c=e.get(0).outerHTML;return e.replaceWith('<span id=\"mark\"></span>'),i=l.html().replace(/<span id=\"mark\"><\\/span>/,a+x.node.closeTagString(l.get(0))+s+c+a+x.node.openTagString(l.get(0))+s),l.replaceWith(x.node.openTagString(l.get(0))+i+x.node.closeTagString(l.get(0))),!0}return!1}function c(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=x.selection.isCollapsed();x.selection.save();var r=x.$el.find(\".fr-marker\");if(e&&r.length&&(r[0].parentNode&&r[0].parentNode.tagName===e.toUpperCase()||r[1].parentNode.tagName===e.toUpperCase())){var o=r[0];r[0].parentNode.tagName!==e.toUpperCase()&&(o=r[1]);for(var i=o.parentNode.previousSibling;null!=i;)i.nodeType===Node.TEXT_NODE&&(i.textContent=i.textContent.replace(/\\u200B/g,\"\")),i=i.previousSibling;for(var a=o.parentNode.nextSibling;null!=a;)a.nodeType===Node.TEXT_NODE&&(a.textContent=a.textContent.replace(/\\u200B/g,\"\")),a=a.nextSibling}for(var s=!0;s;){s=!1;for(var l=x.$el.find(\".fr-marker\"),c=0;c<l.length;c++){var d=O(l[c]),f=null;if(d.attr(\"data-cloned\")||n||(f=d.clone().removeClass(\"fr-marker\").addClass(\"fr-clone\"),d.data(\"type\")&&\"true\"===d.data(\"type\").toString()?d.attr(\"data-cloned\",!0).after(f):d.attr(\"data-cloned\",!0).before(f)),$(d,e,t,n)){s=!0;break}}}!function M(e,t,n,r){for(var o,i={strong:{prop:\"font-weight\",val:\"bold\"},em:{prop:\"font-style\",val:\"italic\"}},a=x.node.contents(e.get(0)),s=0;s<a.length;s++){var l=a[s];if(l.innerHTML&&8203==l.innerHTML.charCodeAt()&&l.tagName.toLocaleLowerCase()==n&&l.childNodes.length<2&&!x.helpers.isMobile()&&(l.outerHTML=l.innerHTML),x.node.hasClass(l,\"fr-marker\"))t=(t+1)%2;else if(t)if(0<O(l).find(\".fr-marker\").length)t=M(O(l),t,n,r);else{(o=\"LI\"===l.tagName?l:O(l).parentsUntil(x.$el,\"li\").get(0))&&(void 0===n||0<=[\"strong\",\"em\"].indexOf(n))&&(n?O(o).css(i[n].prop,\"\"):o.style=\"\"),(o=l.parentNode!==x.el?l.parentNode:null)&&1===o.nodeType&&[\"p\",\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"a\"].indexOf(n)<0&&o.hasAttribute(\"style\")&&\"SPAN\"!==o.tagName&&\"LI\"!==o.tagName?o.style=\"\":l&&1===l.nodeType&&l.hasAttribute(\"style\")&&[\"p\",\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"a\"].indexOf(n)<0&&(x.browser.msie?O(l).attr(\"style\",\"\"):l.style=\"\");for(var c=O(l).find(n||\"*:not(br)\"),d=c.length-1;0<=d;d--){var f=c[d];if((o=\"LI\"===f.tagName?f:O(f).parentsUntil(x.$el,\"li\").get(0))&&(!n||0<=[\"strong\",\"em\"].indexOf(n))&&(n?O(o).css(i[n].prop,\"\"):o.style=\"\"),\"A\"===f.tagName||x.node.isBlock(f)||x.node.isVoid(f)||void 0!==n&&!k(f,w(n,r)))x.node.isBlock(f)&&void 0===n&&\"TABLE\"!==l.tagName&&\"VIDEO\"!==f.tagName&&x.node.clearAttributes(f);else{var p=\"IFRAME\"===f.tagName&&f.parentNode&&\"SPAN\"===f.parentNode.tagName&&x.node.hasClass(f.parentNode,\"fr-video\")||\"SPAN\"===f.tagName&&x.node.hasClass(f,\"fr-video\");x.node.hasClass(f,\"fr-clone\")||p||x.node.hasClass(f,\"fr-tracking-deleted\")||O(f).data(\"tracking\")||(f.outerHTML=f.innerHTML)}}\"A\"!==l.tagName&&void 0===n&&l.nodeType===Node.ELEMENT_NODE&&!x.node.isVoid(l)||k(l,w(n,r))?x.node.isBlock(l)?l.style=\"\":x.node.hasClass(l,\"fr-clone\")||x.node.hasClass(l,\"fr-video\")||x.opts.trackChangesEnabled?!x.node.hasClass(l,\"fr-clone\")&&!x.node.hasClass(l,\"fr-video\")&&x.opts.trackChangesEnabled&&l.parentNode&&(l.outerHTML=l.innerHTML):l.outerHTML=l.innerHTML:void 0===n&&l.nodeType===Node.ELEMENT_NODE&&x.node.isBlock(l)&&![\"TABLE\",\"VIDEO\"].includes(l.tagName)&&x.node.clearAttributes(l)}else 0<O(l).find(\".fr-marker\").length&&(t=M(O(l),t,n,r))}return t}(x.$el,0,e,t),n||(x.$el.find(\".fr-marker\").remove(),x.$el.find(\".fr-clone\").removeClass(\"fr-clone\").addClass(\"fr-marker\")),n&&x.$el.find(\".fr-marker\").before(Y.INVISIBLE_SPACE).after(Y.INVISIBLE_SPACE),x.html.cleanEmptyTags(),x.el.normalize(),x.selection.restore();var p=x.win.getSelection()&&x.win.getSelection().anchorNode;if(p){var u=x.node.blockParent(p),h=!!p.textContent.replace(/\\u200B/g,\"\").length,g=x.win.getSelection().getRangeAt(0),C=g.startOffset,m=g.endOffset;x.selection.text().replace(/\\u200B/g,\"\").length||function A(e,t){if(e&&t){if(e.isSameNode(t)?e.textContent=e.textContent.replace(/\\u200B(?=.*\\u200B)/g,\"\"):e.nodeType===Node.TEXT_NODE&&(e.textContent=e.textContent.replace(/\\u200B/g,\"\")),!e.childNodes.length)return!1;Array.isArray(e.childNodes)&&e.childNodes.forEach(function(e){A(e,t)})}}(u,p);var v=x.win.getSelection().getRangeAt(0);if(p.nodeType===Node.TEXT_NODE){if(!h||!x.selection.text().length&&C===m){var b=p.textContent.search(/\\u200B/g)+1;if(x.browser.msie){var E=x.doc.createRange();x.selection.get().removeAllRanges(),E.setStart(p,b),E.setEnd(p,b),x.selection.get().addRange(E)}else\"a\"!==e&&(v.setStart(p,b),v.setEnd(p,b))}}else{var L,y,N=0,S=O(p).contents();if(x.browser.msie){for(;y=S[N];)y.nodeType===Node.TEXT_NODE&&0<=y.textContent.search(/\\u200B/g)&&(L=y),N++;L=O(L)}else L=S.filter(function(e){return e.nodeType===Node.TEXT_NODE&&0<=e.textContent.search(/\\u200B/g)});if(L.length&&!x.opts.trackChangesEnabled){var T=L.text().search(/\\u200B/g)+1;v.setStart(L.get(0),T),v.setEnd(L.get(0),T)}}}}function g(e,t){var n=O(e);n.css(t,\"\");var r=[\"fr-find-replace-highlight\",\"fr-find-replace-current-highlight\"].some(function(e){return n.hasClass(e)});\"\"!==n.attr(\"style\")||r||n.replaceWith(n.html())}function t(e,t){var n,r,o,i,a=null;if(x.selection.isCollapsed()){x.markers.insert();var s=(r=x.$el.find(\".fr-marker\")).parent();if(x.node.openTagString(s.get(0))==='<span style=\"'.concat(e,\": \").concat(s.css(e),';\">')){if(x.node.isEmpty(s.get(0)))a=O(x.doc.createElement(\"span\")).attr(\"style\",\"\".concat(e,\": \").concat(t,\";\")).html(\"\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS)),s.replaceWith(a);else{var l={};l[\"style*\"]=\"\".concat(e,\":\"),$(r,\"span\",l,!0),r=x.$el.find(\".fr-marker\"),t?(a=O(x.doc.createElement(\"span\")).attr(\"style\",\"\".concat(e,\": \").concat(t,\";\")).html(\"\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS)),r.replaceWith(a)):r.replaceWith(Y.INVISIBLE_SPACE+Y.MARKERS)}x.html.cleanEmptyTags()}else x.node.isEmpty(s.get(0))&&s.is(\"span\")?(r.replaceWith(Y.MARKERS),s.css(e,t)):(r.get(0).nextSibling&&x.node.isBlock(r.get(0).nextSibling)&&!r.get(0).previousSibling&&\"LI\"===r.get(0).parentNode.tagName&&r.get(0).nextSibling.prepend(r.get(0)),a=O(t?'<span style=\"'.concat(e,\": \").concat(t,';\">').concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS,\"</span>\"):\"<span>\".concat(Y.INVISIBLE_SPACE).concat(Y.MARKERS,\"</span>\")),r.replaceWith(a));a&&C(a,e,t)}else{if(x.selection.save(),null===t||\"color\"===e&&0<x.$el.find(\".fr-marker\").parents(\"u, a\").length){var c=x.$el.find(\".fr-marker\");for(n=0;n<c.length;n++)if(!0===(r=O(c[n])).data(\"type\")||\"true\"===r.data(\"type\"))for(;x.node.isFirstSibling(r.get(0))&&!r.parent().is(x.$el)&&!x.node.isElement(r.parent().get(0))&&!x.node.isBlock(r.parent().get(0));)r.parent().before(r);else for(;x.node.isLastSibling(r.get(0))&&!r.parent().is(x.$el)&&!x.node.isElement(r.parent().get(0))&&!x.node.isBlock(r.parent().get(0));)r.parent().after(r)}var d=x.$el.find('.fr-marker[data-type=\"true\"]').get(0).nextSibling;for(T(d)&&(d=d.nextSibling);d.firstChild;)T(d=d.firstChild)&&(d=d.nextSibling);var f={\"class\":\"fr-unprocessed\"};for((t||e)&&(f.style=\"\".concat(e,\": \").concat(t||\"\",\";\")),N(d,\"span\",f),x.$el.find(\".fr-marker + .fr-unprocessed\").each(function(){O(this).prepend(O(this).prev())}),x.$el.find(\".fr-unprocessed + .fr-marker\").each(function(){O(this).prev().append(O(this))}),(t||\"\").match(/\\dem$/)&&x.$el.find(\"span.fr-unprocessed\").removeClass(\"fr-unprocessed\");0<x.$el.find(\"span.fr-unprocessed\").length;){if(o=S(a=x.$el.find(\"span.fr-unprocessed\").first().removeClass(\"fr-unprocessed\")),a.parent().get(0).normalize(),a.parent().is(\"span\")&&1===a.parent().get(0).childNodes.length){var p=t;x.browser.msie&&!t&&(p=\"\"),a.parent().css(e,p);var u=a;a=a.parent(),u.replaceWith(u.html()),1!==a.parent().get(0).childNodes.length||t||\"background-color\"!==e||a.parents(\"span\").css(e,t)}for(i=a.find(\"span\"),o&&\"background-color\"!==e&&(o.normalize(),i=O(o).find(\"span:not(.fr-unprocessed)\")),n=i.length-1;0<=n;n--)g(i[n],e);C(a,e,t)}}!function h(){var e;for(;0<x.$el.find(\".fr-split:empty\").length;)x.$el.find(\".fr-split:empty\").remove();x.$el.find(\".fr-split\").removeClass(\"fr-split\"),x.$el.find('[style=\"\"]').removeAttr(\"style\"),x.$el.find('[class=\"\"]').removeAttr(\"class\"),x.html.cleanEmptyTags();for(var t=x.$el.find(\"span\"),n=t.length-1;0<=n;n--){var r=t[n];r.attributes&&0!==r.attributes.length||O(r).replaceWith(r.innerHTML)}x.el.normalize();var o=x.$el.find(\"span[style] + span[style]\");for(e=0;e<o.length;e++){var i=O(o[e]),a=O(o[e]).prev();i.get(0).previousSibling===a.get(0)&&x.node.openTagString(i.get(0))===x.node.openTagString(a.get(0))&&(i.prepend(a.html()),a.remove())}x.$el.find(\"span[style] span[style]\").each(function(){if(0<=O(this).attr(\"style\").indexOf(\"font-size\")){var e=O(this).parents(\"span[style]\");e.attr(\"style\")&&0<=e.attr(\"style\").indexOf(\"background-color\")&&(O(this).attr(\"style\",function o(e,t){var n=function n(e){return e.split(\";\").reduce(function(e,t){var n=t.split(\":\"),r=H(n,2),o=r[0],i=r[1];return o&&i&&(e[o.trim()]=i.trim()),e},{})},r=Object.assign(n(t),n(e));return Object.entries(r).map(function(e){var t=H(e,2),n=t[0],r=t[1];return\"\".concat(n,\": \").concat(r)}).join(\"; \")}(O(this).attr(\"style\"),e.attr(\"style\"))),$(O(this),\"span[style]\",{},!1))}}),x.el.normalize(),x.selection.restore()}()}function S(e){var t,n,r,o,i,a;if(t=\"LI\"===e.tagName?e:O(e).parentsUntil(x.$el,\"li\").get(0)){if((a=x.selection.info(t)).atStart&&a.atEnd)return t;if(a.atStart&&!a.atEnd&&(n=O(t).find(\".fr-marker[data-type=false]\").get(0),r=O(n).parentsUntil(x.$el,\"li\").get(0),o=O(n).parentsUntil(r).get(-1),(i=n.nextSibling)&&0<=[\"UL\",\"OL\"].indexOf(i.tagName)||!r.isSameNode(t)||!i&&o&&(\"LI\"===o.tagName||!o.nextSibling||0<=[\"UL\",\"OL\"].indexOf(o.nextSibling.tagName)||x.node.isVoid(o.nextSibling))))return t}}function C(e,t,n){var r,o,i,a=e.parentsUntil(x.$el,\"span[style]\"),s=[];for(r=a.length-1;0<=r;r--)o=a[r],i=t,0===O(o).attr(\"style\").indexOf(\"\".concat(i,\":\"))||0<=O(o).attr(\"style\").indexOf(\";\".concat(i,\":\"))||0<=O(o).attr(\"style\").indexOf(\"; \".concat(i,\":\"))||s.push(a[r]);if((a=a.not(s)).length){var l=\"\",c=\"\",d=\"\",f=\"\",p=e.get(0);do{if(p=p.parentNode,[\"TABLE\",\"TD\",\"TR\"].includes(p.tagName))break;O(p).addClass(\"fr-split\"),l+=x.node.closeTagString(p),c=x.node.openTagString(O(p).clone().addClass(\"fr-split\").get(0))+c,a.get(0)!==p&&(d+=x.node.closeTagString(p),f=x.node.openTagString(O(p).clone().addClass(\"fr-split\").get(0))+f)}while(a.get(0)!==p);var u=\"\".concat(l+x.node.openTagString(O(a.get(0)).clone().css(t,n||\"\").get(0))+f+e.css(t,\"\").get(0).outerHTML+d,\"</span>\").concat(c);e.replaceWith('<span id=\"fr-break\"></span>');var h=a.get(0).outerHTML;O(a.get(0)).replaceWith(h.replace(/<span id=\"fr-break\"><\\/span>/g,function(){return u}))}}function d(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=x.selection.ranges(0),r=n.startContainer;if(r.nodeType===Node.ELEMENT_NODE&&0<r.childNodes.length&&r.childNodes[n.startOffset]&&(r=r.childNodes[n.startOffset]),T(r)&&(r=r.nextSibling),!n.collapsed&&r.nodeType===Node.TEXT_NODE&&n.startOffset===(r.textContent||\"\").length){for(;!x.node.isBlock(r.parentNode)&&!r.nextSibling;)r=r.parentNode;r.nextSibling&&(r=r.nextSibling)}for(var o=r;o&&o.nodeType===Node.ELEMENT_NODE&&!k(o,w(e,t));)T(o=o.firstChild)&&(o=o.nextSibling);if(o&&o.nodeType===Node.ELEMENT_NODE&&k(o,w(e,t)))return!0;var i=r;for(i&&i.nodeType!==Node.ELEMENT_NODE&&(i=i.parentNode);i&&i.nodeType===Node.ELEMENT_NODE&&i!==x.el&&!k(i,w(e,t));)i=i.parentNode;return!(!i||i.nodeType!==Node.ELEMENT_NODE||i===x.el||!k(i,w(e,t)))}function T(e){return e&&e.nodeType===Node.ELEMENT_NODE&&\"COLGROUP\"===e.tagName}return{is:d,toggle:function f(e,t){if(x.browser.safari&&x.shared.safariSelection){var n=x.shared.safariSelection,r=n.startContainer,o=n.endContainer,i=n.startOffset,a=n.endOffset,s=x.doc.createRange();s.setStart(r,i),s.setEnd(o,a),x.selection.get().removeAllRanges(),x.selection.get().addRange(s),x.shared.safariSelection=null}d(e,t)?c(e,t):l(e,t)},apply:l,remove:c,applyStyle:t,removeStyle:function n(e){t(e,null)}}},Y.MODULES.spaces=function(p){var u=p.$;function r(e,t){var n=e.previousSibling,r=e.nextSibling,o=e.textContent,i=e.parentNode,a=[Y.ENTER_P,Y.ENTER_DIV,Y.ENTER_BR];if(!p.html.isPreformatted(i)){t&&(o=p.opts.preserveTabSpaces?o.replace(/[\\f\\n\\r\\v]{2,}/g,\" \"):o.replace(/[\\f\\n\\r\\t\\v ]{2,}/g,\" \"),r&&\"BR\"!==r.tagName&&!p.node.isBlock(r)||!(p.node.isBlock(i)||p.node.isLink(i)&&!i.nextSibling||p.node.isElement(i))||(o=o.replace(/[\\f\\n\\r\\t\\v ]{1,}$/g,\"\")),n&&\"BR\"!==n.tagName&&!p.node.isBlock(n)||!(p.node.isBlock(i)||p.node.isLink(i)&&!i.previousSibling||p.node.isElement(i))||(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),(p.node.isBlock(r)||p.node.isBlock(n))&&(!n||n&&\"A\"!==n.tagName)&&(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),\" \"===o&&(n&&p.node.isVoid(n)||r&&p.node.isVoid(r))&&!(n&&r&&p.node.isVoid(n)||r&&n&&p.node.isVoid(r))&&(o=\"\")),(!n&&p.node.isBlock(r)||!r&&p.node.isBlock(n))&&p.node.isBlock(i)&&i!==p.el&&(o=o.replace(/^[\\f\\n\\r\\t\\v ]{1,}/g,\"\")),t||(o=o.replace(new RegExp(Y.UNICODE_NBSP,\"g\"),\" \"));var s=i.nextSibling&&i.nextSibling.tagName,l=i.previousSibling&&i.previousSibling.tagName,c=[\"SPAN\",\"STRONG\",\"U\",\"EM\"];s||u(i).parent().each(function(){return-1!==c.indexOf(this.tagName)&&(this.nextSibling?(s=this.nextSibling&&this.nextSibling.tagName,!1):void 0)}),l||u(i).parent().each(function(){return-1!==c.indexOf(this.tagName)&&(this.previousSibling?(l=this.previousSibling&&this.previousSibling.tagName,!1):void 0)});for(var d=\"\",f=0;f<o.length;f++)32!=o.charCodeAt(f)||0!==f&&32!=d.charCodeAt(f-1)||e.nodeType===Node.TEXT_NODE&&\"SPAN\"===i.tagName&&i.parentNode&&0<=c.indexOf(i.parentNode.tagName)&&(0<=c.indexOf(s)||0<=c.indexOf(l))||!((p.opts.enter===Y.ENTER_BR||p.opts.enter===Y.ENTER_DIV)&&(n&&\"BR\"===n.tagName||r&&\"BR\"===r.tagName)||n&&r&&n.tagName===r.tagName||!(n&&r&&p.node.isVoid(n)||n&&r&&p.node.isVoid(r))||n&&r&&0<=[\"STRONG\",\"U\",\"EM\"].indexOf(n.tagName)&&\"BR\"===r.tagName)?d+=o[f]:d+=Y.UNICODE_NBSP;p.browser.chrome&&1<d.length&&32===d.charCodeAt(d.length-1)&&(r&&r.nextSibling&&r.nextSibling.nextSibling&&\"BR\"===r.nextSibling.nextSibling.tagName||r&&\"BR\"===r.tagName)&&(d=d.substring(0,d.length-1)+Y.UNICODE_NBSP),!(!r||r&&p.node.isBlock(r)||r&&r.nodeType===Node.ELEMENT_NODE&&p.win.getComputedStyle(r)&&\"block\"===p.win.getComputedStyle(r).display)||e.nodeType===Node.TEXT_NODE&&\"SPAN\"===i.tagName&&i.parentNode&&0<=c.indexOf(i.parentNode.tagName)&&(0<=c.indexOf(s)||0<=c.indexOf(l))||(!p.node.isVoid(n)||n&&-1!==[\"P\",\"DIV\",\"BR\"].indexOf(n.tagName)&&-1!==a.indexOf(p.opts.enter))&&(d=d.replace(/ $/,Y.UNICODE_NBSP)),!n||p.node.isVoid(n)||p.node.isBlock(n)||1!==(d=d.replace(/^\\u00A0([^ $])/,\" $1\")).length||160!==d.charCodeAt(0)||!r||p.node.isVoid(r)||p.node.isBlock(r)||p.node.hasClass(n,\"fr-marker\")&&p.node.hasClass(r,\"fr-marker\")||(d=\" \"),t||(d=d.replace(/([^ \\u00A0])\\u00A0([^ \\u00A0])/g,\"$1 $2\")),e.textContent!==d&&(e.textContent=d)}}function l(e,t){if(void 0!==e&&e||(e=p.el),void 0===t&&(t=!1),!e.getAttribute||\"false\"!==e.getAttribute(\"contenteditable\"))if(e.nodeType===Node.TEXT_NODE)r(e,t);else if(e.nodeType===Node.ELEMENT_NODE)for(var n=p.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,p.node.filter(function(e){for(var t=e.parentNode;t&&t!==p.el;){if(\"STYLE\"===t.tagName||\"IFRAME\"===t.tagName)return!1;if(\"PRE\"===t.tagName)return!1;t=t.parentNode}return null!==e.textContent.match(/([ \\u00A0\\f\\n\\r\\t\\v]{2,})|(^[ \\u00A0\\f\\n\\r\\t\\v]{1,})|([ \\u00A0\\f\\n\\r\\t\\v]{1,}$)/g)&&!p.node.hasClass(e.parentNode,\"fr-marker\")}),!1);n.nextNode();)r(n.currentNode,t)}return{normalize:l,normalizeAroundCursor:function c(){for(var e=[],t=p.el.querySelectorAll(\".fr-marker\"),n=0;n<t.length;n++){for(var r=null,o=p.node.blockParent(t[n]),i=(r=o||t[n]).nextSibling,a=r.previousSibling;i&&\"BR\"===i.tagName;)i=i.nextSibling;for(;a&&\"BR\"===a.tagName;)a=a.previousSibling;r&&e.indexOf(r)<0&&e.push(r),a&&e.indexOf(a)<0&&e.push(a),i&&e.indexOf(i)<0&&e.push(i)}for(var s=0;s<e.length;s++)l(e[s])}}},Y.INVISIBLE_SPACE=\"&#8203;\",Y.HAIR_SPACE=\"&#8202;\",Y.START_MARKER='<span class=\"fr-marker\" data-id=\"0\" data-type=\"true\" style=\"display: none; line-height: 0;\">'.concat(Y.INVISIBLE_SPACE,\"</span>\"),Y.END_MARKER='<span class=\"fr-marker\" data-id=\"0\" data-type=\"false\" style=\"display: none; line-height: 0;\">'.concat(Y.INVISIBLE_SPACE,\"</span>\"),Y.MARKERS=Y.START_MARKER+Y.END_MARKER,Y.MODULES.markers=function(d){var f=d.$;function l(){if(!d.$wp)return null;try{var e=d.selection.ranges(0),t=e.commonAncestorContainer;if(t!==d.el&&!d.$el.contains(t))return null;var n=e.cloneRange(),r=e.cloneRange();n.collapse(!0);var o=f(d.doc.createElement(\"SPAN\")).addClass(\"fr-marker\").attr(\"style\",\"display: none; line-height: 0;\").html(Y.INVISIBLE_SPACE).get(0);if(n.insertNode(o),o=d.$el.find(\"span.fr-marker\").get(0)){for(var i=o.nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)f(i).remove(),i=d.$el.find(\"span.fr-marker\").get(0).nextSibling;return d.selection.clear(),d.selection.get().addRange(r),o}return null}catch(a){}}function c(){d.$el.find(\".fr-marker\").remove()}return{place:function p(e,t,n){var r,o,i;try{var a=e.cloneRange();if(a.collapse(t),a.insertNode(function l(e,t){var n=f(d.doc.createElement(\"SPAN\"));return n.addClass(\"fr-marker\").attr(\"data-id\",t).attr(\"data-type\",e).attr(\"style\",\"display: \".concat(d.browser.safari?\"none\":\"inline-block\",\"; line-height: 0;\")).html(Y.INVISIBLE_SPACE),n.get(0)}(t,n)),!0===t)for(i=(r=d.$el.find('span.fr-marker[data-type=\"true\"][data-id=\"'.concat(n,'\"]')).get(0)).nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)f(i).remove(),i=r.nextSibling;if(!0===t&&!e.collapsed){for(;!d.node.isElement(r.parentNode)&&!i;)-1</\\bfa\\b/g.test(r.parentNode.className)&&\"I\"===r.parentNode.tagName?f(r.parentNode).before(r):f(r.parentNode).after(r),i=r.nextSibling;if(i&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&\"HR\"!==i.tagName){for(o=[i];i=o[0],(o=d.node.contents(i))[0]&&d.node.isBlock(o[0]););f(i).prepend(f(r))}}if(!1===t&&!e.collapsed){if((i=(r=d.$el.find('span.fr-marker[data-type=\"false\"][data-id=\"'.concat(n,'\"]')).get(0)).previousSibling)&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&![\"TABLE\",\"HR\"].includes(i.tagName)){for(o=[i];i=o[o.length-1],(o=d.node.contents(i))[o.length-1]&&d.node.isBlock(o[o.length-1]););f(i).append(f(r))}(r.parentNode&&0<=[\"TD\",\"TH\"].indexOf(r.parentNode.tagName)||!r.previousSibling&&d.node.isBlock(r.parentElement))&&(r.parentNode.previousSibling&&!r.previousSibling?f(r.parentNode.previousSibling).append(r):0<=[\"TD\",\"TH\"].indexOf(r.parentNode.tagName)&&r.parentNode.firstChild===r&&(r.parentNode.previousSibling?f(r.parentNode.previousSibling).append(r):r.parentNode.parentNode&&r.parentNode.parentNode.previousSibling&&f(r.parentNode.parentNode.previousSibling).append(r)))}var s=d.$el.find('span.fr-marker[data-type=\"'.concat(t,'\"][data-id=\"').concat(n,'\"]')).get(0);return s&&(s.style.display=\"none\"),s}catch(c){return null}},insert:l,split:function a(){d.selection.isCollapsed()||d.selection.remove();var e=d.$el.find(\".fr-marker\").get(0);if(e||(e=l()),!e)return null;var t=d.node.deepestParent(e);if(t||(t=d.node.blockParent(e))&&\"LI\"!==t.tagName&&(t=null),t)if(d.node.isBlock(t)&&d.node.isEmpty(t))\"LI\"!==t.tagName||t.parentNode.firstElementChild!==t||d.node.isEmpty(t.parentNode)?f(t).replaceWith('<span class=\"fr-marker\"></span>'):f(t).append('<span class=\"fr-marker\"></span>');else if(d.cursor.isAtStart(e,t))f(t).before('<span class=\"fr-marker\"></span>'),f(e).remove();else if(d.cursor.isAtEnd(e,t))f(t).after('<span class=\"fr-marker\"></span>'),f(e).remove();else if(\"true\"!==t.contentEditable){for(var n=e,r=\"\",o=\"\";n=n.parentNode,r+=d.node.closeTagString(n),o=d.node.openTagString(n)+o,n!==t;);f(e).replaceWith('<span id=\"fr-break\"></span>');var i=d.node.openTagString(t)+f(t).html()+d.node.closeTagString(t);i=i.replace(/<span id=\"fr-break\"><\\/span>/g,\"\".concat(r,'<span class=\"fr-marker\"></span>').concat(o)),f(t).replaceWith(i)}return d.$el.find(\".fr-marker\").get(0)},insertAtPoint:function u(e){var t,n=e.clientX,r=e.clientY;c();var o=null;if(\"undefined\"!=typeof d.doc.caretPositionFromPoint?(t=d.doc.caretPositionFromPoint(n,r),(o=d.doc.createRange()).setStart(t.offsetNode,t.offset),o.setEnd(t.offsetNode,t.offset)):\"undefined\"!=typeof d.doc.caretRangeFromPoint&&(t=d.doc.caretRangeFromPoint(n,r),(o=d.doc.createRange()).setStart(t.startContainer,t.startOffset),o.setEnd(t.startContainer,t.startOffset)),null!==o&&\"undefined\"!=typeof d.win.getSelection){var i=d.win.getSelection();i.removeAllRanges(),i.addRange(o)}else if(\"undefined\"!=typeof d.doc.body.createTextRange)try{(o=d.doc.body.createTextRange()).moveToPoint(n,r);var a=o.duplicate();a.moveToPoint(n,r),o.setEndPoint(\"EndToEnd\",a),o.select()}catch(s){return!1}l()},remove:c}},Y.MODULES.selection=function(L){var y=L.$;function l(){var e=\"\";return L.win.getSelection?e=L.win.getSelection():L.doc.getSelection?e=L.doc.getSelection():L.doc.selection&&(e=L.doc.selection.createRange().text),e.toString()}function E(){return L.win.getSelection?L.win.getSelection():L.doc.getSelection?L.doc.getSelection():L.doc.selection.createRange()}function p(e){var t=E(),n=[];if(t&&t.getRangeAt&&t.rangeCount){n=[];for(var r=0;r<t.rangeCount;r++)n.push(t.getRangeAt(r))}else n=L.doc.createRange?[L.doc.createRange()]:[];return void 0!==e?n[e]:n}function N(){var e=E();try{e.removeAllRanges?e.removeAllRanges():e.empty?e.empty():e.clear&&e.clear()}catch(t){}}function u(e,t){var n=e;return n.nodeType===Node.ELEMENT_NODE&&0<n.childNodes.length&&n.childNodes[t]&&(n=n.childNodes[t]),n.nodeType===Node.TEXT_NODE&&(n=n.parentNode),n}function S(){if(L.$wp){L.markers.remove();var e,t,n=p(),r=[];for(t=0;t<n.length;t++)if(n[t].startContainer!==L.doc||L.browser.msie){var o=(e=n[t]).collapsed,i=L.markers.place(e,!0,t),a=L.markers.place(e,!1,t);if(void 0!==i&&i||!o||(y(\".fr-marker\").remove(),L.selection.setAtEnd(L.el)),L.el.normalize(),L.browser.safari&&!o)try{(e=L.doc.createRange()).setStartAfter(i),e.setEndBefore(a),r.push(e)}catch(s){}}if(L.browser.safari&&r.length)for(L.selection.clear(),t=0;t<r.length;t++)L.selection.get().addRange(r[t])}}function T(){var e,t=L.el.querySelectorAll('.fr-marker[data-type=\"true\"]');if(!L.$wp)return L.markers.remove(),!1;if(0===t.length)return!1;if(L.browser.msie||L.browser.edge)for(e=0;e<t.length;e++)t[e].style.display=\"inline-block\";L.core.hasFocus()||L.browser.msie||L.browser.webkit||L.$el.focus(),N();var n=E();for(e=0;e<t.length;e++){var r=y(t[e]).data(\"id\"),o=t[e],i=L.doc.createRange(),a=L.$el.find('.fr-marker[data-type=\"false\"][data-id=\"'.concat(r,'\"]'));(L.browser.msie||L.browser.edge)&&a.css(\"display\",\"inline-block\");var s=null;if(0<a.length){a=a[0];try{for(var l=!1,c=o.nextSibling,d=null;c&&c.nodeType===Node.TEXT_NODE&&0===c.textContent.length;)c=(d=c).nextSibling,y(d).remove();for(var f=a.nextSibling;f&&f.nodeType===Node.TEXT_NODE&&0===f.textContent.length;)f=(d=f).nextSibling,y(d).remove();if(o.nextSibling===a||a.nextSibling===o){for(var p=o.nextSibling===a?o:a,u=p===o?a:o,h=p.previousSibling;h&&h.nodeType===Node.TEXT_NODE&&0===h.length;)h=(d=h).previousSibling,y(d).remove();if(h&&h.nodeType===Node.TEXT_NODE)for(;h&&h.previousSibling&&h.previousSibling.nodeType===Node.TEXT_NODE;)h.previousSibling.textContent+=h.textContent,h=h.previousSibling,y(h.nextSibling).remove();for(var g=u.nextSibling;g&&g.nodeType===Node.TEXT_NODE&&0===g.length;)g=(d=g).nextSibling,y(d).remove();if(g&&g.nodeType===Node.TEXT_NODE)for(;g&&g.nextSibling&&g.nextSibling.nodeType===Node.TEXT_NODE;)g.nextSibling.textContent=g.textContent+g.nextSibling.textContent,g=g.nextSibling,y(g.previousSibling).remove();if(h&&(L.node.isVoid(h)||L.node.isBlock(h))&&(h=null),g&&(L.node.isVoid(g)||L.node.isBlock(g))&&(g=null),h&&g&&h.nodeType===Node.TEXT_NODE&&g.nodeType===Node.TEXT_NODE){y(o).remove(),y(a).remove();var C=h.textContent.length;h.textContent+=g.textContent,y(g).remove(),L.spaces.normalize(h),i.setStart(h,C),i.setEnd(h,C),l=!0}else!h&&g&&g.nodeType===Node.TEXT_NODE?(y(o).remove(),y(a).remove(),L.opts.htmlUntouched||L.spaces.normalize(g),s=y(L.doc.createTextNode(\"\\u200b\")).get(0),y(g).before(s),i.setStart(g,0),i.setEnd(g,0),l=!0):!g&&h&&h.nodeType===Node.TEXT_NODE&&(y(o).remove(),y(a).remove(),L.opts.htmlUntouched||L.spaces.normalize(h),s=y(L.doc.createTextNode(\"\\u200b\")).get(0),y(h).after(s),i.setStart(h,h.textContent.length),i.setEnd(h,h.textContent.length),l=!0)}if(!l){var m=void 0,v=void 0;v=(L.browser.chrome||L.browser.edge||L.helpers.isIOS())&&o.nextSibling===a?(m=M(a,i,!0)||i.setStartAfter(a),M(o,i,!1)||i.setEndBefore(o)):(o.previousSibling===a&&(a=(o=a).nextSibling),a.nextSibling&&\"BR\"===a.nextSibling.tagName||!a.nextSibling&&L.node.isBlock(o.previousSibling)||o.previousSibling&&\"BR\"===o.previousSibling.tagName||(o.style.display=\"inline\",a.style.display=\"inline\",s=y(L.doc.createTextNode(\"\\u200b\")).get(0)),m=M(o,i,!0)||y(o).before(s)&&i.setStartBefore(o),M(a,i,!1)||y(a).after(s)&&i.setEndAfter(a)),\"function\"==typeof m&&m(),\"function\"==typeof v&&v()}}catch(b){}}s&&y(s).remove();try{n.addRange(i)}catch(b){}}L.markers.remove()}function M(e,t,n){var r,o=e.previousSibling,i=e.nextSibling;return o&&i&&o.nodeType===Node.TEXT_NODE&&i.nodeType===Node.TEXT_NODE?(r=o.textContent.length,n?(i.textContent=o.textContent+i.textContent,y(o).remove(),y(e).remove(),L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setStart(i,r)}):(o.textContent+=i.textContent,y(i).remove(),y(e).remove(),L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setEnd(o,r)})):o&&!i&&o.nodeType===Node.TEXT_NODE?(r=o.textContent.length,n?(L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setStart(o,r)}):(L.opts.htmlUntouched||L.spaces.normalize(o),function(){t.setEnd(o,r)})):!(!i||o||i.nodeType!==Node.TEXT_NODE)&&(n?(L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setStart(i,0)}):(L.opts.htmlUntouched||L.spaces.normalize(i),function(){t.setEnd(i,0)}))}function A(){for(var e=p(),t=0;t<e.length;t++)if(!e[t].collapsed)return!1;return!0}function o(e){var t,n,r=!1,o=!1;if(L.win.getSelection){var i=L.win.getSelection();i.rangeCount&&((n=(t=i.getRangeAt(0)).cloneRange()).selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset),r=a(n),n.selectNodeContents(e),n.setStart(t.endContainer,t.endOffset),o=a(n))}else L.doc.selection&&\"Control\"!==L.doc.selection.type&&((n=(t=L.doc.selection.createRange()).duplicate()).moveToElementText(e),n.setEndPoint(\"EndToStart\",t),r=a(n),n.moveToElementText(e),n.setEndPoint(\"StartToEnd\",t),o=a(n));return{atStart:r,atEnd:o}}function a(e){return\"\"===e.toString().replace(/[\\u200B-\\u200D\\uFEFF]/g,\"\")}function x(e,t){void 0===t&&(t=!0);var n=y(e).html();n&&n.replace(/\\u200b/g,\"\").length!==n.length&&y(e).html(n.replace(/\\u200b/g,\"\"));for(var r=L.node.contents(e),o=0;o<r.length;o++)r[o].nodeType!==Node.ELEMENT_NODE?y(r[o]).remove():(x(r[o],0===o),0===o&&(t=!1));if(e.nodeType===Node.TEXT_NODE){var i=y(document.createElement(\"span\")).attr(\"data-first\",\"true\").attr(\"data-text\",\"true\");y(e)[0].replaceWith(i[0])}else t&&y(e).attr(\"data-first\",!0)}function O(){return 0===y(this).find(\"fr-inner\").length}function w(e){var t=L.selection?L.selection.get():window.getSelection();if(!t||0===t.rangeCount)return!1;var n=t.getRangeAt(0);if(n.collapsed)return!1;var r=e.querySelectorAll(\"td, th\");return 0!==r.length&&Array.from(r).every(function(e){var t=document.createRange();return t.selectNodeContents(e),n.compareBoundaryPoints(Range.START_TO_START,t)<=0&&0<=n.compareBoundaryPoints(Range.END_TO_END,t)})}function h(){try{if(!L.$wp)return!1;for(var e=p(0).commonAncestorContainer;e&&!L.node.isElement(e);)e=e.parentNode;return!!L.node.isElement(e)}catch(t){return!1}}function r(e,t){if(!e||0<e.getElementsByClassName(\"fr-marker\").length)return!1;for(var n=e.firstChild;n&&(L.node.isBlock(n)||t&&!L.node.isVoid(n)&&n.nodeType===Node.ELEMENT_NODE);)n=(e=n).firstChild;e.innerHTML=Y.MARKERS+e.innerHTML}function i(e,t){if(!e||0<e.getElementsByClassName(\"fr-marker\").length)return!1;for(var n=e.lastChild;n&&(L.node.isBlock(n)||t&&!L.node.isVoid(n)&&n.nodeType===Node.ELEMENT_NODE);)n=(e=n).lastChild;var r=L.doc.createElement(\"SPAN\");for(r.setAttribute(\"id\",\"fr-sel-markers\"),r.innerHTML=Y.MARKERS;e.parentNode&&L.opts.htmlAllowedEmptyTags&&0<=L.opts.htmlAllowedEmptyTags.indexOf(e.tagName.toLowerCase());)e=e.parentNode;e.appendChild(r);var o=e.querySelector(\"#fr-sel-markers\");o.outerHTML=o.innerHTML}return{text:l,get:E,ranges:p,clear:N,element:function c(){var e=E();try{if(e.rangeCount){var t,n=p(0),r=n.startContainer;if(L.node.isElement(r)&&0===n.startOffset&&r.childNodes.length)for(;r.childNodes.length&&r.childNodes[0].nodeType===Node.ELEMENT_NODE;)r=r.childNodes[0];if(r.nodeType===Node.TEXT_NODE&&n.startOffset===(r.textContent||\"\").length&&r.nextSibling&&(r=r.nextSibling),r.nodeType===Node.ELEMENT_NODE){var o=!1;if(L.node.isElement(r)&&\"\"==r.textContent&&\"IMG\"==r.childNodes[0].tagName&&r.childNodes.length)for(;r.childNodes.length&&r.childNodes[0].nodeType===Node.ELEMENT_NODE;)r=r.childNodes[0];if(0<r.childNodes.length&&r.childNodes[n.startOffset]){for(t=r.childNodes[n.startOffset];t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;if(t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0),!o&&1<r.childNodes.length&&0<n.startOffset&&r.childNodes[n.startOffset-1]){for(t=r.childNodes[n.startOffset-1];t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0)}}else!n.collapsed&&r.nextSibling&&r.nextSibling.nodeType===Node.ELEMENT_NODE&&(t=r.nextSibling)&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0);!o&&0<r.childNodes.length&&y(r.childNodes[0]).text().replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&[\"BR\",\"IMG\",\"HR\"].indexOf(r.childNodes[0].tagName)<0&&(r=r.childNodes[0])}for(;r.nodeType!==Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;var i=y(r).parentsUntil(L.$el,\".fr-img-wrap .fr-inner\");0<i.length&&(r=i.get(0));for(var a=r;a&&\"HTML\"!==a.tagName;){if(a===L.el)return r;a=y(a).parent()[0]}}}catch(s){}return L.el},endElement:function s(){var e=E();try{if(e.rangeCount){var t,n=p(0),r=n.endContainer;if(r.nodeType===Node.ELEMENT_NODE){var o=!1;0<r.childNodes.length&&r.childNodes[n.endOffset]&&y(r.childNodes[n.endOffset]).text()===l()?(r=r.childNodes[n.endOffset],o=!0):!n.collapsed&&r.previousSibling&&r.previousSibling.nodeType===Node.ELEMENT_NODE?(t=r.previousSibling)&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0):!n.collapsed&&0<r.childNodes.length&&r.childNodes[n.endOffset]&&(t=r.childNodes[n.endOffset].previousSibling).nodeType===Node.ELEMENT_NODE&&t&&t.textContent.replace(/\\u200B/g,\"\")===l().replace(/\\u200B/g,\"\")&&(r=t,o=!0),!o&&0<r.childNodes.length&&y(r.childNodes[r.childNodes.length-1]).text()===l()&&[\"BR\",\"IMG\",\"HR\"].indexOf(r.childNodes[r.childNodes.length-1].tagName)<0&&(r=r.childNodes[r.childNodes.length-1])}for(r.nodeType===Node.TEXT_NODE&&0===n.endOffset&&r.previousSibling&&r.previousSibling.nodeType===Node.ELEMENT_NODE&&(r=r.previousSibling);r.nodeType!==Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;for(var i=r;i&&\"HTML\"!==i.tagName;){if(i===L.el)return r;i=y(i).parent()[0]}}}catch(a){}return L.el},save:S,restore:T,isCollapsed:A,isFull:function d(){if(A())return!1;L.selection.save();var e,t=L.el.querySelectorAll(\"td, th, img, br, iframe\");for(e=0;e<t.length;e++)(t[e].nextSibling||\"IMG\"===t[e].tagName||\"IFRAME\"===t[e].tagName)&&(t[e].innerHTML='<span class=\"fr-mk\" style=\"display: none;\">&nbsp;</span>'.concat(t[e].innerHTML));var n=!1,r=o(L.el);for(r.atStart&&r.atEnd&&(n=!0),t=L.el.querySelectorAll(\".fr-mk\"),e=0;e<t.length;e++)t[e].parentNode.removeChild(t[e]);return L.selection.restore(),n},inEditor:h,remove:function k(){if(A())return!0;var e;function t(e){for(var t=e.previousSibling;t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.previousSibling,y(n).remove()}return t}function n(e){for(var t=e.nextSibling;t&&t.nodeType===Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.nextSibling,y(n).remove()}return t}S();var r=L.$el.find('.fr-marker[data-type=\"true\"]');for(e=0;e<r.length;e++)for(var o=r[e];!(t(o)||L.node.isBlock(o.parentNode)||L.$el.is(o.parentNode)||L.node.hasClass(o.parentNode,\"fr-inner\"));)y(o.parentNode).before(o);var i=L.$el.find('.fr-marker[data-type=\"false\"]');for(e=0;e<i.length;e++){for(var a=i[e];!(n(a)||L.node.isBlock(a.parentNode)||L.$el.is(a.parentNode)||L.node.hasClass(a.parentNode,\"fr-inner\"));)y(a.parentNode).after(a);a.parentNode&&L.node.isBlock(a.parentNode)&&L.node.isEmpty(a.parentNode)&&!L.$el.is(a.parentNode)&&!L.node.hasClass(a.parentNode,\"fr-inner\")&&L.opts.keepFormatOnDelete&&y(a.parentNode).after(a)}if(function b(){for(var e=L.$el.find(\".fr-marker\"),t=0;t<e.length;t++)if(y(e[t]).parentsUntil('.fr-element, [contenteditable=\"true\"]','[contenteditable=\"false\"]').length)return!1;return!0}()){!function E(e,t){var n=L.node.contents(e.get(0));0<=[\"TD\",\"TH\"].indexOf(e.get(0).tagName)&&1===e.find(\".fr-marker\").length&&(L.node.hasClass(n[0],\"fr-marker\")||\"BR\"==n[0].tagName&&L.node.hasClass(n[0].nextElementSibling,\"fr-marker\"))&&e.attr(\"data-del-cell\",!0);for(var r=0;r<n.length;r++){var o=n[r];if(\"TABLE\"===o.tagName&&w(o)&&\"TABLE\"===n[0].tagName){var i=y(document.createElement(\"span\")).attr(\"data-first\",\"true\").attr(\"data-text\",\"true\");y(o)[0].replaceWith(i[0])}L.node.hasClass(o,\"fr-marker\")?t=(t+1)%2:t?0<y(o).find(\".fr-marker\").length?t=E(y(o),t):[\"TD\",\"TH\"].indexOf(o.tagName)<0&&!L.node.hasClass(o,\"fr-inner\")?!L.opts.keepFormatOnDelete||0<L.$el.find(\"[data-first]\").length||L.node.isVoid(o)?y(o).remove():x(o):L.node.hasClass(o,\"fr-inner\")?0===y(o).find(\".fr-inner\").length?y(o).html(\"<br>\"):y(o).find(\".fr-inner\").filter(O).html(\"<br>\"):(y(o).empty(),y(o).attr(\"data-del-cell\",!0)):0<y(o).find(\".fr-marker\").length&&(t=E(y(o),t))}return t}(L.$el,0);var s=L.$el.find('[data-first=\"true\"]');if(s.length)L.$el.find(\".fr-marker\").remove(),s.append(Y.INVISIBLE_SPACE+Y.MARKERS).removeAttr(\"data-first\"),s.attr(\"data-text\")&&s.replaceWith(s.html());else for(L.$el.find(\"table\").filter(function(){return 0<y(this).find(\"[data-del-cell]\").length&&y(this).find(\"[data-del-cell]\").length===y(this).find(\"td, th\").length}).remove(),L.$el.find(\"[data-del-cell]\").removeAttr(\"data-del-cell\"),r=L.$el.find('.fr-marker[data-type=\"true\"]'),e=0;e<r.length;e++){var l=r[e],c=l.nextSibling,d=L.$el.find('.fr-marker[data-type=\"false\"][data-id=\"'.concat(y(l).data(\"id\"),'\"]')).get(0);if(d){if(l&&(!c||c!==d)){var f=L.node.blockParent(l),p=L.node.blockParent(d),u=!1,h=!1;if(f&&0<=[\"UL\",\"OL\"].indexOf(f.tagName)&&(u=!(f=null)),p&&0<=[\"UL\",\"OL\"].indexOf(p.tagName)&&(h=!(p=null)),y(l).after(d),f!==p)if(null!==f||u)if(null!==p||h||0!==y(f).parentsUntil(L.$el,\"table\").length)f&&p&&0===y(f).parentsUntil(L.$el,\"table\").length&&0===y(p).parentsUntil(L.$el,\"table\").length&&!y(f).contains(p)&&!y(p).contains(f)&&(y(f).append(y(p).html()),y(p).remove());else{for(c=f;!c.nextSibling&&c.parentNode!==L.el;)c=c.parentNode;for(c=c.nextSibling;c&&\"BR\"!==c.tagName;){var g=c.nextSibling;y(f).append(c),c=g}c&&\"BR\"===c.tagName&&y(c).remove()}else{var C=L.node.deepestParent(l);C?(y(C).after(y(p).html()),y(p).remove()):0===y(p).parentsUntil(L.$el,\"table\").length&&(y(l).next().after(y(p).html()),y(p).remove())}}}else d=y(l).clone().attr(\"data-type\",!1),y(l).after(d)}}L.$el.find(\"li:empty\").remove(),L.opts.keepFormatOnDelete||L.html.fillEmptyBlocks(),L.html.cleanEmptyTags(!0),L.opts.htmlUntouched||(L.clean.lists(),L.$el.find(\"li:empty\").append(\"<br>\"),L.spaces.normalize());var m=L.$el.find(\".fr-marker\").last().get(0),v=L.$el.find(\".fr-marker\").first().get(0);void 0!==m&&void 0!==v&&!m.nextSibling&&v.previousSibling&&\"BR\"===v.previousSibling.tagName&&L.node.isElement(m.parentNode)&&L.node.isElement(v.parentNode)&&L.$el.append(\"<br>\"),T()},blocks:function g(e,t){var n,r,o=[],i=E();if(h()&&i.rangeCount){var a=p();for(n=0;n<a.length;n++){var s=a[n],l=u(s.startContainer,s.startOffset),c=u(s.endContainer,s.endOffset);(r=L.node.blockParent(l))&&o.indexOf(r)<0&&o.push(r),(L.node.isBlock(l)||L.node.hasClass(l,\"fr-inner\"))&&o.indexOf(l)<0&&o.push(l);for(var d=[],f=l;f!==c&&f!==L.el;)d.indexOf(f)<0&&f.children&&f.children.length?(d.push(f),f=f.children[0]):f.nextSibling?f=f.nextSibling:f.parentNode&&(f=f.parentNode,d.push(f)),L.node.isBlock(f)&&d.indexOf(f)<0&&o.indexOf(f)<0&&(f!==c||0<s.endOffset)&&o.push(f);L.node.isBlock(c)&&o.indexOf(c)<0&&0<s.endOffset&&o.push(c),(r=L.node.blockParent(c))&&o.indexOf(r)<0&&o.push(r)}}for(n=o.length-1;0<n;n--)if(y(o[n-1]).contains(o[n])){if(e&&y(o[n]).find(\"ul, ol\").length)continue;if(t&&\"LI\"==o[n-1].tagName)continue;o.splice(n-1,1)}else if(y(o[n]).contains(o[n-1])){if(e&&y(o[n]).find(\"ul, ol\").length)continue;o.splice(n,1)}return o},info:o,setAtEnd:i,setAtStart:r,setBefore:function f(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&n.nodeType===Node.TEXT_NODE&&0===n.textContent.length;)n=n.previousSibling;return n?(L.node.isBlock(n)?i(n):\"BR\"===n.tagName?y(n).before(Y.MARKERS):y(n).after(Y.MARKERS),!0):!!t&&(L.node.isBlock(e)?r(e):y(e).before(Y.MARKERS),!0)},setAfter:function C(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&n.nodeType===Node.TEXT_NODE&&0===n.textContent.length;)n=n.nextSibling;return n?(L.node.isBlock(n)?r(n):y(n).before(Y.MARKERS),!0):!!t&&(L.node.isBlock(e)?i(e):y(e).after(Y.MARKERS),!0)},rangeElement:u}},Object.assign(Y.DEFAULTS,{language:null}),Y.LANGUAGE={},Y.MODULES.language=function(e){var t;return{_init:function n(){Y.LANGUAGE&&(t=Y.LANGUAGE[e.opts.language]),t&&t.direction&&(e.opts.direction=t.direction)},translate:function r(e){return t&&t.translation[e]&&t.translation[e].length?t.translation[e]:e}}},Object.assign(Y.DEFAULTS,{placeholderText:\"Type something\"}),Y.MODULES.placeholder=function(h){var g=h.$;function e(){h.$placeholder||function u(){h.$placeholder=g(h.doc.createElement(\"SPAN\")).addClass(\"fr-placeholder\"),h.$wp.append(h.$placeholder)}();var e=h.opts.iframe?h.$iframe.prev().outerHeight(!0):h.$el.prev().outerHeight(!0),t=0,n=0,r=0,o=0,i=0,a=0,s=h.node.contents(h.el),l=h.selection.element(),c=g(l).css(\"text-align\");if(s.length&&s[0].nodeType===Node.ELEMENT_NODE){var d=g(s[0]);(0<h.$wp.prev().length||0<h.$el.prev().length)&&h.ready&&(t=h.helpers.getPX(d.css(\"margin-top\")),o=h.helpers.getPX(d.css(\"padding-top\")),n=h.helpers.getPX(d.css(\"margin-left\")),r=h.helpers.getPX(d.css(\"margin-right\")),i=h.helpers.getPX(d.css(\"padding-left\")),a=h.helpers.getPX(d.css(\"padding-right\")));var f=d.children().first(),p=l===h.el?f.length?f:d:g(l);h.$placeholder.css(\"font-size\",p.css(\"font-size\")),h.$placeholder.css(\"line-height\",p.css(\"line-height\")),h.$placeholder.css(\"font-family\",p.css(\"font-family\"))}else h.$placeholder.css(\"font-size\",h.$el.css(\"font-size\")),h.$placeholder.css(\"line-height\",h.$el.css(\"line-height\")),h.$placeholder.css(\"font-family\",h.$el.css(\"font-family\"));h.$wp.addClass(\"show-placeholder\"),h.$placeholder.css({marginTop:Math.max(h.helpers.getPX(h.$el.css(\"margin-top\")),t)+(e||0),paddingTop:Math.max(h.helpers.getPX(h.$el.css(\"padding-top\")),o),paddingLeft:Math.max(h.helpers.getPX(h.$el.css(\"padding-left\")),i),marginLeft:Math.max(h.helpers.getPX(h.$el.css(\"margin-left\")),n),paddingRight:Math.max(h.helpers.getPX(h.$el.css(\"padding-right\")),a),marginRight:Math.max(h.helpers.getPX(h.$el.css(\"margin-right\")),r),textAlign:c}).text(h.language.translate(h.opts.placeholderText||h.$oel.attr(\"placeholder\")||\"\")),h.$placeholder.html(h.$placeholder.text().replace(/\\n/g,\"<br>\"))}function t(){h.$wp.removeClass(\"show-placeholder\")}function n(){if(!h.$wp)return!1;h.core.isEmpty()?e():t()}return{_init:function r(){if(!h.$wp)return!1;h.events.on(\"init input keydown keyup contentChanged initialized\",n)},show:e,hide:t,refresh:n,isVisible:function o(){return!h.$wp||h.node.hasClass(h.$wp.get(0),\"show-placeholder\")}}},Y.UNICODE_NBSP=String.fromCharCode(160),Y.VOID_ELEMENTS=[\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"keygen\",\"link\",\"menuitem\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"],Y.BLOCK_TAGS=[\"address\",\"article\",\"aside\",\"audio\",\"blockquote\",\"canvas\",\"details\",\"dd\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"li\",\"main\",\"nav\",\"noscript\",\"ol\",\"output\",\"p\",\"pre\",\"section\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"tr\",\"ul\",\"video\"],Object.assign(Y.DEFAULTS,{htmlAllowedEmptyTags:[\"textarea\",\"a\",\"iframe\",\"object\",\"video\",\"style\",\"script\",\".fa\",\".fr-emoticon\",\".fr-inner\",\"path\",\"line\",\"hr\"],htmlDoNotWrapTags:[\"script\",\"style\"],htmlSimpleAmpersand:!1,htmlIgnoreCSSProperties:[],htmlExecuteScripts:!0}),Y.MODULES.html=function(w){var b=w.$;function E(){return w.opts.enter===Y.ENTER_P?\"p\":w.opts.enter===Y.ENTER_DIV?\"div\":w.opts.enter===Y.ENTER_BR?null:void 0}function s(e,t){return!(!e||e===w.el)&&(t?-1!=[\"PRE\",\"SCRIPT\",\"STYLE\"].indexOf(e.tagName)||s(e.parentNode,t):-1!==[\"PRE\",\"SCRIPT\",\"STYLE\"].indexOf(e.tagName))}function i(e){var t,n=[],r=[];if(e){var o=w.el.querySelectorAll(\".fr-marker\");for(t=0;t<o.length;t++){var i=w.node.blockParent(o[t])||o[t];if(i){var a=i.nextSibling,s=i.previousSibling;i&&r.indexOf(i)<0&&w.node.isBlock(i)&&r.push(i),s&&w.node.isBlock(s)&&r.indexOf(s)<0&&r.push(s),a&&w.node.isBlock(a)&&r.indexOf(a)<0&&r.push(a)}}}else r=w.el.querySelectorAll(p());var l=p();for(l+=\",\".concat(Y.VOID_ELEMENTS.join(\",\")),l+=\", .fr-inner\",l+=\",\".concat(w.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"),t=r.length-1;0<=t;t--)if(!(r[t].textContent&&0<r[t].textContent.replace(/\\u200B|\\n/g,\"\").length||0<r[t].querySelectorAll(l).length)){for(var c=w.node.contents(r[t]),d=!1,f=0;f<c.length;f++)if(c[f].nodeType!==Node.COMMENT_NODE&&c[f].textContent&&0<c[f].textContent.replace(/\\u200B|\\n/g,\"\").length){d=!0;break}d||n.push(r[t])}return n}function p(){return Y.BLOCK_TAGS.join(\", \")}function e(e){var t,n,r=b.merge([],Y.VOID_ELEMENTS);r=b.merge(r,w.opts.htmlAllowedEmptyTags),r=void 0===e?b.merge(r,Y.BLOCK_TAGS):b.merge(r,Y.NO_DELETE_TAGS),t=w.el.querySelectorAll(\"*:empty:not(\".concat(r.join(\"):not(\"),\"):not(.fr-marker):not(template)\"));do{n=!1;for(var o=0;o<t.length;o++)0!==t[o].attributes.length&&void 0===t[o].getAttribute(\"href\")||(t[o].parentNode.removeChild(t[o]),n=!0);(t=w.el.querySelectorAll(\"*:empty:not(\".concat(r.join(\"):not(\"),\"):not(.fr-marker):not(template)\"))).length||(t=w.el.querySelectorAll(\"a[href]:not([name]):empty\"))}while(t.length&&n)}function a(e,t){var n=E();if(t&&(n=\"div\"),n){var r=w.doc.createDocumentFragment(),o=null,i=!1,a=e.firstChild,s=!1,l=null,c=w.selection.ranges(),d=null,f=null,p=null;if(c.length){d=c[0].endContainer,f=c[0].startOffset,p=c[0].endOffset;var u=c[0].startContainer;u.nodeType===Node.ELEMENT_NODE&&(\"TD\"===u.tagName||\"TH\"===u.tagName)&&u.childNodes&&u.childNodes.length>f+1&&u.childNodes[f+1]===d&&(f=0)}for(var h=!1,g=function g(e,t){e===d?(h=!0,l=t.lastChild):0<=Array.from(e.childNodes).indexOf(d)&&(h=!0,l=t.lastChild.childNodes[Array.from(e.childNodes).indexOf(d)])};a;){var C=a.nextSibling;if(a.nodeType===Node.ELEMENT_NODE&&(w.node.isBlock(a)||0<=w.opts.htmlDoNotWrapTags.indexOf(a.tagName.toLowerCase())&&!w.node.hasClass(a,\"fr-marker\")))o=null,r.appendChild(a.cloneNode(!0));else if(a.nodeType!==Node.ELEMENT_NODE&&a.nodeType!==Node.TEXT_NODE)o=null,r.appendChild(a.cloneNode(!0));else if(\"BR\"===a.tagName)null===o?(o=w.doc.createElement(n),s=!0,t&&(o.setAttribute(\"class\",\"fr-temp-div\"),o.setAttribute(\"data-empty\",!0)),o.appendChild(a.cloneNode(!0)),a&&a.parentNode&&[\"TD\",\"TH\"].indexOf(a.parentNode.tagName)<0&&r.appendChild(o)):!1===i&&(o.appendChild(w.doc.createElement(\"br\")),t&&(o.setAttribute(\"class\",\"fr-temp-div\"),o.setAttribute(\"data-empty\",!0))),o=null;else{var m=a.textContent;if(a.nodeType!==Node.TEXT_NODE||0<m.replace(/\\n/g,\"\").replace(/(^ *)|( *$)/g,\"\").length||m.replace(/(^ *)|( *$)/g,\"\").length&&m.indexOf(\"\\n\")<0){if(\"SPAN\"===a.tagName&&b(a).hasClass(\"fr-marker\")&&!a.previousSibling&&(a.nextSibling&&\"TABLE\"==a.nextSibling.tagName||a.nextSibling&&a.nextSibling.nextSibling&&\"TABLE\"==a.nextSibling.nextSibling.tagName)){r.appendChild(a),g(a,r),a=C;continue}if(\"SPAN\"===a.tagName&&b(a).hasClass(\"fr-marker\")&&a.previousSibling&&a.previousSibling.nodeType===Node.ELEMENT_NODE&&(a.nextSibling&&\"TABLE\"==a.nextSibling.tagName||a.nextSibling&&a.nextSibling.nextSibling&&\"TABLE\"==a.nextSibling.nextSibling.tagName)){r.appendChild(a),s=!0,g(a,r),a=C;continue}null===o&&(o=w.doc.createElement(n),s=!0,t&&o.setAttribute(\"class\",\"fr-temp-div\"),r.appendChild(o),i=!1),o.appendChild(a.cloneNode(!0)),i||w.node.hasClass(a,\"fr-marker\")||a.nodeType===Node.TEXT_NODE&&0===m.replace(/ /g,\"\").length||(i=!0),g(a,o)}else s=!0}a=C}if(s&&(e.innerHTML=\"\",e.appendChild(r),h)){var v=w.doc.createRange();w.selection.get().removeAllRanges(),v.setStart(l,f),v.setEnd(l,p),w.selection.get().addRange(v)}}}function l(e,t){for(var n=e.length-1;0<=n;n--)a(e[n],t)}function t(e,t,n,r,o){if(!w.$wp)return!1;void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=w.$wp.scrollTop();a(w.el,e),r&&l(w.el.querySelectorAll(\".fr-inner\"),e),t&&l(w.el.querySelectorAll(\"td, th\"),e),n&&l(w.el.querySelectorAll(\"blockquote\"),e),o&&l(w.el.querySelectorAll(\"li\"),e),i!==w.$wp.scrollTop()&&w.$wp.scrollTop(i)}function n(e){if(void 0===e&&(e=w.el),e&&0<=[\"SCRIPT\",\"STYLE\",\"PRE\"].indexOf(e.tagName))return!1;for(var t=w.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,w.node.filter(function(e){return null!==e.textContent.match(/([ \\n]{2,})|(^[ \\n]{1,})|([ \\n]{1,}$)/g)}),!1);t.nextNode();){var n=t.currentNode;if(!s(n.parentNode,!0)){var r=w.node.isBlock(n.parentNode)||w.node.isElement(n.parentNode),o=void 0;if(o=w.opts.preserveTabSpaces?n.textContent.replace(/\\n/g,\" \").replace(/^[ ]{2,}/g,\" \").replace(/[ ]{2,}$/g,\" \"):n.textContent.replace(/(?!^)( ){2,}(?!$)/g,\" \").replace(/\\n/g,\" \").replace(/^[ ]{2,}/g,\" \").replace(/[ ]{2,}$/g,\" \"),r){var i=n.previousSibling,a=n.nextSibling;i&&a&&\" \"===o?o=w.node.isBlock(i)&&w.node.isBlock(a)?\"\":\" \":(i||(o=o.replace(/^ */,\"\")),a||(o=o.replace(/ *$/,\"\")))}n.textContent=o}}}function r(e,t,n){var r=new RegExp(t,\"gi\").exec(e);return r?r[n]:null}function k(e){var t=e.doctype,n=\"<!DOCTYPE html>\";return t&&(n=\"<!DOCTYPE \".concat(t.name).concat(t.publicId?' PUBLIC \"'.concat(t.publicId,'\"'):\"\").concat(!t.publicId&&t.systemId?\" SYSTEM\":\"\").concat(t.systemId?' \"'.concat(t.systemId,'\"'):\"\",\">\")),n}function c(e){var t=e.parentNode;if(t&&(w.node.isBlock(t)||w.node.isElement(t))&&[\"TD\",\"TH\"].indexOf(t.tagName)<0){for(var n=e.previousSibling,r=e.nextSibling;n&&(n.nodeType===Node.TEXT_NODE&&0===n.textContent.replace(/\\n|\\r/g,\"\").length||w.node.hasClass(n,\"fr-tmp\"));)n=n.previousSibling;if(r)return!1;n&&t&&\"BR\"!==n.tagName&&!w.node.isBlock(n)&&!r&&0<t.textContent.replace(/\\u200B/g,\"\").length&&0<n.textContent.length&&!w.node.hasClass(n,\"fr-marker\")&&(w.el===t&&!r&&w.opts.enter===Y.ENTER_BR&&w.browser.msie||e.parentNode.removeChild(e))}else!t||w.node.isBlock(t)||w.node.isElement(t)||e.previousSibling||e.nextSibling||!w.node.isDeletable(e.parentNode)||c(e.parentNode)}function h(){w.opts.htmlUntouched||(e(),t(),n(),w.spaces.normalize(null,!0),w.html.fillEmptyBlocks(),w.clean.lists(),w.clean.tables(),w.clean.toHTML5(),w.html.cleanBRs()),function s(e){if(e&&e.isContentEditable&&!w.node.isEmpty(e)){var t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,{acceptNode:function(e){if(e.nodeType===Node.TEXT_NODE)return e.nodeValue.trim()?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP;if(e.nodeType!==Node.ELEMENT_NODE)return NodeFilter.FILTER_SKIP;var t=window.getComputedStyle(e);return\"none\"!==t.display&&\"hidden\"!==t.visibility?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),n=null,r=!0,o=t.nextNode();if(o&&o.nodeType!==Node.TEXT_NODE){do{if(o.nodeType===Node.ELEMENT_NODE&&o.isContentEditable&&(o.textContent.trim().length||[\"IMG\",\"BR\",\"HR\"].includes(o.tagName)||b(o).find(\"img, br, hr\").length)){if(r)break;n=o;break}r=!1}while(o=t.nextNode());if(!r){var i=w.doc.createRange(),a=w.selection.get();n?i.selectNodeContents(n):(n=document.createTextNode(\"\\u200b\"),e.appendChild(n),i.setStart(n,0)),i.collapse(!0),a.removeAllRanges(),a.addRange(i)}}}}(w.el),w.selection.restore(),o(),w.placeholder.refresh()}function o(){w.node.isEmpty(w.el)&&(null!==E()?w.el.querySelector(p())||w.el.querySelector(\"\".concat(w.opts.htmlDoNotWrapTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||(w.core.hasFocus()?(w.$el.html(\"<\".concat(E(),\">\").concat(Y.MARKERS,\"<br/></\").concat(E(),\">\")),w.selection.restore()):w.$el.html(\"<\".concat(E(),\"><br/></\").concat(E(),\">\"))):w.el.querySelector(\"*:not(.fr-marker):not(br)\")||(w.core.hasFocus()?(w.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),w.selection.restore()):w.$el.html(\"<br/>\")))}function g(e,t){return r(e,\"<\".concat(t,\"[^>]*?>([\\\\w\\\\W]*)</\").concat(t,\">\"),1)}function C(e,t){var n=b(\"<div \".concat(r(e,\"<\".concat(t,\"([^>]*?)>\"),1)||\"\",\">\"));return w.node.rawAttributes(n.get(0))}function m(e){return(r(e,\"<!DOCTYPE([^>]*?)>\",0)||\"<!DOCTYPE html>\").replace(/\\n/g,\" \").replace(/ {2,}/g,\" \")}function v(e,t){w.opts.htmlExecuteScripts?e.html(t):e.get(0).innerHTML=t}function $(e){var t;(t=/:not\\(([^)]*)\\)/g).test(e)&&(e=e.replace(t,\"     $1 \"));var n=100*(e.match(/(#[^\\s+>~.[:]+)/g)||[]).length+10*(e.match(/(\\[[^]]+\\])/g)||[]).length+10*(e.match(/(\\.[^\\s+>~.[:]+)/g)||[]).length+10*(e.match(/(:[\\w-]+\\([^)]*\\))/gi)||[]).length+10*(e.match(/(:[^\\s+>~.[:]+)/g)||[]).length+(e.match(/(::[^\\s+>~.[:]+|:first-line|:first-letter|:before|:after)/gi)||[]).length;return n+=((e=(e=e.replace(/[*\\s+>~]/g,\" \")).replace(/[#.]/g,\" \")).match(/([^\\s+>~.[:]+)/g)||[]).length}function H(e){if(w.events.trigger(\"html.processGet\",[e]),e&&e.getAttribute&&\"\"===e.getAttribute(\"class\")&&e.removeAttribute(\"class\"),e&&e.getAttribute&&\"\"===e.getAttribute(\"style\")&&e.removeAttribute(\"style\"),e&&e.nodeType===Node.ELEMENT_NODE){var t,n=e.querySelectorAll('[class=\"\"],[style=\"\"]');for(t=0;t<n.length;t++){var r=n[t];\"\"===r.getAttribute(\"class\")&&r.removeAttribute(\"class\"),\"\"===r.getAttribute(\"style\")&&r.removeAttribute(\"style\")}if(\"BR\"===e.tagName)c(e);else{var o=e.querySelectorAll(\"br\");for(t=0;t<o.length;t++)c(o[t])}}}function D(e,t){return e[3]-t[3]}function R(){for(var e=w.el.querySelectorAll(\"input, textarea\"),t=0;t<e.length;t++)\"checkbox\"!==e[t].type&&\"radio\"!==e[t].type||(e[t].checked?e[t].setAttribute(\"checked\",e[t].checked):w.$(e[t]).removeAttr(\"checked\")),e[t].getAttribute(\"value\")&&e[t].setAttribute(\"value\",e[t].value)}function u(e){var t=w.doc.createElement(\"div\");return t.innerHTML=e,null!==t.querySelector(p())}function d(e){var t=null;if(void 0===e&&(t=w.selection.element()),w.opts.keepFormatOnDelete)return!1;var n,r,o=t?(t.textContent.match(/\\u200B/g)||[]).length-t.querySelectorAll(\".fr-marker\").length:0;if((w.el.textContent.match(/\\u200B/g)||[]).length-w.el.querySelectorAll(\".fr-marker\").length===o)return!1;do{r=!1,n=w.el.querySelectorAll(\"*:not(.fr-marker)\");for(var i=0;i<n.length;i++){var a=n[i];if(t!==a){var s=a.textContent;0===a.children.length&&1===s.length&&8203===s.charCodeAt(0)&&[\"TD\",\"STRONG\",\"SPAN\",\"EM\",\"U\",\"S\",\"SUB\",\"SUP\"].indexOf(a.tagName)<0&&(b(a).remove(),r=!0)}}}while(r)}function f(){d(),w.placeholder&&setTimeout(w.placeholder.refresh,0)}function L(){return w.opts.fontSizeDefaultSelection&&w.opts.fontSizeUnit&&\"Font Size\"!=w.opts.fontSizeDefaultSelection}function y(){return w.opts.fontFamilyDefaultSelection&&\"Font Family\"!=w.opts.fontFamilyDefaultSelection}function N(e){var t=w.selection.element(),n=t.getAttribute(\"style\")||\"\";!w.node.isEmpty(t)&&!e||w.markdown&&w.markdown.isEnabled()||t==w.el&&w.opts.enter!=Y.ENTER_BR||(L()&&!n.includes(\"font-size\")&&w.fontSize&&w.fontSize.apply(w.opts.fontSizeDefaultSelection+w.opts.fontSizeUnit),y()&&!n.includes(\"font-family\")&&w.fontFamily&&w.fontFamily.apply(w.opts.fontFamilyDefaultSelection),w.placeholder.refresh())}function S(e){var t=e.which;if(w.keys.ctrlKey(e)||37<=t&&t<=40||!w.keys.isCharacter(t)&&t!==Y.KEYCODE.DELETE&&t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.ENTER&&t!==Y.KEYCODE.IME)return!0;var n=w.selection.element();if(!(0<=[\"UL\",\"OL\"].indexOf(n.tagName))){var r=\"LI\"===n.tagName?b(n):b(n).parents(\"li\").first();if(r.length){var o=r.get(0),i=w.node.isEmpty(o),a=!r.siblings().last().length,s=r.parents(\"ul, ol\"),l=s.first().get(0)===s.last().get(0);if(i&&a&&l){if(t===Y.KEYCODE.BACKSPACE)return void requestAnimationFrame(function(){w.cursor.backspace(),N()});L()&&r.css(\"font-size\",w.opts.fontSizeDefaultSelection+w.opts.fontSizeUnit),y()&&r.css(\"font-family\",w.opts.fontFamilyDefaultSelection)}}else if(t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.DELETE){var c=w.selection.get();if(c.baseOffset!==c.focusOffset&&!w.keys.ctrlKey(e)&&w.keys.isCharacter(e.which)&&!w.selection.isCollapsed()&&!e.ctrlKey&&!e.altKey)return w.selection.remove(),void N();var d=[\"TD\",\"TH\"].includes(n.tagName)||n.parentElement&&[\"TD\",\"TH\"].includes(n.parentElement.tagName);(u(n)||d||\"BR\"==n.tagName)&&N()}else{var f=w.selection.isFull();requestAnimationFrame(function(){var e=w.node.deepestParent(n);(e&&w.node.isEmpty(e)||f)&&N()})}}}function T(){w.node.isEmpty(w.el)&&(w.selection.setAtStart(w.el),N(),w.markers.remove(),w.placeholder.refresh())}function M(){var e=b(w.selection.element());w.selection.text()&&!e.attr(\"style\")&&(N(!0),x(w.selection.ranges(0).endContainer))}function A(){0<b(w.selection.element()).filter(\"td, tr\").length&&N(!0),x(w.selection.ranges(0).endContainer)}function x(e){var t=w.doc.createRange();t.selectNodeContents(e),t.collapse(!1);var n=w.selection.get();n.removeAllRanges(),n.addRange(t)}function O(e){var t=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(t.body.childNodes).some(function(e){return 1===e.nodeType})}function _(e){var t=/^<([a-z1-6]+)(\\s[^>]*)?>[\\s\\S]*<\\/\\1>$|^<([a-z1-6]+)(\\s[^>]*)?\\/?>$/.test(e.trim()),n=!(!e||0===e.trim().length)&&O(e)&&t&&u(e),r=w.selection.element();if(e&&!/<[^>]+style=[\"'][^\"']*(font-(size|family))[^\"']*[\"']/.test(e)&&(w.node.isEmpty(r)||w.selection.isFull())&&!b(r).parents(\"ol, ul\").length)return n?e.replace(/^<([^>]+)>/,\"<$1>\".concat(Y.START_MARKER)).replace(/<\\/([^>]+)>$/,\"\".concat(Y.END_MARKER,\"</$1>\")):Y.START_MARKER+e+Y.END_MARKER}function B(){setTimeout(N,0)}return{defaultTag:E,isPreformatted:s,emptyBlocks:i,emptyBlockTagsQuery:function V(){return\"\".concat(Y.BLOCK_TAGS.join(\":empty, \"),\":empty\")},blockTagsQuery:p,fillEmptyBlocks:function I(e){var t=i(e);w.node.isEmpty(w.el)&&w.opts.enter===Y.ENTER_BR&&t.push(w.el);for(var n=0;n<t.length;n++){var r=t[n];\"false\"===r.getAttribute(\"contenteditable\")||r.querySelector(\"\".concat(w.opts.htmlAllowedEmptyTags.join(\":not(.fr-marker),\"),\":not(.fr-marker)\"))||w.node.isVoid(r)||\"TABLE\"===r.tagName||\"TBODY\"===r.tagName||\"TR\"===r.tagName||\"UL\"===r.tagName||\"OL\"===r.tagName||r.querySelector(\"br\")||r.appendChild(w.doc.createElement(\"br\"))}if(w.browser.msie&&w.opts.enter===Y.ENTER_BR){var o=w.node.contents(w.el);o.length&&o[o.length-1].nodeType===Node.TEXT_NODE&&w.$el.append(\"<br>\")}},cleanEmptyTags:e,cleanWhiteTags:d,cleanBlankSpaces:n,blocks:function P(){return w.$el.get(0).querySelectorAll(p())},getDoctype:k,set:function z(e){var t=w.clean.html((e||\"\").trim(),[],[],w.opts.fullPage);!y()&&!L()||O(t)||(t=Y.START_MARKER+t+Y.END_MARKER);var n=new RegExp(\"%3A//\",\"g\"),r=t.replace(n,\"://\");if(w.opts.fullPage){var o=g(r,\"body\")||(0<=r.indexOf(\"<body\")?\"\":r),i=C(r,\"body\"),a=g(r,\"head\")||\"<title></title>\",s=C(r,\"head\"),l=b(\"<div>\");l.append(a).contents().each(function(){(this.nodeType===Node.COMMENT_NODE||0<=[\"BASE\",\"LINK\",\"META\",\"NOSCRIPT\",\"SCRIPT\",\"STYLE\",\"TEMPLATE\",\"TITLE\"].indexOf(this.tagName))&&this.parentNode.removeChild(this)});var c=l.html().trim();a=b(\"<div>\").append(a).contents().map(function(){return this.nodeType===Node.COMMENT_NODE?\"\\x3c!--\".concat(this.nodeValue,\"--\\x3e\"):0<=[\"BASE\",\"LINK\",\"META\",\"NOSCRIPT\",\"SCRIPT\",\"STYLE\",\"TEMPLATE\",\"TITLE\"].indexOf(this.tagName)?this.outerHTML:\"\"}).toArray().join(\"\");var d=m(r),f=C(r,\"html\");v(w.$el,\"\".concat(c,\"\\n\").concat(o)),w.node.clearAttributes(w.el),w.$el.attr(i),w.$el.addClass(\"fr-view\"),w.$el.attr(\"spellcheck\",w.opts.spellcheck),w.$el.attr(\"dir\",w.opts.direction),v(w.$head,a),w.node.clearAttributes(w.$head.get(0)),w.$head.attr(s),w.node.clearAttributes(w.$html.get(0)),w.$html.attr(f),w.iframe_document.doctype.parentNode.replaceChild(function u(e,t){var n=e.match(/<!DOCTYPE ?([^ ]*) ?([^ ]*) ?\"?([^\"]*)\"? ?\"?([^\"]*)\"?>/i);return n?t.implementation.createDocumentType(n[1],n[3],n[4]):t.implementation.createDocumentType(\"html\")}(d,w.iframe_document),w.iframe_document.doctype)}else v(w.$el,r);var p=w.edit.isDisabled();w.edit.on(),w.core.injectStyle(w.opts.iframeDefaultStyle+w.opts.iframeStyle),h(),w.opts.useClasses||(w.$el.find(\"[fr-original-class]\").each(function(){this.setAttribute(\"class\",this.getAttribute(\"fr-original-class\")),this.removeAttribute(\"fr-original-class\")}),w.$el.find(\"[fr-original-style]\").each(function(){this.setAttribute(\"style\",this.getAttribute(\"fr-original-style\")),this.removeAttribute(\"fr-original-style\")})),p&&w.edit.off(),w.events.trigger(\"html.set\"),w.events.trigger(\"charCounter.update\"),w.events.trigger(\"wordCounter.update\")},syncInputs:R,get:function Z(e,t){if(!w.$wp)return w.$oel.clone().removeClass(\"fr-view\").removeAttr(\"contenteditable\").get(0).outerHTML;var n=\"\";w.events.trigger(\"html.beforeGet\");var r,o,i=[],a={},s=[];if(R(),!w.opts.useClasses&&!t){var l=new RegExp(\"^\".concat(w.opts.htmlIgnoreCSSProperties.join(\"$|^\"),\"$\"),\"gi\");for(r=0;r<w.doc.styleSheets.length;r++){var c=void 0,d=0;try{c=w.doc.styleSheets[r].cssRules,w.doc.styleSheets[r].ownerNode&&\"STYLE\"===w.doc.styleSheets[r].ownerNode.nodeType&&(d=1)}catch(O){}if(c)for(var f=0,p=c.length;f<p;f++)if(c[f].selectorText&&0<c[f].style.cssText.length){var u=c[f].selectorText.replace(/body \\s tbody \\.fr-view /g,\"\").replace(/::/g,\":\"),h=void 0;try{h=w.el.querySelectorAll(u)}catch(O){h=[]}for(o=0;o<h.length;o++){!h[o].getAttribute(\"fr-original-style\")&&h[o].getAttribute(\"style\")?(h[o].setAttribute(\"fr-original-style\",h[o].getAttribute(\"style\")),i.push(h[o])):h[o].getAttribute(\"fr-original-style\")||(h[o].setAttribute(\"fr-original-style\",\"\"),i.push(h[o])),a[h[o]]||(a[h[o]]={});for(var g=1e3*d+$(c[f].selectorText),C=c[f].style.cssText.split(\";\"),m=0;m<C.length;m++){var v=C[m].trim().split(\":\")[0];if(v&&!v.match(l)&&((!a[h[o]][v]||a[h[o]][v]&&\"\"==h[o].getAttribute(\"fr-original-style\"))&&(a[h[o]][v]=0)<=(h[o].getAttribute(\"fr-original-style\")||\"\").indexOf(\"\".concat(v,\":\"))&&(a[h[o]][v]=1e4),g>=a[h[o]][v]&&(a[h[o]][v]=g,C[m].trim().length))){var b=C[m].trim().split(\":\");b.splice(0,1);var E=b.join(\":\").trim();-1<E.indexOf(\"!important\")&&(g+=1),s.push([h[o],v.trim(),E,g])}}}}}for(s.sort(D),r=0;r<s.length;r++){var L=s[r];L[0].style[L[1]]=L[2].replace(/!important/,\"\")}for(r=0;r<i.length;r++)if(i[r].getAttribute(\"class\")&&(i[r].setAttribute(\"fr-original-class\",i[r].getAttribute(\"class\")),i[r].removeAttribute(\"class\")),0<(i[r].getAttribute(\"fr-original-style\")||\"\").trim().length){var y=i[r].getAttribute(\"fr-original-style\").split(\";\");for(o=0;o<y.length;o++)if(0<y[o].indexOf(\":\")){var N=y[o].split(\":\"),S=N[0];N.splice(0,1),i[r].style[S.trim()]=N.join(\":\").trim()}}}if(w.node.isEmpty(w.el))w.opts.fullPage&&(n=k(w.iframe_document),n+=\"<html\".concat(w.node.attributes(w.$html.get(0)),\">\").concat(w.$html.find(\"head\").get(0).outerHTML,\"<body></body></html>\"));else if(void 0===e&&(e=!1),w.opts.fullPage){n=k(w.iframe_document),w.$el.removeClass(\"fr-view\");var T=w.opts.heightMin,M=w.opts.height,A=w.opts.heightMax;w.opts.heightMin=null,w.opts.height=null,w.opts.heightMax=null,w.size.refresh(),n+=\"<html\".concat(w.node.attributes(w.$html.get(0)),\">\").concat(w.$html.html(),\"</html>\"),w.opts.iframe&&w.$html&&0<w.$html.find(\".fr-element\").length&&(n=w.$html.find(\".fr-element\").html()),w.opts.heightMin=T,w.opts.height=M,w.opts.heightMax=A,w.size.refresh(),w.$el.addClass(\"fr-view\")}else n=w.$el.html(),w.opts.iframe&&w.$html&&0<w.$html.find(\".fr-element\").length&&(n=w.$html.find(\".fr-element\").html());if(!w.opts.useClasses&&!t)for(r=0;r<i.length;r++)i[r].getAttribute(\"fr-original-class\")&&(i[r].setAttribute(\"class\",i[r].getAttribute(\"fr-original-class\")),i[r].removeAttribute(\"fr-original-class\")),null!==i[r].getAttribute(\"fr-original-style\")&&void 0!==i[r].getAttribute(\"fr-original-style\")?(0!==i[r].getAttribute(\"fr-original-style\").length?i[r].setAttribute(\"style\",i[r].getAttribute(\"fr-original-style\")):i[r].removeAttribute(\"style\"),i[r].removeAttribute(\"fr-original-style\")):i[r].removeAttribute(\"style\");w.opts.fullPage&&(n=(n=(n=(n=(n=(n=(n=(n=n.replace(/<style data-fr-style=\"true\">(?:[\\w\\W]*?)<\\/style>/g,\"\")).replace(/<link([^>]*)data-fr-style=\"true\"([^>]*)>/g,\"\")).replace(/<style(?:[\\w\\W]*?)class=\"firebugResetStyles\"(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/style>/g,\"\")).replace(/<body((?:[\\w\\W]*?)) spellcheck=\"true\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$2>$3</body>\")).replace(/<body((?:[\\w\\W]*?)) contenteditable=\"(true|false)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$3>$4</body>\")).replace(/<body((?:[\\w\\W]*?)) dir=\"([\\w]*)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$3>$4</body>\")).replace(/<body((?:[\\w\\W]*?))class=\"([\\w\\W]*?)(fr-rtl|fr-ltr)([\\w\\W]*?)\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,'<body$1class=\"$2$4\"$5>$6</body>')).replace(/<body((?:[\\w\\W]*?)) class=\"\"((?:[\\w\\W]*?))>((?:[\\w\\W]*?))<\\/body>/g,\"<body$1$2>$3</body>\")),w.opts.htmlSimpleAmpersand&&(n=n.replace(/&amp;/gi,\"&\")),w.events.trigger(\"html.afterGet\"),e||(n=n.replace(/<span[^>]*? class\\s*=\\s*[\"']?fr-marker[\"']?[^>]+>\\u200b<\\/span>/gi,\"\")),n=w.clean.invisibleSpaces(n),n=w.clean.exec(n,H);var x=w.events.chainTrigger(\"html.get\",n);return\"string\"==typeof x&&(n=x),n=(n=n.replace(/<pre(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/pre>/g,function(e){return e.replace(/<br>/g,\"\\n\")})).replace(/<meta((?:[\\w\\W]*?)) data-fr-http-equiv=\"/g,'<meta$1 http-equiv=\"')},getSelected:function K(){function e(e,t){for(;t&&(t.nodeType===Node.TEXT_NODE||!w.node.isBlock(t))&&!w.node.isElement(t)&&!w.node.hasClass(t,\"fr-inner\")&&(w.opts.enter!==Y.ENTER_BR||t!==w.$el[0]);)t&&t.nodeType!==Node.TEXT_NODE&&b(e).wrapContent(t),t=t.parentNode;t&&e.innerHTML===t.innerHTML?e.innerHTML=t.outerHTML:t&&\"DIV\"!==t.tagName&&\"LI\"!==t.tagName&&t.innerText&&-1!=t.innerText.indexOf(e.innerHTML)&&t!==w.$el.get(0)&&(e.innerHTML=w.node.openTagString(t)+e.innerHTML+w.node.closeTagString(t))}var t,n,r=\"\";if(\"undefined\"!=typeof w.win.getSelection){w.browser.mozilla&&(w.selection.save(),1<w.$el.find('.fr-marker[data-type=\"false\"]').length&&(w.$el.find('.fr-marker[data-type=\"false\"][data-id=\"0\"]').remove(),w.$el.find('.fr-marker[data-type=\"false\"]:last').attr(\"data-id\",\"0\"),w.$el.find(\".fr-marker\").not('[data-id=\"0\"]').remove()),w.selection.restore());for(var o=w.selection.ranges(),i=0;i<o.length;i++){var a=document.createElement(\"div\");a.appendChild(o[i].cloneContents()),e(a,(n=t=void 0,n=null,w.win.getSelection?(t=w.win.getSelection())&&t.rangeCount&&((n=t.getRangeAt(0).commonAncestorContainer).nodeType===Node.ELEMENT_NODE||w.opts.enter===Y.ENTER_BR&&n.parentNode===w.$el[0]||(n=n.parentNode)):(t=w.doc.selection)&&\"Control\"!==t.type&&(n=t.createRange().parentElement()),null!==n&&(0<=b(n).parents().toArray().indexOf(w.el)||n===w.el)?n:null)),0<b(a).find(\".fr-element\").length&&(a=w.el),r+=a.innerHTML}}else\"undefined\"!=typeof w.doc.selection&&\"Text\"===w.doc.selection.type&&(r=w.doc.selection.createRange().htmlText);return r},insert:function F(e,t,n){if(!1===w.events.trigger(\"html.beforeInsert\",[e,t,n]))return!1;var r,o=w.selection.element();if(!y()&&!L()||O(e)||!w.node.isEmpty(o)||b(o).parents(\"ol, ul\").length||(e=Y.START_MARKER+e+Y.END_MARKER),w.selection.isCollapsed()||w.selection.remove(),r=t?e:w.clean.html(e),0===e.indexOf('<i class=\"fa ')&&(r=\"<span>&nbsp;\".concat(r,\"</span>\")),e.indexOf('class=\"fr-marker\"')<0&&(r=function l(e){var t=w.doc.createElement(\"div\");return t.innerHTML=e,w.selection.setAtEnd(t,!0),t.innerHTML}(r)),w.node.isEmpty(w.el)&&!w.opts.keepFormatOnDelete&&u(r))w.opts.trackChangesEnabled?w.track_changes.pasteInEmptyEdior(r):w.el.innerHTML=r;else{(function c(){var e=w.selection.ranges(0).commonAncestorContainer;return e!==w.el&&!w.$el.contains(e)})()&&w.selection.restore();var i=w.markers.insert();if(i)if(w.opts.trackChangesEnabled)w.track_changes.pasteInEdior(r);else{w.node.isLastSibling(i)&&b(i).parent().hasClass(\"fr-deletable\")&&b(i).insertAfter(b(i).parent());var a=w.node.blockParent(i);if((u(r)||n)&&(w.node.deepestParent(i)||a&&\"LI\"===a.tagName)){a&&\"LI\"===a.tagName&&(r=function d(e){if(!w.html.defaultTag())return e;var t=w.doc.createElement(\"div\");t.innerHTML=e;for(var n=t.querySelectorAll(\":scope > \".concat(w.html.defaultTag())),r=n.length-1;0<=r;r--){var o=n[r];w.node.isBlock(o.previousSibling)||(o.previousSibling&&!w.node.isEmpty(o)&&b(\"<br>\").insertAfter(o.previousSibling),o.outerHTML=o.innerHTML)}return t.innerHTML}(r));var s=w.selection.element();if(s&&b(s).parentsUntil(w.el,\"ul, ol\").length&&\"LI\"!=i.parentNode.tagName&&(\"DIV\"==b(r).get(0).tagName&&1==b(r).length&&\"UL\"==b(r).get(0).firstChild.tagName?r=b(r).get(0).firstChild.innerHTML:\"UL\"==b(r).get(0).tagName&&(r=b(r).get(0).innerHTML),i=w.markers.split()),!(i=w.markers.split()))return!1;i.outerHTML=r}else i.outerHTML=r}else w.el.innerHTML+=r}h(),w.keys.positionCaret(),w.events.trigger(\"html.inserted\")},wrap:t,unwrap:function U(){w.$el.find(\"div.fr-temp-div\").each(function(){this.previousSibling&&this.previousSibling.nodeType===Node.TEXT_NODE&&b(this).before(\"<br>\"),b(this).attr(\"data-empty\")||!this.nextSibling||w.node.isBlock(this.nextSibling)&&!b(this.nextSibling).hasClass(\"fr-temp-div\")?b(this).replaceWith(b(this).html()):b(this).replaceWith(\"\".concat(b(this).html(),\"<br>\"))}),w.$el.find(\".fr-temp-div\").removeClass(\"fr-temp-div\").filter(function(){return\"\"===b(this).attr(\"class\")}).removeAttr(\"class\")},escapeEntities:function W(e){return e.replace(/</gi,\"&lt;\").replace(/>/gi,\"&gt;\").replace(/\"/gi,\"&quot;\").replace(/'/gi,\"&#39;\")},checkIfEmpty:o,extractNode:g,extractNodeAttrs:C,extractDoctype:m,cleanBRs:function j(){for(var e=w.el.getElementsByTagName(\"br\"),t=0;t<e.length;t++)c(e[t])},_init:function X(){w.events.$on(w.$el,\"mousemove\",\"span.fr-word-select\",function(e){var t=window.getSelection();t=window.getSelection();var n=document.createRange();n.selectNodeContents(e.target),t.removeAllRanges(),t.addRange(n)}),w.$wp&&(w.events.on(\"mouseup\",f),w.events.on(\"keydown\",f),w.events.on(\"contentChanged\",o),(L()||y())&&(w.events.on(\"keydown\",S),w.events.on(\"initialized\",T),w.events.on(\"html.inserted html.set\",M),w.events.on(\"paste.afterCleanup\",_),w.events.on(\"paste.after\",A),w.events.on(\"window.cut\",B),w.events.on(\"commands.after\",function(e){\"clearFormatting\"!=e&&\"markdown\"!==e||N(!0)})))},_setHtml:v}},Y.ENTER_P=0,Y.ENTER_DIV=1,Y.ENTER_BR=2,Y.KEYCODE={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,FF_HYPHEN:173,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,HYPHEN:189,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,IME:229},Object.assign(Y.DEFAULTS,{enter:Y.ENTER_P,multiLine:!0,tabSpaces:0}),Y.MODULES.keys=function(N){var S,n,r,T=N.$,M=!1,A=!1;function x(e){if(N.selection.isCollapsed())if([\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&N.cursor.backspace(),N.helpers.isIOS()){var t=N.selection.ranges(0);t.deleteContents(),t.insertNode(document.createTextNode(\"\\u200b\")),N.selection.get().modify(\"move\",\"forward\",\"character\")}else[\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&e.preventDefault(),e.stopPropagation();else e.preventDefault(),e.stopPropagation(),N.selection.remove();N.placeholder.refresh()}function O(e){[\"INPUT\",\"BUTTON\",\"TEXTAREA\"].indexOf(e.target&&e.target.tagName)<0&&e.preventDefault(),e.stopPropagation(),\"\"!==N.selection.text()||N.selection.element().hasAttribute(\"contenteditable\")&&\"false\"===N.selection.element().getAttribute(\"contenteditable\")||!N.selection.isCollapsed()&&\"IMG\"==N.selection.element().tagName?N.selection.remove():N.cursor.del(),N.placeholder.refresh()}function e(){if(N.browser.mozilla&&N.selection.isCollapsed()&&!M){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&32===t.textContent.charCodeAt(n-1)&&(N.selection.save(),N.spaces.normalize(),N.selection.restore())}}function t(){N.selection.isFull()&&setTimeout(function(){var e=N.html.defaultTag();e?N.$el.html(\"<\".concat(e,\">\").concat(Y.MARKERS,\"<br/></\").concat(e,\">\")):N.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),N.selection.restore(),N.placeholder.refresh(),N.button.bulkRefresh(),N.undo.saveStep()},0)}function o(){M=!1}function i(){M=!1}function w(){var e=N.html.defaultTag();e?N.$el.html(\"<\".concat(e,\">\").concat(Y.MARKERS,\"<br/></\").concat(e,\">\")):N.$el.html(\"\".concat(Y.MARKERS,\"<br/>\")),N.selection.restore()}function k(e,t){if(!e||!e.parentElement)return!1;var n=(e&&e.parentElement).parentElement;if(e.parentElement&&(-1<e.innerHTML.indexOf(\"<span\")||-1<e.parentElement.innerHTML.indexOf(\"<span\")||n&&-1<e.parentElement.parentElement.innerHTML.indexOf(\"<span\"))&&(e.classList.contains(\"fr-img-space-wrap\")||e.parentElement.classList.contains(\"fr-img-space-wrap\")||n&&e.parentElement.parentElement.classList.contains(\"fr-img-space-wrap\"))){if(T(e.parentElement).is(\"p\")){var r=e.parentElement.innerHTML;return(r=r.replace(/<br>/g,\"\")).length<1?e.parentElement.insertAdjacentHTML(\"afterbegin\",\"&nbsp;\"):\"&nbsp;\"!=r&&\" \"!=r&&\"Backspace\"==t.key?x(t):\"&nbsp;\"!=r&&\" \"!=r&&\"Delete\"==t.key&&O(t),!0}if(T(e).is(\"p\")){var o=e.innerHTML.replace(/<br>/g,\"\");return o.length<1?e.insertAdjacentHTML(\"afterbegin\",\"&nbsp;\"):\"&nbsp;\"!=o&&\" \"!=o&&\"Backspace\"==t.key?x(t):\"&nbsp;\"!=o&&\" \"!=o&&\"Delete\"==t.key&&O(t),!0}}return!1}function a(e){var t=N.selection.element();if(t&&0<=[\"INPUT\",\"TEXTAREA\"].indexOf(t.tagName))return!0;if(e&&D(e.which)){var n=N.selection.element(),r=N.selection.get(),o=r.anchorNode,i=r.anchorOffset;if(o.nodeType===Node.TEXT_NODE&&0<i&&1<o.textContent.length&&8203===o.textContent.charCodeAt(i)){$(n);var a=N.doc.createRange();N.selection.get().removeAllRanges();var s=Math.max(0,Math.min(i-1,o.textContent.length-1));a.setStart(o,s),a.setEnd(o,s),N.selection.get().addRange(a)}return!0}N.events.disableBlur();var l=e.which;if(16===l)return!0;if((S=l)===Y.KEYCODE.IME)return M=!0;if(M=!1,l===Y.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey)){var c=N.selection.element(),d=[\"strong\",\"u\",\"em\",\"s\",\"sub\",\"sup\",\"span\"],f=T(c).find(d.join()).length||-1<d.indexOf(c.tagName.toLowerCase());if(N.opts.keepFormatOnDelete&&!N.node.isEmpty(c)&&f){var p=!0;N.selection.isCollapsed()&&(N.helpers.isMac()?p=function C(){var e=N.markers.insert();T(e).removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\");var t=N.selection.ranges(0).getBoundingClientRect(),n=N.selection.blocks()[0];if(!n)return!1;var r=N.selection.rangeElement(n).getBoundingClientRect();return N.markers.insertAtPoint({clientX:r.x,clientY:t.y}),N.$el.find(\".fr-marker\").replaceWith(Y.START_MARKER),N.$el.find(\".fr-marker-placeholder\").replaceWith(Y.END_MARKER),N.selection.restore(),!0}():function m(){var e=N.selection.get();if(0===e.rangeCount)return;var t=e.getRangeAt(0),n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){for(var o=n.textContent,i=r;0<i&&/[\\s\\u200B\\u200C\\u200D\\uFEFF]/.test(o[i-1]);)i--;for(;0<i&&!/[\\s\\u200B\\u200C\\u200D\\uFEFF]/.test(o[i-1]);)i--;var a=N.doc.createRange();a.setStart(n,i),a.setEnd(n,r),e.removeAllRanges(),e.addRange(a)}}());var u=N.selection.ranges(0).startContainer.previousSibling;!p||u&&u.nodeType!==Node.TEXT_NODE&&\"BR\"==u.tagName||x(e)}N.helpers.isMac()&&(A=!0)}if(H(e))return!0;var h=R(l)&&!H(e)&&!e.altKey,g=l===Y.KEYCODE.BACKSPACE||l===Y.KEYCODE.DELETE;if((N.selection.isFull()&&!N.opts.keepFormatOnDelete&&!N.placeholder.isVisible()||g&&N.placeholder.isVisible()&&N.opts.keepFormatOnDelete)&&(h||g)&&(w(),!R(l)))return e.preventDefault(),!0;if(l===Y.KEYCODE.ENTER)!N.helpers.isIOS()&&e.shiftKey||t.classList.contains(\"fr-inner\")||t.parentElement&&t.parentElement.classList.contains(\"fr-inner\")?function v(e){e.preventDefault(),e.stopPropagation(),N.opts.multiLine&&(N.selection.isCollapsed()||N.selection.remove(),N.cursor.enter(!0))}(e):function b(e){N.opts.multiLine?(N.helpers.isIOS()||(e.preventDefault(),e.stopPropagation()),N.selection.isCollapsed()||N.selection.remove(),N.cursor.enter()):(e.preventDefault(),e.stopPropagation())}(e);else if(l===Y.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey))!function E(){setTimeout(function(){N.events.disableBlur(),N.events.focus()},0)}();else if(l!==Y.KEYCODE.BACKSPACE||H(e)||e.altKey)if(l!==Y.KEYCODE.DELETE||H(e)||e.altKey||e.shiftKey)l===Y.KEYCODE.SPACE?function L(e){var t=N.selection.element();if(!N.helpers.isMobile()&&t&&\"A\"===t.tagName){e.preventDefault(),e.stopPropagation(),N.selection.isCollapsed()||N.selection.remove();var n=N.markers.insert();if(n){var r=n.previousSibling;!n.nextSibling&&n.parentNode&&\"A\"===n.parentNode.tagName?(n.parentNode.insertAdjacentHTML(\"afterend\",\"&nbsp;\".concat(Y.MARKERS)),n.parentNode.removeChild(n)):(r&&r.nodeType===Node.TEXT_NODE&&1===r.textContent.length&&160===r.textContent.charCodeAt(0)?r.textContent+=\" \":n.insertAdjacentHTML(\"beforebegin\",\"&nbsp;\"),n.outerHTML=Y.MARKERS),N.selection.restore()}}}(e):l===Y.KEYCODE.TAB?function y(e){if(0<N.opts.tabSpaces)if(N.selection.isCollapsed()){N.undo.saveStep(),e.preventDefault(),e.stopPropagation();for(var t=\"\",n=0;n<N.opts.tabSpaces;n++)t+=\"&nbsp;\";N.html.insert(t),N.placeholder.refresh(),N.undo.saveStep()}else e.preventDefault(),e.stopPropagation(),e.shiftKey?N.commands.outdent():N.commands.indent()}(e):H(e)||!R(e.which)||N.selection.isCollapsed()||e.ctrlKey||e.altKey||N.browser.mozilla||N.selection.remove();else{if(k(t,e))return e.preventDefault(),void e.stopPropagation();N.placeholder.isVisible()?(N.opts.keepFormatOnDelete||w(),e.preventDefault(),e.stopPropagation()):O(e)}else{if(k(t,e))return e.preventDefault(),void e.stopPropagation();N.placeholder.isVisible()?(N.opts.keepFormatOnDelete||w(),e.preventDefault(),e.stopPropagation()):x(e)}N.events.enableBlur()}function $(e){var t=e;-1<[\"STRONG\",\"U\",\"EM\"].indexOf(e.nodeName)&&e.parentNode&&(t=e.parentNode);for(var n=N.doc.createTreeWalker(t,NodeFilter.SHOW_TEXT,N.node.filter(function(e){return/\\u200B/gi.test(e.textContent)}),!1);n.nextNode();){var r=n.currentNode;r.textContent=r.textContent.replace(/\\u200B/gi,\"\")}}function l(){if(!N.$wp)return!0;var e;if(N.opts.height||N.opts.heightMax){e=N.position.getBoundingRect().top,(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top);var t=N.selection.blocks(),n=null;if(t&&0<t.length&&t[0].offsetTop&&(n=t[0].getBoundingClientRect().top,3===N.selection.get().anchorNode.nodeType)){var r=N.doc.createRange(),o=N.selection.get().anchorNode,i=N.selection.get().anchorOffset;r.selectNode(o),r.setStart(o,i),n=r.getBoundingClientRect().top}if(!N.opts.iframe&&e>N.$wp.offset().top-N.helpers.scrollTop()+N.$wp.height()-20)N.$wp.scrollTop(e+N.$wp.scrollTop()-(N.$wp.height()+N.$wp.offset().top)+N.helpers.scrollTop()+20);else if(N.opts.iframe&&n)if(N.$wp.scrollTop()>n)N.$wp.scrollTop(n-20);else if(n+20>N.$wp.scrollTop()+N.$wp.height()){var a=n-N.$wp.height()+50;N.$wp.scrollTop(a)}}else e=N.position.getBoundingRect().top,N.opts.toolbarBottom&&(e+=N.opts.toolbarStickyOffset),(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top,e-=N.helpers.scrollTop()),(e+=N.opts.toolbarStickyOffset)>N.o_win.innerHeight-20&&T(N.o_win).scrollTop(e+N.helpers.scrollTop()-N.o_win.innerHeight+20),e=N.position.getBoundingRect().top,N.opts.toolbarBottom||(e-=N.opts.toolbarStickyOffset),(N.helpers.isIOS()||N.helpers.isAndroid())&&(e-=N.helpers.scrollTop()),N.opts.iframe&&(e+=N.$iframe.offset().top,e-=N.helpers.scrollTop()),e<100&&T(N.o_win).scrollTop(e+N.helpers.scrollTop()-100)}function s(e){var t=N.selection.element();if(t&&0<=[\"INPUT\",\"TEXTAREA\"].indexOf(t.tagName))return!0;if(e&&0===e.which&&S&&(e.which=S),N.helpers.isAndroid()&&N.browser.mozilla)return!0;if(M)return!1;if(e&&N.helpers.isIOS()&&e.which===Y.KEYCODE.ENTER&&N.doc.execCommand(\"undo\"),!N.selection.isCollapsed())return!0;if(e&&(e.which===Y.KEYCODE.META||e.which===Y.KEYCODE.CTRL)&&!A)return!0;if(e&&D(e.which))return!0;if(e&&!N.helpers.isIOS()&&(e.which===Y.KEYCODE.ENTER||e.which===Y.KEYCODE.BACKSPACE||A||37<=e.which&&e.which<=40&&!N.browser.msie))try{l(),A=!1}catch(i){}var n=N.selection.element();if(function a(e){if(!e)return!1;var t=e.innerHTML;return!!((t=t.replace(/<span[^>]*? class\\s*=\\s*[\"']?fr-marker[\"']?[^>]+>\\u200b<\\/span>/gi,\"\"))&&/\\u200B/.test(t)&&0<t.replace(/\\u200B/gi,\"\").length)}(n)&&!N.node.hasClass(n,\"fr-marker\")&&\"IFRAME\"!==n.tagName&&function s(e){return!N.helpers.isIOS()||0===((e.textContent||\"\").match(/[\\u3041-\\u3096\\u30A0-\\u30FF\\u4E00-\\u9FFF\\u3130-\\u318F\\uAC00-\\uD7AF]/gi)||[]).length}(n)){N.selection.save();var r=N.$el.find(\".fr-marker\")[1],o=(e||\"\").which;N.opts.enter===Y.ENTER_BR&&n===N.$el.get(0)&&8===o&&null==r.nextSibling||$(n),N.selection.restore()}}function H(e){if(-1!==navigator.userAgent.indexOf(\"Mac OS X\")){if(e.metaKey&&!e.altKey)return!0}else if(e.ctrlKey&&!e.altKey)return!0;return!1}function D(e){if(e>=Y.KEYCODE.ARROW_LEFT&&e<=Y.KEYCODE.ARROW_DOWN)return!0}function R(e){if(e>=Y.KEYCODE.ZERO&&e<=Y.KEYCODE.NINE)return!0;if(e>=Y.KEYCODE.NUM_ZERO&&e<=Y.KEYCODE.NUM_MULTIPLY)return!0;if(e>=Y.KEYCODE.A&&e<=Y.KEYCODE.Z)return!0;if(N.browser.webkit&&0===e)return!0;switch(e){case Y.KEYCODE.SPACE:case Y.KEYCODE.QUESTION_MARK:case Y.KEYCODE.NUM_PLUS:case Y.KEYCODE.NUM_MINUS:case Y.KEYCODE.NUM_PERIOD:case Y.KEYCODE.NUM_DIVISION:case Y.KEYCODE.SEMICOLON:case Y.KEYCODE.FF_SEMICOLON:case Y.KEYCODE.DASH:case Y.KEYCODE.EQUALS:case Y.KEYCODE.FF_EQUALS:case Y.KEYCODE.COMMA:case Y.KEYCODE.PERIOD:case Y.KEYCODE.SLASH:case Y.KEYCODE.APOSTROPHE:case Y.KEYCODE.SINGLE_QUOTE:case Y.KEYCODE.OPEN_SQUARE_BRACKET:case Y.KEYCODE.BACKSLASH:case Y.KEYCODE.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}function c(e){var t=e.which;if(H(e)||37<=t&&t<=40||!R(t)&&t!==Y.KEYCODE.DELETE&&t!==Y.KEYCODE.BACKSPACE&&t!==Y.KEYCODE.ENTER&&t!==Y.KEYCODE.IME)return!0;n||(r=N.snapshot.get(),N.undo.canDo()||N.undo.saveStep()),clearTimeout(n),n=setTimeout(function(){n=null,N.undo.saveStep()},Math.max(250,N.opts.typingTimer))}function d(e){var t=e.which;if(H(e)||37<=t&&t<=40)return!0;r&&n?(N.undo.saveStep(r),r=null):void 0!==t&&0!==t||r||n||N.undo.saveStep()}function f(e){if(e&&0<=Y.VOID_ELEMENTS.indexOf(e.tagName.toLowerCase())||e.lastChild&&e.lastChild.nodeType===Node.ELEMENT_NODE&&0<=Y.VOID_ELEMENTS.indexOf(e.lastChild.tagName.toLowerCase()))return!1;try{return 0===(e.textContent||\"\").length&&e.querySelector&&!e.querySelector(\":scope > br\")||e.childNodes&&1===e.childNodes.length&&e.childNodes[0].getAttribute&&(\"false\"===e.childNodes[0].getAttribute(\"contenteditable\")||N.node.hasClass(e.childNodes[0],\"fr-img-caption\"))}catch(t){return!1}}function p(e){var t=N.el.childNodes,n=N.html.defaultTag(),r=N.node.blockParent(N.selection.blocks()[0]);function o(e){return!!T(e).parentsUntil(N.$el,'[contenteditable=\"false\"]').length}r&&\"TR\"==r.tagName&&r.getAttribute(\"contenteditable\")==undefined&&(r=r.closest(\"table\"));var i=window.getSelection(),a=0<i.rangeCount&&(o(i.getRangeAt(0).startContainer)||o(i.getRangeAt(0).endContainer));return!N.node.isEditable(e.target)||o(e.target)||a?N.toolbar.disable():N.toolbar.enable(),!(!e.target||e.target===N.el)||(0===t.length||void(t[0].offsetHeight+t[0].offsetTop<=e.offsetY?f(t[t.length-1])&&(n?N.$el.append(\"<\".concat(n,\">\").concat(Y.MARKERS,\"<br></\").concat(n,\">\")):N.$el.append(\"\".concat(Y.MARKERS,\"<br>\")),N.selection.restore(),l()):e.offsetY<=10&&f(t[0])&&(n?N.$el.prepend(\"<\".concat(n,\">\").concat(Y.MARKERS,\"<br></\").concat(n,\">\")):N.$el.prepend(\"\".concat(Y.MARKERS,\"<br>\")),N.selection.restore(),l())))}function u(){n&&clearTimeout(n)}return{_init:function h(){N.events.on(\"keydown\",c),N.events.on(\"input\",e),N.events.on(\"mousedown\",i),N.events.on(\"keyup input\",d),N.events.on(\"keypress\",o),N.events.on(\"keydown\",a),N.events.on(\"keyup\",s),N.events.on(\"destroy\",u),N.events.on(\"html.inserted\",s),N.events.on(\"cut\",t),N.opts.multiLine&&N.events.on(\"click\",p),N.events.on(\"initialized\",function(){N.el.addEventListener(\"compositionstart\",function(){if(N.selection.isCollapsed()){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;if(t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&8203===t.textContent.charCodeAt(n-1)){N.selection.save();var r=N.$el.find(\".fr-marker\");T(r.get(0).previousSibling).before(Y.HAIR_SPACE),r.get(0).previousSibling.textContent=r.get(0).previousSibling.textContent.replace(/\\u200B/gi,\"\"),N.selection.restore()}}}),N.el.addEventListener(\"compositionend\",function(){if(N.selection.isCollapsed()){var e=N.selection.ranges(0),t=e.startContainer,n=e.startOffset;if(t&&t.nodeType===Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&8202===t.textContent.charCodeAt(0)){N.selection.save();var r=N.$el.find(\".fr-marker\");r.get(0).previousSibling.textContent=r.get(0).previousSibling.textContent.replace(/\\u200A/gi,\"\"),N.selection.restore()}}})})},ctrlKey:H,isCharacter:R,isArrow:D,forceUndo:function g(){n&&(clearTimeout(n),N.undo.saveStep(),r=null)},isIME:function C(){return M},isBrowserAction:function m(e){var t=e.which;return H(e)||t===Y.KEYCODE.F5},positionCaret:l}},Object.assign(Y.DEFAULTS,{pastePlain:!1,pasteDeniedTags:[\"colgroup\",\"col\",\"meta\"],pasteDeniedAttrs:[\"class\",\"id\"],pasteAllowedStyleProps:[\".*\"],pasteAllowLocalImages:!1}),Y.MODULES.paste=function(M){var f,p,l,u,c,A,o,x=M.$;function r(e,t){var n=2<arguments.length&&arguments[2]!==undefined&&arguments[2];o=n;try{M.win.localStorage.setItem(\"fr-copied-html\",e),M.win.localStorage.setItem(\"fr-copied-text\",t)}catch(r){}}function e(e){var t,n;(o?(t=M.win.localStorage.getItem(\"fr-copied-html\"),n=M.win.localStorage.getItem(\"fr-copied-text\"),o=!1):r(t=M.html.getSelected(),n=x(M.doc.createElement(\"div\")).html(t).text()),\"cut\"===e.type)&&(M.$el.find(\"table.fr-table-selected\").length&&!M.opts.trackChangesEnabled&&(M.table.remove(),e.preventDefault()),e.clipboardData.setData(\"text/plain\",n),e.clipboardData.setData(\"text/html\",t),setTimeout(function(){M.selection.save(),M.html.wrap(),M.selection.restore(),M.events.focus(),M.undo.saveStep()},0))}var d,t=!1;function n(p){return\"INPUT\"===(d=p).target.nodeName&&\"text\"===p.target.type||!M.edit.isDisabled()&&(!g(p.target)&&(!t&&(p.originalEvent&&(p=p.originalEvent),E()&&navigator.clipboard?(navigator.clipboard.read({unsanitized:[\"text/html\"]}).then(function(){var t=function e(s){return function(){var e=this,a=arguments;return new Promise(function(t,n){var r=s.apply(e,a);function o(e){N(r,t,n,o,i,\"next\",e)}function i(e){N(r,t,n,o,i,\"throw\",e)}o(void 0)})}}(T().m(function f(t){var n,r,o,i,a,s,l,c,d;return T().w(function(e){for(;;)switch(e.p=e.n){case 0:n=t[0].types,r=new DataTransfer,o=S(n),e.p=1,o.s();case 2:if((i=o.n()).done){e.n=8;break}return a=i.value,e.n=3,t[0].getType(a);case 3:if(s=e.v,a.startsWith(\"text\"))return e.n=4,s.text();e.n=5;break;case 4:c=e.v,e.n=6;break;case 5:c=s;case 6:l=c,a.startsWith(\"text\")?r.setData(a,l):r.items.add(new File([l],\"file\"));case 7:e.n=2;break;case 8:e.n=10;break;case 9:e.p=9,d=e.v,o.e(d);case 10:return e.p=10,o.f(),e.f(10);case 11:return e.a(2,h(p,r))}},f,null,[[1,9,10,11]])}));return function(e){return t.apply(this,arguments)}}()),p.preventDefault(),!1):h(p))))}function h(e,t){var n=t||e&&e.clipboardData;if(n&&n.getData){var r=(n||window.clipboardData).getData(\"text/html\")||\"\";if(r.match('content=\"Microsoft OneNote')){var o=/<body[^>]*>((.|[\\n\\r])*)<\\/body>/im.exec(r)[1];return M.html.insert(M.clean.html(o)),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}if(!1===M.events.trigger(\"paste.before\",[e,t]))return e.preventDefault(),!1;if(n&&n.getData){var i=\"\";if(u=n.types,M.helpers.isArray(u))for(var a=0;a<u.length;a++)i+=\"\".concat(u[a],\";\");else i=u;if(f=\"\",/text\\/rtf/.test(i)&&(p=n.getData(\"text/rtf\")),/text\\/html/.test(i)?(f=n.getData(\"text/html\"),M.browser.mozilla&&(\"<p></p>\"===f||\"\"===f||/<!--StartFragment-->([ ])<!--EndFragment-->/.test(f)||/<!--StartFragment-->([<p></p>]*)<!--EndFragment-->/.test(f))&&(f=M.win.localStorage.getItem(\"fr-copied-html\"))):/text\\/uri-list/.test(i)&&M.browser.safari?f=n.getData(\"text/uri-list\"):/text\\/rtf/.test(i)&&M.browser.safari?f=p:/public.rtf/.test(i)&&M.browser.safari&&(f=n.getData(\"text/rtf\")),l=n.getData(\"text\"),\"\"!==f)return v(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1;f=null}return function s(){if(M.selection.save(),M.events.disableBlur(),f=null,c){c.html(\"\");var e=C(M.selection.get().anchorNode)+M.$wp.offset().top;c.css(\"top\",e),M.browser.edge&&M.opts.iframe&&M.$el.append(c)}else{var t=document.getElementsByTagName(\"BODY\")[0],n=window.getComputedStyle(t).transform;if(\"none\"!==n){var r=C(M.selection.get().anchorNode)+M.$wp.offset().top;c=x('<div contenteditable=\"true\" style=\"position: fixed; top: '+r+'px; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;\" tabIndex=\"-1\"></div>')}else c=x('<div contenteditable=\"true\" style=\"position: fixed; top: 0; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;\" tabIndex=\"-1\"></div>');M.browser.webkit||M.browser.mozilla?(\"none\"===n&&c.css(\"top\",M.$sc.scrollTop()),M.$el.after(c)):M.browser.edge&&M.opts.iframe?M.$el.append(c):M.$box.after(c),M.events.on(\"destroy\",function(){c.remove()})}var o;M.helpers.isIOS()&&M.$sc&&(o=M.$sc.scrollTop());M.opts.iframe&&M.$el.attr(\"contenteditable\",\"false\");M.helpers.isIOS()&&M.$sc&&M.$sc.scrollTop(o);var i=d.clipboardData.getData(\"Text\");if(4e5<i.length||E()&&navigator.clipboard){d.preventDefault();var a=m(i||l);c.get(0).innerText=\"\",c.get(0).appendChild(a)}else c.focus();M.win.setTimeout(v,1)}(),!1}function g(e){return e&&\"false\"===e.contentEditable}function i(e){if(e.originalEvent&&(e=e.originalEvent),g(e.target))return!1;if(e&&e.dataTransfer&&e.dataTransfer.getData){var t=\"\";if(u=e.dataTransfer.types,M.helpers.isArray(u))for(var n=0;n<u.length;n++)t+=\"\".concat(u[n],\";\");else t=u;f=\"\",/text\\/rtf/.test(t)&&(p=e.dataTransfer.getData(\"text/rtf\")),/text\\/html/.test(t)?f=e.dataTransfer.getData(\"text/html\"):/text\\/rtf/.test(t)&&M.browser.safari?f=p:/text\\/plain/.test(t)&&!this.browser.mozilla&&(f=M.html.escapeEntities(e.dataTransfer.getData(\"text/plain\")).replace(/\\n/g,\"<br>\"));var r=M.$el.find(\"table.fr-table-draggable\");if(r.length){var o=M.$box.find(\".fr-table-drop-indicator\");if(o&&!o.isVisible())return!0;var i=o.attr(\"data-position\"),a=o.data(\"target-element\");A=M.snapshot.get(),\"above\"===i?M.selection.setAtStart(a):M.selection.setAtEnd(a),r.removeClass(\"fr-table-draggable\"),r.remove();var s=M.el.querySelector(\".fr-marker\");return x(s).replaceWith(Y.MARKERS),M.selection.restore(),function d(){M.win.localStorage.removeItem(\"fr-copied-text\"),M.win.localStorage.removeItem(\"fr-copied-html\")}(),v(),void(e.preventDefault&&(e.stopPropagation(),e.preventDefault()))}if(\"\"!==f){M.keys.forceUndo(),A=M.snapshot.get(),M.selection.save(),M.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-helper\");var l=M.markers.insertAtPoint(e);if(M.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\"),M.$el.find(\".fr-marker-helper\").addClass(\"fr-marker\").removeClass(\"fr-marker-helper\"),M.selection.restore(),M.selection.remove(),M.$el.find(\".fr-marker-placeholder\").addClass(\"fr-marker\").removeClass(\"fr-marker-placeholder\"),!1!==l){var c=M.el.querySelector(\".fr-marker\");return x(c).replaceWith(Y.MARKERS),M.selection.restore(),v(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}else f=null}}function C(e){return e.nodeType===Node.TEXT_NODE?e.parentNode.offsetTop:e.offsetTop}function m(e){var n=M.html.defaultTag()||\"p\",t=e.split(/\\n/g),r=document.createDocumentFragment();return t.forEach(function(e){var t=document.createElement(n);t.appendChild(\"\"===e?document.createElement(\"br\"):document.createTextNode(e)),r.appendChild(t)}),r}function v(){M.opts.iframe&&M.$el.attr(\"contenteditable\",\"true\"),M.browser.edge&&M.opts.iframe&&M.$box.after(c),A||(M.keys.forceUndo(),A=M.snapshot.get()),f||(f=c.get(0).innerHTML,l=c.text(),M.$el[0].setAttribute(\"plainpaste\",!0),M.selection.restore(),M.events.enableBlur());var e=f.match(/(MSFontService|class=\"?Mso|class='?Mso|class=\"?Xl|class='?Xl|class=Xl|style=\"[^\"]*\\bmso-|style='[^']*\\bmso-|w:WordDocument|LibreOffice)/gi),t=M.events.chainTrigger(\"paste.beforeCleanup\",f);if(t&&\"string\"==typeof t){f=t;var n=(new DOMParser).parseFromString(t,\"text/html\");l=n.body.innerText}(!e||e&&!1!==M.events.trigger(\"paste.wordPaste\",[f]))&&a(f,e)}function O(){var e=null,t=null;try{e=M.win.localStorage.getItem(\"fr-copied-text\"),t=M.win.localStorage.getItem(\"fr-copied-html\")}catch(s){}var n=(new DOMParser).parseFromString(t,\"text/html\").querySelector(\"table\"),r=M.node.hasClass(n,\"fr-table-selected\"),o=(new DOMParser).parseFromString(f,\"text/html\").querySelector(\"table\"),i=M.node.hasClass(o,\"fr-table-selected\"),a=n&&o&&r===i;return!(!e||!l||u&&-1===u.indexOf(\"text/html\")||l.replace(/\\u00A0/gi,\" \").replace(/\\r|\\n/gi,\"\")!==e.replace(/\\u00A0/gi,\" \").replace(/\\r|\\n/gi,\"\")&&l.replace(/\\s/g,\"\")!==e.replace(/\\s/g,\"\"))||!(!(t&&f&&a)||u&&-1===u.indexOf(\"text/html\"))}function w(e){for(var t=\"\",n=0;n++<e;)t+=\"&nbsp;\";return t}function a(e,t,n){var r,o=null,i=null;if(0<=e.toLowerCase().indexOf(\"<body\")){var a=\"\";0<=e.indexOf(\"<style\")&&(a=e.replace(/[.\\s\\S\\w\\W<>]*(<style[^>]*>[\\s]*[.\\s\\S\\w\\W<>]*[\\s]*<\\/style>)[.\\s\\S\\w\\W<>]*/gi,\"$1\")),e=(e=(e=a+e.replace(/[.\\s\\S\\w\\W<>]*<body[^>]*>[\\s]*([.\\s\\S\\w\\W<>]*)[\\s]*<\\/body>[.\\s\\S\\w\\W<>]*/gi,\"$1\")).replace(/<pre(?:[\\w\\W]*?)>(?:[\\w\\W]*?)<\\/pre>/g,function(e){return e.replace(/\\n/g,\"<br />\")})).replace(/ \\n/g,\" \").replace(/\\n /g,\" \").replace(/([^>])\\n([^<])/g,\"$1 $2\")}var s=!1;0<=e.indexOf('id=\"docs-internal-guid')&&(e=e.replace(/^[\\w\\W\\s\\S]* id=\"docs-internal-guid[^>]*>([\\w\\W\\s\\S]*)<\\/b>[\\w\\W\\s\\S]*$/g,\"$1\"),s=!0),(0<=e.indexOf('content=\"Sheets\"')||0<=e.indexOf(\"google-sheets-html-origin\"))&&(e=e.replace(/width:0px;/g,\"\"));var l=!1;if(!t)if((l=O())&&(e=M.win.localStorage.getItem(\"fr-copied-html\")),l)e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs);else{var c=M.opts.htmlAllowedStyleProps;M.opts.htmlAllowedStyleProps=M.opts.pasteAllowedStyleProps,M.opts.htmlAllowComments=!1,e=(e=(e=e.replace(/<span class=\"Apple-tab-span\">\\s*<\\/span>/g,w(M.opts.tabSpaces||4))).replace(/<span class=\"Apple-tab-span\" style=\"white-space:pre\">(\\t*)<\\/span>/g,function(e,t){return w(t.length*(M.opts.tabSpaces||4))})).replace(/\\t/g,w(M.opts.tabSpaces||4)),e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs),M.opts.htmlAllowedStyleProps=c,M.opts.htmlAllowComments=!0,M.html.defaultTag()&&\"div\"===M.html.defaultTag()||(e=k(e)),e=(e=e.replace(/\\r/g,\"\")).replace(/^ */g,\"\").replace(/ *$/g,\"\")}!t||M.wordPaste&&n||(0===(e=e.replace(/^\\n*/g,\"\").replace(/^ /g,\"\")).indexOf(\"<colgroup>\")&&(e=\"<table>\".concat(e,\"</table>\")),e=k(e=function y(e){var t;e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<p(.*?)class=\"?'?MsoListParagraph\"?'? ([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ul><li>$3</li></ul>\")).replace(/<p(.*?)class=\"?'?NumberedText\"?'? ([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ol><li>$3</li></ol>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpFirst\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ul><li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpFirst\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<ol><li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpMiddle\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpMiddle\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListBullet\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li>\")).replace(/<p(.*?)class=\"?'?MsoListParagraphCxSpLast\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li></ul>\")).replace(/<p(.*?)class=\"?'?NumberedTextCxSpLast\"?'?([\\s\\S]*?)(level\\d)?([\\s\\S]*?)>([\\s\\S]*?)<\\/p>/gi,\"<li$3>$5</li></ol>\")).replace(/<span([^<]*?)style=\"?'?mso-list:Ignore\"?'?([\\s\\S]*?)>([\\s\\S]*?)<span/gi,\"<span><span\")).replace(/<!--\\[if !supportLists\\]-->([\\s\\S]*?)<!--\\[endif\\]-->/gi,\"\")).replace(/<!\\[if !supportLists\\]>([\\s\\S]*?)<!\\[endif\\]>/gi,\"\")).replace(/(\\n|\\r| class=(\")?Mso[a-zA-Z0-9]+(\")?)/gi,\" \")).replace(/<!--[\\s\\S]*?-->/gi,\"\")).replace(/<(\\/)*(meta|link|span|\\\\?xml:|st1:|o:|font)(.*?)>/gi,\"\");var n,r=[\"style\",\"script\",\"applet\",\"embed\",\"noframes\",\"noscript\"];for(t=0;t<r.length;t++){var o=new RegExp(\"<\".concat(r[t],\".*?\").concat(r[t],\"(.*?)>\"),\"gi\");e=e.replace(o,\"\")}for(e=(e=(e=e.replace(/&nbsp;/gi,\" \")).replace(/<td([^>]*)><\\/td>/g,\"<td$1><br></td>\")).replace(/<th([^>]*)><\\/th>/g,\"<th$1><br></th>\");(e=(n=e).replace(/<[^/>][^>]*><\\/[^>]+>/gi,\"\"))!==n;);e=(e=e.replace(/<lilevel([^1])([^>]*)>/gi,'<li data-indent=\"true\"$2>')).replace(/<lilevel1([^>]*)>/gi,\"<li$1>\"),e=(e=(e=M.clean.html(e,M.opts.pasteDeniedTags,M.opts.pasteDeniedAttrs)).replace(/<a>(.[^<]+)<\\/a>/gi,\"$1\")).replace(/<br> */g,\"<br>\");var i=M.o_doc.createElement(\"div\");i.innerHTML=e;var a=i.querySelectorAll(\"li[data-indent]\");for(t=0;t<a.length;t++){var s=a[t],l=s.previousElementSibling;if(l&&\"LI\"===l.tagName){var c=l.querySelector(\":scope > ul, :scope > ol\");c||(c=document.createElement(\"ul\"),l.appendChild(c)),c.appendChild(s)}else s.removeAttribute(\"data-indent\")}return M.html.cleanBlankSpaces(i),e=i.innerHTML}(e))),M.opts.pastePlain&&(e=function N(e){var t,n=null,r=M.doc.createElement(\"div\");r.innerHTML=e;var o=O(),i=r.querySelectorAll(\"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote\");for(t=0;t<i.length;t++)if((n=i[t]).textContent){var a=o?n.innerHTML:n.innerText,s=M.clean.html(\"<\".concat(M.html.defaultTag()||\"DIV\",\">\").concat(a,\"</\").concat(M.html.defaultTag()||\"DIV\",\">\"));n.outerHTML=s}for(t=(i=r.querySelectorAll(\"*:not(\".concat(\"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, li, table, tbody, thead, tr, td, br, img\".split(\",\").join(\"):not(\"),\")\"))).length-1;0<=t;t--)(n=i[t]).outerHTML=n.innerHTML;return function l(e){for(var t=M.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!==Node.TEXT_NODE&&t[n].nodeType!==Node.ELEMENT_NODE?t[n].parentNode.removeChild(t[n]):l(t[n])}(r),r.innerHTML}(e));var d=M.events.chainTrigger(\"paste.afterCleanup\",e);if(M.$el[0].removeAttribute(\"plainpaste\",!0),\"string\"==typeof d&&(e=d),\"\"!==e){var f=M.o_doc.createElement(\"div\");0<=(f.innerHTML=e).indexOf(\"<body>\")?(M.html.cleanBlankSpaces(f),M.spaces.normalize(f,!0)):M.spaces.normalize(f);var p=f.getElementsByTagName(\"span\");for(r=p.length-1;0<=r;r--){var u=p[r];0===u.attributes.length&&(u.outerHTML=u.innerHTML)}if(!0===M.opts.linkAlwaysBlank){var h=f.getElementsByTagName(\"a\");for(r=h.length-1;0<=r;r--){var g=h[r];g.getAttribute(\"target\")||g.setAttribute(\"target\",\"_blank\")}}var C=M.selection.element(),m=!1;if(C&&x(C).parentsUntil(M.el,\"ul, ol\").length&&(m=!0),m){var v=f.children;1===v.length&&0<=[\"OL\",\"UL\"].indexOf(v[0].tagName)&&(v[0].outerHTML=v[0].innerHTML)}if(!s){var b=f.getElementsByTagName(\"br\");for(r=b.length-1;0<=r;r--){var E=b[r];M.node.isBlock(E.previousSibling)&&E.parentNode.removeChild(E)}}if(M.opts.enter===Y.ENTER_BR)for(r=(o=f.querySelectorAll(\"p, div\")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=i.innerHTML+(i.nextSibling&&!M.node.isEmpty(i)?\"<br>\":\"\"));else if(M.opts.enter===Y.ENTER_DIV)for(r=(o=f.getElementsByTagName(\"p\")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=\"<div>\".concat(i.innerHTML,\"</div>\"));else M.opts.enter===Y.ENTER_P&&1===f.childNodes.length&&\"P\"===f.childNodes[0].tagName&&0===f.childNodes[0].attributes.length&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML);if(f.childNodes[0]instanceof HTMLHeadingElement&&M.selection.element().tagName===f.childNodes[0].tagName&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML),f.children&&0<f.children.length)if(M.opts.trackChangesEnabled)for(var L=0;L<f.children.length;L++)f.children[L].setAttribute(\"data-pasted\",\"true\");else f.children[0].setAttribute(\"data-pasted\",\"true\");e=(e=f.innerHTML).replace(/\\n/g,\"\"),l&&(e=function S(e){var t,n=M.o_doc.createElement(\"div\");n.innerHTML=e;var r=n.querySelectorAll(\"*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(\".concat(Y.VOID_ELEMENTS.join(\"):not(\"),\"):not(\").concat(M.opts.htmlAllowedEmptyTags.join(\"):not(\"),\")\"));for(;r.length;){for(t=0;t<r.length;t++)r[t].parentNode.removeChild(r[t]);r=n.querySelectorAll(\"*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(\".concat(Y.VOID_ELEMENTS.join(\"):not(\"),\"):not(\").concat(M.opts.htmlAllowedEmptyTags.join(\"):not(\"),\")\"))}return n.innerHTML}(e)),M.html.insert(e,!0)}!function T(){M.events.trigger(\"paste.after\")}(),M.undo.saveStep(A),A=null,M.undo.saveStep()}function b(e){for(var t=e.length-1;0<=t;t--)e[t].attributes&&e[t].attributes.length&&e.splice(t,1);return e}function k(e){var t,n=M.o_doc.createElement(\"div\");n.innerHTML=e;for(var r=b(Array.prototype.slice.call(n.querySelectorAll(\":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])\")));r.length;){var o=r[r.length-1];if(M.html.defaultTag()&&\"div\"!==M.html.defaultTag())o.querySelector(M.html.blockTagsQuery())?o.outerHTML=o.innerHTML:o.outerHTML=\"<\".concat(M.html.defaultTag(),\">\").concat(o.innerHTML,\"</\").concat(M.html.defaultTag(),\">\");else{var i=o.querySelectorAll(\"*\");!i.length||\"BR\"!==i[i.length-1].tagName&&0===o.innerText.length?o.outerHTML=o.innerHTML+(o.nextSibling?\"<br>\":\"\"):!i.length||\"BR\"!==i[i.length-1].tagName||i[i.length-1].nextSibling?o.outerHTML=o.innerHTML+(o.nextSibling?\"<br>\":\"\"):o.outerHTML=o.innerHTML}r=b(Array.prototype.slice.call(n.querySelectorAll(\":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])\")))}for(r=b(Array.prototype.slice.call(n.querySelectorAll(\"div:not([style])\")));r.length;){for(t=0;t<r.length;t++){var a=r[t],s=a.innerHTML.replace(/\\u0009/gi,\"\").trim();a.outerHTML=s}r=b(Array.prototype.slice.call(n.querySelectorAll(\"div:not([style])\")))}return n.innerHTML}function s(){M.el.removeEventListener(\"copy\",e),M.el.removeEventListener(\"cut\",e),M.el.removeEventListener(\"paste\",n)}function E(){var e=navigator.userAgent.match(/chrome\\/(\\d+)/i),t=e?parseInt(e[1],10):0;return M.helpers.isAndroid()&&M.browser.chrome&&99<t}return{_init:function L(){M.el.addEventListener(\"copy\",e),M.el.addEventListener(\"cut\",e),M.el.addEventListener(\"paste\",n,{capture:!0}),M.events.on(\"drop\",i),M.browser.msie&&M.browser.version<11&&(M.events.on(\"mouseup\",function(e){2===e.button&&(setTimeout(function(){t=!1},50),t=!0)},!0),M.events.on(\"beforepaste\",n)),M.events.on(\"destroy\",s)},cleanEmptyTagsAndDivs:k,getRtfClipboard:function y(){return p},saveCopiedText:r,clean:a,replaceNewLines:m}},Object.assign(Y.DEFAULTS,{shortcutsEnabled:[],shortcutsHint:!0}),Y.SHORTCUTS_MAP={},Y.RegisterShortcut=function(e,t,n,r,o,i){Y.SHORTCUTS_MAP[(o?\"^\":\"\")+(i?\"@\":\"\")+e]={cmd:t,val:n,letter:r,shift:o,option:i},Y.DEFAULTS.shortcutsEnabled.push(t)},Y.RegisterShortcut(Y.KEYCODE.E,\"show\",null,\"E\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.B,\"bold\",null,\"B\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.I,\"italic\",null,\"I\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.U,\"underline\",null,\"U\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.S,\"strikeThrough\",null,\"S\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.CLOSE_SQUARE_BRACKET,\"indent\",null,\"]\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.OPEN_SQUARE_BRACKET,\"outdent\",null,\"[\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.Z,\"undo\",null,\"Z\",!1,!1),Y.RegisterShortcut(Y.KEYCODE.Z,\"redo\",null,\"Z\",!0,!1),Y.RegisterShortcut(Y.KEYCODE.Y,\"redo\",null,\"Y\",!1,!1),Y.MODULES.shortcuts=function(s){var r=null;var l=!1;function e(e){if(!s.core.hasFocus())return!0;var t=e.which,n=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey;if(\"keyup\"===e.type&&l&&t!==Y.KEYCODE.META)return l=!1;\"keydown\"===e.type&&(l=!1);var r=(e.shiftKey?\"^\":\"\")+(e.altKey?\"@\":\"\")+t,o=s.node.blockParent(s.selection.blocks()[0]);if(o&&\"TR\"==o.tagName&&o.getAttribute(\"contenteditable\")==undefined&&(o=o.closest(\"table\")),n&&Y.SHORTCUTS_MAP[r]&&(!o||\"false\"!==o.getAttribute(\"contenteditable\"))){var i=Y.SHORTCUTS_MAP[r].cmd;if(i&&0<=s.opts.shortcutsEnabled.indexOf(i)){var a=Y.SHORTCUTS_MAP[r].val;if(!1===s.events.trigger(\"shortcut\",[e,i,a]))return!(l=!0);if(i&&(s.commands[i]||Y.COMMANDS[i]&&Y.COMMANDS[i].callback))return e.preventDefault(),e.stopPropagation(),\"keydown\"===e.type&&((s.commands[i]||Y.COMMANDS[i].callback)(),l=!0),!1}}}return{_init:function t(){s.events.on(\"keydown\",e,!0),s.events.on(\"keyup\",e,!0)},get:function o(e){if(!s.opts.shortcutsHint)return null;if(!r)for(var t in r={},Y.SHORTCUTS_MAP)Object.prototype.hasOwnProperty.call(Y.SHORTCUTS_MAP,t)&&0<=s.opts.shortcutsEnabled.indexOf(Y.SHORTCUTS_MAP[t].cmd)&&(r[\"\".concat(Y.SHORTCUTS_MAP[t].cmd,\".\").concat(Y.SHORTCUTS_MAP[t].val||\"\")]={shift:Y.SHORTCUTS_MAP[t].shift,option:Y.SHORTCUTS_MAP[t].option,letter:Y.SHORTCUTS_MAP[t].letter});var n=r[e];return n?(s.helpers.isMac()?String.fromCharCode(8984):\"\".concat(s.language.translate(\"Ctrl\"),\"+\"))+(n.shift?s.helpers.isMac()?String.fromCharCode(8679):\"\".concat(s.language.translate(\"Shift\"),\"+\"):\"\")+(n.option?s.helpers.isMac()?String.fromCharCode(8997):\"\".concat(s.language.translate(\"Alt\"),\"+\"):\"\")+n.letter:null}}},Y.MODULES.snapshot=function(l){function n(e){for(var t=e.parentNode.childNodes,n=0,r=null,o=0;o<t.length;o++){if(r){var i=t[o].nodeType===Node.TEXT_NODE&&\"\"===t[o].textContent,a=r.nodeType===Node.TEXT_NODE&&t[o].nodeType===Node.TEXT_NODE,s=r.nodeType===Node.TEXT_NODE&&\"\"===r.textContent;i||a||s||n++}if(t[o]===e)return n;r=t[o]}}function o(e){var t=[];if(!e.parentNode)return[];for(;!l.node.isElement(e);)t.push(n(e)),e=e.parentNode;return t.reverse()}function i(e,t){for(;e&&e.nodeType===Node.TEXT_NODE;){var n=e.previousSibling;n&&n.nodeType===Node.TEXT_NODE&&(t+=n.textContent.length),e=n}return t}function c(e){for(var t=l.el,n=0;n<e.length;n++)t=t.childNodes[e[n]];return t}function r(e,t){try{var n=c(t.scLoc),r=t.scOffset,o=c(t.ecLoc),i=t.ecOffset,a=l.doc.createRange();a.setStart(n,r),a.setEnd(o,i),e.addRange(a)}catch(s){}}return{get:function a(){var e,t={};if(l.events.trigger(\"snapshot.before\"),t.html=(l.$wp?l.$el.html():l.$oel.get(0).outerHTML).replace(/ style=\"\"/g,\"\"),t.ranges=[],l.$wp&&l.selection.inEditor()&&l.core.hasFocus())for(var n=l.selection.ranges(),r=0;r<n.length;r++)t.ranges.push({scLoc:o((e=n[r]).startContainer),scOffset:i(e.startContainer,e.startOffset),ecLoc:o(e.endContainer),ecOffset:i(e.endContainer,e.endOffset)});return l.events.trigger(\"snapshot.after\",[t]),t},restore:function s(e){l.$el.html()!==e.html&&(l.opts.htmlExecuteScripts?l.$el.html(e.html):l.el.innerHTML=e.html);var t=l.selection.get();l.selection.clear(),l.events.focus(!0);for(var n=0;n<e.ranges.length;n++)r(t,e.ranges[n])},equal:function d(e,t){return e.html===t.html&&(!l.core.hasFocus()||JSON.stringify(e.ranges)===JSON.stringify(t.ranges))}}},Y.MODULES.undo=function(n){function e(e){var t=e.which;n.keys.ctrlKey(e)&&(t===Y.KEYCODE.Z&&e.shiftKey&&e.preventDefault(),t===Y.KEYCODE.Z&&e.preventDefault())}var t=null;function r(){if(n.undo_stack&&!n.undoing)for(;n.undo_stack.length>n.undo_index;)n.undo_stack.pop()}function o(){n.undo_index=0,n.undo_stack=[]}function i(){n.undo_stack=[]}return{_init:function a(){o(),n.events.on(\"initialized\",function(){t=(n.$wp?n.$el.html():n.$oel.get(0).outerHTML).replace(/ style=\"\"/g,\"\")}),n.events.on(\"blur\",function(){n.el.querySelector(\".fr-dragging\")||n.undo.saveStep()}),n.events.on(\"keydown\",e),n.events.on(\"destroy\",i)},run:function s(){if(1<n.undo_index){n.undoing=!0;var e=n.undo_stack[--n.undo_index-1];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger(\"contentChanged\"),n.events.trigger(\"commands.undo\"),n.undoing=!1,n.selection.restore()}},redo:function l(){if(n.undo_index<n.undo_stack.length){n.undoing=!0;var e=n.undo_stack[n.undo_index++];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger(\"contentChanged\"),n.events.trigger(\"commands.redo\"),n.undoing=!1}},canDo:function c(){return!(0===n.undo_stack.length||n.undo_index<=1)},canRedo:function d(){return n.undo_index!==n.undo_stack.length},dropRedo:r,reset:o,saveStep:function f(e){if(!(!n.undo_stack||n.undoing||n.el.querySelector(\".fr-marker\")||n.el.querySelector(\".fr-marker\")&&n.opts.iframe&&n.markdown&&!n.markdown.isEnabled()))if(void 0===e){if((e=n.snapshot.get())&&e.html&&n.undo_stack[n.undo_index-1]&&e.html===n.undo_stack[n.undo_index-1].html)return;n.undo_stack[n.undo_index-1]&&n.snapshot.equal(n.undo_stack[n.undo_index-1],e)||(r(),n.undo_stack.push(e),n.undo_index++,function o(e,t){var n=t.split(\"fr-selected-cell\").join(\"\");n=n.split(' class=\"\"').join(\"\");var r=e.split(\"fr-selected-cell\").join(\"\");return n===(r=r.split(' class=\"\"').join(\"\"))}(t,e.html)||(n.events.trigger(\"contentChanged\"),t=e.html))}else r(),0<n.undo_index?n.undo_stack[n.undo_index-1]=e:(n.undo_stack.push(e),n.undo_index++)}}},Object.assign(Y.DEFAULTS,{height:null,heightMax:null,heightMin:null,width:null}),Y.MODULES.size=function(r){function e(){o(),r.opts.height&&r.$el.css(\"minHeight\",r.opts.height-r.helpers.getPX(r.$el.css(\"padding-top\"))-r.helpers.getPX(r.$el.css(\"padding-bottom\")));var e=!1;if(r.opts.fullPage)for(var t=r.$el.find(\"span,p,div\"),n=0;n<t.length;n++)if(t[n].style.height&&t[n].style.height.includes(\"vh\")){e=!0;break}r.opts.fullPage&&e&&(r.opts.heightMin&&r.$iframe.css(\"minHeight\",r.opts.heightMin),r.opts.heightMax&&r.$iframe.css(\"maxHeight\",r.opts.heightMax),r.$el.css(\"overflow-y\",\"auto\")),r.opts.iframe&&r.markdown&&r.markdown.isEnabled()?r.$iframe.height(r.$wp.parent().outerHeight(!0)):r.$iframe.height(r.$el.outerHeight(!0))}function o(){r.opts.heightMin?r.$el.css(\"minHeight\",r.opts.heightMin):r.$el.css(\"minHeight\",\"\"),r.opts.heightMax?(r.$wp.css(\"maxHeight\",r.opts.heightMax),r.$wp.css(\"overflow\",\"auto\")):(r.$wp.css(\"maxHeight\",\"\"),r.$wp.css(\"overflow\",\"\")),r.opts.height?(r.$wp.css(\"height\",r.opts.height),r.$wp.css(\"overflow\",\"auto\"),r.$el.css(\"minHeight\",r.opts.height-r.helpers.getPX(r.$el.css(\"padding-top\"))-r.helpers.getPX(r.$el.css(\"padding-bottom\")))):(r.$wp.css(\"height\",\"\"),r.opts.heightMin||r.$el.css(\"minHeight\",\"\"),r.opts.heightMax||r.$wp.css(\"overflow\",\"\")),r.opts.width&&r.$box.width(r.opts.width)}return{_init:function t(){if(!r.$wp)return!1;o(),r.$iframe&&(r.events.on(\"keyup keydown\",function(){setTimeout(e,0)},!0),r.events.on(\"commands.after html.set init initialized paste.after\",e))},syncIframe:e,refresh:o}},Object.assign(Y.DEFAULTS,{documentReady:!1,editorClass:null,typingTimer:500,iframe:!1,requestWithCORS:!0,requestWithCredentials:!1,requestHeaders:{},useClasses:!0,spellcheck:!0,iframeDefaultStyle:'html{margin:0px;height:auto;}body{height:auto;padding:20px;background:transparent;color:#000000;position:relative;z-index: 2;-webkit-user-select:auto;margin:0px;overflow:hidden;min-height:20px;}body:after{content:\"\";display:block;clear:both;}body::-moz-selection{background:#b5d6fd;color:#000;}body::selection{background:#b5d6fd;color:#000;}',iframeStyle:\"\",iframeStyleFiles:[],direction:\"auto\",zIndex:1,tabIndex:null,disableRightClick:!1,scrollableContainer:\"body\",keepFormatOnDelete:!1,theme:null}),Y.MODULES.core=function(l){var c=l.$;function n(){if(l.$box.addClass(\"fr-box\".concat(l.opts.editorClass?\" \".concat(l.opts.editorClass):\"\")),l.$box.attr(\"role\",\"application\"),l.$wp.addClass(\"fr-wrapper\"),l.opts.documentReady&&l.$box.addClass(\"fr-document\"),function a(){l.opts.iframe||l.$el.addClass(\"fr-element fr-view\"),(l.opts.height&&l.opts.height<window.innerHeight||l.opts.heightMax&&l.opts.heightMax<window.innerHeight)&&l.$el.addClass(\"fr-element-scroll-visible\")}(),l.opts.iframe){l.$iframe.addClass(\"fr-iframe\"),l.$el.addClass(\"fr-view\");for(var e=0;e<l.o_doc.styleSheets.length;e++){var t=void 0,n=!1;try{t=l.o_doc.styleSheets[e].cssRules}catch(s){}if(l.o_doc.styleSheets[e].href&&(-1<l.o_doc.styleSheets[e].href.indexOf(\"codemirror\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"font-awesome\"))&&(n=!(t=null)),t)for(var r=0,o=t.length;r<o;r++)if(!t[r].selectorText||0!==t[r].selectorText.indexOf(\".fr-view\")&&0!==t[r].selectorText.indexOf(\".fr-element\")&&0!==t[r].selectorText.indexOf(\".fr-box.fr-basic .fr-element\")&&0!==t[r].selectorText.indexOf(\".fr-markdown-view\")&&0!==t[r].selectorText.indexOf(\".fr-markdown-editor\")&&0!==t[r].selectorText.indexOf(\".fr-wrapper-markdown\")&&0!==t[r].selectorText.indexOf(\".gutter-horizontal\")&&0!==t[r].selectorText.indexOf(\".e-resize-handler\")&&0!==t[r].selectorText.indexOf(\".fr-find-replace-highlight\")&&0!==t[r].selectorText.indexOf(\".fr-find-replace-current-highlight\"))try{n&&l.o_doc.styleSheets[e].href&&t[r].selectorText&&(l.opts.iframeStyle+=\"\".concat(t[r].selectorText,\"{\").concat(t[r].style.cssText,\"}\"),n=!1)}catch(s){}else 0<t[r].style.cssText.length&&(0===t[r].selectorText.indexOf(\".fr-box.fr-basic .fr-element\")&&(l.opts.iframeStyle+=\"\".concat(t[r].selectorText,\"{\").concat(t[r].style.cssText,\"}\")),0===t[r].selectorText.indexOf(\".fr-view\")?l.opts.iframeStyle+=\"\".concat(t[r].selectorText.replace(/\\.fr-view/g,\"body\"),\"{\").concat(t[r].style.cssText,\"}\"):l.opts.iframeStyle+=\"\".concat(t[r].selectorText.replace(/\\.fr-element/g,\"body\"),\"{\").concat(t[r].style.cssText,\"}\"));else if(l.o_doc.styleSheets[e].href&&(-1<l.o_doc.styleSheets[e].href.indexOf(\"codemirror\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"font-awesome\")||-1<l.o_doc.styleSheets[e].href.indexOf(\"froala-editor\"))){var i=c(\"<link rel='stylesheet' type='text/css' href='\".concat(l.o_doc.styleSheets[e].href,\"'>\"));l.$head.append(i)}}}\"auto\"!==l.opts.direction&&l.$box.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(l.opts.direction)),l.$el.attr(\"dir\",l.opts.direction),l.$wp.attr(\"dir\",l.opts.direction),1<l.opts.zIndex&&l.$box.css(\"z-index\",l.opts.zIndex),l.opts.theme&&l.$box.addClass(\"\".concat(l.opts.theme,\"-theme\")),l.opts.tabIndex=l.opts.tabIndex||l.$oel.attr(\"tabIndex\"),l.opts.tabIndex&&l.$el.attr(\"tabIndex\",l.opts.tabIndex)}return{_init:function r(){if(Y.INSTANCES.push(l),function e(){l.drag_support={filereader:\"undefined\"!=typeof FileReader,formdata:Boolean(l.win.FormData),progress:\"upload\"in new XMLHttpRequest}}(),l.$wp){n(),l.html.set(l._original_html),l.$el.attr(\"spellcheck\",l.opts.spellcheck),l.helpers.isMobile()&&(l.$el.attr(\"autocomplete\",l.opts.spellcheck?\"on\":\"off\"),l.$el.attr(\"autocorrect\",l.opts.spellcheck?\"on\":\"off\"),l.$el.attr(\"autocapitalize\",l.opts.spellcheck?\"on\":\"off\")),l.opts.disableRightClick&&l.events.$on(l.$el,\"contextmenu\",function(e){if(2===e.button)return e.preventDefault(),e.stopPropagation(),!1});try{l.doc.execCommand(\"styleWithCSS\",!1,!1)}catch(t){}}\"TEXTAREA\"===l.$oel.get(0).tagName&&(l.events.on(\"contentChanged\",function(){l.$oel.val(l.html.get())}),l.events.on(\"form.submit\",function(){l.$oel.val(l.html.get())}),l.events.on(\"form.reset\",function(){l.html.set(l._original_html)}),l.$oel.val(l.html.get())),l.helpers.isIOS()&&l.events.$on(l.$doc,\"selectionchange\",function(){l.$doc.get(0).hasFocus()||l.$win.get(0).focus()}),l.events.trigger(\"init\"),l.opts.autofocus&&!l.opts.initOnClick&&l.$wp&&l.events.on(\"initialized\",function(){l.events.focus(!0)})},destroy:function t(e){\"TEXTAREA\"===l.$oel.get(0).tagName&&l.$oel.val(e),l.$box&&l.$box.removeAttr(\"role\"),l.$wp&&(\"TEXTAREA\"===l.$oel.get(0).tagName?(l.$el.html(\"\"),l.$wp.html(\"\"),l.$box.replaceWith(l.$oel),l.$oel.show()):(l.$wp.replaceWith(e),l.$el.html(\"\"),l.$box.removeClass(\"fr-view fr-ltr fr-box \".concat(l.opts.editorClass||\"\")),l.opts.theme&&l.$box.addClass(\"\".concat(l.opts.theme,\"-theme\")))),this.$wp=null,this.$el=null,this.el=null,this.$box=null},isEmpty:function e(){return l.node.isEmpty(l.el)},getXHR:function o(e,t){var n=new XMLHttpRequest;for(var r in n.open(t,e,!0),l.opts.requestWithCredentials&&(n.withCredentials=!0),l.opts.requestHeaders)Object.prototype.hasOwnProperty.call(l.opts.requestHeaders,r)&&n.setRequestHeader(r,l.opts.requestHeaders[r]);return n},injectStyle:function i(e){if(l.opts.iframe){l.$head.find(\"style[data-fr-style], link[data-fr-style]\").remove(),l.$head.append('<style data-fr-style=\"true\">'.concat(e,\"</style>\"));for(var t=0;t<l.opts.iframeStyleFiles.length;t++){var n=c('<link data-fr-style=\"true\" rel=\"stylesheet\" href=\"'.concat(l.opts.iframeStyleFiles[t],'\">'));n.get(0).addEventListener(\"load\",l.size.syncIframe),l.$head.append(n)}}},hasFocus:function a(){return l.browser.mozilla&&l.helpers.isMobile()?l.selection.inEditor():l.node.hasFocus(l.el)||0<l.$el.find(\"*:focus\").length},sameInstance:function s(e){if(!e)return!1;var t=e.data(\"instance\");return!!t&&t.id===l.id}}},Y.POPUP_TEMPLATES={\"text.edit\":\"[_EDIT_]\"},Y.RegisterTemplate=function(e,t){Y.POPUP_TEMPLATES[e]=t},Y.MODULES.popups=function(u){var r,d=u.$;u.shared.popups||(u.shared.popups={});var h,g=u.shared.popups;function C(e,t){t.isVisible()||(t=u.$sc),t.is(g[e].data(\"container\"))||(g[e].data(\"container\",t),t.append(g[e]))}function o(e){var t;e.find(\".fr-upload-progress\").addClass(\"fr-height-set\"),e.find(\".fr-upload-progress\").removeClass(\"fr-height-auto\"),u.popups.get(\"filesManager.insert\").removeClass(\"fr-height-auto\"),e.find(\".fr-files-upload-layer\").hasClass(\"fr-active\")&&(t=1),e.find(\".fr-files-by-url-layer\").hasClass(\"fr-active\")&&(t=2),e.find(\".fr-files-embed-layer\").hasClass(\"fr-active\")&&(t=3),e.find(\".fr-upload-progress-layer\").get(0).clientHeight+10<e.find(\".fr-upload-progress\").get(0).clientHeight&&e.find(\".fr-upload-progress\").addClass(\"fr-height-auto\"),400<e[0].clientHeight&&(e[0].childNodes[4].style.height=\"\".concat(e[0].clientHeight-(e[0].childNodes[0].clientHeight+e[0].childNodes[t].clientHeight)-80,\"px\"))}var i=2e3;function a(){d(this).toggleClass(\"fr-not-empty\",!0)}function s(){var e=d(this);e.toggleClass(\"fr-not-empty\",\"\"!==e.val())}function m(e){return g[e]&&u.node.hasClass(g[e],\"fr-active\")&&u.core.sameInstance(g[e])||!1}function v(e){for(var t in g)if(Object.prototype.hasOwnProperty.call(g,t)&&m(t)&&(void 0===e||g[t].data(\"instance\")===e))return g[t];return!1}function n(e){var t=null;if((t=\"string\"!=typeof e?e:g[e])&&u.node.hasClass(t,\"fr-do-not-hide\")||\"filesManager.insert\"===e&&u.filesManager&&u.filesManager.isChildWindowOpen())return!1;if(t&&u.node.hasClass(t,\"fr-active\")&&(t.removeClass(\"fr-active fr-above\"),u.events.trigger(\"popups.hide.\".concat(e)),u.$tb&&(1<u.opts.zIndex?u.$tb.css(\"zIndex\",u.opts.zIndex+1):u.$tb.css(\"zIndex\",\"\")),u.events.disableBlur(),t.find(\"input, textarea, button\").each(function(){this===this.ownerDocument.activeElement&&this.blur()}),t.find(\"input, textarea\").attr(\"disabled\",\"disabled\"),h))for(var n=0;n<h.length;n++)d(h[n]).removeClass(\"fr-btn-active-popup\")}function b(e){for(var t in void 0===e&&(e=[]),g)Object.prototype.hasOwnProperty.call(g,t)&&e.indexOf(t)<0&&n(t)}function t(){u.shared.exit_flag=!0}function E(){u.shared.exit_flag=!1}function l(){return u.shared.exit_flag}function c(e,t){var n,r=function c(e,t){var n=Y.POPUP_TEMPLATES[e];if(!n)return null;for(var r in\"function\"==typeof n&&(n=n.apply(u)),t)Object.prototype.hasOwnProperty.call(t,r)&&(n=n.replace(\"[_\".concat(r.toUpperCase(),\"_]\"),t[r]));return n}(e,t),o=d(u.doc.createElement(\"DIV\"));if(!r)return\"filesManager.insert\"===e?o.addClass(\"fr-popup fr-files-manager fr-empty\"):o.addClass(\"fr-popup fr-empty\"),(n=d(\"body\").first()).append(o),o.data(\"container\",n),g[e]=o;\"filesManager.insert\"===e?o.addClass(\"fr-popup fr-files-manager\".concat(u.helpers.isMobile()?\" fr-mobile\":\" fr-desktop\").concat(u.opts.toolbarInline?\" fr-inline\":\"\")):o.addClass(\"fr-popup\".concat(u.helpers.isMobile()?\" fr-mobile\":\" fr-desktop\").concat(u.opts.toolbarInline?\" fr-inline\":\"\")),o.html(r),u.opts.theme&&o.addClass(\"\".concat(u.opts.theme,\"-theme\")),1<u.opts.zIndex&&(!u.opts.editInPopup&&u.$tb?u.$tb.css(\"z-index\",u.opts.zIndex+2):o.css(\"z-index\",u.opts.zIndex+2)),\"auto\"!==u.opts.direction&&o.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(u.opts.direction)),o.find(\"input, textarea\").attr(\"dir\",u.opts.direction).attr(\"disabled\",\"disabled\"),(n=d(\"body\").first()).append(o),o.data(\"container\",n);var i=(g[e]=o).find(\".fr-color-hex-layer\");if(0<i.length){var a=u.helpers.getPX(o.find(\".fr-color-set > span\").css(\"width\")),s=u.helpers.getPX(i.css(\"paddingLeft\")),l=u.helpers.getPX(i.css(\"paddingRight\"));i.css(\"width\",a*u.opts.colorsStep+s+l)}return u.button.bindCommands(o,!1),o}function L(a){var s=g[a];return{_windowResize:function(){var e=s.data(\"instance\")||u;if(!e.helpers.isMobile()&&s.isVisible()){var t=s.find(\".fr-file-progress-bar-layer\");if(\"file.insert\"===a&&0<t.length&&t.hasClass(\"fr-active\")){var n=u.$tb.find('.fr-command[data-cmd=\"insertFile\"]');e.events.disableBlur();var r=u.button.getPosition(n),o=r.left,i=r.top;u.position.at(o,i,g[a],0),e.events.enableBlur()}else e.events.disableBlur(),e.popups.hide(a),e.events.enableBlur()}},_inputFocus:function(e){var t=s.data(\"instance\")||u,n=d(e.currentTarget);if(n.is(\"input:file\")&&n.closest(\".fr-layer\").addClass(\"fr-input-focus\"),e.preventDefault(),e.stopPropagation(),setTimeout(function(){t.events.enableBlur()},100),t.helpers.isMobile()){var r=d(t.o_win).scrollTop();setTimeout(function(){d(t.o_win).scrollTop(r)},0)}},_inputBlur:function(e){var t=s.data(\"instance\")||u,n=d(e.currentTarget);n.is(\"input:file\")&&n.closest(\".fr-layer\").removeClass(\"fr-input-focus\"),document.activeElement!==this&&d(this).isVisible()&&(t.events.blurActive()&&t.events.trigger(\"blur\"),t.events.enableBlur())},_editorKeydown:function(e){var t=s.data(\"instance\")||u;t.keys.ctrlKey(e)||e.which===Y.KEYCODE.ALT||e.which===Y.KEYCODE.ESC||(m(a)&&s.findVisible(\".fr-back\").length?t.button.exec(s.findVisible(\".fr-back\").first()):e.which!==Y.KEYCODE.ALT&&t.popups.hide(a))},_preventFocus:function(e){var t=s.data(\"instance\")||u,n=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;\"mouseup\"===e.type||d(n).is(\":focus\")||t.events.disableBlur(),\"mouseup\"!==e.type||d(n).hasClass(\"fr-command\")||0<d(n).parents(\".fr-command\").length||d(n).hasClass(\"fr-dropdown-content\")||d(n).hasClass(\"fr-dropdown-menu\")||u.button.hideActiveDropdowns(s),(u.browser.safari||u.browser.mozilla)&&\"mousedown\"===e.type&&d(n).is(\"input[type=file]\")&&t.events.disableBlur();var r=\"input, textarea, button, select, label, .fr-command\";if(n&&!d(n).is(r)&&0===d(n).parents(r).length)return e.stopPropagation(),!1;n&&d(n).is(r)&&e.stopPropagation(),E()},_editorMouseup:function(){s.isVisible()&&l()&&0<s.findVisible(\"input:focus, textarea:focus, button:focus, select:focus\").length&&u.events.disableBlur()},_windowMouseup:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u;s.isVisible()&&l()&&(e.stopPropagation(),t.markers.remove(),t.popups.hide(a),E())},_windowKeydown:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u,n=e.which;if(Y.KEYCODE.ESC===n){if(t.popups.isVisible(a)&&t.opts.toolbarInline)return e.stopPropagation(),t.popups.isVisible(a)&&(s.findVisible(\".fr-back\").length?(t.button.exec(s.findVisible(\".fr-back\").first()),t.accessibility.focusPopupButton(s)):s.findVisible(\".fr-dismiss\").length?t.button.exec(s.findVisible(\".fr-dismiss\").first()):(t.popups.hide(a),t.toolbar.showInline(null,!0),t.accessibility.focusPopupButton(s))),!1;if(t.popups.isVisible(a))return s.findVisible(\".fr-back\").length?(t.button.exec(s.findVisible(\".fr-back\").first),t.accessibility.focusPopupButton(s)):s.findVisible(\".fr-dismiss\").length?t.button.exec(s.findVisible(\".fr-dismiss\").first()):(t.popups.hide(a),t.accessibility.focusPopupButton(s)),!1}},_repositionPopup:function(){if(!u.opts.height&&!u.opts.heightMax||u.opts.toolbarInline)return!0;if(u.$wp&&m(a)&&s.parent().get(0)===u.$sc.get(0)){var e=s.offset().top-u.$wp.offset().top,t=u.$wp.outerHeight();u.node.hasClass(s.get(0),\"fr-above\")&&(e+=s.outerHeight()),t<e||e<0?s.addClass(\"fr-hidden\"):s.removeClass(\"fr-hidden\")}},handleWindowClick:function(e){if(!u.core.sameInstance(s))return!0;var t=s.data(\"instance\")||u;s.isVisible()&&e.target&&(0<d(e.target).find(\"body\").length||\"BODY\"===d(e.target)[0].tagName)&&(e.stopPropagation(),t.popups.hide(a))}}}function f(e,t){u.events.on(\"mouseup\",e._editorMouseup,!0),u.$wp&&u.events.on(\"keydown\",e._editorKeydown),u.events.on(\"focus\",function(){g[t].removeClass(\"focused\")}),u.events.on(\"blur\",function(){v()&&u.markers.remove(),u.helpers.isMobile()?g[t].hasClass(\"focused\")?(b(),g[t].removeClass(\"focused\")):g[t].addClass(\"focused\"):g[t].find(\"iframe\").length||b()}),u.$wp&&!u.helpers.isMobile()&&u.events.$on(u.$wp,\"scroll.popup\".concat(t),e._repositionPopup),u.events.on(\"window.mouseup\",e._windowMouseup,!0),u.events.on(\"window.keydown\",e._windowKeydown,!0),u.opts.iframe&&window.addEventListener(\"click\",e.handleWindowClick),g[t].data(\"inst\".concat(u.id),!0),u.events.on(\"destroy\",function(){u.core.sameInstance(g[t])&&(d(\"body\").first().append(g[t]),g[t].removeClass(\"fr-active\"))},!0)}function p(){var e=d(this).prev().children().first();e.attr(\"checked\",!e.attr(\"checked\"))}function e(){for(var e in g)if(Object.prototype.hasOwnProperty.call(g,e)){var t=g[e];t&&(t.html(\"\").removeData().remove(),g[e]=null)}g=[]}return u.shared.exit_flag=!1,{_init:function y(){r=window.innerHeight,u.events.on(\"shared.destroy\",e,!0),u.events.on(\"window.mousedown\",t),u.events.on(\"window.touchmove\",E),u.events.$on(d(u.o_win),\"scroll\",E),u.events.on(\"mousedown\",function(e){v()&&(e.stopPropagation(),u.$el.find(\".fr-marker\").remove(),t(),u.events.disableBlur())})},create:function N(e,t){var n=c(e,t),r=L(e);f(r,e),u.events.$on(n,\"mousedown mouseup touchstart touchend touch\",\"*\",r._preventFocus,!0),u.events.$on(n,\"focus\",\"input, textarea, button, select\",r._inputFocus,!0),u.events.$on(n,\"blur\",\"input, textarea, button, select\",r._inputBlur,!0);var o=n.find(\"input, textarea\");return function i(e){for(var t=0;t<e.length;t++){var n=e[t],r=d(n);0===r.next().length&&r.attr(\"placeholder\")&&(r.after('<label for=\"'.concat(r.attr(\"id\"),'\">').concat(r.attr(\"placeholder\"),\"</label>\")),r.attr(\"placeholder\",\"\"))}}(o),u.events.$on(o,\"focus\",a),u.events.$on(o,\"blur change\",s),u.events.$on(n,\"click\",\".fr-checkbox + label\",p),u.accessibility.registerPopup(e),u.helpers.isIOS()&&u.events.$on(n,\"touchend\",\"label\",function(){d(\"#\".concat(d(this).attr(\"for\"))).prop(\"checked\",function(e,t){return!t})},!0),u.events.$on(d(u.o_win),\"resize\",r._windowResize,!0),\"filesManager.insert\"===e&&g[\"filesManager.insert\"].css(\"zIndex\",2147483641),n},get:function S(e){var t=g[e];return t&&!t.data(\"inst\".concat(u.id))&&f(L(e),e),t},show:function T(e,t,n,r,o){if(m(e)||(v()&&0<u.$el.find(\".fr-marker\").length?(u.events.disableBlur(),u.selection.restore()):v()||(u.events.disableBlur(),u.events.focus(),u.events.enableBlur())),b([e]),!g[e])return!1;var i=u.button.getButtons(\".fr-dropdown.fr-active\");i.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).parents(\".fr-toolbar\").css(\"zIndex\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),i.next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),g[e].data(\"instance\",u),u.$tb&&u.$tb.data(\"instance\",u);var a=m(e);g[e].addClass(\"fr-active\").removeClass(\"fr-hidden\").find(\"input, textarea\").removeAttr(\"disabled\");var s=g[e].data(\"container\");if(function p(e,t){t.isVisible()||(t=u.$sc),t.contains([g[e].get(0)])||t.append(g[e])}(e,s),u.opts.toolbarInline&&s&&u.$tb&&s.get(0)===u.$tb.get(0)&&(C(e,u.$sc),n=u.$tb.offset().top-u.helpers.getPX(u.$tb.css(\"margin-top\")),t=u.$tb.offset().left+u.$tb.outerWidth()/2,u.node.hasClass(u.$tb.get(0),\"fr-above\")&&n&&(n+=u.$tb.outerHeight()),r=0),s=g[e].data(\"container\"),u.opts.iframe&&!r&&!a){var l=u.helpers.getPX(u.$wp.find(\".fr-iframe\").css(\"padding-top\")),c=u.helpers.getPX(u.$wp.find(\".fr-iframe\").css(\"padding-left\"));t&&(t-=u.$iframe.offset().left+c),n&&(n-=u.$iframe.offset().top+l)}s.is(u.$tb)?u.$tb.css(\"zIndex\",(u.opts.zIndex||1)+4):g[e].css(\"zIndex\",(u.opts.zIndex||1)+3),u.opts.toolbarBottom&&s&&u.$tb&&s.get(0)===u.$tb.get(0)&&(g[e].addClass(\"fr-above\"),n&&(n-=g[e].outerHeight())),o&&(t-=g[e].width()/2),t+g[e].outerWidth()>u.$sc.offset().left+u.$sc.width()&&(t-=t+g[e].outerWidth()-u.$sc.offset().left-u.$sc.width()),t<u.$sc.offset().left&&\"rtl\"===u.opts.direction&&(t=u.$sc.offset().left),g[e].removeClass(\"fr-active\"),u.position.at(t,n,g[e],r||0);var d=u.node.blockParent(u.selection.blocks()[0]);if(d&&\"false\"===d.getAttribute(\"contenteditable\"))g[e].removeClass(\"fr-active\");else{var f=u.selection.element().parentElement.getAttribute(\"contenteditable\");f&&\"false\"===f?g[e].removeClass(\"fr-active\"):g[e].addClass(\"fr-active\")}a||u.accessibility.focusPopup(g[e]),u.opts.toolbarInline&&u.toolbar.hide(),u.$tb&&(h=u.$tb.find(\".fr-btn-active-popup\")),u.events.trigger(\"popups.show.\".concat(e)),L(e)._repositionPopup(),E()},hide:n,onHide:function M(e,t){u.events.on(\"popups.hide.\".concat(e),t)},hideAll:b,setContainer:C,refresh:function A(e){g[e].data(\"instance\",u),u.events.trigger(\"popups.refresh.\".concat(e));for(var t=g[e].find(\".fr-command\"),n=0;n<t.length;n++){var r=d(t[n]);0===r.parents(\".fr-dropdown-menu\").length&&u.button.refresh(r)}},onRefresh:function x(e,t){u.events.on(\"popups.refresh.\".concat(e),t)},onShow:function O(e,t){u.events.on(\"popups.show.\".concat(e),t)},isVisible:m,setFileListHeight:o,areVisible:v,setPopupDimensions:function w(e,t){t&&e.find(\".fr-upload-progress-layer\").get(0).clientHeight<i&&(e.find(\".fr-upload-progress\").addClass(\"fr-height-auto\"),u.popups.get(\"filesManager.insert\").addClass(\"fr-height-auto\"),e.find(\".fr-upload-progress\").removeClass(\"fr-height-set\"),i=2e3),e.get(0).clientHeight>window.innerHeight/2&&(window.innerWidth<500?e.get(0).clientHeight>.6*r&&o(e):400<e.get(0).clientHeight&&o(e),i=e.find(\".fr-upload-progress-layer\").get(0).clientHeight);var n=window.innerWidth;switch(!0){case n<=320:e.width(200);break;case n<=420:e.width(250);break;case n<=520:e.width(300);break;case n<=720:e.width(400);break;case 720<n:e.width(530)}}}},Y.MODULES.accessibility=function(p){var l,u=p.$,i=!0;function c(t){for(var e=p.$el.find('[contenteditable=\"true\"]'),n=!1,r=0;e.get(r);)u(e.get(r)).is(\":focus\")&&(n=!0),r++;if(t&&t.length&&!n){t.data(\"blur-event-set\")||t.parents(\".fr-popup\").length||(p.events.$on(t,\"blur\",function(){var e=t.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||p;e.events.blurActive()&&!p.core.hasFocus()&&e.events.trigger(\"blur\"),setTimeout(function(){e.events.enableBlur()},100)},!0),t.data(\"blur-event-set\",!0));var o=t.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||p;if(p.browser.safari&&(!l||null==p.shared.safariSelection)){var i=p.selection.get();i&&0<i.rangeCount?p.shared.safariSelection=i.getRangeAt(0).cloneRange():p.shared.safariSelection=null}o.events.disableBlur(),t.get(0).focus(),p.shared.$f_el=t}}function h(e,t){var n=t?\"last\":\"first\",r=s(C(e))[n]();if(r.length)return c(r),!0}function a(e){return e.is(\"input, textarea, select\")&&t(),p.events.disableBlur(),e.get(0).focus(),!0}function g(e,t){var n=e.find(\"input, textarea, button, select, span\").filter(function(){return u(this).isVisible()}).not(\":disabled\"),r=n.first();if((n=r.parents(\".fr-color-set\").get(0)&&r.parents(\".fr-popup\").get(0)?n.filter(\"input\"):t?n.last():n.first()).length)return a(n);if(p.shared.with_kb){var o=e.findVisible(\".fr-active-item\").first();if(o.length)return a(o);var i=e.findVisible(\"[tabIndex]\").first();if(i.length)return a(i)}}function t(){0===p.$el.find(\".fr-marker\").length&&p.core.hasFocus()&&p.selection.save()}function d(){var e=p.popups.areVisible();if(e){var t=e.find(\".fr-buttons\");return t.find(\"button:focus, .fr-group span:focus\").length?!h(e.data(\"instance\").$tb):!h(t)}return!h(p.$tb)}function f(){var e=null;return p.shared.$f_el.is(\".fr-dropdown.fr-active\")?e=p.shared.$f_el:p.shared.$f_el.closest(\".fr-dropdown-menu\").prev().is(\".fr-dropdown.fr-active\")&&(e=p.shared.$f_el.closest(\".fr-dropdown-menu\").prev()),e}function s(e){for(var t=-1,n=0;n<e.length;n++)u(e[n]).hasClass(\"fr-open\")&&(t=n);var r=e.index(p.$tb.find(\".fr-more-toolbar.fr-expanded > button.fr-command\").first());if(0<r&&-1!==t){var o=e.slice(r,e.length),i=(e=e.slice(0,r)).slice(0,t+1),a=e.slice(t+1,e.length);e=i;for(var s=0;s<o.length;s++)e.push(o[s]);for(var l=0;l<a.length;l++)e.push(a[l])}return e}function C(e){return e.findVisible(\"button:not(.fr-disabled), .fr-group span.fr-command\").filter(function(e){var t=u(e).parents(\".fr-more-toolbar\");return 0===t.length||0<t.length&&t.hasClass(\"fr-expanded\")})}function n(e,t,n){if(p.shared.$f_el){var r=f();r&&(p.button.click(r),p.shared.$f_el=r);var o=s(C(e)),i=o.index(p.shared.$f_el);if(0===i&&!n||i===o.length-1&&n){var a;if(t){if(e.parent().is(\".fr-popup\"))a=!g(e.parent().children().not(\".fr-buttons\"),!n);!1===a&&(p.shared.$f_el=null)}t&&!1===a||h(e,!n)}else c(u(o.get(i+(n?1:-1))));return!1}}function m(e,t){return n(e,t,!0)}function v(e,t){return n(e,t)}function b(e){if(p.shared.$f_el){var t;if(p.shared.$f_el.is(\".fr-dropdown.fr-active\"))return c(t=e?p.shared.$f_el.next().find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.next().find(\".fr-command:not(.fr-disabled)\").last()),!1;if(p.shared.$f_el.is(\"a.fr-command\"))return(t=e?p.shared.$f_el.closest(\"li\").nextAllVisible().first().find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.closest(\"li\").prevAllVisible().first().find(\".fr-command:not(.fr-disabled)\").first()).length||(t=e?p.shared.$f_el.closest(\".fr-dropdown-menu\").find(\".fr-command:not(.fr-disabled)\").first():p.shared.$f_el.closest(\".fr-dropdown-menu\").find(\".fr-command:not(.fr-disabled)\").last()),c(t),!1}}function E(){if(p.shared.$f_el){if(p.shared.$f_el.hasClass(\"fr-dropdown\"))p.button.click(p.shared.$f_el);else if(p.shared.$f_el.is(\"button.fr-back\")){p.opts.toolbarInline&&(p.events.disableBlur(),p.events.focus());var e=p.popups.areVisible(p);e&&(p.shared.with_kb=!1),p.button.click(p.shared.$f_el),y(e)}else{if(p.events.disableBlur(),p.button.click(p.shared.$f_el),p.shared.$f_el.attr(\"data-group-name\")){var t=p.$tb.find('.fr-more-toolbar[data-name=\"'.concat(p.shared.$f_el.attr(\"data-group-name\"),'\"]')),n=p.shared.$f_el;t.hasClass(\"fr-expanded\")&&(n=t.findVisible(\"button:not(.fr-disabled)\").first()),n&&c(n)}else if(p.shared.$f_el.attr(\"data-popup\")){var r=p.popups.areVisible(p);r&&r.data(\"popup-button\",p.shared.$f_el)}else if(p.shared.$f_el.attr(\"data-modal\")){var o=p.modals.areVisible(p);o&&o.data(\"modal-button\",p.shared.$f_el)}p.shared.$f_el=null}return!1}}function L(){if(p.shared.$f_el&&(p.events.disableBlur(),p.shared.$f_el.blur(),p.shared.$f_el=null),!1!==p.events.trigger(\"toolbar.focusEditor\")&&(p.events.disableBlur(),p.$el.get(0).focus(),p.events.focus(),p.browser.safari&&p.shared.safariSelection)){var e=p.shared.safariSelection,t=e.startContainer,n=e.endContainer,r=e.startOffset,o=e.endOffset,i=p.doc.createRange();i.setStart(t,r),i.setEnd(n,o),p.selection.get().removeAllRanges(),p.selection.get().addRange(i),p.shared.safariSelection=null}}function o(r){r&&r.length&&(p.events.$on(r,\"keydown\",function(e){if(!u(e.target).is(\"a.fr-command, button.fr-command, .fr-group span.fr-command\"))return!0;var t=r.parents(\".fr-popup\").data(\"instance\")||r.data(\"instance\")||p;p.shared.with_kb=!0;var n=t.accessibility.exec(e,r);return p.shared.with_kb=!1,n},!0),p.events.$on(r,\"mouseenter\",\"[tabIndex]\",function(e){var t=r.parents(\".fr-popup\").data(\"instance\")||r.data(\"instance\")||p;if(!i)return e.stopPropagation(),void e.preventDefault();var n=u(e.currentTarget);t.shared.$f_el&&t.shared.$f_el.not(n)&&t.accessibility.focusEditor()},!0),p.$tb&&p.events.$on(p.$tb,\"transitionend\",\".fr-more-toolbar\",function(){p.shared.$f_el=u(document.activeElement)}))}function y(e){var t=e.data(\"popup-button\");t&&setTimeout(function(){c(t),e.data(\"popup-button\",null)},0)}function N(e){var t=p.popups.areVisible(e);t&&t.data(\"popup-button\",null)}function e(e){var t=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey;if(e.which!==Y.KEYCODE.F10||t||e.shiftKey||!e.altKey)return!0;p.shared.with_kb=!0;var n=p.popups.areVisible(p),r=!1;return n&&(r=g(n.children().not(\".fr-buttons\"))),r||d(),p.shared.with_kb=!1,e.preventDefault(),e.stopPropagation(),!1}return{_init:function r(){p.$wp?p.events.on(\"keydown\",e,!0):p.events.$on(p.$win,\"keydown\",e,!0),p.events.on(\"mousedown\",function(e){N(p),p.shared.$f_el&&p.el.isSameNode(p.shared.$f_el[0])&&(p.accessibility.restoreSelection(),e.stopPropagation(),p.events.disableBlur(),p.shared.$f_el=null)},!0),p.events.on(\"blur\",function(){p.shared.$f_el=null,N(p)},!0)},registerPopup:function S(e){var t=p.popups.get(e),n=function r(d){var f=p.popups.get(d);return{_tiKeydown:function(e){var t=f.data(\"instance\")||p;if(!1===t.events.trigger(\"popup.tab\",[e]))return!1;var n=e.which,r=f.find(\":focus\").first();if(Y.KEYCODE.TAB===n){e.preventDefault();var o=f.children().not(\".fr-buttons\"),i=o.findVisible(\"input, textarea, button, select\").not(\".fr-no-touch input, .fr-no-touch textarea, .fr-no-touch button, .fr-no-touch select, :disabled\").toArray(),a=i.indexOf(this)+(e.shiftKey?-1:1);if(0<=a&&a<i.length)return t.events.disableBlur(),u(i[a]).focus(),e.stopPropagation(),!1;var s=f.find(\".fr-buttons\");if(s.length&&h(s,Boolean(e.shiftKey)))return e.stopPropagation(),!1;if(g(o))return e.stopPropagation(),!1}else{if(Y.KEYCODE.ENTER!==n||!e.target||\"TEXTAREA\"===e.target.tagName)return Y.KEYCODE.ESC===n?(e.preventDefault(),e.stopPropagation(),t.accessibility.restoreSelection(),t.popups.isVisible(d)&&f.findVisible(\".fr-back\").length?(t.opts.toolbarInline&&(t.events.disableBlur(),t.events.focus()),t.button.exec(f.findVisible(\".fr-back\").first()),y(f)):t.popups.isVisible(d)&&f.findVisible(\".fr-dismiss\").length?t.button.exec(f.findVisible(\".fr-dismiss\").first()):(t.popups.hide(d),t.opts.toolbarInline&&t.toolbar.showInline(null,!0),y(f)),!1):Y.KEYCODE.SPACE===n&&(r.is(\".fr-submit\")||r.is(\".fr-dismiss\")||r.is(\".fr-enable-accessibility\"))?(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(r),!0):t.keys.isBrowserAction(e)?void e.stopPropagation():r.is(\"input[type=text], textarea\")?void e.stopPropagation():Y.KEYCODE.SPACE===n&&(r.is(\".fr-link-attr\")||r.is(\"input[type=file]\"))?void e.stopPropagation():(e.stopPropagation(),e.preventDefault(),!1);var l=null;if(0<f.findVisible(\".fr-submit\").length?l=f.findVisible(\".fr-submit\").first():f.findVisible(\".fr-dismiss\").length&&(l=f.findVisible(\".fr-dismiss\").first()),!l&&0<f.findVisible(\".fr-enable-accessibility\").length){var c=f.findVisible(\".fr-enable-accessibility:focus\");0<c.length&&(l=c)}l&&(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(l))}},_tiMouseenter:function(){var e=f.data(\"instance\")||p;N(e)}}}(e);o(t.find(\".fr-buttons\")),p.events.$on(t,\"mouseenter\",\"tabIndex\",n._tiMouseenter,!0),p.events.$on(t.children().not(\".fr-buttons\"),\"keydown\",\"[tabIndex]\",n._tiKeydown,!0),p.popups.onHide(e,function(){(t.data(\"instance\")||p).accessibility.restoreSelection()}),p.popups.onShow(e,function(){i=!1,setTimeout(function(){i=!0},0)})},registerToolbar:o,focusToolbarElement:c,focusToolbar:h,focusContent:g,focusPopup:function T(r){var o=r.children().not(\".fr-buttons\");o.data(\"mouseenter-event-set\")||(p.events.$on(o,\"mouseenter\",\"[tabIndex]\",function(e){var t=r.data(\"instance\")||p;if(!i)return e.stopPropagation(),void e.preventDefault();var n=o.find(\":focus\").first();n.length&&!n.is(\"input, button, textarea, select\")&&(t.events.disableBlur(),n.blur(),t.events.disableBlur(),t.events.focus())}),o.data(\"mouseenter-event-set\",!0)),!g(o)&&p.shared.with_kb&&h(r.find(\".fr-buttons\"))},focusModal:function M(e){p.core.hasFocus()||(p.events.disableBlur(),p.events.focus()),p.accessibility.saveSelection(),p.events.disableBlur(),p.el.blur(),p.selection.clear(),p.events.disableBlur(),p.shared.with_kb?e.find(\".fr-command[tabIndex], [tabIndex]\").first().focus():e.find(\"[tabIndex]\").first().focus()},focusEditor:L,focusPopupButton:y,focusModalButton:function A(e){var t=e.data(\"modal-button\");t&&setTimeout(function(){c(t),e.data(\"modal-button\",null)},0)},hasFocus:function x(){return null!==p.shared.$f_el},exec:function O(e,t){var n=-1!==navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,r=e.which,o=!1;return r!==Y.KEYCODE.TAB||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_RIGHT||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.TAB||n||!e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_LEFT||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_UP||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ARROW_DOWN||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ENTER&&r!==Y.KEYCODE.SPACE||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.ESC||n||e.shiftKey||e.altKey?r!==Y.KEYCODE.F10||n||e.shiftKey||!e.altKey||(o=d()):o=function i(e){if(p.shared.$f_el){var t=f();return t?(p.button.click(t),c(t)):e.parent().findVisible(\".fr-back\").length?(p.shared.with_kb=!1,p.opts.toolbarInline&&(p.events.disableBlur(),p.events.focus()),p.button.exec(e.parent().findVisible(\".fr-back\")).first(),y(e.parent())):p.shared.$f_el.is(\"button, .fr-group span\")&&(e.parent().is(\".fr-popup\")?(p.accessibility.restoreSelection(),p.shared.$f_el=null,!1!==p.events.trigger(\"toolbar.esc\")&&(p.popups.hide(e.parent()),p.opts.toolbarInline&&p.toolbar.showInline(null,!0),y(e.parent()))):L()),!1}}(t):o=E():o=function a(){return p.shared.$f_el&&p.shared.$f_el.is(\".fr-dropdown:not(.fr-active)\")?E():b(!0)}():o=function s(){return b()}():o=v(t):o=v(t,!0):o=m(t):(l=r,o=m(t,!0)),p.shared.$f_el||void 0!==o||(o=!0),!o&&p.keys.isBrowserAction(e)&&(o=!0),!!o||(e.preventDefault(),e.stopPropagation(),!1)},saveSelection:t,restoreSelection:function w(){p.$el.find(\".fr-marker\").length&&(p.events.disableBlur(),p.selection.restore(),p.events.enableBlur())}}},Object.assign(Y.DEFAULTS,{tooltips:!0}),Y.MODULES.tooltip=function(p){var u=p.$;function r(){p.helpers.isMobile()||p.$tooltip&&p.$tooltip.removeClass(\"fr-visible\").css(\"left\",\"-3000px\").css(\"position\",\"fixed\")}function o(e,t){if(!p.helpers.isMobile()){var n=e.attr(\"id\")&&e.attr(\"id\").split(\"-\")[0],r=e.attr(\"title\"),o=p.opts.trackChangesEnabled,i=p.opts.showChangesEnabled;if(p.opts.toolbarContainer){for(var a=!1,s=0;s<Y.INSTANCES.length;s++)if(Y.INSTANCES[s].core.hasFocus()){o=Y.INSTANCES[s].opts.trackChangesEnabled,i=Y.INSTANCES[s].opts.showChangesEnabled,a=!0;break}a||(i=o=e.hasClass(\"fr-active\"))}if(\"trackChanges\"===n)r=o?\"Disable Track Changes\":\"Enable Track Changes\";else if(\"showChanges\"===n)r=i?\"Hide Changes\":\"Show Changes\";else if((\"applyAll\"===n||\"removeAll\"===n||\"applyLast\"===n||\"removeLast\"===n)&&0===p.track_changes.getPendingChanges().length)return;if(e.data(\"title\",r),e.data(\"title\")){p.$tooltip||function f(){if(p.opts.tooltips&&!p.helpers.isMobile()){if(p.shared.$tooltip)p.$tooltip=p.shared.$tooltip;else{p.shared.$tooltip=u(p.doc.createElement(\"DIV\")).addClass(\"fr-tooltip\"),p.$tooltip=p.shared.$tooltip,p.opts.theme&&p.$tooltip.addClass(\"\".concat(p.opts.theme,\"-theme\"));var e={};if(p.$wp&&0<p.$wp.length&&(e=p.$wp.closest(\"dialog\")),0<e.length)e.first().append(p.$tooltip);else if(p.$box&&0<p.$box.length&&p.$box[0]){var t=p.$box[0].getRootNode();t instanceof ShadowRoot?u(t).append(p.$tooltip):u(p.o_doc).find(\"body\").first().append(p.$tooltip)}else u(p.o_doc).find(\"body\").first().append(p.$tooltip)}p.events.on(\"shared.destroy\",function(){p.$tooltip.html(\"\").removeData().remove(),p.$tooltip=null},!0)}}(),e.removeAttr(\"title\"),p.$tooltip.text(p.language.translate(e.data(\"title\"))),p.$tooltip.addClass(\"fr-visible\");var l=e.offset().left+(e.outerWidth()-p.$tooltip.outerWidth())/2;l<0&&(l=0),l+p.$tooltip.outerWidth()>u(p.o_win).width()&&(l=u(p.o_win).width()-p.$tooltip.outerWidth()),void 0===t&&(t=p.opts.toolbarBottom),e.offset().top-u(window).scrollTop()+e.outerHeight()+10>=u(window).height()&&(t=!0);var c=t?e.offset().top-p.$tooltip.height():e.offset().top+e.outerHeight();p.$tooltip.css(\"position\",\"\"),p.$tooltip.css(\"left\",l),p.$tooltip.css(\"top\",Math.ceil(c));var d={};p.$wp&&0<p.$wp.length&&(d=p.$wp.closest(\"dialog\")),0<d.length?(p.$tooltip.css(\"margin-left\",-d.first().offset().left),p.$tooltip.css(\"margin-top\",-d.first().offset().top)):\"static\"!==u(p.o_doc).find(\"body\").first().css(\"position\")?(p.$tooltip.css(\"margin-left\",-u(p.o_doc).find(\"body\").first().offset().left),p.$tooltip.css(\"margin-top\",-u(p.o_doc).find(\"body\").first().offset().top)):(p.$tooltip.css(\"margin-left\",\"\"),p.$tooltip.css(\"margin-top\",\"\"))}}}return{hide:r,to:o,bind:function i(e,t,n){p.opts.tooltips&&!p.helpers.isMobile()&&(p.events.$on(e,\"mouseover\",t,function(e){p.node.hasClass(e.currentTarget,\"fr-disabled\")||p.edit.isDisabled()||o(u(e.currentTarget),n)},!0),p.events.$on(e,\"mouseout \".concat(p._mousedown,\" \").concat(p._mouseup),t,function(){r()},!0))}}},Y.TOOLBAR_VISIBLE_BUTTONS=3,Y.MODULES.button=function(g){var h=g.$,a=[];(g.opts.toolbarInline||g.opts.toolbarContainer)&&(g.shared.buttons||(g.shared.buttons=[]),a=g.shared.buttons);var s=[];function l(e,t,n){for(var r=h(),o=0;o<e.length;o++){var i=h(e[o]);if(i.is(t)&&(r=r.add(i)),n&&i.is(\".fr-dropdown\")){var a=i.next().find(t);r=r.add(a)}}return r}function C(e,t){var n,r=h();if(!e)return r;for(n in r=(r=r.add(l(a,e,t))).add(l(s,e,t)),g.shared.popups)if(Object.prototype.hasOwnProperty.call(g.shared.popups,n)){var o=g.shared.popups[n].children().find(e);r=r.add(o)}for(n in g.shared.modals)if(Object.prototype.hasOwnProperty.call(g.shared.modals,n)){var i=g.shared.modals[n].$modal.find(e);r=r.add(i)}return r}function i(e){var t=e.next(),n=g.node.hasClass(e.get(0),\"fr-active\"),r=C(\".fr-dropdown.fr-active\").not(e),o=e.parents(\".fr-toolbar, .fr-popup\").data(\"instance\")||g;o.helpers.isIOS()&&!o.el.querySelector(\".fr-marker\")&&(o.selection.save(),o.selection.clear(),o.selection.restore()),t.parents(\".fr-more-toolbar\").addClass(\"fr-overflow-visible\");var i=0,a=0,s=t.find(\"> .fr-dropdown-wrapper\");if(!n){var l=e.data(\"cmd\");t.find(\".fr-command\").removeClass(\"fr-active\").attr(\"aria-selected\",!1),Y.COMMANDS[l]&&Y.COMMANDS[l].refreshOnShow&&Y.COMMANDS[l].refreshOnShow.apply(o,[e,t]),t.css(\"left\",e.offset().left-e.parents(\".fr-btn-wrap, .fr-toolbar, .fr-buttons\").offset().left-(\"rtl\"===g.opts.direction?t.width()-e.outerWidth():0)),t.addClass(\"test-height\"),i=t.outerHeight(),a=g.helpers.getPX(s.css(\"max-height\")),t.removeClass(\"test-height\"),t.css(\"top\",\"\").css(\"bottom\",\"\");var c=e.outerHeight()/10;if(!g.opts.toolbarBottom&&t.offset().top+e.outerHeight()+i<h(g.o_doc).height())t.css(\"top\",e.position().top+e.outerHeight()-c);else{var d=0,f=e.parents(\".fr-more-toolbar\");0<f.length&&(d=f.first().height()),t.css(\"bottom\",e.parents(\".fr-popup, .fr-toolbar\").first().height()-d-e.position().top)}}(e.addClass(\"fr-blink\").toggleClass(\"fr-active\"),e.hasClass(\"fr-options\"))&&e.prev().toggleClass(\"fr-expanded\");e.hasClass(\"fr-active\")?(t.attr(\"aria-hidden\",!1),e.attr(\"aria-expanded\",!0),function u(e,t,n){n<=t&&(e.parent().css(\"overflow\",\"auto\"),e.parent().css(\"overflow-x\",\"hidden\")),e.css(\"height\",Math.min(t,n))}(s,i,a)):(t.attr(\"aria-hidden\",!0).css(\"overflow\",\"\"),e.attr(\"aria-expanded\",!1),s.css(\"height\",\"\")),setTimeout(function(){e.removeClass(\"fr-blink\")},300),t.css(\"margin-left\",\"\"),t.offset().left+t.outerWidth()>g.$sc.offset().left+g.$sc.width()&&t.css(\"margin-left\",-(t.offset().left+t.outerWidth()-g.$sc.offset().left-g.$sc.width())),t.offset().left<g.$sc.offset().left&&\"rtl\"===g.opts.direction&&t.css(\"margin-left\",g.$sc.offset().left),r.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),r.prev(\".fr-expanded\").removeClass(\"fr-expanded\"),r.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),0!==e.parents(\".fr-popup\").length||g.opts.toolbarInline||(g.node.hasClass(e.get(0),\"fr-active\")?g.$tb.css(\"zIndex\",(g.opts.zIndex||1)+4):g.$tb.css(\"zIndex\",\"\"));var p=t.find(\"a.fr-command.fr-active\").first();g.helpers.isMobile()||(p.length?(g.accessibility.focusToolbarElement(p),s.scrollTop(Math.abs(p.parents(\".fr-dropdown-content\").offset().top-p.offset().top)-p.offset().top)):(g.accessibility.focusToolbarElement(e),s.scrollTop(0)))}function c(e){e.addClass(\"fr-blink\"),setTimeout(function(){e.removeClass(\"fr-blink\")},500);for(var t=e.data(\"cmd\"),n=[];void 0!==e.data(\"param\".concat(n.length+1));)n.push(e.data(\"param\".concat(n.length+1)));var r=C(\".fr-dropdown.fr-active\");r.length&&(r.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),r.prev(\".fr-expanded\").removeClass(\"fr-expanded\"),r.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\")),e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\").commands.exec(t,n)}function t(e){var t=e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\"),n=g.popups.get(\"link.insert\");if(0===e.parents(\".fr-popup\").length&&e.data(\"popup\")&&!e.hasClass(\"fr-btn-active-popup\")&&(e.attr(\"id\")===\"insertLink-\".concat(g.id)&&n&&n.hasClass(\"fr-active\")||e.addClass(\"fr-btn-active-popup\")),0!==e.parents(\".fr-popup\").length||e.data(\"popup\")||t.popups.hideAll(),t.popups.areVisible()&&!t.popups.areVisible(t)){for(var r=0;r<Y.INSTANCES.length;r++)Y.INSTANCES[r]!==t&&Y.INSTANCES[r].popups&&Y.INSTANCES[r].popups.areVisible()&&Y.INSTANCES[r].$el.find(\".fr-marker\").remove();t.popups.hideAll()}g.node.hasClass(e.get(0),\"fr-dropdown\")?i(e):(!function o(e){c(e)}(e),Y.COMMANDS[e.data(\"cmd\")]&&!1!==Y.COMMANDS[e.data(\"cmd\")].refreshAfterCallback&&t.button.bulkRefresh())}function d(e){t(h(e.currentTarget))}function f(e){var t=e.find(\".fr-dropdown.fr-active\");t.length&&(t.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),t.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),t.prev().removeClass(\"fr-expanded\"))}function p(e){e.preventDefault(),e.stopPropagation()}function u(e){if(e.stopPropagation(),!g.helpers.isMobile())return!1}function m(e){var t=1<arguments.length&&arguments[1]!==undefined?arguments[1]:{},n=2<arguments.length?arguments[2]:undefined;if(g.helpers.isMobile()&&!1===t.showOnMobile)return\"\";var r=t.displaySelection;\"function\"==typeof r&&(r=r(g));var o=\"\";if(\"options\"!==t.type)if(r){var i=\"function\"==typeof t.defaultSelection?t.defaultSelection(g):t.defaultSelection;o='<span style=\"width:'.concat(t.displaySelectionWidth||100,'px\">').concat(g.language.translate(i||t.title),\"</span>\")}else o=g.icon.create(t.icon||e),o+='<span class=\"fr-sr-only\">'.concat(g.language.translate(t.title)||\"\",\"</span>\");var a=t.popup?' data-popup=\"true\"':\"\",s=t.modal?' data-modal=\"true\"':\"\",l=g.shortcuts.get(\"\".concat(e,\".\"));l=l?\" (\".concat(l,\")\"):\"\";var c=\"\".concat(e,\"-\").concat(g.id),d=\"dropdown-menu-\".concat(c),f='<button id=\"'.concat(c,'\"').concat(t.more_btn?' data-group-name=\"'.concat(c,'\" aria-expanded=\"false\" '):\" \",'type=\"button\" tabIndex=\"-1\" role=\"button\"').concat(t.toggle?' aria-pressed=\"false\"':\"\").concat(\"dropdown\"===t.type||\"options\"===t.type?' aria-controls=\"'.concat(d,'\" aria-expanded=\"false\" aria-haspopup=\"true\"'):\"\").concat(t.disabled?' aria-disabled=\"true\"':\"\",' title=\"').concat(g.language.translate(t.title)||\"\").concat(l,'\" class=\"fr-command fr-btn').concat(\"dropdown\"===t.type||\"options\"==t.type?\" fr-dropdown\":\"\").concat(\"options\"==t.type?\" fr-options\":\"\").concat(\"more\"==t.type?\" fr-more\":\"\").concat(t.displaySelection?\" fr-selection\":\"\").concat(t.back?\" fr-back\":\"\").concat(t.disabled?\" fr-disabled\":\"\").concat(n?\"\":\" fr-hidden\",'\" data-cmd=\"').concat(e,'\"').concat(a).concat(s,\">\").concat(o,\"</button>\");if(\"dropdown\"===t.type||\"options\"===t.type){var p='<div id=\"'.concat(d,'\" class=\"fr-dropdown-menu\" role=\"listbox\" aria-labelledby=\"').concat(c,'\" aria-hidden=\"true\"><div class=\"fr-dropdown-wrapper\" role=\"presentation\"><div class=\"fr-dropdown-content\" role=\"presentation\">');p+=function u(e,t){var n=\"\";if(t.html)\"function\"==typeof t.html?n+=t.html.call(g):n+=t.html;else{var r=t.options;for(var o in\"function\"==typeof r&&(r=r()),n+='<ul class=\"fr-dropdown-list\" role=\"presentation\">',r)if(Object.prototype.hasOwnProperty.call(r,o)){var i=g.shortcuts.get(\"\".concat(e,\".\").concat(o));i=i?'<span class=\"fr-shortcut\">'.concat(i,\"</span>\"):\"\",n+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"'.concat(\"options\"===t.type?e.replace(/Options/g,\"\"):e,'\" data-param1=\"').concat(o,'\" title=\"').concat(r[o],'\">').concat(g.language.translate(r[o]),\"</a></li>\")}n+=\"</ul>\"}return n}(e,t),f+=p+=\"</div></div></div>\"}return t.hasOptions&&t.hasOptions.apply(g)&&(f='<div class=\"fr-btn-wrap\">'.concat(f,\" \").concat(m(e+\"Options\",Object.assign({},t,{type:\"options\",hasOptions:!1}),n),\"  </div>\")),f}function e(o){var i=g.$tb&&g.$tb.data(\"instance\")||g;if(!1===g.events.trigger(\"buttons.refresh\"))return!0;setTimeout(function(){for(var e=i.selection.inEditor()&&i.core.hasFocus(),t=0;t<o.length;t++){var n=h(o[t]),r=n.data(\"cmd\");0===n.parents(\".fr-popup\").length?e||Y.COMMANDS[r]&&Y.COMMANDS[r].forcedRefresh?i.button.refresh(n):g.node.hasClass(n.get(0),\"fr-dropdown\")||(n.removeClass(\"fr-active\"),n.attr(\"aria-pressed\")&&n.attr(\"aria-pressed\",!1)):n.parents(\".fr-popup\").isVisible()&&i.button.refresh(n)}},0)}function n(){e(a),e(s)}function r(){a=[],s=[]}g.shared.popup_buttons||(g.shared.popup_buttons=[]),s=g.shared.popup_buttons;var o=null;function v(){clearTimeout(o),o=setTimeout(n,50)}return{_init:function b(){g.opts.toolbarInline?g.events.on(\"toolbar.show\",n):(g.events.on(\"mouseup\",v),g.events.on(\"keyup\",v),g.events.on(\"blur\",v),g.events.on(\"focus\",v),g.events.on(\"contentChanged\",v),g.helpers.isMobile()&&g.events.$on(g.$doc,\"selectionchange\",n)),g.events.on(\"shared.destroy\",r)},build:m,buildList:function E(e,t){for(var n=\"\",r=0;r<e.length;r++){var o=e[r],i=Y.COMMANDS[o];i&&\"undefined\"!=typeof i.plugin&&g.opts.pluginsEnabled.indexOf(i.plugin)<0||(i?n+=m(o,i,void 0===t||0<=t.indexOf(o)):\"|\"===o?n+='<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>':\"-\"===o&&(n+='<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>'))}return n},buildGroup:function L(e){var t=\"\",n=\"\";for(var r in e){var o=e[r];if(o.buttons){for(var i=\"\",a=\"\",s=0,l=\"left\",c=Y.TOOLBAR_VISIBLE_BUTTONS,d=0;d<o.buttons.length;d++){var f=o.buttons[d],p=Y.COMMANDS[f];p||(\"|\"==f?i+='<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>':\"-\"==f&&(i+='<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>')),!p||p&&\"undefined\"!=typeof p.plugin&&g.opts.pluginsEnabled.indexOf(p.plugin)<0||(e[r].align!==undefined&&(l=e[r].align),e[r].buttonsVisible!==undefined&&(c=e[r].buttonsVisible),e.showMoreButtons&&c<=s?a+=m(f,p,!0):i+=m(f,p,!0),s++)}if(e.showMoreButtons&&c<s){var u=r,h=Y.COMMANDS[u];h.more_btn=!0,i+=m(u,h,!0)}\"trackChanges\"!==r&&(t+='<div class=\"fr-btn-grp fr-float-'.concat(l,'\">').concat(i,\"</div>\")),e.showMoreButtons&&0<a.length&&(n+='<div class=\"fr-more-toolbar\" data-name=\"'.concat(r+\"-\"+g.id,'\">').concat(a,\"</div>\"))}}return g.opts.toolbarBottom?g.helpers.isMobile()?'<div class=\"fr-bottom-extended\">'.concat(n,\"</div><div>\").concat(t,\"</div>\"):\"\".concat(n,'<div class=\"fr-newline\"></div>').concat(t):\"\".concat(t,'<div class=\"fr-newline\"></div>').concat(n)},bindCommands:function y(t,e){g.events.bindClick(t,\".fr-command:not(.fr-disabled)\",d),g.events.$on(t,\"\".concat(g._mousedown,\" \").concat(g._mouseup,\" \").concat(g._move),\".fr-dropdown-menu\",p,!0),g.events.$on(t,\"\".concat(g._mousedown,\" \").concat(g._mouseup,\" \").concat(g._move),\".fr-dropdown-menu .fr-dropdown-wrapper\",u,!0);var n=t.get(0).ownerDocument,r=\"defaultView\"in n?n.defaultView:n.parentWindow;function o(e){(!e||e.type===g._mouseup&&e.target!==h(\"html\").get(0)||\"keydown\"===e.type&&(g.keys.isCharacter(e.which)&&!g.keys.ctrlKey(e)||e.which===Y.KEYCODE.ESC))&&(f(t),g.opts.iframe&&function r(e){var t=e.find(\".fr-popup.fr-active\");if(t.length){t.removeClass(\"fr-active\").attr(\"aria-expanded\",!1).next().attr(\"aria-hidden\",!0).css(\"overflow\",\"\").find(\"> .fr-dropdown-wrapper\").css(\"height\",\"\"),t.parents(\".fr-toolbar:not(.fr-inline)\").css(\"zIndex\",\"\"),t.prev().removeClass(\"fr-expanded\");var n=g.$tb.find(\".fr-btn-active-popup\");h(n[0]).removeClass(\"fr-btn-active-popup\")}}(t))}g.events.$on(h(r),\"\".concat(g._mouseup,\" resize keydown\"),o,!0),g.opts.iframe&&g.events.$on(g.$win,g._mouseup,o,!0),g.node.hasClass(t.get(0),\"fr-popup\")?h.merge(s,t.find(\".fr-btn\").toArray()):h.merge(a,t.find(\".fr-btn\").toArray()),g.tooltip.bind(t,\".fr-btn, .fr-title\",e)},refresh:function N(e){var t,n=e.parents(\".fr-popup, .fr-toolbar\").data(\"instance\")||g,r=e.data(\"cmd\");g.node.hasClass(e.get(0),\"fr-dropdown\")?t=e.next():(e.removeClass(\"fr-active\"),e.attr(\"aria-pressed\")&&!e.hasClass(\"fr-active-tab\")&&e.attr(\"aria-pressed\",!1)),Y.COMMANDS[r]&&Y.COMMANDS[r].refresh?Y.COMMANDS[r].refresh.apply(n,[e,t]):g.refresh[r]&&n.refresh[r](e,t)},bulkRefresh:n,exec:c,click:t,hideActiveDropdowns:f,addButtons:function S(e){for(var t=0;t<e.length;t++)a.push(e[t])},getButtons:C,getPosition:function T(e){var t=e.offset().left,n=g.opts.toolbarBottom?10:e.outerHeight()-10;return{left:t,top:e.offset().top+n}}}},Y.ICON_TEMPLATES={font_awesome:'<i class=\"fa fa-[NAME]\" aria-hidden=\"true\"></i>',font_awesome_5:'<i class=\"fas fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5r:'<i class=\"far fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5l:'<i class=\"fal fa-[FA5NAME]\" aria-hidden=\"true\"></i>',font_awesome_5b:'<i class=\"fab fa-[FA5NAME]\" aria-hidden=\"true\"></i>',text:'<span style=\"text-align: center;\">[NAME]</span>',image:\"<img src=[SRC] alt=[ALT] />\",svg:'<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"[VIEWBOX]\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"[PATH]\"/></svg>',svgMultiplePath:'<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"[VIEWBOX]\" xmlns=\"http://www.w3.org/2000/svg\">[PATHS]</svg>',empty:\" \"},Y.ICONS={bold:{NAME:\"bold\",SVG_KEY:\"bold\"},italic:{NAME:\"italic\",SVG_KEY:\"italic\"},underline:{NAME:\"underline\",SVG_KEY:\"underline\"},strikeThrough:{NAME:\"strikethrough\",SVG_KEY:\"strikeThrough\"},subscript:{NAME:\"subscript\",SVG_KEY:\"subscript\"},superscript:{NAME:\"superscript\",SVG_KEY:\"superscript\"},cancel:{NAME:\"cancel\",SVG_KEY:\"cancel\"},color:{NAME:\"tint\",SVG_KEY:\"textColor\"},outdent:{NAME:\"outdent\",SVG_KEY:\"outdent\"},indent:{NAME:\"indent\",SVG_KEY:\"indent\"},undo:{NAME:\"rotate-left\",FA5NAME:\"undo\",SVG_KEY:\"undo\"},redo:{NAME:\"rotate-right\",FA5NAME:\"redo\",SVG_KEY:\"redo\"},insert:{NAME:\"insert\",SVG_KEY:\"insert\"},insertAll:{NAME:\"insertAll\",SVG_KEY:\"insertAll\"},insertHR:{NAME:\"minus\",SVG_KEY:\"horizontalLine\"},clearFormatting:{NAME:\"eraser\",SVG_KEY:\"clearFormatting\"},selectAll:{NAME:\"mouse-pointer\",SVG_KEY:\"selectAll\"},minimize:{NAME:\"minimize\",SVG_KEY:\"minimize\"},moreText:{NAME:\"ellipsis-v\",SVG_KEY:\"textMore\"},moreParagraph:{NAME:\"ellipsis-v\",SVG_KEY:\"paragraphMore\"},moreRich:{NAME:\"ellipsis-v\",SVG_KEY:\"insertMore\"},moreMisc:{NAME:\"ellipsis-v\",SVG_KEY:\"more\"}},Y.DefineIconTemplate=function(e,t){Y.ICON_TEMPLATES[e]=t},Y.DefineIcon=function(e,t){Y.ICONS[e]=t},Object.assign(Y.DEFAULTS,{iconsTemplate:\"svg\"}),Y.MODULES.icon=function(o){return{create:function i(n){var e=null,r=Y.ICONS[n];if(void 0!==r){var t=r.template||Y.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate;t&&t.apply&&(t=t.apply(o)),r.FA5NAME||(r.FA5NAME=r.NAME),\"svg\"!==t||r.PATH||(r.PATH=Y.SVG[r.SVG_KEY]||\"\"),t&&(t=Y.ICON_TEMPLATES[t])&&(e=t.replace(/\\[([a-zA-Z0-9]*)\\]/g,function(e,t){return\"NAME\"===t?r[t]||n:\"VIEWBOX\"===t?r[t]||\"0 0 24 24\":r[t]}))}return e||n},getTemplate:function r(e){var t=Y.ICONS[e],n=o.opts.iconsTemplate;return void 0!==t?n=t.template||Y.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate:n},getFileIcon:function n(e){var t=Y.FILEICONS[e];return void 0!==t?t:e}}},Y.SVG={imageTransformations:\"M3 5.8h2.8V3H3v2.8Zm0 7.6h2.8v-2.8H3v2.8Zm15.2 0H21v-2.8h-2.8v2.8Zm-7.6-7.6h2.8V3h-2.8v2.8Zm0 14.2h2.8v-2.8h-2.8V20ZM3 20h2.8v-2.8H3V20ZM18.2 5.8H21V3h-2.8v2.8Zm0 14.2H21v-2.8h-2.8V20ZM6.8 4.9h2.8V4H6.8v.9Zm0 14.2h2.8v-.9H6.8v.9Zm7.6-14.2h2.8V4h-2.8v.9Zm0 14.2h2.8v-.9h-2.8v.9ZM3.9 9.6h.9V6.8h-.9v2.8Zm15.2 0h.9V6.8h-.9v2.8ZM3.9 16.2h.9v-1.9h-.9v1.9Zm15.2 0h.9v-1.9h-.9v1.9ZM15.8 14l-2.2 2.3V14h2.2Zm0-6.8v6.2H15V8H9v7.3h4.1v.9H8.2v-9h7.6Zm-4.3 5.3v.8h-.8v-.8h.8Zm1.3-1.4v.8h-2.2v-.8h2.2Zm.6-1.5v.8h-2.7v-.8h2.7Z\",filestackIcon:\"M19 16.5 15 21v-4.5h4Zm0-1.125h-1.5V4.687h-11v14.625l7.5.001V21H5V3h14v12.375Zm-8-1.687v1.687H9.5v-1.687H11Zm2.5-2.813v1.687h-4v-1.687h4Zm1-2.813v1.687h-5V8.062h5Z\",add:\"M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6V13z\",advancedImageEditor:\"M3,17v2h6v-2H3z M3,5v2h10V5H3z M13,21v-2h8v-2h-8v-2h-2v6H13z M7,9v2H3v2h4v2h2V9H7z M21,13v-2H11v2H21z M15,9h2V7h4V5h-4  V3h-2V9z\",alignCenter:\"M9,18h6v-2H9V18z M6,11v2h12v-2H6z M3,6v2h18V6H3z\",alignJustify:\"M3,18h18v-2H3V18z M3,11v2h18v-2H3z M3,6v2h18V6H3z\",alignLeft:\"M3,18h6v-2H3V18z M3,11v2h12v-2H3z M3,6v2h18V6H3z\",alignRight:\"M15,18h6v-2h-6V18z M9,11v2h12v-2H9z M3,6v2h18V6H3z\",anchors:\"M16,4h-4H8C6.9,4,6,4.9,6,6v4v10l6-2.6l6,2.6V10V6C18,4.9,17.1,4,16,4z M16,17l-4-1.8L8,17v-7V6h4h4v4V17z\",autoplay:\"M 7.570312 0.292969 C 7.542969 0.292969 7.515625 0.292969 7.488281 0.296875 C 7.203125 0.324219 6.984375 0.539062 6.980469 0.792969 L 6.925781 3.535156 C 2.796875 3.808594 -0.0078125 6.425781 -0.0859375 10.09375 C -0.121094 11.96875 0.710938 13.6875 2.265625 14.921875 C 3.769531 16.117188 5.839844 16.796875 8.097656 16.828125 C 8.140625 16.828125 12.835938 16.898438 13.035156 16.886719 C 15.171875 16.796875 17.136719 16.128906 18.558594 15.003906 C 20.066406 13.816406 20.882812 12.226562 20.917969 10.40625 C 20.960938 8.410156 20.023438 6.605469 18.289062 5.335938 C 18.214844 5.277344 18.128906 5.230469 18.035156 5.203125 C 17.636719 5.074219 17.222656 5.199219 17 5.476562 L 15.546875 7.308594 C 15.304688 7.609375 15.363281 8.007812 15.664062 8.265625 C 16.351562 8.851562 16.707031 9.625 16.6875 10.5 C 16.652344 12.25 15.070312 13.390625 12.757812 13.535156 C 12.59375 13.539062 8.527344 13.472656 8.164062 13.464844 C 5.703125 13.429688 4.101562 12.191406 4.140625 10.3125 C 4.175781 8.570312 5.132812 7.46875 6.847656 7.199219 L 6.796875 9.738281 C 6.792969 9.992188 7 10.214844 7.285156 10.253906 C 7.3125 10.257812 7.339844 10.257812 7.367188 10.257812 C 7.503906 10.261719 7.632812 10.222656 7.738281 10.148438 L 14.039062 5.785156 C 14.171875 5.691406 14.253906 5.558594 14.253906 5.410156 C 14.257812 5.261719 14.1875 5.125 14.058594 5.027344 L 7.941406 0.414062 C 7.835938 0.335938 7.707031 0.292969 7.570312 0.292969 \",back:\"M20 11L7.83 11 11.425 7.405 10.01 5.991 5.416 10.586 5.414 10.584 4 11.998 4.002 12 4 12.002 5.414 13.416 5.416 13.414 10.01 18.009 11.425 16.595 7.83 13 20 13 20 13 20 11 20 11Z\",backgroundColor:\"M9.91752,12.24082l7.74791-5.39017,1.17942,1.29591-6.094,7.20747L9.91752,12.24082M7.58741,12.652l4.53533,4.98327a.93412.93412,0,0,0,1.39531-.0909L20.96943,8.7314A.90827.90827,0,0,0,20.99075,7.533l-2.513-2.76116a.90827.90827,0,0,0-1.19509-.09132L7.809,11.27135A.93412.93412,0,0,0,7.58741,12.652ZM2.7939,18.52772,8.41126,19.5l1.47913-1.34617-3.02889-3.328Z\",blockquote:\"M10.31788,5l.93817,1.3226A12.88271,12.88271,0,0,0,8.1653,9.40125a5.54242,5.54242,0,0,0-.998,3.07866v.33733q.36089-.04773.66067-.084a4.75723,4.75723,0,0,1,.56519-.03691,2.87044,2.87044,0,0,1,2.11693.8427,2.8416,2.8416,0,0,1,.8427,2.09274,3.37183,3.37183,0,0,1-.8898,2.453A3.143,3.143,0,0,1,8.10547,19,3.40532,3.40532,0,0,1,5.375,17.7245,4.91156,4.91156,0,0,1,4.30442,14.453,9.3672,9.3672,0,0,1,5.82051,9.32933,14.75716,14.75716,0,0,1,10.31788,5Zm8.39243,0,.9369,1.3226a12.88289,12.88289,0,0,0-3.09075,3.07865,5.54241,5.54241,0,0,0-.998,3.07866v.33733q.33606-.04773.63775-.084a4.91773,4.91773,0,0,1,.58938-.03691,2.8043,2.8043,0,0,1,2.1042.83,2.89952,2.89952,0,0,1,.80578,2.10547,3.42336,3.42336,0,0,1-.86561,2.453A3.06291,3.06291,0,0,1,16.49664,19,3.47924,3.47924,0,0,1,13.742,17.7245,4.846,4.846,0,0,1,12.64721,14.453,9.25867,9.25867,0,0,1,14.17476,9.3898,15.26076,15.26076,0,0,1,18.71031,5Z\",bold:\"M15.25,11.8h0A3.68,3.68,0,0,0,17,9a3.93,3.93,0,0,0-3.86-4H6.65V19h7a3.74,3.74,0,0,0,3.7-3.78V15.1A3.64,3.64,0,0,0,15.25,11.8ZM8.65,7h4.2a2.09,2.09,0,0,1,2,1.3,2.09,2.09,0,0,1-1.37,2.61,2.23,2.23,0,0,1-.63.09H8.65Zm4.6,10H8.65V13h4.6a2.09,2.09,0,0,1,2,1.3,2.09,2.09,0,0,1-1.37,2.61A2.23,2.23,0,0,1,13.25,17Z\",cancel:\"M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\",cellBackground:\"M16.6,12.4L7.6,3.5L6.2,4.9l2.4,2.4l-5.2,5.2c-0.6,0.6-0.6,1.5,0,2.1l5.5,5.5c0.3,0.3,0.7,0.4,1.1,0.4s0.8-0.1,1.1-0.4  l5.5-5.5C17.2,14,17.2,13,16.6,12.4z M5.2,13.5L10,8.7l4.8,4.8H5.2z M19,15c0,0-2,2.2-2,3.5c0,1.1,0.9,2,2,2s2-0.9,2-2  C21,17.2,19,15,19,15z\",cellBorderColor:\"M22,22H2v2h20V22z\",cellOptions:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M9.5,6.5h5V9h-5V6.5z M8,17.5H4  c-0.3,0-0.5-0.2-0.5-0.4c0,0,0,0,0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M8,9H3.5V7c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0,0H8V9z   M14.5,17.5h-5V15h5V17.5z M20.5,17c0,0.3-0.2,0.5-0.4,0.5c0,0,0,0,0,0H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9H16V6.5h4  c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0V9z\",cellStyle:\"M20,19.9l0.9,3.6l-3.2-1.9l-3.3,1.9l0.8-3.6L12.3,17h3.8l1.7-3.5l1.4,3.5H23L20,19.9z M20,5H4C2.9,5,2,5.9,2,7v10  c0,1.1,0.9,2,2,2h7.5l-0.6-0.6L10,17.5H9.5V15h5.4l1.1-2.3v-2.2h4.5v3H20l0.6,1.5H22V7C22,5.9,21.1,5,20,5z M3.5,7  c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0.1,0h4V9H3.5V7z M3.5,10.5H8v3H3.5V10.5z M4,17.5c-0.3,0-0.5-0.2-0.5-0.4c0,0,0,0,0-0.1v-2H8v2.5H4  z M14.5,9h-5V6.5h5V9z M20.5,9H16V6.5h4c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0.1V9z\",clearFormatting:\"M11.48,10.09l-1.2-1.21L8.8,7.41,6.43,5,5.37,6.1,8.25,9,4.66,19h2l1.43-4h5.14l1.43,4h2l-.89-2.51L18.27,19l1.07-1.06L14.59,13.2ZM8.8,13l.92-2.56L12.27,13Zm.56-7.15L9.66,5h2l1.75,4.9Z\",close:\"M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\",codeView:\"M9.4,16.6,4.8,12,9.4,7.4,8,6,2,12l6,6Zm5.2,0L19.2,12,14.6,7.4,16,6l6,6-6,6Z\",cogs:\"M18.877 12.907a6.459 6.459 0 0 0 0 -1.814l1.952 -1.526a0.468 0.468 0 0 0 0.111 -0.593l-1.851 -3.2a0.461 0.461 0 0 0 -0.407 -0.231 0.421 0.421 0 0 0 -0.157 0.028l-2.3 0.925a6.755 6.755 0 0 0 -1.563 -0.907l-0.352 -2.452a0.451 0.451 0 0 0 -0.453 -0.388h-3.7a0.451 0.451 0 0 0 -0.454 0.388L9.347 5.588A7.077 7.077 0 0 0 7.783 6.5l-2.3 -0.925a0.508 0.508 0 0 0 -0.166 -0.028 0.457 0.457 0 0 0 -0.4 0.231l-1.851 3.2a0.457 0.457 0 0 0 0.111 0.593l1.952 1.526A7.348 7.348 0 0 0 5.063 12a7.348 7.348 0 0 0 0.064 0.907L3.175 14.433a0.468 0.468 0 0 0 -0.111 0.593l1.851 3.2a0.461 0.461 0 0 0 0.407 0.231 0.421 0.421 0 0 0 0.157 -0.028l2.3 -0.925a6.74 6.74 0 0 0 1.564 0.907L9.7 20.864a0.451 0.451 0 0 0 0.454 0.388h3.7a0.451 0.451 0 0 0 0.453 -0.388l0.352 -2.452a7.093 7.093 0 0 0 1.563 -0.907l2.3 0.925a0.513 0.513 0 0 0 0.167 0.028 0.457 0.457 0 0 0 0.4 -0.231l1.851 -3.2a0.468 0.468 0 0 0 -0.111 -0.593Zm-0.09 2.029l-0.854 1.476 -2.117 -0.852 -0.673 0.508a5.426 5.426 0 0 1 -1.164 0.679l-0.795 0.323 -0.33 2.269h-1.7l-0.32 -2.269 -0.793 -0.322a5.3 5.3 0 0 1 -1.147 -0.662L8.2 15.56l-2.133 0.86 -0.854 -1.475 1.806 -1.411 -0.1 -0.847c-0.028 -0.292 -0.046 -0.5 -0.046 -0.687s0.018 -0.4 0.045 -0.672l0.106 -0.854L5.217 9.064l0.854 -1.475 2.117 0.851 0.673 -0.508a5.426 5.426 0 0 1 1.164 -0.679l0.8 -0.323 0.331 -2.269h1.7l0.321 2.269 0.792 0.322a5.3 5.3 0 0 1 1.148 0.661l0.684 0.526 2.133 -0.859 0.853 1.473 -1.8 1.421 0.1 0.847a5 5 0 0 1 0.046 0.679c0 0.193 -0.018 0.4 -0.045 0.672l-0.106 0.853ZM12 14.544A2.544 2.544 0 1 1 14.546 12 2.552 2.552 0 0 1 12 14.544Z\",columns:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.4  c0,0,0,0,0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M8,9H3.5V7c0-0.3,0.2-0.5,0.4-0.5c0,0,0,0,0,0H8V9z M20.5,17  c0,0.3-0.2,0.5-0.4,0.5c0,0,0,0,0,0H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9H16V6.5h4c0.3,0,0.5,0.2,0.5,0.4c0,0,0,0,0,0  V9z\",edit:\"M17,11.2L12.8,7L5,14.8V19h4.2L17,11.2z M7,16.8v-1.5l5.6-5.6l1.4,1.5l-5.6,5.6H7z M13.5,6.3l0.7-0.7c0.8-0.8,2.1-0.8,2.8,0  c0,0,0,0,0,0L18.4,7c0.8,0.8,0.8,2,0,2.8l-0.7,0.7L13.5,6.3z\",exitFullscreen:\"M5,16H8v3h2V14H5ZM8,8H5v2h5V5H8Zm6,11h2V16h3V14H14ZM16,8V5H14v5h5V8Z\",fileInsert:\"M 8.09375 12.75 L 5.90625 12.75 C 5.542969 12.75 5.25 12.394531 5.25 11.953125 L 5.25 6.375 L 2.851562 6.375 C 2.367188 6.375 2.121094 5.660156 2.464844 5.242188 L 6.625 0.1875 C 6.832031 -0.0585938 7.167969 -0.0585938 7.371094 0.1875 L 11.535156 5.242188 C 11.878906 5.660156 11.632812 6.375 11.148438 6.375 L 8.75 6.375 L 8.75 11.953125 C 8.75 12.394531 8.457031 12.75 8.09375 12.75 Z M 14 12.484375 L 14 16.203125 C 14 16.644531 13.707031 17 13.34375 17 L 0.65625 17 C 0.292969 17 0 16.644531 0 16.203125 L 0 12.484375 C 0 12.042969 0.292969 11.6875 0.65625 11.6875 L 4.375 11.6875 L 4.375 11.953125 C 4.375 12.980469 5.0625 13.8125 5.90625 13.8125 L 8.09375 13.8125 C 8.9375 13.8125 9.625 12.980469 9.625 11.953125 L 9.625 11.6875 L 13.34375 11.6875 C 13.707031 11.6875 14 12.042969 14 12.484375 Z M 10.609375 15.40625 C 10.609375 15.039062 10.363281 14.742188 10.0625 14.742188 C 9.761719 14.742188 9.515625 15.039062 9.515625 15.40625 C 9.515625 15.773438 9.761719 16.070312 10.0625 16.070312 C 10.363281 16.070312 10.609375 15.773438 10.609375 15.40625 Z M 12.359375 15.40625 C 12.359375 15.039062 12.113281 14.742188 11.8125 14.742188 C 11.511719 14.742188 11.265625 15.039062 11.265625 15.40625 C 11.265625 15.773438 11.511719 16.070312 11.8125 16.070312 C 12.113281 16.070312 12.359375 15.773438 12.359375 15.40625 Z M 12.359375 15.40625 \",fileManager:\"M 0 5.625 L 20.996094 5.625 L 21 15.75 C 21 16.371094 20.410156 16.875 19.6875 16.875 L 1.3125 16.875 C 0.585938 16.875 0 16.371094 0 15.75 Z M 0 5.625 M 21 4.5 L 0 4.5 L 0 2.25 C 0 1.628906 0.585938 1.125 1.3125 1.125 L 6.921875 1.125 C 7.480469 1.125 8.015625 1.316406 8.40625 1.652344 L 9.800781 2.847656 C 10.195312 3.183594 10.730469 3.375 11.289062 3.375 L 19.6875 3.375 C 20.414062 3.375 21 3.878906 21 4.5 Z M 21 4.5\",markdown:\"M5.55006 17.75V7.35L8.96006 16.89H10.7101L14.2301 7.37V14.0729C14.3951 14.1551 14.5499 14.265 14.6875 14.4026L14.7001 14.4151V11.64C14.7001 10.8583 15.2127 10.1963 15.9201 9.97171V5H13.6801L10.0401 14.86L6.51006 5H4.00006V17.75H5.55006ZM17.2001 11.64C17.2001 11.2258 16.8643 10.89 16.4501 10.89C16.0359 10.89 15.7001 11.2258 15.7001 11.64V16.8294L13.9804 15.1097C13.6875 14.8168 13.2126 14.8168 12.9197 15.1097C12.6269 15.4026 12.6269 15.8775 12.9197 16.1703L15.9197 19.1703C16.2126 19.4632 16.6875 19.4632 16.9804 19.1703L19.9804 16.1703C20.2733 15.8775 20.2733 15.4026 19.9804 15.1097C19.6875 14.8168 19.2126 14.8168 18.9197 15.1097L17.2001 16.8294V11.64Z\",fontAwesome:\"M18.99018,13.98212V7.52679c-.08038-1.21875-1.33929-.683-1.33929-.683-2.933,1.39282-4.36274.61938-5.85938.15625a6.23272,6.23272,0,0,0-2.79376-.20062l-.00946.004A1.98777,1.98777,0,0,0,7.62189,5.106a.984.984,0,0,0-.17517-.05432c-.02447-.0055-.04882-.01032-.0736-.0149A.9565.9565,0,0,0,7.1908,5H6.82539a.9565.9565,0,0,0-.18232.0368c-.02472.00458-.04907.0094-.07348.01484a.985.985,0,0,0-.17523.05438,1.98585,1.98585,0,0,0-.573,3.49585v9.394A1.004,1.004,0,0,0,6.82539,19H7.1908a1.00406,1.00406,0,0,0,1.00409-1.00409V15.52234c3.64221-1.09827,5.19709.64282,7.09888.57587a5.57291,5.57291,0,0,0,3.25446-1.05805A1.2458,1.2458,0,0,0,18.99018,13.98212Z\",fontFamily:\"M16,19h2L13,5H11L6,19H8l1.43-4h5.14Zm-5.86-6L12,7.8,13.86,13Z\",fontSize:\"M20.75,19h1.5l-3-10h-1.5l-3,10h1.5L17,16.5h3Zm-3.3-4,1.05-3.5L19.55,15Zm-5.7,4h2l-5-14h-2l-5,14h2l1.43-4h5.14ZM5.89,13,7.75,7.8,9.61,13Z\",fullscreen:\"M7,14H5v5h5V17H7ZM5,10H7V7h3V5H5Zm12,7H14v2h5V14H17ZM14,5V7h3v3h2V5Z\",help:\"M11,17h2v2h-2V17z M12,5C9.8,5,8,6.8,8,9h2c0-1.1,0.9-2,2-2s2,0.9,2,2c0,2-3,1.7-3,5v1h2v-1c0-2.2,3-2.5,3-5  C16,6.8,14.2,5,12,5z\",horizontalLine:\"M5,12h14 M19,11H5v2h14V11z\",imageAltText:\"M19,7h-6v12h-2V7H5V5h6h2h6V7z\",imageCaption:\"M14.2,11l3.8,5H6l3-3.9l2.1,2.7L14,11H14.2z M8.5,11c0.8,0,1.5-0.7,1.5-1.5S9.3,8,8.5,8S7,8.7,7,9.5C7,10.3,7.7,11,8.5,11z   M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,8.8V6H4v12h16V8.8z M22,22H2v2h20V22z\",imageClass:\"M9.5,13.4l-2.9-2.9h3.8L12.2,7l1.4,3.5h3.8l-3,2.9l0.9,3.6L12,15.1L8.8,17L9.5,13.4z M22,6v12c0,1.1-0.9,2-2,2H4  c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,6H4v12h16V8.8V6z\",imageDisplay:\"M3,5h18v2H3V5z M13,9h8v2h-8V9z M13,13h8v2h-8V13z M3,17h18v2H3V17z M3,9h8v6H3V9z\",imageManager:\"M20,6h-7l-2-2H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M20,18H4V6h6.2l2,2H20V18z   M18,16l-3.8-5H14l-2.9,3.8L9,12.1L6,16H18z M10,9.5C10,8.7,9.3,8,8.5,8S7,8.7,7,9.5S7.7,11,8.5,11S10,10.3,10,9.5z\",imageSize:\"M16.9,4c-0.3,0-0.5,0.2-0.8,0.3L3.3,13c-0.9,0.6-1.1,1.9-0.5,2.8l2.2,3.3c0.4,0.7,1.2,1,2,0.8c0.3,0,0.5-0.2,0.8-0.3  L20.7,11c0.9-0.6,1.1-1.9,0.5-2.8l-2.2-3.3C18.5,4.2,17.7,3.9,16.9,4L16.9,4z M16.9,9.9L18.1,9l-2-2.9L17,5.6c0.1,0,0.1-0.1,0.2-0.1  c0.2,0,0.4,0,0.5,0.2L19.9,9c0.2,0.2,0.1,0.5-0.1,0.7L7,18.4c-0.1,0-0.1,0.1-0.2,0.1c-0.2,0-0.4,0-0.5-0.2L4.1,15  c-0.2-0.2-0.1-0.5,0.1-0.7L5,13.7l2,2.9l1.2-0.8l-2-2.9L7.5,12l1.1,1.7l1.2-0.8l-1.1-1.7l1.2-0.8l2,2.9l1.2-0.8l-2-2.9l1.2-0.8  l1.1,1.7l1.2-0.8l-1.1-1.7L14.9,7L16.9,9.9z\",indent:\"M3,9v6l3-3L3,9z M3,19h18v-2H3V19z M3,7h18V5H3V7z M9,11h12V9H9V11z M9,15h12v-2H9V15z\",inlineClass:\"M9.9,13.313A1.2,1.2,0,0,1,9.968,13H6.277l1.86-5.2,1.841,5.148A1.291,1.291,0,0,1,11.212,12h.426l-2.5-7h-2l-5,14h2l1.43-4H9.9Zm2.651,6.727a2.884,2.884,0,0,1-.655-2.018v-2.71A1.309,1.309,0,0,1,13.208,14h3.113a3.039,3.039,0,0,1,2,1.092s1.728,1.818,2.964,2.928a1.383,1.383,0,0,1,.318,1.931,1.44,1.44,0,0,1-.19.215l-3.347,3.31a1.309,1.309,0,0,1-1.832.258h0a1.282,1.282,0,0,1-.258-.257l-1.71-1.728Zm2.48-3.96a.773.773,0,1,0,.008,0Z\",inlineStyle:\"M11.88,15h.7l.7-1.7-3-8.3h-2l-5,14h2l1.4-4Zm-4.4-2,1.9-5.2,1.9,5.2ZM15.4,21.545l3.246,1.949-.909-3.637L20.72,17H16.954l-1.429-3.506L13.837,17H10.071l2.857,2.857-.779,3.637Z\",insert:\"M13.889,11.611c-0.17,0.17-0.443,0.17-0.612,0l-3.189-3.187l-3.363,3.36c-0.171,0.171-0.441,0.171-0.612,0c-0.172-0.169-0.172-0.443,0-0.611l3.667-3.669c0.17-0.17,0.445-0.172,0.614,0l3.496,3.493C14.058,11.167,14.061,11.443,13.889,11.611 M18.25,10c0,4.558-3.693,8.25-8.25,8.25c-4.557,0-8.25-3.692-8.25-8.25c0-4.557,3.693-8.25,8.25-8.25C14.557,1.75,18.25,5.443,18.25,10 M17.383,10c0-4.07-3.312-7.382-7.383-7.382S2.618,5.93,2.618,10S5.93,17.381,10,17.381S17.383,14.07,17.383,10\",insertEmbed:\"M20.73889,15.45929a3.4768,3.4768,0,0,0-5.45965-.28662L9.5661,12.50861a3.49811,3.49811,0,0,0-.00873-1.01331l5.72174-2.66809a3.55783,3.55783,0,1,0-.84527-1.81262L8.70966,9.6839a3.50851,3.50851,0,1,0,.0111,4.63727l5.7132,2.66412a3.49763,3.49763,0,1,0,6.30493-1.526ZM18.00745,5.01056A1.49993,1.49993,0,1,1,16.39551,6.3894,1.49994,1.49994,0,0,1,18.00745,5.01056ZM5.99237,13.49536a1.49989,1.49989,0,1,1,1.61194-1.37878A1.49982,1.49982,0,0,1,5.99237,13.49536Zm11.78211,5.494a1.49993,1.49993,0,1,1,1.61193-1.37885A1.49987,1.49987,0,0,1,17.77448,18.98932Z\",insertFile:\"M7,3C5.9,3,5,3.9,5,5v14c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V7.6L14.4,3H7z M17,19H7V5h6v4h4V19z\",insertImage:\"M14.2,11l3.8,5H6l3-3.9l2.1,2.7L14,11H14.2z M8.5,11c0.8,0,1.5-0.7,1.5-1.5S9.3,8,8.5,8S7,8.7,7,9.5C7,10.3,7.7,11,8.5,11z   M22,6v12c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,8.8V6H4v12h16V8.8z\",insertLink:\"M11,17H7A5,5,0,0,1,7,7h4V9H7a3,3,0,0,0,0,6h4ZM17,7H13V9h4a3,3,0,0,1,0,6H13v2h4A5,5,0,0,0,17,7Zm-1,4H8v2h8Z\",insertMore:\"M16.5,13h-6v6h-2V13h-6V11h6V5h2v6h6Zm5,4.5A1.5,1.5,0,1,1,20,16,1.5,1.5,0,0,1,21.5,17.5Zm0-4A1.5,1.5,0,1,1,20,12,1.5,1.5,0,0,1,21.5,13.5Zm0-4A1.5,1.5,0,1,1,20,8,1.5,1.5,0,0,1,21.5,9.5Z\",insertTable:\"M20,5H4C2.9,5,2,5.9,2,7v2v1.5v3V15v2c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2v-2v-1.5v-3V9V7C22,5.9,21.1,5,20,5z M9.5,13.5v-3  h5v3H9.5z M14.5,15v2.5h-5V15H14.5z M9.5,9V6.5h5V9H9.5z M3.5,7c0-0.3,0.2-0.5,0.5-0.5h4V9H3.5V7z M3.5,10.5H8v3H3.5V10.5z M3.5,17  v-2H8v2.5H4C3.7,17.5,3.5,17.3,3.5,17z M20.5,17c0,0.3-0.2,0.5-0.5,0.5h-4V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M16,9V6.5h4  c0.3,0,0.5,0.2,0.5,0.5v2H16z\",insertVideo:\"M15,8v8H5V8H15m2,2.5V7a1,1,0,0,0-1-1H4A1,1,0,0,0,3,7V17a1,1,0,0,0,1,1H16a1,1,0,0,0,1-1V13.5l2.29,2.29A1,1,0,0,0,21,15.08V8.91a1,1,0,0,0-1.71-.71Z\",upload:\"M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\",uploadFiles:\"M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\",italic:\"M11.76,9h2l-2.2,10h-2Zm1.68-4a1,1,0,1,0,1,1,1,1,0,0,0-1-1Z\",search:\"M15.5 14h-0.79l-0.28 -0.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09 -0.59 4.23 -1.57l0.27 0.28v0.79l5 4.99L20.49 19l-4.99 -5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\",lineHeight:\"M6.25,7h2.5L5.25,3.5,1.75,7h2.5V17H1.75l3.5,3.5L8.75,17H6.25Zm4-2V7h12V5Zm0,14h12V17h-12Zm0-6h12V11h-12Z\",linkStyles:\"M19,17.9l0.9,3.6l-3.2-1.9l-3.3,1.9l0.8-3.6L11.3,15h3.8l1.7-3.5l1.4,3.5H22L19,17.9z M20,12c0,0.3-0.1,0.7-0.2,1h2.1  c0.1-0.3,0.1-0.6,0.1-1c0-2.8-2.2-5-5-5h-4v2h4C18.7,9,20,10.3,20,12z M14.8,11H8v2h3.3h2.5L14.8,11z M9.9,16.4L8.5,15H7  c-1.7,0-3-1.3-3-3s1.3-3,3-3h4V7H7c-2.8,0-5,2.2-5,5s2.2,5,5,5h3.5L9.9,16.4z\",mention:\"M12.4,5c-4.1,0-7.5,3.4-7.5,7.5S8.3,20,12.4,20h3.8v-1.5h-3.8c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6v1.1  c0,0.6-0.5,1.2-1.1,1.2s-1.1-0.6-1.1-1.2v-1.1c0-2.1-1.7-3.8-3.8-3.8s-3.7,1.7-3.7,3.8s1.7,3.8,3.8,3.8c1,0,2-0.4,2.7-1.1  c0.5,0.7,1.3,1.1,2.2,1.1c1.5,0,2.6-1.2,2.6-2.7v-1.1C19.9,8.4,16.6,5,12.4,5z M12.4,14.7c-1.2,0-2.3-1-2.3-2.2s1-2.3,2.3-2.3  s2.3,1,2.3,2.3S13.6,14.7,12.4,14.7z\",minimize:\"M5,12h14 M19,11H5v2h14V11z\",more:\"M13.5,17c0,0.8-0.7,1.5-1.5,1.5s-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5S13.5,16.2,13.5,17z M13.5,12c0,0.8-0.7,1.5-1.5,1.5 s-1.5-0.7-1.5-1.5s0.7-1.5,1.5-1.5S13.5,11.2,13.5,12z M13.5,7c0,0.8-0.7,1.5-1.5,1.5S10.5,7.8,10.5,7s0.7-1.5,1.5-1.5 S13.5,6.2,13.5,7z\",openLink:\"M17,17H7V7h3V5H7C6,5,5,6,5,7v10c0,1,1,2,2,2h10c1,0,2-1,2-2v-3h-2V17z M14,5v2h1.6l-5.8,5.8l1.4,1.4L17,8.4V10h2V5H14z\",orderedList:\"M2.5,16h2v.5h-1v1h1V18h-2v1h3V15h-3Zm1-7h1V5h-2V6h1Zm-1,2H4.3L2.5,13.1V14h3V13H3.7l1.8-2.1V10h-3Zm5-5V8h14V6Zm0,12h14V16H7.5Zm0-5h14V11H7.5Z\",outdent:\"M3,12l3,3V9L3,12z M3,19h18v-2H3V19z M3,7h18V5H3V7z M9,11h12V9H9V11z M9,15h12v-2H9V15z\",pageBreaker:\"M3,9v6l3-3L3,9z M21,9H8V4h2v3h9V4h2V9z M21,20h-2v-3h-9v3H8v-5h13V20z M11,13H8v-2h3V13z M16,13h-3v-2h3V13z M21,13h-3v-2  h3V13z\",paragraphFormat:\"M10.15,5A4.11,4.11,0,0,0,6.08,8.18,4,4,0,0,0,10,13v6h2V7h2V19h2V7h2V5ZM8,9a2,2,0,0,1,2-2v4A2,2,0,0,1,8,9Z\",paragraphMore:\"M7.682,5a4.11,4.11,0,0,0-4.07,3.18,4,4,0,0,0,3.11,4.725h0l.027.005a3.766,3.766,0,0,0,.82.09v6h2V7h2V19h2V7h2V5ZM5.532,9a2,2,0,0,1,2-2v4A2,2,0,0,1,5.532,9Zm14.94,8.491a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,17.491Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,13.491Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.472,9.491Z\",paragraphStyle:\"M4,9c0-1.1,0.9-2,2-2v4C4.9,11,4,10.1,4,9z M16.7,20.5l3.2,1.9L19,18.8l3-2.9h-3.7l-1.4-3.5L15.3,16h-3.8l2.9,2.9l-0.9,3.6  L16.7,20.5z M10,17.4V19h1.6L10,17.4z M6.1,5c-1.9,0-3.6,1.3-4,3.2c-0.5,2.1,0.8,4.2,2.9,4.7c0,0,0,0,0,0h0.2C5.5,13,5.8,13,6,13v6  h2V7h2v7h2V7h2V5H6.1z\",pdfExport:\"M7,3C5.9,3,5,3.9,5,5v14c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V7.6L14.4,3H7z M17,19H7V5h6v4h4V19z M16.3,13.5  c-0.2-0.6-1.1-0.8-2.6-0.8c-0.1,0-0.1,0-0.2,0c-0.3-0.3-0.8-0.9-1-1.2c-0.2-0.2-0.3-0.3-0.4-0.6c0.2-0.7,0.2-1,0.3-1.5  c0.1-0.9,0-1.6-0.2-1.8c-0.4-0.2-0.7-0.2-0.9-0.2c-0.1,0-0.3,0.2-0.7,0.7c-0.2,0.7-0.1,1.8,0.6,2.8c-0.2,0.8-0.7,1.6-1,2.4  c-0.8,0.2-1.5,0.7-1.9,1.1c-0.7,0.7-0.9,1.1-0.7,1.6c0,0.3,0.2,0.6,0.7,0.6c0.3-0.1,0.3-0.2,0.7-0.3c0.6-0.3,1.2-1.7,1.7-2.4  c0.8-0.2,1.7-0.3,2-0.3c0.1,0,0.3,0,0.6,0c0.8,0.8,1.2,1.1,1.8,1.2c0.1,0,0.2,0,0.3,0c0.3,0,0.8-0.1,1-0.6  C16.4,14.1,16.4,13.9,16.3,13.5z M8.3,15.7c-0.1,0.1-0.2,0.1-0.2,0.1c0-0.1,0-0.3,0.6-0.8c0.2-0.2,0.6-0.3,0.9-0.7  C9,15,8.6,15.5,8.3,15.7z M11.3,9c0-0.1,0.1-0.2,0.1-0.2S11.6,9,11.5,10c0,0.1,0,0.3-0.1,0.7C11.3,10.1,11,9.5,11.3,9z M10.9,13.1  c0.2-0.6,0.6-1,0.7-1.5c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.2,0.3,0.7,0.7,0.9C12.2,12.8,11.6,13,10.9,13.1z M15.2,14.1  c-0.1,0-0.1,0-0.2,0c-0.2,0-0.7-0.2-1-0.7c1.1,0,1.6,0.2,1.6,0.6C15.5,14.1,15.4,14.1,15.2,14.1z\",print:\"M16.1,17c0-0.6,0.4-1,1-1c0.6,0,1,0.4,1,1s-0.4,1-1,1C16.5,18,16.1,17.6,16.1,17z M22,15v4c0,1.1-0.9,2-2,2H4  c-1.1,0-2-0.9-2-2v-4c0-1.1,0.9-2,2-2h1V5c0-1.1,0.9-2,2-2h7.4L19,7.6V13h1C21.1,13,22,13.9,22,15z M7,13h10V9h-4V5H7V13z M20,15H4  v4h16V15z\",redo:\"M13.6,9.4c1.7,0.3,3.2,0.9,4.6,2L21,8.5v7h-7l2.7-2.7C13,10.1,7.9,11,5.3,14.7c-0.2,0.3-0.4,0.5-0.5,0.8L3,14.6  C5.1,10.8,9.3,8.7,13.6,9.4z\",removeTable:\"M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\",insertAll:\"M 9.25 12 L 6.75 12 C 6.335938 12 6 11.664062 6 11.25 L 6 6 L 3.257812 6 C 2.703125 6 2.425781 5.328125 2.820312 4.933594 L 7.570312 0.179688 C 7.804688 -0.0546875 8.191406 -0.0546875 8.425781 0.179688 L 13.179688 4.933594 C 13.574219 5.328125 13.296875 6 12.742188 6 L 10 6 L 10 11.25 C 10 11.664062 9.664062 12 9.25 12 Z M 16 11.75 L 16 15.25 C 16 15.664062 15.664062 16 15.25 16 L 0.75 16 C 0.335938 16 0 15.664062 0 15.25 L 0 11.75 C 0 11.335938 0.335938 11 0.75 11 L 5 11 L 5 11.25 C 5 12.214844 5.785156 13 6.75 13 L 9.25 13 C 10.214844 13 11 12.214844 11 11.25 L 11 11 L 15.25 11 C 15.664062 11 16 11.335938 16 11.75 Z M 12.125 14.5 C 12.125 14.15625 11.84375 13.875 11.5 13.875 C 11.15625 13.875 10.875 14.15625 10.875 14.5 C 10.875 14.84375 11.15625 15.125 11.5 15.125 C 11.84375 15.125 12.125 14.84375 12.125 14.5 Z M 14.125 14.5 C 14.125 14.15625 13.84375 13.875 13.5 13.875 C 13.15625 13.875 12.875 14.15625 12.875 14.5 C 12.875 14.84375 13.15625 15.125 13.5 15.125 C 13.84375 15.125 14.125 14.84375 14.125 14.5 Z M 14.125 14.5 \",remove:\"M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\",replaceImage:\"M16,5v3H4v2h12v3l4-4L16,5z M8,19v-3h12v-2H8v-3l-4,4L8,19z\",row:\"M20,5H4C2.9,5,2,5.9,2,7v2v1.5v3V15v2c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2v-2v-1.5v-3V9V7C22,5.9,21.1,5,20,5z M16,6.5h4  c0.3,0,0.5,0.2,0.5,0.5v2H16V6.5z M9.5,6.5h5V9h-5V6.5z M3.5,7c0-0.3,0.2-0.5,0.5-0.5h4V9H3.5V7z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.5  v-2H8V17.5z M14.5,17.5h-5V15h5V17.5z M20.5,17c0,0.3-0.2,0.5-0.5,0.5h-4V15h4.5V17z\",selectAll:\"M5,7h2V5C5.9,5,5,5.9,5,7z M5,11h2V9H5V11z M9,19h2v-2H9V19z M5,11h2V9H5V11z M15,5h-2v2h2V5z M17,5v2h2C19,5.9,18.1,5,17,5  z M7,19v-2H5C5,18.1,5.9,19,7,19z M5,15h2v-2H5V15z M11,5H9v2h2V5z M13,19h2v-2h-2V19z M17,11h2V9h-2V11z M17,19c1.1,0,2-0.9,2-2h-2  V19z M17,11h2V9h-2V11z M17,15h2v-2h-2V15z M13,19h2v-2h-2V19z M13,7h2V5h-2V7z M9,15h6V9H9V15z M11,11h2v2h-2V11z\",smile:\"M11.991,3A9,9,0,1,0,21,12,8.99557,8.99557,0,0,0,11.991,3ZM12,19a7,7,0,1,1,7-7A6.99808,6.99808,0,0,1,12,19Zm3.105-5.2h1.503a4.94542,4.94542,0,0,1-9.216,0H8.895a3.57808,3.57808,0,0,0,6.21,0ZM7.5,9.75A1.35,1.35,0,1,1,8.85,11.1,1.35,1.35,0,0,1,7.5,9.75Zm6.3,0a1.35,1.35,0,1,1,1.35,1.35A1.35,1.35,0,0,1,13.8,9.75Z\",spellcheck:\"M19.1,13.6l-5.6,5.6l-2.7-2.7l-1.4,1.4l4.1,4.1l7-7L19.1,13.6z M10.8,13.7l2.7,2.7l0.8-0.8L10.5,5h-2l-5,14h2l1.4-4h2.6  L10.8,13.7z M9.5,7.8l1.9,5.2H7.6L9.5,7.8z\",star:\"M12.1,7.7l1,2.5l0.4,0.9h1h2.4l-2.1,2l-0.6,0.6l0.2,0.9l0.6,2.3l-2.2-1.3L12,15.2l-0.8,0.5L9,17l0.5-2.5l0.1-0.8L9,13.1  l-2-2h2.5h0.9l0.4-0.8L12.1,7.7 M12.2,4L9.5,9.6H3.4L8,14.2L6.9,20l5.1-3.1l5.3,3.1l-1.5-5.8l4.8-4.6h-6.1L12.2,4L12.2,4z\",strikeThrough:\"M3,12.20294H21v1.5H16.63422a3.59782,3.59782,0,0,1,.34942,1.5929,3.252,3.252,0,0,1-1.31427,2.6997A5.55082,5.55082,0,0,1,12.20251,19a6.4421,6.4421,0,0,1-2.62335-.539,4.46335,4.46335,0,0,1-1.89264-1.48816,3.668,3.668,0,0,1-.67016-2.15546V14.704h.28723v-.0011h.34149v.0011H9.02v.11334a2.18275,2.18275,0,0,0,.85413,1.83069,3.69,3.69,0,0,0,2.32836.67926,3.38778,3.38778,0,0,0,2.07666-.5462,1.73346,1.73346,0,0,0,.7013-1.46655,1.69749,1.69749,0,0,0-.647-1.43439,3.00525,3.00525,0,0,0-.27491-.17725H3ZM16.34473,7.05981A4.18163,4.18163,0,0,0,14.6236,5.5462,5.627,5.627,0,0,0,12.11072,5,5.16083,5.16083,0,0,0,8.74719,6.06213,3.36315,3.36315,0,0,0,7.44006,8.76855a3.22923,3.22923,0,0,0,.3216,1.42786h2.59668c-.08338-.05365-.18537-.10577-.25269-.16064a1.60652,1.60652,0,0,1-.65283-1.30036,1.79843,1.79843,0,0,1,.68842-1.5108,3.12971,3.12971,0,0,1,1.96948-.55243,3.04779,3.04779,0,0,1,2.106.6687,2.35066,2.35066,0,0,1,.736,1.83258v.11341h2.00317V9.17346A3.90013,3.90013,0,0,0,16.34473,7.05981Z\",subscript:\"M10.4,12l3.6,3.6L12.6,17L9,13.4L5.4,17L4,15.6L7.6,12L4,8.4L5.4,7L9,10.6L12.6,7L14,8.4L10.4,12z M18.31234,19.674  l1.06812-1.1465c0.196-0.20141,0.37093-0.40739,0.5368-0.6088c0.15975-0.19418,0.30419-0.40046,0.432-0.617  c0.11969-0.20017,0.21776-0.41249,0.29255-0.6334c0.07103-0.21492,0.10703-0.43986,0.10662-0.66621  c0.00297-0.28137-0.04904-0.56062-0.1531-0.82206c-0.09855-0.24575-0.25264-0.46534-0.45022-0.6416  c-0.20984-0.18355-0.45523-0.32191-0.72089-0.40646c-0.63808-0.19005-1.3198-0.17443-1.94851,0.04465  c-0.28703,0.10845-0.54746,0.2772-0.76372,0.49487c-0.20881,0.20858-0.37069,0.45932-0.47483,0.73548  c-0.10002,0.26648-0.15276,0.54838-0.15585,0.833l-0.00364,0.237H17.617l0.00638-0.22692  c0.00158-0.12667,0.01966-0.25258,0.05377-0.37458c0.03337-0.10708,0.08655-0.20693,0.15679-0.29437  c0.07105-0.08037,0.15959-0.14335,0.25882-0.1841c0.22459-0.08899,0.47371-0.09417,0.7018-0.01458  c0.0822,0.03608,0.15559,0.08957,0.21509,0.15679c0.06076,0.07174,0.10745,0.15429,0.13761,0.24333  c0.03567,0.10824,0.05412,0.22141,0.05469,0.33538c-0.00111,0.08959-0.0118,0.17881-0.0319,0.26612  c-0.02913,0.10428-0.07076,0.20465-0.124,0.29893c-0.07733,0.13621-0.1654,0.26603-0.26338,0.38823  c-0.13438,0.17465-0.27767,0.34226-0.42929,0.50217l-2.15634,2.35315V21H21v-1.326H18.31234z\",superscript:\"M10.4,12,14,15.6,12.6,17,9,13.4,5.4,17,4,15.6,7.6,12,4,8.4,5.4,7,9,10.6,12.6,7,14,8.4Zm8.91234-3.326,1.06812-1.1465c.196-.20141.37093-.40739.5368-.6088a4.85745,4.85745,0,0,0,.432-.617,3.29,3.29,0,0,0,.29255-.6334,2.11079,2.11079,0,0,0,.10662-.66621,2.16127,2.16127,0,0,0-.1531-.82206,1.7154,1.7154,0,0,0-.45022-.6416,2.03,2.03,0,0,0-.72089-.40646,3.17085,3.17085,0,0,0-1.94851.04465,2.14555,2.14555,0,0,0-.76372.49487,2.07379,2.07379,0,0,0-.47483.73548,2.446,2.446,0,0,0-.15585.833l-.00364.237H18.617L18.62338,5.25a1.45865,1.45865,0,0,1,.05377-.37458.89552.89552,0,0,1,.15679-.29437.70083.70083,0,0,1,.25882-.1841,1.00569,1.00569,0,0,1,.7018-.01458.62014.62014,0,0,1,.21509.15679.74752.74752,0,0,1,.13761.24333,1.08893,1.08893,0,0,1,.05469.33538,1.25556,1.25556,0,0,1-.0319.26612,1.34227,1.34227,0,0,1-.124.29893,2.94367,2.94367,0,0,1-.26338.38823,6.41629,6.41629,0,0,1-.42929.50217L17.19709,8.92642V10H22V8.674Z\",symbols:\"M15.77493,16.98885a8.21343,8.21343,0,0,0,1.96753-2.57651,7.34824,7.34824,0,0,0,.6034-3.07618A6.09092,6.09092,0,0,0,11.99515,5a6.13347,6.13347,0,0,0-4.585,1.79187,6.417,6.417,0,0,0-1.756,4.69207,6.93955,6.93955,0,0,0,.622,2.97415,8.06587,8.06587,0,0,0,1.949,2.53076H5.41452V19h5.54114v-.04331h-.00147V16.84107a5.82825,5.82825,0,0,1-2.2052-2.2352A6.40513,6.40513,0,0,1,7.97672,11.447,4.68548,4.68548,0,0,1,9.07785,8.19191a3.73232,3.73232,0,0,1,2.9173-1.22462,3.76839,3.76839,0,0,1,2.91241,1.21489,4.482,4.482,0,0,1,1.11572,3.154,6.71141,6.71141,0,0,1-.75384,3.24732,5.83562,5.83562,0,0,1-2.22357,2.25759v2.11562H13.0444V19h5.54108V16.98885Z\",tags:\"M8.9749 7.47489a1.5 1.5 0 1 1 -1.5 1.5A1.5 1.5 0 0 1 8.9749 7.47489Zm3.78866 -3.12713L16.5362 8.12041l0.33565 0.33564 2.77038 2.77038a2.01988 2.01988 0 0 1 0.59 1.42 1.95518 1.95518 0 0 1 -0.5854 1.40455l0.00044 0.00043 -5.59583 5.59583 -0.00043 -0.00044a1.95518 1.95518 0 0 1 -1.40455 0.5854 1.98762 1.98762 0 0 1 -1.41 -0.58L8.45605 16.87185l-0.33564 -0.33565L4.35777 12.77357a1.99576 1.99576 0 0 1 -0.59 -1.42V9.36358l0 -3.59582a2.00579 2.00579 0 0 1 2 -2l3.59582 0h1.98995A1.98762 1.98762 0 0 1 12.76356 4.34776ZM15.46186 9.866l-0.33564 -0.33564L11.36359 5.76776H5.76776v5.59583L9.866 15.46186l2.7794 2.7794 5.5878 -5.60385 -0.001 -0.001Z\",tableHeader:\"M20,5H4C2.9,5,2,5.9,2,7v10c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V7C22,5.9,21.1,5,20,5z M8,17.5H4c-0.3,0-0.5-0.2-0.5-0.4  l0,0V17v-2H8V17.5z M8,13.5H3.5v-3H8V13.5z M14.5,17.5h-5V15h5V17.5z M14.5,13.5h-5v-3h5V13.5z M20.5,17c0,0.3-0.2,0.5-0.4,0.5l0,0  H16V15h4.5V17z M20.5,13.5H16v-3h4.5V13.5z M20.5,9h-4.4H16h-1.5h-5H8H7.9H3.5V7c0-0.3,0.2-0.5,0.4-0.5l0,0h4l0,0h8.2l0,0H20  c0.3,0,0.5,0.2,0.5,0.4l0,0V9z\",tableFooter:\"M20,19H4a2.006,2.006,0,0,1-2-2V7A2.006,2.006,0,0,1,4,5H20a2.006,2.006,0,0,1,2,2V17A2.006,2.006,0,0,1,20,19ZM8,6.5H4a.458.458,0,0,0-.5.4h0V9H8Zm0,4H3.5v3H8Zm6.5-4h-5V9h5Zm0,4h-5v3h5Zm6-3.5a.458.458,0,0,0-.4-.5H16V9h4.5Zm0,3.5H16v3h4.5Zm0,4.5H3.5v2a.458.458,0,0,0,.4.5H20a.458.458,0,0,0,.5-.4h0Z\",tableStyle:\"M20.0171,19.89752l.9,3.6-3.2-1.9-3.3,1.9.8-3.6-2.9-2.9h3.8l1.7-3.5,1.4,3.5h3.8ZM20,5H4A2.00591,2.00591,0,0,0,2,7V17a2.00591,2.00591,0,0,0,2,2h7.49115l-.58826-.58826L9.99115,17.5H9.5V14.9975h5.36511L16,12.66089V10.5h4.5v3h-.52783l.599,1.4975H22V7A2.00591,2.00591,0,0,0,20,5ZM3.5,7A.4724.4724,0,0,1,4,6.5H8V9H3.5Zm0,3.5H8v3H3.5Zm.5,7a.4724.4724,0,0,1-.5-.5V15H8v2.5Zm10.5-4h-5v-3h5Zm0-4.5h-5V6.5h5Zm6,0H16V6.5h4a.4724.4724,0,0,1,.5.5Z\",textColor:\"M15.2,13.494s-3.6,3.9-3.6,6.3a3.65,3.65,0,0,0,7.3.1v-.1C18.9,17.394,15.2,13.494,15.2,13.494Zm-1.47-1.357.669-.724L12.1,5h-2l-5,14h2l1.43-4h2.943A24.426,24.426,0,0,1,13.726,12.137ZM11.1,7.8l1.86,5.2H9.244Z\",textMore:\"M13.55,19h2l-5-14h-2l-5,14h2l1.4-4h5.1Zm-5.9-6,1.9-5.2,1.9,5.2Zm12.8,4.5a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.45,17.5Zm0-4a1.5,1.5,0,1,1-1.5-1.5A1.5,1.5,0,0,1,20.45,13.5Zm0-4A1.5,1.5,0,1,1,18.95,8,1.5,1.5,0,0,1,20.45,9.5Z\",underline:\"M19,20v2H5V20Zm-3-6.785a4,4,0,0,1-5.74,3.4A3.75,3.75,0,0,1,8,13.085V5.005H6v8.21a6,6,0,0,0,8,5.44,5.851,5.851,0,0,0,4-5.65v-8H16ZM16,5v0h2V5ZM8,5H6v0H8Z\",undo:\"M10.4,9.4c-1.7,0.3-3.2,0.9-4.6,2L3,8.5v7h7l-2.7-2.7c3.7-2.6,8.8-1.8,11.5,1.9c0.2,0.3,0.4,0.5,0.5,0.8l1.8-0.9  C18.9,10.8,14.7,8.7,10.4,9.4z\",unlink:\"M14.4,11l1.6,1.6V11H14.4z M17,7h-4v1.9h4c1.7,0,3.1,1.4,3.1,3.1c0,1.3-0.8,2.4-1.9,2.8l1.4,1.4C21,15.4,22,13.8,22,12  C22,9.2,19.8,7,17,7z M2,4.3l3.1,3.1C3.3,8.1,2,9.9,2,12c0,2.8,2.2,5,5,5h4v-1.9H7c-1.7,0-3.1-1.4-3.1-3.1c0-1.6,1.2-2.9,2.8-3.1  L8.7,11H8v2h2.7l2.3,2.3V17h1.7l4,4l1.4-1.4L3.4,2.9L2,4.3z\",unorderedList:\"M4,10.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,10.5,4,10.5z M4,5.5C3.2,5.5,2.5,6.2,2.5,7  S3.2,8.5,4,8.5S5.5,7.8,5.5,7S4.8,5.5,4,5.5z M4,15.5c-0.8,0-1.5,0.7-1.5,1.5s0.7,1.5,1.5,1.5s1.5-0.7,1.5-1.5S4.8,15.5,4,15.5z   M7.5,6v2h14V6H7.5z M7.5,18h14v-2h-14V18z M7.5,13h14v-2h-14V13z\",verticalAlignBottom:\"M16,13h-3V3h-2v10H8l4,4L16,13z M3,19v2h18v-2H3z\",verticalAlignMiddle:\"M3,11v2h18v-2H3z M8,18h3v3h2v-3h3l-4-4L8,18z M16,6h-3V3h-2v3H8l4,4L16,6z\",verticalAlignTop:\"M8,11h3v10h2V11h3l-4-4L8,11z M21,5V3H3v2H21z\",filestackIconAdd:\"M21 16.75 16.985 21v-4.25H21ZM7.154 12.5c2.294 0 4.154 1.902 4.154 4.25S9.448 21 7.154 21C4.86 21 3 19.097 3 16.75s1.86-4.25 4.154-4.25Zm8.862 6.8V21H10.24a5.283 5.283 0 0 0 1.441-1.7h4.334ZM7.46 14.093h-.614a.215.215 0 0 0-.212.218v1.907H4.77a.215.215 0 0 0-.212.218v.628c0 .12.094.217.212.217h1.865v1.908c0 .12.095.217.212.217h.614a.214.214 0 0 0 .212-.217V17.28h1.865a.214.214 0 0 0 .212-.217v-.628a.215.215 0 0 0-.212-.218H7.673v-1.907a.215.215 0 0 0-.212-.218Zm5.647-.035v1.558h-.886a5.324 5.324 0 0 0-.615-1.558h1.501ZM21 4v11.616h-1.522V5.559H8.538v6.094a5.018 5.018 0 0 0-1.384-.216V4H21Zm-5.4 7.366v1.559h-4.015v-1.559h4.016Zm.97-2.691v1.559h-4.985v-1.56h4.985Z\",trackChanges:\"M17.2 20H12.4599L13.9938 19.2076L14.0305 19.1886L14.0616 19.1612C14.1036 19.1242 14.1373 19.0786 14.1603 19.0275C14.1806 18.9825 14.1923 18.9342 14.1948 18.885H14.2H14.3384L14.4364 18.7874L14.7049 18.52H15.45C15.5747 18.52 15.6942 18.4705 15.7823 18.3823C15.8705 18.2942 15.92 18.1746 15.92 18.05C15.92 17.9253 15.8705 17.8058 15.7823 17.7176C15.7351 17.6704 15.6789 17.6343 15.6177 17.6109L17.33 15.9056V19.87C17.33 19.8871 17.3266 19.904 17.3201 19.9197C17.3136 19.9355 17.304 19.9499 17.2919 19.9619C17.2799 19.974 17.2655 19.9836 17.2497 19.9901C17.234 19.9966 17.2171 20 17.2 20ZM4.13 20H11.2508C11.2396 19.9629 11.2337 19.9242 11.2337 19.885C11.2337 19.8133 11.2533 19.7431 11.29 19.6819L11.2739 19.6734L11.8838 18.52H5C4.87535 18.52 4.7558 18.4705 4.66766 18.3823C4.57952 18.2942 4.53 18.1746 4.53 18.05C4.53 17.9253 4.57952 17.8058 4.66766 17.7176C4.7558 17.6295 4.87535 17.58 5 17.58H12.3809L12.3925 17.5582L12.4187 17.5284C12.4558 17.4864 12.5014 17.4527 12.5525 17.4297C12.5836 17.4156 12.6163 17.4057 12.6498 17.4001C12.6522 17.3065 12.6877 17.2166 12.7503 17.1467L13 17.37C12.9902 17.381 12.9847 17.3952 12.9847 17.41C12.9847 17.4247 12.9902 17.439 13 17.45L14.13 18.55H14.2L19.09 13.68V13.6L17.99 12.5C17.979 12.4902 17.9647 12.4847 17.95 12.4847C17.9352 12.4847 17.921 12.4902 17.91 12.5L13 17.37L12.7641 17.1322L15.1759 14.74H5C4.87535 14.74 4.7558 14.6905 4.66766 14.6023C4.57952 14.5142 4.53 14.3946 4.53 14.27C4.53 14.1453 4.57952 14.0258 4.66766 13.9376C4.7558 13.8495 4.87535 13.8 5 13.8H15.45C15.5747 13.8 15.6942 13.8495 15.7823 13.9376C15.8169 13.9722 15.8454 14.0115 15.8675 14.0541L17.33 12.6034V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20ZM11.7889 20H11.8785C11.8902 19.9746 11.898 19.9475 11.9015 19.9197L11.8661 19.9866L11.8117 19.9578L13.84 18.91C13.8464 18.9044 13.8515 18.8974 13.855 18.8897C13.8585 18.8819 13.8603 18.8735 13.8603 18.865C13.8603 18.8565 13.8585 18.8481 13.855 18.8403C13.8515 18.8325 13.8464 18.8256 13.84 18.82L12.76 17.75C12.7544 17.7436 12.7474 17.7385 12.7397 17.735C12.7319 17.7315 12.7235 17.7297 12.715 17.7297C12.7065 17.7297 12.6981 17.7315 12.6903 17.735C12.6825 17.7385 12.6756 17.7436 12.67 17.75L11.57 19.83L11.5023 19.7942L11.58 19.85C11.5727 19.8602 11.5687 19.8724 11.5687 19.885C11.5687 19.8975 11.5727 19.9098 11.58 19.92L11.67 20H11.73L11.7642 19.9823L11.7889 20ZM13.1 4.65L16.6 8.15C16.6212 8.17232 16.6355 8.20028 16.6412 8.23051C16.6469 8.26075 16.6437 8.29199 16.6321 8.32048C16.6205 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5207 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8312 4.72925 12.8412 4.6995 12.8588 4.67429C12.8765 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9893 4.60315 13.0195 4.60884C13.0497 4.61453 13.0777 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60183 10.9735 6.54621C10.9534 6.49058 10.9224 6.43948 10.8825 6.39582C10.8425 6.35216 10.7944 6.31681 10.7408 6.29179C10.6871 6.26677 10.6291 6.25257 10.57 6.25H5C4.88239 6.25773 4.77251 6.3113 4.69397 6.39918C4.61543 6.48707 4.57451 6.60226 4.58 6.72C4.57451 6.83774 4.61543 6.95293 4.69397 7.04082C4.77251 7.12871 4.88239 7.18227 5 7.19H10.6C10.714 7.1774 10.8189 7.12173 10.8933 7.03438C10.9676 6.94702 11.0058 6.83457 11 6.72ZM11.1 8.14001H5C4.87535 8.14001 4.7558 8.18953 4.66766 8.27767C4.57952 8.36582 4.53 8.48536 4.53 8.61001C4.53 8.73467 4.57952 8.85421 4.66766 8.94236C4.7558 9.0305 4.87535 9.08001 5 9.08001H11.1C11.2247 9.08001 11.3442 9.0305 11.4323 8.94236C11.5205 8.85421 11.57 8.73467 11.57 8.61001C11.57 8.48536 11.5205 8.36582 11.4323 8.27767C11.3442 8.18953 11.2247 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8036 10.8536C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8036 10.1464C15.7098 10.0527 15.5826 10 15.45 10H5C4.86739 10 4.74021 10.0527 4.64645 10.1464C4.55268 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55268 10.7598 4.64645 10.8536C4.74021 10.9473 4.86739 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4986 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.4159 12.0552C11.3337 11.9673 11.2202 11.9152 11.1 11.91H5C4.94089 11.9126 4.88286 11.9268 4.82924 11.9518C4.77562 11.9768 4.72746 12.0122 4.68752 12.0558C4.64758 12.0995 4.61664 12.1506 4.59648 12.2062C4.57631 12.2618 4.56731 12.3209 4.57 12.38C4.56451 12.5004 4.60649 12.6181 4.6869 12.7079C4.76731 12.7976 4.87974 12.8523 5 12.86ZM11.1 16.63H5C4.87535 16.63 4.7558 16.5805 4.66766 16.4923C4.57952 16.4042 4.53 16.2846 4.53 16.16C4.53 16.0353 4.57952 15.9158 4.66766 15.8276C4.7558 15.7395 4.87535 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4323 15.8276C11.5205 15.9158 11.57 16.0353 11.57 16.16C11.57 16.2846 11.5205 16.4042 11.4323 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM18.8503 11.592C18.7991 11.6175 18.7545 11.6544 18.72 11.7L18.26 12.14C18.2501 12.151 18.2447 12.1652 18.2447 12.18C18.2447 12.1947 18.2501 12.209 18.26 12.22L19.37 13.32C19.381 13.3298 19.3952 13.3353 19.41 13.3353C19.4247 13.3353 19.439 13.3298 19.45 13.32L19.86 12.91C19.9057 12.867 19.9421 12.8151 19.967 12.7575C19.9919 12.6998 20.0047 12.6377 20.0047 12.575C20.0047 12.5122 19.9919 12.4501 19.967 12.3925C19.9421 12.3349 19.9057 12.283 19.86 12.24L19.31 11.7C19.2755 11.6544 19.2309 11.6175 19.1797 11.592C19.1285 11.5666 19.0721 11.5533 19.015 11.5533C18.9578 11.5533 18.9014 11.5666 18.8503 11.592Z\",showTrackChanges:\"M17.2421 13.6048C17.2631 13.6136 17.2841 13.6226 17.305 13.6317V9.29505H13.2626C13.1897 9.30481 13.1159 9.30481 13.043 9.29505C12.7532 9.21632 12.4953 9.04872 12.3056 8.81577C12.1158 8.58283 12.0037 8.29625 11.985 7.99627V4H4.12976C4.09534 4 4.06234 4.01368 4.038 4.03804C4.01367 4.0624 4 4.09543 4 4.12988V19.8552C4 19.8896 4.01367 19.9227 4.038 19.947C4.06234 19.9714 4.09534 19.9851 4.12976 19.9851H13.4875C13.0501 19.8216 12.6281 19.6155 12.2277 19.3686C11.8529 19.1551 11.4911 18.9196 11.1442 18.6632C11.0697 18.6152 10.9982 18.5628 10.9302 18.5065H4.99812C4.87371 18.5065 4.75438 18.457 4.66641 18.3689C4.57843 18.2809 4.529 18.1614 4.529 18.0369C4.529 17.9124 4.57843 17.7929 4.66641 17.7049C4.75438 17.6168 4.87371 17.5673 4.99812 17.5673H10.4396C10.4472 17.4488 10.4756 17.3324 10.5235 17.2235C10.5939 17.017 10.6761 16.8149 10.7694 16.6182H4.99812C4.87371 16.6182 4.75438 16.5687 4.66641 16.4807C4.57843 16.3926 4.529 16.2732 4.529 16.1487C4.529 16.0241 4.57843 15.9047 4.66641 15.8166C4.75438 15.7286 4.87371 15.6791 4.99812 15.6791H11.0867C11.1576 15.6791 11.2268 15.6952 11.2895 15.7253C11.5204 15.361 11.7938 15.027 12.1033 14.73H4.99812C4.87371 14.73 4.75438 14.6805 4.66641 14.5924C4.57843 14.5044 4.529 14.385 4.529 14.2604C4.529 14.1359 4.57843 14.0164 4.66641 13.9284C4.75438 13.8403 4.87371 13.7909 4.99812 13.7909H13.4434C13.9833 13.525 14.5656 13.3516 15.166 13.2795L15.1923 13.2763H15.2189H15.4925C16.0923 13.2609 16.6886 13.3728 17.2421 13.6048ZM13.0829 4.64939L16.5764 8.14613C16.5975 8.16843 16.6118 8.19636 16.6174 8.22657C16.6231 8.25677 16.62 8.28798 16.6084 8.31645C16.5968 8.34492 16.5773 8.36944 16.5521 8.38707C16.527 8.40471 16.4973 8.41471 16.4666 8.41587H13.043L12.8134 8.18609V4.75929C12.8146 4.72857 12.8246 4.69884 12.8422 4.67366C12.8598 4.64849 12.8843 4.62893 12.9128 4.61733C12.9412 4.60573 12.9724 4.60259 13.0026 4.60827C13.0328 4.61396 13.0607 4.62824 13.0829 4.64939ZM10.9869 6.71746C10.9896 6.65841 10.9806 6.59941 10.9604 6.54383C10.9403 6.48825 10.9094 6.4372 10.8696 6.39358C10.8297 6.34997 10.7816 6.31465 10.7281 6.28965C10.6746 6.26466 10.6167 6.25047 10.5577 6.2479H4.99813C4.88074 6.25562 4.77106 6.30914 4.69267 6.39694C4.61428 6.48475 4.57343 6.59983 4.57891 6.71746C4.57343 6.83509 4.61428 6.95017 4.69267 7.03798C4.77106 7.12579 4.88074 7.1793 4.99813 7.18702H10.5876C10.7014 7.17444 10.8061 7.11882 10.8803 7.03154C10.9545 6.94427 10.9927 6.83192 10.9869 6.71746ZM11.0867 8.13614H4.99812C4.87371 8.13614 4.75438 8.18561 4.66641 8.27367C4.57843 8.36173 4.529 8.48116 4.529 8.6057C4.529 8.73023 4.57843 8.84967 4.66641 8.93773C4.75438 9.02579 4.87371 9.07526 4.99812 9.07526H11.0867C11.2111 9.07526 11.3304 9.02579 11.4184 8.93773C11.5064 8.84967 11.5558 8.73023 11.5558 8.6057C11.5558 8.48116 11.5064 8.36173 11.4184 8.27367C11.3304 8.18561 11.2111 8.13614 11.0867 8.13614ZM4.99812 10.9935H15.4285C15.5609 10.9935 15.6878 10.9408 15.7814 10.8472C15.875 10.7535 15.9276 10.6264 15.9276 10.4939C15.9276 10.3614 15.875 10.2344 15.7814 10.1407C15.6878 10.047 15.5609 9.9944 15.4285 9.9944H4.99812C4.86576 9.9944 4.73883 10.047 4.64523 10.1407C4.55164 10.2344 4.49906 10.3614 4.49906 10.4939C4.49906 10.6264 4.55164 10.7535 4.64523 10.8472C4.73883 10.9408 4.86576 10.9935 4.99812 10.9935ZM4.99812 12.8517H11.0867C11.2076 12.844 11.3208 12.7898 11.4027 12.7004C11.4845 12.611 11.5287 12.4934 11.5259 12.3722C11.5286 12.252 11.4841 12.1355 11.402 12.0477C11.3199 11.9599 11.2067 11.9078 11.0867 11.9026H4.99812C4.93912 11.9052 4.8812 11.9194 4.82769 11.9444C4.77417 11.9694 4.7261 12.0047 4.68623 12.0483C4.64637 12.0919 4.61549 12.143 4.59536 12.1985C4.57523 12.2541 4.56625 12.3131 4.56893 12.3722C4.56345 12.4925 4.60535 12.6101 4.68561 12.6998C4.76587 12.7894 4.87809 12.844 4.99812 12.8517ZM19.97 17.4974C19.5787 16.5636 19.0431 15.6971 18.383 14.9298C18.0152 14.5351 17.5679 14.2233 17.0706 14.0148C16.5732 13.8064 16.0373 13.7062 15.4984 13.7209H15.2189C14.4787 13.8098 13.7684 14.0666 13.1423 14.4717C12.5162 14.8769 11.9906 15.4196 11.6057 16.0587C11.3211 16.4677 11.0959 16.9151 10.937 17.3875C10.9006 17.464 10.8817 17.5476 10.8817 17.6323C10.8817 17.717 10.9006 17.8006 10.937 17.877C11.0642 18.0428 11.2196 18.1849 11.3961 18.2967C11.7346 18.5476 12.0879 18.7778 12.4541 18.986C13.4096 19.5767 14.497 19.92 15.6182 19.9851C16.4392 20.0504 17.2632 19.9005 18.0088 19.5501C18.7544 19.1998 19.3959 18.661 19.8702 17.9869C19.9311 17.923 19.9729 17.8432 19.9905 17.7566C20.0082 17.67 20.0011 17.5801 19.97 17.4974ZM15.9775 19.1758C14.3849 19.068 12.8507 18.5331 11.5358 17.6273C11.5788 17.5678 11.6255 17.5111 11.6756 17.4574C12.3061 16.569 13.1295 15.8359 14.0832 15.3126C13.8003 15.7406 13.6785 16.2566 13.7417 16.7681C13.7676 17.0339 13.8465 17.2918 13.9737 17.5265C14.1009 17.7613 14.2739 17.9681 14.4823 18.1348C14.6907 18.3016 14.9304 18.4248 15.1872 18.4972C15.4441 18.5696 15.7128 18.5897 15.9775 18.5564C16.305 18.4971 16.6137 18.3609 16.8785 18.159C17.1432 17.9572 17.3564 17.6954 17.5005 17.3951C17.6446 17.0949 17.7156 16.7647 17.7077 16.4317C17.6997 16.0987 17.613 15.7723 17.4547 15.4793C17.2614 15.3391 17.0533 15.2235 16.8351 15.1339C17.0715 15.226 17.2966 15.3485 17.5046 15.4993C18.0049 15.8976 18.4424 16.3691 18.8022 16.898L18.8927 17.0137L18.8927 17.0137C19.0823 17.2564 19.2729 17.5004 19.4709 17.7072C18.5404 18.6311 17.288 19.1576 15.9775 19.1758ZM16.3168 15.769C16.2085 15.8106 16.1171 15.8873 16.0574 15.9869C15.9977 16.0865 15.9731 16.2032 15.9875 16.3185C15.9949 16.3856 16.0156 16.4505 16.0483 16.5096C16.081 16.5686 16.1251 16.6206 16.178 16.6624C16.2309 16.7042 16.2916 16.7351 16.3566 16.7532C16.4216 16.7714 16.4895 16.7764 16.5564 16.7681H16.6063C16.5618 16.9495 16.4637 17.1132 16.3248 17.238C16.186 17.3627 16.0127 17.4427 15.8278 17.4674H15.6481C15.4335 17.4396 15.2337 17.3427 15.0789 17.1913C14.924 17.04 14.8226 16.8423 14.7897 16.6282C14.7628 16.3782 14.8311 16.1271 14.981 15.9253C15.1305 15.7238 15.3504 15.5861 15.5968 15.5395C15.3446 15.5862 15.12 15.7284 14.9697 15.9364C14.8191 16.1448 14.7547 16.4034 14.7897 16.6582C14.8226 16.8723 14.924 17.0699 15.0789 17.2213C15.2337 17.3727 15.4335 17.4696 15.6481 17.4974H15.8377C16.0209 17.4708 16.1919 17.39 16.3289 17.2654C16.4658 17.1408 16.5625 16.978 16.6063 16.7981C16.7293 16.7633 16.8359 16.686 16.9072 16.5799C16.9785 16.4737 17.0098 16.3457 16.9956 16.2186C16.9882 16.1515 16.9675 16.0865 16.9348 16.0275C16.9021 15.9685 16.858 15.9165 16.805 15.8747C16.7521 15.8329 16.6914 15.802 16.6264 15.7838C16.5615 15.7657 16.4936 15.7607 16.4266 15.769H16.3168Z\",acceptAllChanges:\"M9.36499 16.7348C9.38499 16.7547 9.41212 16.7659 9.44041 16.7659H10.9881C10.9028 16.6008 10.9289 16.3933 11.0663 16.2541L11.7266 15.585H10.1444C10.0549 15.5701 9.97363 15.5238 9.91498 15.4547C9.85639 15.3856 9.82422 15.298 9.82422 15.2074C9.82422 15.1169 9.85639 15.0292 9.91498 14.9601C9.97363 14.891 10.0549 14.8448 10.1444 14.8298H12.4879C12.5584 14.785 12.6407 14.7607 12.7257 14.7607C12.8106 14.7607 12.893 14.785 12.9635 14.8298H16.5295L18.3303 13.0091C18.4135 12.925 18.5271 12.8776 18.6456 12.8777C18.7642 12.8777 18.8777 12.9252 18.9609 13.0094L20 14.0621V8.25532H16.8001C16.7301 8.27288 16.6568 8.27288 16.5868 8.25532C16.3485 8.1935 16.1367 8.0565 15.9829 7.86478C15.8292 7.67306 15.7416 7.43688 15.7335 7.19149V4H9.44041C9.41293 4.0024 9.38718 4.01437 9.36767 4.03383C9.34816 4.05329 9.33615 4.07897 9.33375 4.10638V16.6596C9.33375 16.6878 9.34499 16.7148 9.36499 16.7348ZM10.0744 17.2979H11.4803L12.259 18.0957H5.06727C5.01734 18.0957 4.96838 18.1057 4.9232 18.1246C4.8788 18.1431 4.83798 18.1702 4.80335 18.2048C4.7333 18.2746 4.69398 18.3693 4.69398 18.468C4.69398 18.5668 4.7333 18.6615 4.80335 18.7313C4.87333 18.8011 4.96832 18.8404 5.06727 18.8404H12.9857L13.7947 19.6693L14.0836 19.9574H4.10733C4.09291 19.9591 4.07829 19.9576 4.06457 19.9528C4.05085 19.9481 4.03838 19.9403 4.02812 19.9301C4.01785 19.9198 4.01004 19.9074 4.00529 19.8937C4.00054 19.88 3.99896 19.8654 4.00067 19.8511V7.29787C4.00067 7.26966 4.01191 7.2426 4.03191 7.22265C4.05192 7.2027 4.07905 7.19149 4.10733 7.19149H8.70447V9.05319H5.06727C4.97294 9.05867 4.88453 9.10069 4.8208 9.17019C4.757 9.23973 4.72302 9.33135 4.72594 9.42553C4.72289 9.52082 4.75654 9.61364 4.82002 9.6849C4.88356 9.75613 4.97203 9.80038 5.06727 9.8085H8.70447V10.5638H5.06727C5.01968 10.5652 4.97274 10.5759 4.92932 10.5954C4.88583 10.6148 4.84664 10.6426 4.8139 10.6772C4.78122 10.7118 4.7557 10.7525 4.73877 10.7969C4.72184 10.8413 4.7139 10.8887 4.71527 10.9361C4.7139 10.9837 4.72184 11.031 4.73877 11.0754C4.74424 11.0897 4.75055 11.1037 4.75778 11.1171C4.76162 11.1243 4.76566 11.1313 4.76995 11.1382C4.78265 11.1585 4.79736 11.1776 4.8139 11.1951C4.84664 11.2297 4.88583 11.2575 4.92932 11.2769C4.95491 11.2884 4.98173 11.2968 5.0092 11.3021C5.02834 11.3058 5.04774 11.3079 5.06727 11.3085H8.70447V12.0638H5.06734C4.97782 12.0789 4.89651 12.1251 4.83792 12.1942C4.77926 12.2633 4.7471 12.351 4.7471 12.4415C4.7471 12.5321 4.77926 12.6197 4.83792 12.6888C4.89651 12.758 4.97782 12.8041 5.06734 12.8192H8.70447V13.5745H5.06734C4.97782 13.5895 4.89651 13.6357 4.83792 13.7048C4.81383 13.7332 4.79424 13.7647 4.77946 13.7983C4.7583 13.8465 4.7471 13.8988 4.7471 13.9522C4.7471 14.0427 4.77926 14.1303 4.83792 14.1994C4.89651 14.2686 4.97782 14.3147 5.06734 14.3298H8.70447V15.0744H5.06727C4.97776 15.0895 4.89651 15.1357 4.83785 15.2048C4.77926 15.2739 4.7471 15.3616 4.7471 15.4521C4.7471 15.5043 4.75778 15.5556 4.77809 15.6029C4.793 15.6376 4.81305 15.6701 4.83785 15.6994C4.89651 15.7685 4.97776 15.8147 5.06727 15.8298H8.70447V16.5851H5.06727C4.97776 16.6001 4.89651 16.6463 4.83785 16.7154C4.79489 16.7661 4.76618 16.8267 4.75387 16.8912C4.74938 16.9146 4.7471 16.9386 4.7471 16.9628C4.7471 17.0533 4.77926 17.1409 4.83785 17.21C4.89651 17.2792 4.97776 17.3253 5.06727 17.3404H9.95241C9.99552 17.3331 10.0367 17.3187 10.0744 17.2979ZM20 15.3204L18.5709 16.7659H19.8933C19.9216 16.7659 19.9487 16.7547 19.9687 16.7348C19.9887 16.7148 20 16.6878 20 16.6596V15.3204ZM14.7526 16.6264L13.7248 15.585H15.7825L14.7526 16.6264ZM14.9498 6.08721C14.9465 6.06854 14.9416 6.05023 14.9353 6.03244C14.9202 5.98939 14.897 5.94929 14.8665 5.91442C14.8145 5.85488 14.7444 5.81394 14.6669 5.79787H10.1337C10.0348 5.79787 9.93978 5.83709 9.8698 5.90693C9.79975 5.97676 9.76043 6.07146 9.76043 6.17022C9.76043 6.19463 9.76283 6.21879 9.76752 6.24239C9.77462 6.2782 9.78692 6.31268 9.80398 6.34479C9.82123 6.37716 9.8433 6.40709 9.8698 6.43348C9.93978 6.50332 10.0348 6.54257 10.1337 6.54257H14.6669C14.6811 6.54023 14.6951 6.53702 14.7088 6.53299C14.7206 6.52955 14.7322 6.52549 14.7436 6.52082C14.7624 6.51309 14.7806 6.50371 14.7979 6.4928C14.8378 6.46764 14.8722 6.43468 14.8991 6.39599C14.9259 6.35729 14.9447 6.31359 14.9543 6.26749C14.9554 6.26232 14.9563 6.25716 14.9571 6.25197C14.9579 6.24739 14.9586 6.24281 14.9591 6.23824C14.9612 6.22129 14.962 6.20424 14.9616 6.18723C14.961 6.16727 14.9588 6.14733 14.9549 6.12766C14.9539 6.11406 14.9523 6.10055 14.9498 6.08721ZM15.0189 7.29788H10.1445C10.0549 7.31291 9.97363 7.35911 9.91504 7.42823C9.85639 7.49738 9.82422 7.585 9.82422 7.67555C9.82422 7.76609 9.85639 7.85369 9.91504 7.92284C9.97363 7.99196 10.0549 8.03815 10.1445 8.05319H15.0189C15.0321 8.05241 15.0451 8.05095 15.058 8.04877C15.0745 8.04601 15.0906 8.04212 15.1064 8.03718C15.1669 8.01822 15.2219 7.98361 15.2654 7.93618C15.3291 7.86664 15.3632 7.77502 15.3602 7.68084C15.3606 7.67392 15.3608 7.66701 15.3608 7.66009C15.3609 7.65087 15.3606 7.64165 15.3599 7.63247C15.3592 7.62263 15.358 7.61279 15.3565 7.60302C15.3532 7.58188 15.3479 7.56104 15.3409 7.54072C15.3254 7.49575 15.301 7.45426 15.2693 7.41868C15.2492 7.39621 15.2265 7.37638 15.2017 7.35959C15.1872 7.34979 15.172 7.34102 15.1562 7.33339C15.1132 7.31265 15.0665 7.3006 15.0189 7.29788ZM10.1445 9.56381H18.496C18.5856 9.54877 18.6669 9.50258 18.7255 9.43346C18.7841 9.3643 18.8163 9.27671 18.8163 9.18617C18.8163 9.09562 18.7841 9.008 18.7255 8.93884C18.6669 8.86973 18.5856 8.82353 18.496 8.8085H10.1445C10.0549 8.82353 9.97363 8.86973 9.91504 8.93884C9.85639 9.008 9.82422 9.09562 9.82422 9.18617C9.82422 9.24412 9.83738 9.30087 9.86224 9.35236C9.87624 9.38132 9.89395 9.40859 9.91504 9.43346C9.97363 9.50258 10.0549 9.54877 10.1445 9.56381ZM10.1445 11.0638H15.0189C15.1084 11.0488 15.1897 11.0026 15.2483 10.9335C15.2854 10.8898 15.3118 10.8387 15.3263 10.7842C15.3347 10.7525 15.3391 10.7195 15.3391 10.6861C15.3391 10.5956 15.3069 10.508 15.2483 10.4389C15.1897 10.3697 15.1084 10.3235 15.0189 10.3085H10.1445C10.0549 10.3235 9.97363 10.3697 9.91504 10.4389C9.85639 10.508 9.82422 10.5956 9.82422 10.6861C9.82422 10.7424 9.83666 10.7976 9.8601 10.8478C9.87442 10.8785 9.89284 10.9073 9.91504 10.9335C9.97363 11.0026 10.0549 11.0488 10.1445 11.0638ZM18.496 12.5745H10.1444C10.0549 12.5594 9.97363 12.5132 9.91498 12.4441C9.85639 12.3749 9.82422 12.2873 9.82422 12.1968C9.82422 12.1062 9.85639 12.0186 9.91498 11.9495C9.97363 11.8803 10.0549 11.8342 10.1444 11.8191H18.496C18.5856 11.8342 18.6669 11.8803 18.7255 11.9495C18.7841 12.0186 18.8163 12.1062 18.8163 12.1968C18.8163 12.2873 18.7841 12.3749 18.7255 12.4441C18.6971 12.4776 18.6633 12.5058 18.6259 12.5276C18.5861 12.5507 18.5421 12.5667 18.496 12.5745ZM15.0189 14.0744H10.1444C10.0968 14.0731 10.0499 14.0624 10.0064 14.0429C9.96296 14.0234 9.92376 13.9956 9.89102 13.961C9.85834 13.9265 9.83282 13.8857 9.81589 13.8413C9.79897 13.7969 9.79102 13.7496 9.79239 13.7021C9.79102 13.6546 9.79897 13.6073 9.81589 13.5628C9.83282 13.5184 9.85834 13.4778 9.89102 13.4432C9.92376 13.4086 9.96296 13.3808 10.0064 13.3613C10.0499 13.3419 10.0968 13.3311 10.1444 13.3297H15.0189C15.0661 13.3311 15.1125 13.3419 15.1554 13.3615C15.1983 13.381 15.2368 13.4091 15.2686 13.4438C15.3005 13.4785 15.325 13.5193 15.3407 13.5637C15.3564 13.608 15.363 13.6551 15.3602 13.7021C15.3631 13.7963 15.3291 13.8879 15.2653 13.9574C15.2016 14.027 15.1132 14.0689 15.0189 14.0744ZM16.6188 4.52128L19.4133 7.30852C19.4293 7.32624 19.4401 7.34808 19.4443 7.37157C19.4485 7.39506 19.446 7.41925 19.4371 7.4414C19.4282 7.46356 19.4133 7.48278 19.394 7.4969C19.3747 7.51102 19.3518 7.51947 19.328 7.52128H16.5868L16.4054 7.34043V4.60639C16.4073 4.5826 16.4157 4.55979 16.4299 4.54056C16.444 4.52133 16.4633 4.50644 16.4855 4.49757C16.5077 4.48871 16.532 4.48624 16.5556 4.49043C16.5791 4.49462 16.601 4.50531 16.6188 4.52128ZM18.6454 13.3192L20 14.6915L14.7522 20L14.7416 19.9894L14.1123 19.3617L13.3976 18.6277L11.3817 16.5638L12.7257 15.2021L14.7522 17.2553L18.6454 13.3192Z\",rejectAllChanges:\"M9.54637 16.5847H8.96997V15.8295H12.786C12.8024 15.8265 12.8186 15.8223 12.8343 15.817C12.8535 15.8105 12.8719 15.8023 12.8897 15.7926C12.9315 15.7697 12.969 15.738 12.9997 15.6991C13.0268 15.6649 13.0478 15.6261 13.0621 15.5847H13.571V16.7656H9.79386C9.78396 16.7479 9.77269 16.731 9.76011 16.7151C9.70552 16.6459 9.62976 16.5998 9.54637 16.5847ZM13.4717 12.9573V13.3295H9.72523C9.6809 13.3309 9.63716 13.3416 9.59671 13.361C9.57578 13.3711 9.55595 13.3834 9.53745 13.3977C9.5201 13.411 9.50391 13.4262 9.48917 13.4429C9.45872 13.4775 9.43494 13.5182 9.41917 13.5626C9.41778 13.5664 9.41644 13.5703 9.41523 13.5742H8.96997V12.8189H12.786C12.8694 12.8039 12.9452 12.7577 12.9997 12.6886C13.0078 12.6784 13.0153 12.6677 13.0223 12.6568L13.029 12.6458L13.033 12.6389L13.0397 12.6266C13.0452 12.6157 13.0503 12.6046 13.055 12.5931C13.0576 12.5869 13.0599 12.5806 13.0621 12.5742H13.6872C13.6453 12.5965 13.607 12.6269 13.5746 12.6644C13.5059 12.7439 13.469 12.849 13.4717 12.9573ZM9.82598 14.0742H13.4758C13.4809 14.0932 13.4904 14.1108 13.5037 14.1251C13.5242 14.147 13.552 14.1593 13.581 14.1593H13.6008L13.571 14.1912V14.8295H9.72523C9.64183 14.8445 9.56614 14.8907 9.51149 14.9598C9.4845 14.994 9.46351 15.0328 9.4492 15.0741H8.96997V14.3295H9.54637C9.62976 14.3145 9.70552 14.2683 9.76011 14.1992C9.78947 14.162 9.81166 14.1195 9.82598 14.0742ZM18.9075 8.2552V12.5317H17.7846V12.323C17.7978 12.2827 17.8047 12.2399 17.8047 12.1965C17.8047 12.106 17.7747 12.0184 17.7201 11.9493C17.6655 11.8801 17.5897 11.834 17.5063 11.8189H9.72523C9.64183 11.834 9.56614 11.8801 9.51149 11.9493C9.48444 11.9835 9.46351 12.0222 9.4492 12.0636H8.96997V11.3083H9.54637C9.63425 11.3028 9.71662 11.2608 9.776 11.1913C9.80687 11.1551 9.83029 11.113 9.84527 11.0676L9.84654 11.0637H14.2667C14.3501 11.0486 14.4258 11.0024 14.4805 10.9333C14.5231 10.8794 14.5507 10.8142 14.5607 10.7452C14.5636 10.7258 14.565 10.706 14.565 10.686C14.565 10.6658 14.5635 10.6458 14.5606 10.626C14.5572 10.6026 14.5516 10.5796 14.5442 10.5573C14.5299 10.5144 14.5084 10.4741 14.4805 10.4387C14.4258 10.3696 14.3501 10.3234 14.2667 10.3083H9.72529C9.6832 10.3159 9.64299 10.3314 9.60653 10.3538C9.57081 10.3759 9.5386 10.4045 9.51155 10.4387C9.49639 10.4579 9.4831 10.4785 9.47182 10.5002C9.46133 10.5205 9.45259 10.5417 9.44568 10.5636H8.96997V9.80838H9.16873C9.25656 9.80286 9.33899 9.76085 9.39837 9.69131C9.45775 9.62177 9.48947 9.53022 9.48674 9.43601C9.48711 9.42951 9.48735 9.42302 9.48741 9.41653C9.48741 9.41049 9.48729 9.40445 9.48705 9.39848C9.49457 9.41055 9.50269 9.42218 9.51155 9.43334C9.56614 9.50249 9.64189 9.54866 9.72529 9.56372H17.5063C17.5897 9.54866 17.6655 9.50249 17.7201 9.43334C17.7747 9.36419 17.8047 9.2766 17.8047 9.18603C17.8047 9.09552 17.7747 9.00786 17.7201 8.93878C17.6655 8.86963 17.5897 8.82346 17.5063 8.8084H9.72529C9.64189 8.82346 9.56614 8.86963 9.51155 8.93878C9.4569 9.00786 9.42694 9.09552 9.42694 9.18603L9.427 9.19707L9.42754 9.20875C9.41972 9.19661 9.41123 9.18499 9.40201 9.17389C9.38478 9.15311 9.36537 9.1346 9.34427 9.11863C9.33735 9.11344 9.33026 9.1085 9.32298 9.10383C9.31855 9.10097 9.31406 9.09824 9.30951 9.09565L9.30424 9.09266L9.29659 9.08857C9.28792 9.08402 9.27906 9.07993 9.27009 9.07623C9.2616 9.07279 9.25298 9.06974 9.24431 9.06701C9.21974 9.05935 9.19439 9.05461 9.16873 9.05305H8.96997V4.10638C8.97221 4.07897 8.9834 4.05328 9.00157 4.03383C9.01975 4.01437 9.04374 4.0024 9.06935 4H14.9325V7.1914C14.9401 7.43679 15.0216 7.67296 15.1649 7.86468C15.3082 8.0564 15.5055 8.19338 15.7275 8.2552C15.7927 8.27277 15.861 8.27277 15.9262 8.2552H18.9075ZM13.571 17.2975V19.4251L13.5722 19.4615C13.5835 19.6376 13.6323 19.8068 13.7133 19.957H4.10061C4.08718 19.9587 4.07355 19.9571 4.06077 19.9524C4.04799 19.9477 4.03637 19.9399 4.02681 19.9296C4.01724 19.9194 4.00997 19.907 4.00554 19.8933C4.00111 19.8796 3.99964 19.865 4.00124 19.8506V7.29778C4.00124 7.26957 4.01171 7.24251 4.03034 7.22256C4.04898 7.20261 4.07426 7.1914 4.10061 7.1914H8.38368V9.05305H4.99497C4.90708 9.05857 4.82471 9.10052 4.76533 9.17006C4.70589 9.2396 4.67423 9.33121 4.67696 9.42536C4.67411 9.52067 4.70547 9.61346 4.76461 9.68475C4.8238 9.75598 4.90623 9.80026 4.99497 9.80838H8.38368V10.5636H4.99497C4.96682 10.5645 4.93898 10.5692 4.91199 10.5774C4.89647 10.5821 4.88124 10.588 4.86644 10.5952C4.8494 10.6034 4.83308 10.613 4.81762 10.6241C4.79627 10.6393 4.77655 10.657 4.7589 10.6771C4.72846 10.7116 4.70468 10.7523 4.68891 10.7967C4.67314 10.8411 4.66574 10.8885 4.66701 10.9359C4.66641 10.9597 4.66792 10.9834 4.67156 11.0067C4.6752 11.03 4.68102 11.053 4.68891 11.0752C4.70468 11.1196 4.72846 11.1603 4.7589 11.1949C4.7731 11.211 4.78862 11.2256 4.80524 11.2386C4.81452 11.2459 4.82417 11.2527 4.83417 11.259C4.84461 11.2655 4.85534 11.2714 4.86644 11.2767C4.9069 11.2962 4.95063 11.3069 4.99497 11.3083H8.38368V12.0636H4.99503C4.91163 12.0787 4.83587 12.1249 4.78128 12.194C4.7526 12.2303 4.7307 12.2717 4.71639 12.3159C4.70347 12.3559 4.69667 12.3983 4.69667 12.4413C4.69667 12.5318 4.72664 12.6194 4.78128 12.6886C4.809 12.7237 4.84218 12.7529 4.87906 12.7751C4.89416 12.7842 4.90993 12.7921 4.92619 12.7988C4.94833 12.8079 4.97137 12.8147 4.99503 12.8189H8.38368V13.5742H4.99503C4.95275 13.5819 4.91242 13.5975 4.87584 13.62C4.8403 13.642 4.80822 13.6705 4.78128 13.7046C4.72664 13.7737 4.69667 13.8613 4.69667 13.9519C4.69667 14.0424 4.72664 14.13 4.78128 14.1992C4.83587 14.2683 4.91163 14.3145 4.99503 14.3295H8.38368V15.0741H4.99497C4.94644 15.0829 4.90047 15.1022 4.85977 15.1304C4.83878 15.145 4.81919 15.162 4.80136 15.1811C4.79439 15.1885 4.78765 15.1964 4.78122 15.2045C4.77188 15.2163 4.76327 15.2287 4.75539 15.2416C4.74441 15.2594 4.73495 15.2781 4.727 15.2975C4.71924 15.3163 4.71293 15.3358 4.70808 15.3558C4.70407 15.3723 4.7011 15.389 4.69922 15.4061C4.69752 15.4212 4.69667 15.4364 4.69667 15.4518C4.69667 15.5423 4.72664 15.6299 4.78122 15.6991C4.83587 15.7682 4.91157 15.8144 4.99497 15.8295H8.38368V16.5847H4.99497C4.91157 16.5998 4.83587 16.6459 4.78122 16.7151C4.72664 16.7842 4.69667 16.8718 4.69667 16.9624C4.69667 17.0529 4.72664 17.1405 4.78122 17.2097C4.83587 17.2788 4.91157 17.325 4.99497 17.34H9.54637C9.58655 17.3328 9.62496 17.3183 9.66008 17.2975H13.571ZM15.7573 4.52124L18.3609 7.30839C18.3758 7.32612 18.3858 7.34796 18.3897 7.37145C18.3937 7.39493 18.3914 7.41913 18.3831 7.44128C18.3748 7.46343 18.3609 7.48266 18.3429 7.49678C18.325 7.51089 18.3036 7.51934 18.2814 7.52115H15.7275L15.5585 7.34031V4.60634C15.5602 4.58255 15.5681 4.55975 15.5813 4.54051C15.5945 4.52128 15.6125 4.50639 15.6332 4.49753C15.6539 4.48867 15.6765 4.48619 15.6984 4.49038C15.7203 4.49457 15.7407 4.50526 15.7573 4.52124ZM14.1248 5.91437C14.1732 5.97391 14.2021 6.04884 14.2071 6.1276C14.2157 6.17377 14.2155 6.22129 14.2065 6.26739C14.2045 6.27778 14.2021 6.28804 14.1992 6.29817L14.1944 6.31388C14.1847 6.34291 14.1715 6.3705 14.1551 6.39595C14.13 6.43465 14.098 6.46757 14.0608 6.49276C14.0354 6.5099 14.008 6.52328 13.9794 6.53244C13.9661 6.53672 13.9525 6.5401 13.9387 6.5425H9.71529C9.62309 6.5425 9.5346 6.50328 9.4694 6.43342C9.40413 6.36362 9.3675 6.26889 9.3675 6.17013C9.3675 6.07144 9.40413 5.97671 9.4694 5.90691C9.5346 5.83704 9.62309 5.79783 9.71529 5.79783H13.9387C13.9718 5.80516 14.0034 5.81769 14.0326 5.83484C14.0672 5.85522 14.0984 5.88204 14.1248 5.91437ZM14.2667 7.29776H9.72529C9.69606 7.30302 9.66773 7.31211 9.64092 7.3247C9.62612 7.33171 9.61175 7.33977 9.59798 7.34879C9.56565 7.36996 9.53642 7.39664 9.51155 7.42813C9.4569 7.49722 9.42694 7.58487 9.42694 7.67538C9.42694 7.70155 9.42942 7.72752 9.43434 7.75285C9.44635 7.81505 9.47273 7.87355 9.51155 7.9227C9.55292 7.9751 9.60647 8.01432 9.66628 8.03678C9.67762 8.04107 9.6892 8.04477 9.70097 8.04775C9.70898 8.04983 9.71711 8.05158 9.72529 8.05308H14.2667C14.3546 8.04756 14.437 8.00555 14.4964 7.93601C14.5558 7.86647 14.5875 7.77492 14.5847 7.68071C14.5874 7.63318 14.5813 7.58559 14.5667 7.54059C14.5522 7.4956 14.5296 7.45417 14.5 7.41859C14.4704 7.38301 14.4346 7.35398 14.3946 7.33327C14.3546 7.31256 14.3111 7.30048 14.2667 7.29776ZM4.99497 18.84H12.786C12.8783 18.84 12.9667 18.8008 13.032 18.731C13.0972 18.6611 13.1338 18.5664 13.1338 18.4677C13.1338 18.3689 13.0972 18.2742 13.032 18.2044C12.9667 18.1346 12.8783 18.0954 12.786 18.0954H4.99497C4.90277 18.0954 4.81428 18.1346 4.74908 18.2044C4.68381 18.2742 4.64718 18.3689 4.64718 18.4677C4.64718 18.5664 4.68381 18.6611 4.74908 18.731C4.81428 18.8008 4.90277 18.84 4.99497 18.84ZM17.5858 12.7444H19.5733H19.623C19.7249 12.7499 19.821 12.7971 19.8913 12.8764C19.9616 12.9556 20.0007 13.0607 20.0006 13.17V13.8295C20.0007 13.8458 19.9976 13.862 19.9914 13.8769C19.9853 13.8918 19.9764 13.9052 19.9652 13.9163C19.9539 13.9273 19.9407 13.9357 19.9262 13.9409C19.9118 13.9461 19.8965 13.948 19.8814 13.9465H13.7797C13.7507 13.9465 13.7229 13.9342 13.7024 13.9123C13.6819 13.8903 13.6704 13.8606 13.6704 13.8295V13.17C13.6677 13.0617 13.7046 12.9566 13.7733 12.8771C13.842 12.7976 13.9371 12.75 14.0381 12.7444H16.0256V12.5104C16.0352 12.439 16.0687 12.3737 16.1199 12.3268C16.1711 12.2798 16.2365 12.2544 16.3039 12.2551H17.2976C17.3667 12.2517 17.4345 12.276 17.4878 12.3232C17.541 12.3704 17.576 12.4371 17.5858 12.5104V12.7444ZM14.0679 19.4251V14.1912H19.5037V19.4251C19.4935 19.585 19.4256 19.7344 19.3143 19.8416C19.203 19.9488 19.0571 20.0055 18.9075 19.9996H14.6642C14.5146 20.0055 14.3687 19.9488 14.2574 19.8416C14.1461 19.7344 14.0781 19.585 14.0679 19.4251ZM15.5983 15.1593H15.2505C15.0969 15.1593 14.9723 15.2926 14.9723 15.4572V18.7336C14.9723 18.8981 15.0969 19.0315 15.2505 19.0315H15.5983C15.752 19.0315 15.8766 18.8981 15.8766 18.7336V15.4572C15.8766 15.2926 15.752 15.1593 15.5983 15.1593ZM16.9598 15.1593H16.612C16.4583 15.1593 16.3337 15.2926 16.3337 15.4572V18.7336C16.3337 18.8981 16.4583 19.0315 16.612 19.0315H16.9598C17.1135 19.0315 17.238 18.8981 17.238 18.7336V15.4572C17.238 15.2926 17.1135 15.1593 16.9598 15.1593ZM17.9635 15.1593H18.3113C18.465 15.1593 18.5895 15.2926 18.5895 15.4572V18.7336C18.5895 18.8981 18.465 19.0315 18.3113 19.0315H17.9635C17.8098 19.0315 17.6852 18.8981 17.6852 18.7336V15.4572C17.6852 15.2926 17.8098 15.1593 17.9635 15.1593Z\",acceptSingleChange:\"M17.2 20H15.6628L17.33 18.3091V19.87C17.33 19.8871 17.3266 19.904 17.3201 19.9197C17.3136 19.9355 17.304 19.9499 17.2919 19.9619C17.2799 19.974 17.2655 19.9836 17.2497 19.9901C17.234 19.9966 17.2171 20 17.2 20ZM4.13 20H14.4978L14.1823 19.6791L13.5135 18.9904L13.5123 18.9891L13.0529 18.52H5C4.87537 18.52 4.75586 18.4705 4.66766 18.3823C4.57953 18.2942 4.53003 18.1747 4.53003 18.05C4.53003 17.9253 4.57953 17.8058 4.66766 17.7177C4.75586 17.6295 4.87537 17.58 5 17.58H12.1323L11.6235 17.0604L11.6231 16.48L12.8831 15.19L13.4765 15.1896L15.0807 16.8276L17.33 14.5413V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20ZM13.1 4.65L16.6 8.15C16.6212 8.17232 16.6355 8.20028 16.6412 8.23051C16.6469 8.26075 16.6437 8.29199 16.6321 8.32048C16.6205 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5208 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8312 4.72925 12.8412 4.6995 12.8588 4.67429C12.8765 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9893 4.60315 13.0195 4.60884C13.0497 4.61453 13.0777 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60184 10.9735 6.5462C10.9534 6.49057 10.9224 6.43948 10.8825 6.39581C10.8425 6.35217 10.7944 6.3168 10.7408 6.29178C10.6871 6.26678 10.6292 6.25256 10.57 6.25H5C4.88239 6.25772 4.77252 6.31131 4.69397 6.39917C4.61542 6.48706 4.57452 6.60226 4.58002 6.72C4.57452 6.83774 4.61542 6.95294 4.69397 7.04083C4.77252 7.12869 4.88239 7.18228 5 7.19H10.6C10.7141 7.1774 10.8189 7.12173 10.8933 7.03436C10.9677 6.94702 11.0058 6.83456 11 6.72ZM11.1 8.14001H5C4.87537 8.14001 4.75586 8.18954 4.66766 8.27768C4.57953 8.36581 4.53003 8.48535 4.53003 8.61002C4.53003 8.73468 4.57953 8.85422 4.66766 8.94235C4.71558 8.99023 4.77277 9.02673 4.83496 9.05008C4.86932 9.06296 4.90521 9.07184 4.94189 9.07642C4.96106 9.0788 4.98047 9.08002 5 9.08002H11.1C11.2247 9.08002 11.3442 9.03049 11.4324 8.94235C11.5205 8.85422 11.57 8.73468 11.57 8.61002C11.57 8.48535 11.5205 8.36581 11.4324 8.27768C11.3442 8.18954 11.2247 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8035 10.8535C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8035 10.1465C15.7098 10.0527 15.5826 10 15.45 10H5C4.86737 10 4.74023 10.0527 4.64642 10.1465C4.55267 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55267 10.7598 4.64642 10.8535C4.74023 10.9473 4.86737 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4986 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.416 12.0552C11.3337 11.9673 11.2203 11.9152 11.1 11.91H5C4.94086 11.9126 4.88287 11.9268 4.82922 11.9518C4.77563 11.9768 4.72748 12.0122 4.6875 12.0558C4.65833 12.0878 4.63391 12.1237 4.61505 12.1624C4.60809 12.1767 4.60193 12.1913 4.5965 12.2062C4.58264 12.2443 4.5741 12.2841 4.57092 12.3243C4.56946 12.3428 4.56915 12.3614 4.57001 12.38C4.56451 12.5004 4.60651 12.6181 4.68689 12.7079C4.76733 12.7976 4.87976 12.8523 5 12.86ZM15.45 14.74H5C4.87537 14.74 4.75586 14.6905 4.66766 14.6023C4.57953 14.5142 4.53003 14.3947 4.53003 14.27C4.53003 14.1453 4.57953 14.0258 4.66766 13.9377C4.75586 13.8495 4.87537 13.8 5 13.8H15.45C15.5747 13.8 15.6942 13.8495 15.7823 13.9377C15.8705 14.0258 15.92 14.1453 15.92 14.27C15.92 14.3947 15.8705 14.5142 15.7823 14.6023C15.6942 14.6905 15.5747 14.74 15.45 14.74ZM11.1 16.63H5C4.87537 16.63 4.75586 16.5805 4.66766 16.4923C4.57953 16.4042 4.53003 16.2846 4.53003 16.16C4.53003 16.0353 4.57953 15.9158 4.66766 15.8276C4.75586 15.7395 4.87537 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4324 15.8276C11.5205 15.9158 11.57 16.0353 11.57 16.16C11.57 16.2846 11.5205 16.4042 11.4324 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM18.73 13.71L20 15.01L15.08 20L15.07 19.99L14.48 19.39L13.81 18.7L11.92 16.77L13.18 15.48L15.08 17.42L18.73 13.71Z\",rejectSingleChange:\"M17.0495 11.5C17.1461 11.5 17.241 11.5173 17.33 11.5501V9.3H13.28C13.207 9.30976 13.133 9.30976 13.06 9.3C12.7697 9.22119 12.5113 9.05343 12.3212 8.82027C12.1311 8.58711 12.0187 8.30026 12 8V4H4.13C4.09552 4 4.06246 4.0137 4.03808 4.03808C4.0137 4.06246 4 4.09552 4 4.13V19.87C4 19.9045 4.0137 19.9375 4.03808 19.9619C4.06246 19.9863 4.09552 20 4.13 20H13.2305C13.1075 19.8287 13.0338 19.6249 13.0205 19.4112L13.0195 19.3956V18.52H5C4.87537 18.52 4.75586 18.4705 4.66772 18.3823C4.57959 18.2942 4.53003 18.1747 4.53003 18.05C4.53003 18.0119 4.53467 17.9742 4.54358 17.9378C4.56396 17.8552 4.60657 17.7788 4.66772 17.7177C4.75586 17.6295 4.87537 17.58 5 17.58H13.0195V14.74H5C4.87537 14.74 4.75586 14.6905 4.66772 14.6023C4.57959 14.5142 4.53003 14.3947 4.53003 14.27C4.53003 14.1453 4.57959 14.0258 4.66772 13.9377C4.75586 13.8495 4.87537 13.8 5 13.8H12.8393C12.6229 13.6377 12.4998 13.3897 12.4998 13.1032C12.4997 12.8414 12.6008 12.5847 12.7513 12.3911C12.9 12.1998 13.1561 12 13.4994 12L15.2519 12C15.2928 11.8972 15.3589 11.7915 15.4649 11.6992C15.6135 11.5698 15.8041 11.499 16.0011 11.5H17.0495ZM13.1 4.65L16.6 8.15C16.6211 8.17232 16.6354 8.20028 16.6411 8.23051C16.6468 8.26075 16.6437 8.29199 16.6321 8.32048C16.6204 8.34898 16.6009 8.37352 16.5757 8.39117C16.5505 8.40882 16.5207 8.41883 16.49 8.42H13.06L12.83 8.19V4.76C12.8311 4.72925 12.8411 4.6995 12.8588 4.67429C12.8764 4.64909 12.901 4.62951 12.9295 4.6179C12.958 4.6063 12.9892 4.60315 13.0194 4.60884C13.0497 4.61453 13.0776 4.62882 13.1 4.65ZM11 6.72C11.0027 6.66089 10.9937 6.60184 10.9735 6.5462C10.9716 6.5408 10.9695 6.53543 10.9673 6.53012C10.9626 6.51852 10.9575 6.50717 10.9518 6.49603C10.9406 6.47391 10.9275 6.45273 10.9127 6.43274C10.9033 6.41992 10.8932 6.40759 10.8824 6.39581C10.8425 6.35217 10.7943 6.3168 10.7407 6.29178C10.6871 6.26678 10.629 6.25256 10.5699 6.25H5C4.88232 6.25772 4.77246 6.31131 4.69397 6.39917C4.61536 6.48706 4.57446 6.60226 4.57996 6.72C4.57715 6.7811 4.58679 6.84152 4.60767 6.8978C4.61523 6.91803 4.62415 6.93771 4.63452 6.9567C4.65088 6.98669 4.67078 7.01495 4.69397 7.04083C4.77246 7.12869 4.88232 7.18228 5 7.19H10.6C10.714 7.1774 10.8188 7.12173 10.8932 7.03436C10.922 7.00049 10.9454 6.96283 10.9629 6.92273C10.9725 6.9006 10.9805 6.87775 10.9865 6.8544C10.9933 6.82791 10.9977 6.80075 10.9995 6.77325C11.0001 6.76453 11.0004 6.75574 11.0005 6.74695C11.0006 6.73798 11.0005 6.729 11 6.72ZM11.1 8.14001H5C4.97534 8.14001 4.95081 8.14194 4.92676 8.14575C4.89587 8.15063 4.8656 8.15857 4.83643 8.1694C4.77368 8.19272 4.71606 8.2294 4.66772 8.27768C4.57959 8.36581 4.53003 8.48535 4.53003 8.61002C4.53003 8.73468 4.57959 8.85422 4.66772 8.94235C4.75586 9.03049 4.87537 9.08002 5 9.08002H11.1C11.2247 9.08002 11.3442 9.03049 11.4324 8.94235C11.4617 8.91306 11.4867 8.88028 11.5071 8.845C11.5349 8.79691 11.554 8.74414 11.5634 8.68915C11.5677 8.66318 11.5701 8.63672 11.5701 8.61002C11.5701 8.48535 11.5205 8.36581 11.4324 8.27768C11.3929 8.23831 11.3474 8.20663 11.2979 8.18365C11.2365 8.15518 11.1689 8.14001 11.1 8.14001ZM5 11H15.45C15.5826 11 15.7098 10.9473 15.8036 10.8535C15.8973 10.7598 15.95 10.6326 15.95 10.5C15.95 10.3674 15.8973 10.2402 15.8036 10.1465C15.7098 10.0527 15.5826 10 15.45 10H5C4.86743 10 4.74023 10.0527 4.64648 10.1465C4.55273 10.2402 4.5 10.3674 4.5 10.5C4.5 10.6326 4.55273 10.7598 4.64648 10.8535C4.74023 10.9473 4.86743 11 5 11ZM5 12.86H11.1C11.2211 12.8523 11.3346 12.798 11.4166 12.7085C11.4987 12.6191 11.5428 12.5013 11.54 12.38C11.5427 12.2597 11.4982 12.1431 11.4159 12.0552C11.3336 11.9673 11.2202 11.9152 11.1 11.91H5C4.94092 11.9126 4.88281 11.9268 4.82922 11.9518C4.77563 11.9768 4.72742 12.0122 4.6875 12.0558C4.64758 12.0995 4.6167 12.1506 4.59644 12.2062C4.58899 12.2266 4.58313 12.2475 4.57874 12.2687C4.57129 12.3052 4.56824 12.3426 4.56995 12.38C4.56445 12.5004 4.60645 12.6181 4.68689 12.7079C4.76733 12.7976 4.87976 12.8523 5 12.86ZM11.1 16.63H5C4.87537 16.63 4.75586 16.5805 4.66772 16.4923C4.57959 16.4042 4.53003 16.2846 4.53003 16.16C4.53003 16.0353 4.57959 15.9158 4.66772 15.8276C4.75586 15.7395 4.87537 15.69 5 15.69H11.1C11.2247 15.69 11.3442 15.7395 11.4324 15.8276C11.5205 15.9158 11.5701 16.0353 11.5701 16.16C11.5701 16.2846 11.5205 16.4042 11.4324 16.4923C11.3442 16.5805 11.2247 16.63 11.1 16.63ZM19.59 12.53H17.36V12.3C17.3574 12.2195 17.3236 12.1432 17.2657 12.0872C17.2078 12.0313 17.1305 12 17.05 12H16C15.9242 11.9994 15.8509 12.0265 15.7938 12.0762C15.7367 12.126 15.6997 12.1949 15.69 12.27V12.5H13.44C13.3768 12.4994 13.3142 12.5125 13.2565 12.5382C13.1988 12.564 13.1473 12.6019 13.1055 12.6493C13.0638 12.6968 13.0327 12.7526 13.0145 12.8132C12.9963 12.8737 12.9913 12.9374 13 13V13.67C13 13.6871 13.0033 13.704 13.0099 13.7198C13.0164 13.7355 13.026 13.7499 13.038 13.7619C13.0501 13.774 13.0644 13.7836 13.0802 13.7901C13.096 13.7966 13.1129 13.8 13.13 13.8H19.84C19.8611 13.8054 19.8834 13.8054 19.9045 13.8C19.9257 13.7946 19.9452 13.7839 19.9611 13.7689C19.9771 13.754 19.989 13.7352 19.9958 13.7144C20.0026 13.6937 20.004 13.6715 20 13.65V13C20.0028 12.8866 19.9617 12.7765 19.8853 12.6927C19.809 12.6088 19.7031 12.5577 19.59 12.55V12.53ZM13.52 14V19.38C13.5303 19.5454 13.6054 19.7 13.7289 19.8105C13.8525 19.9209 14.0145 19.9782 14.18 19.97H18.84C19.0055 19.9782 19.1676 19.9209 19.2911 19.8105C19.4146 19.7 19.4897 19.5454 19.5 19.38V14H13.52ZM15.52 18.67C15.52 18.7522 15.4874 18.8311 15.4292 18.8892C15.3711 18.9473 15.2922 18.98 15.21 18.98H14.83C14.7478 18.98 14.669 18.9473 14.6108 18.8892C14.5527 18.8311 14.52 18.7522 14.52 18.67V15.33C14.52 15.2893 14.528 15.249 14.5436 15.2114C14.5592 15.1738 14.582 15.1396 14.6108 15.1108C14.6396 15.082 14.6738 15.0592 14.7114 15.0436C14.749 15.028 14.7893 15.02 14.83 15.02H15.21C15.2507 15.02 15.291 15.028 15.3287 15.0436C15.3663 15.0592 15.4004 15.082 15.4292 15.1108C15.458 15.1396 15.4808 15.1738 15.4964 15.2114C15.512 15.249 15.52 15.2893 15.52 15.33V18.67ZM17.01 18.67C17.01 18.7522 16.9774 18.8311 16.9192 18.8892C16.8611 18.9473 16.7822 18.98 16.7 18.98H16.32C16.2798 18.98 16.2399 18.9719 16.2029 18.9562C16.1658 18.9405 16.1323 18.9176 16.1043 18.8886C16.0763 18.8597 16.0544 18.8254 16.0399 18.7879C16.0254 18.7503 16.0187 18.7102 16.02 18.67V15.33C16.0187 15.2898 16.0254 15.2497 16.0399 15.2121C16.0544 15.1746 16.0763 15.1403 16.1043 15.1114C16.1323 15.0824 16.1658 15.0595 16.2029 15.0438C16.2399 15.0281 16.2798 15.02 16.32 15.02H16.7C16.7407 15.02 16.781 15.028 16.8187 15.0436C16.8563 15.0592 16.8904 15.082 16.9192 15.1108C16.948 15.1396 16.9708 15.1738 16.9864 15.2114C17.002 15.249 17.01 15.2893 17.01 15.33V18.67ZM18.51 18.67C18.51 18.7107 18.502 18.751 18.4864 18.7886C18.4708 18.8262 18.448 18.8604 18.4192 18.8892C18.3904 18.918 18.3563 18.9408 18.3187 18.9564C18.281 18.972 18.2407 18.98 18.2 18.98H17.82C17.7378 18.98 17.659 18.9473 17.6008 18.8892C17.5427 18.8311 17.51 18.7522 17.51 18.67V15.33C17.51 15.2893 17.518 15.249 17.5336 15.2114C17.5492 15.1738 17.572 15.1396 17.6008 15.1108C17.6296 15.082 17.6638 15.0592 17.7014 15.0436C17.739 15.028 17.7793 15.02 17.82 15.02H18.2C18.2407 15.02 18.281 15.028 18.3187 15.0436C18.3563 15.0592 18.3904 15.082 18.4192 15.1108C18.448 15.1396 18.4708 15.1738 18.4864 15.2114C18.502 15.249 18.51 15.2893 18.51 15.33V18.67Z\",chevronDown:\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\",chevronUp:\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"},Y.FILEICONS={docIcon:{extension:\".doc\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9.617188 46.875 C 13.234375 46.875 16.160156 43.929688 16.160156 40.292969 C 16.160156 36.695312 13.234375 33.75 9.617188 33.75 L 7.402344 33.75 C 6.820312 33.75 6.371094 34.199219 6.371094 34.78125 L 6.371094 45.84375 C 6.371094 46.335938 6.714844 46.757812 7.191406 46.855469 L 7.402344 46.875 Z M 9.617188 44.792969 L 8.453125 44.792969 L 8.453125 35.832031 L 9.617188 35.832031 C 12.089844 35.832031 14.078125 37.835938 14.078125 40.292969 C 14.078125 42.789062 12.089844 44.773438 9.617188 44.792969 Z M 24.816406 46.875 C 26.539062 46.875 28.191406 46.085938 29.296875 44.867188 C 30.460938 43.648438 31.191406 41.980469 31.191406 40.125 C 31.191406 38.269531 30.460938 36.617188 29.296875 35.382812 C 28.191406 34.144531 26.539062 33.375 24.816406 33.375 C 23.015625 33.375 21.367188 34.144531 20.222656 35.382812 C 19.058594 36.617188 18.367188 38.269531 18.367188 40.125 C 18.367188 41.980469 19.058594 43.648438 20.222656 44.867188 C 21.367188 46.085938 23.015625 46.875 24.816406 46.875 Z M 24.816406 44.738281 C 23.617188 44.738281 22.566406 44.230469 21.777344 43.386719 C 20.992188 42.582031 20.503906 41.398438 20.503906 40.125 C 20.503906 38.851562 20.992188 37.667969 21.777344 36.84375 C 22.566406 36 23.617188 35.511719 24.816406 35.511719 C 25.941406 35.511719 26.992188 36 27.777344 36.84375 C 28.546875 37.667969 29.054688 38.851562 29.054688 40.125 C 29.054688 41.398438 28.546875 42.582031 27.777344 43.386719 C 26.992188 44.230469 25.941406 44.738281 24.816406 44.738281 Z M 39.996094 46.875 C 41.648438 46.875 43.148438 46.332031 44.328125 45.414062 C 44.777344 45.054688 44.851562 44.382812 44.515625 43.914062 C 44.140625 43.460938 43.445312 43.386719 43.015625 43.707031 C 42.171875 44.382812 41.160156 44.738281 39.996094 44.738281 C 38.703125 44.738281 37.503906 44.210938 36.621094 43.386719 C 35.777344 42.5625 35.253906 41.398438 35.253906 40.125 C 35.253906 38.851562 35.777344 37.726562 36.621094 36.863281 C 37.503906 36.039062 38.703125 35.511719 39.996094 35.511719 C 41.160156 35.511719 42.191406 35.867188 43.015625 36.542969 C 43.445312 36.882812 44.140625 36.804688 44.515625 36.335938 C 44.851562 35.867188 44.777344 35.210938 44.328125 34.835938 C 43.148438 33.917969 41.648438 33.375 39.996094 33.375 C 36.246094 33.394531 33.132812 36.414062 33.117188 40.125 C 33.132812 43.855469 36.246094 46.875 39.996094 46.875 Z M 39.996094 46.875 \"/>\\n      </g>'},gifIcon:{extension:\".gif\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 17.394531 46.875 C 18.988281 46.875 20.46875 46.332031 21.648438 45.414062 C 21.835938 45.28125 21.949219 45.132812 22.003906 44.960938 L 22.003906 44.945312 C 22.023438 44.90625 22.023438 44.886719 22.042969 44.851562 C 22.0625 44.738281 22.097656 44.664062 22.097656 44.53125 L 22.097656 40.386719 C 22.097656 39.789062 21.613281 39.335938 21.011719 39.335938 L 17.28125 39.335938 C 16.699219 39.335938 16.210938 39.789062 16.210938 40.386719 C 16.210938 40.96875 16.699219 41.457031 17.28125 41.457031 L 19.960938 41.457031 L 19.960938 44.023438 C 19.210938 44.457031 18.332031 44.738281 17.394531 44.738281 C 16.042969 44.738281 14.863281 44.230469 14.019531 43.367188 C 13.136719 42.523438 12.613281 41.382812 12.613281 40.144531 C 12.613281 38.867188 13.136719 37.726562 14.019531 36.882812 C 14.863281 36.019531 16.042969 35.511719 17.394531 35.511719 C 18.519531 35.511719 19.550781 35.90625 20.355469 36.523438 C 20.824219 36.898438 21.519531 36.804688 21.875 36.355469 C 22.230469 35.886719 22.15625 35.195312 21.667969 34.835938 C 20.503906 33.917969 18.988281 33.375 17.394531 33.375 C 13.585938 33.375 10.472656 36.375 10.472656 40.144531 C 10.472656 43.894531 13.585938 46.875 17.394531 46.875 Z M 26.945312 46.875 C 27.507812 46.875 27.996094 46.425781 27.996094 45.84375 L 27.996094 34.78125 C 27.996094 34.199219 27.507812 33.75 26.945312 33.75 C 26.363281 33.75 25.914062 34.199219 25.914062 34.78125 L 25.914062 45.84375 C 25.914062 46.425781 26.363281 46.875 26.945312 46.875 Z M 33.066406 46.875 C 33.648438 46.875 34.117188 46.40625 34.117188 45.84375 L 34.117188 41.34375 L 38.488281 41.34375 C 39.050781 41.34375 39.519531 40.875 39.519531 40.292969 C 39.519531 39.75 39.050781 39.261719 38.488281 39.261719 L 34.117188 39.261719 L 34.117188 35.832031 L 39.199219 35.832031 C 39.742188 35.832031 40.230469 35.363281 40.230469 34.78125 C 40.230469 34.21875 39.742188 33.75 39.199219 33.75 L 33.066406 33.75 C 32.488281 33.75 32.035156 34.21875 32.035156 34.78125 L 32.035156 45.84375 C 32.035156 46.40625 32.488281 46.875 33.066406 46.875 Z M 33.066406 46.875 \"/>\\n      </g>'},jpegIcon:{extension:\".jpeg\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9 43.75 C 11.140625 43.75 12.890625 42.015625 12.890625 39.875 L 12.890625 33.671875 C 12.890625 33.1875 12.5 32.8125 12.03125 32.8125 C 11.546875 32.8125 11.15625 33.1875 11.15625 33.671875 L 11.15625 39.875 C 11.15625 41.046875 10.1875 42.015625 9 42.015625 C 8.046875 42.015625 7.234375 41.390625 6.953125 40.53125 C 6.8125 40.078125 6.328125 39.828125 5.859375 39.984375 C 5.421875 40.109375 5.15625 40.59375 5.3125 41.0625 C 5.8125 42.625 7.28125 43.75 9 43.75 Z M 15.640625 43.75 C 16.125 43.75 16.515625 43.359375 16.515625 42.890625 L 16.515625 39.5 L 18.4375 39.5 C 20.296875 39.5 21.796875 38 21.796875 36.171875 C 21.796875 34.3125 20.296875 32.8125 18.4375 32.8125 L 15.640625 32.8125 C 15.171875 32.8125 14.78125 33.1875 14.78125 33.671875 L 14.78125 42.890625 C 14.78125 43.359375 15.171875 43.75 15.640625 43.75 Z M 18.4375 37.765625 L 16.515625 37.765625 L 16.515625 34.546875 L 18.4375 34.546875 C 19.34375 34.546875 20.046875 35.265625 20.0625 36.171875 C 20.046875 37.046875 19.34375 37.765625 18.4375 37.765625 Z M 29.234375 43.75 C 29.6875 43.75 30.09375 43.359375 30.09375 42.890625 C 30.09375 42.40625 29.6875 42.015625 29.234375 42.015625 L 25 42.015625 L 25 39.140625 L 28.640625 39.140625 C 29.109375 39.140625 29.5 38.75 29.5 38.265625 C 29.5 37.8125 29.109375 37.40625 28.640625 37.40625 L 25 37.40625 L 25 34.546875 L 29.234375 34.546875 C 29.6875 34.546875 30.09375 34.15625 30.09375 33.671875 C 30.09375 33.1875 29.6875 32.8125 29.234375 32.8125 L 24.125 32.8125 C 23.640625 32.8125 23.265625 33.1875 23.265625 33.671875 L 23.265625 42.890625 C 23.265625 43.359375 23.640625 43.75 24.125 43.75 C 24.125 43.75 24.140625 43.734375 24.140625 43.734375 C 24.140625 43.734375 24.140625 43.75 24.171875 43.75 Z M 37.1875 43.75 C 38.515625 43.75 39.75 43.296875 40.734375 42.53125 C 40.890625 42.421875 40.984375 42.296875 41.03125 42.15625 L 41.03125 42.140625 C 41.046875 42.109375 41.046875 42.09375 41.0625 42.0625 C 41.078125 41.96875 41.109375 41.90625 41.109375 41.796875 L 41.109375 38.34375 C 41.109375 37.914062 40.8125 37.578125 40.410156 37.492188 L 40.203125 37.46875 L 37.09375 37.46875 C 36.609375 37.46875 36.203125 37.84375 36.203125 38.34375 C 36.203125 38.828125 36.609375 39.234375 37.09375 39.234375 L 39.328125 39.234375 L 39.328125 41.375 C 38.703125 41.734375 37.96875 41.96875 37.1875 41.96875 C 36.0625 41.96875 35.078125 41.546875 34.375 40.828125 C 33.640625 40.125 33.203125 39.171875 33.203125 38.140625 C 33.203125 37.078125 33.640625 36.125 34.375 35.421875 C 35.078125 34.703125 36.0625 34.28125 37.1875 34.28125 C 38.125 34.28125 38.984375 34.609375 39.65625 35.125 C 40.046875 35.4375 40.625 35.359375 40.921875 34.984375 C 41.21875 34.59375 41.15625 34.015625 40.75 33.71875 C 39.78125 32.953125 38.515625 32.5 37.1875 32.5 C 34.015625 32.5 31.421875 35 31.421875 38.140625 C 31.421875 41.265625 34.015625 43.75 37.1875 43.75 Z M 37.1875 43.75 \"/>\\n      </g>'},logIcon:{extension:\".log\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 13.542969 46.875 C 14.085938 46.875 14.574219 46.40625 14.574219 45.84375 C 14.574219 45.261719 14.085938 44.792969 13.542969 44.792969 L 8.460938 44.792969 L 8.460938 34.78125 C 8.460938 34.21875 7.992188 33.75 7.410156 33.75 C 6.828125 33.75 6.378906 34.21875 6.378906 34.78125 L 6.378906 45.84375 C 6.378906 46.40625 6.828125 46.875 7.410156 46.875 Z M 21.742188 46.875 C 23.46875 46.875 25.117188 46.085938 26.222656 44.867188 C 27.386719 43.648438 28.117188 41.980469 28.117188 40.125 C 28.117188 38.269531 27.386719 36.617188 26.222656 35.382812 C 25.117188 34.144531 23.46875 33.375 21.742188 33.375 C 19.941406 33.375 18.292969 34.144531 17.148438 35.382812 C 15.984375 36.617188 15.292969 38.269531 15.292969 40.125 C 15.292969 41.980469 15.984375 43.648438 17.148438 44.867188 C 18.292969 46.085938 19.941406 46.875 21.742188 46.875 Z M 21.742188 44.738281 C 20.542969 44.738281 19.492188 44.230469 18.703125 43.386719 C 17.917969 42.582031 17.429688 41.398438 17.429688 40.125 C 17.429688 38.851562 17.917969 37.667969 18.703125 36.84375 C 19.492188 36 20.542969 35.511719 21.742188 35.511719 C 22.867188 35.511719 23.917969 36 24.703125 36.84375 C 25.472656 37.667969 25.980469 38.851562 25.980469 40.125 C 25.980469 41.398438 25.472656 42.582031 24.703125 43.386719 C 23.917969 44.230469 22.867188 44.738281 21.742188 44.738281 Z M 37.300781 46.875 C 38.894531 46.875 40.375 46.332031 41.558594 45.414062 C 41.746094 45.28125 41.855469 45.132812 41.914062 44.960938 L 41.914062 44.945312 L 41.949219 44.851562 C 41.96875 44.738281 42.007812 44.664062 42.007812 44.53125 L 42.007812 40.386719 C 42.007812 39.789062 41.519531 39.335938 40.917969 39.335938 L 37.1875 39.335938 C 36.605469 39.335938 36.121094 39.789062 36.121094 40.386719 C 36.121094 40.96875 36.605469 41.457031 37.1875 41.457031 L 39.871094 41.457031 L 39.871094 44.023438 C 39.121094 44.457031 38.238281 44.738281 37.300781 44.738281 C 35.949219 44.738281 34.769531 44.230469 33.925781 43.367188 C 33.042969 42.523438 32.519531 41.382812 32.519531 40.144531 C 32.519531 38.867188 33.042969 37.726562 33.925781 36.882812 C 34.769531 36.019531 35.949219 35.511719 37.300781 35.511719 C 38.425781 35.511719 39.457031 35.90625 40.261719 36.523438 C 40.730469 36.898438 41.425781 36.804688 41.78125 36.355469 C 42.136719 35.886719 42.0625 35.195312 41.574219 34.835938 C 40.414062 33.917969 38.894531 33.375 37.300781 33.375 C 33.496094 33.375 30.382812 36.375 30.382812 40.144531 C 30.382812 43.894531 33.496094 46.875 37.300781 46.875 Z M 37.300781 46.875 \"/>\\n      </g>'},movIcon:{extension:\".mov\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 15.472656 46.875 C 16.035156 46.875 16.523438 46.40625 16.523438 45.84375 L 16.523438 34.78125 C 16.523438 34.289062 16.152344 33.882812 15.679688 33.777344 L 15.472656 33.75 L 15.453125 33.75 C 15.117188 33.75 14.816406 33.898438 14.609375 34.179688 L 10.878906 39.355469 L 7.148438 34.179688 C 6.960938 33.898438 6.625 33.75 6.324219 33.75 L 6.265625 33.75 C 5.703125 33.75 5.234375 34.21875 5.234375 34.78125 L 5.234375 45.84375 C 5.234375 46.40625 5.703125 46.875 6.265625 46.875 C 6.847656 46.875 7.316406 46.40625 7.316406 45.84375 L 7.316406 37.949219 L 10 41.699219 C 10.203125 41.980469 10.523438 42.132812 10.859375 42.132812 L 10.898438 42.132812 C 11.234375 42.132812 11.535156 41.980469 11.742188 41.699219 L 14.441406 37.949219 L 14.441406 45.84375 C 14.441406 46.40625 14.890625 46.875 15.472656 46.875 Z M 25.460938 46.875 C 27.1875 46.875 28.835938 46.085938 29.941406 44.867188 C 31.105469 43.648438 31.835938 41.980469 31.835938 40.125 C 31.835938 38.269531 31.105469 36.617188 29.941406 35.382812 C 28.835938 34.144531 27.1875 33.375 25.460938 33.375 C 23.660156 33.375 22.011719 34.144531 20.867188 35.382812 C 19.703125 36.617188 19.011719 38.269531 19.011719 40.125 C 19.011719 41.980469 19.703125 43.648438 20.867188 44.867188 C 22.011719 46.085938 23.660156 46.875 25.460938 46.875 Z M 25.460938 44.738281 C 24.261719 44.738281 23.210938 44.230469 22.421875 43.386719 C 21.636719 42.582031 21.148438 41.398438 21.148438 40.125 C 21.148438 38.851562 21.636719 37.667969 22.421875 36.84375 C 23.210938 36 24.261719 35.511719 25.460938 35.511719 C 26.585938 35.511719 27.636719 36 28.421875 36.84375 C 29.191406 37.667969 29.699219 38.851562 29.699219 40.125 C 29.699219 41.398438 29.191406 42.582031 28.421875 43.386719 C 27.636719 44.230469 26.585938 44.738281 25.460938 44.738281 Z M 38.683594 46.855469 L 38.71875 46.855469 C 38.777344 46.835938 38.8125 46.820312 38.871094 46.820312 C 38.886719 46.800781 38.886719 46.800781 38.90625 46.800781 C 38.964844 46.78125 39.019531 46.726562 39.058594 46.707031 L 39.09375 46.6875 L 39.207031 46.59375 C 39.226562 46.574219 39.226562 46.574219 39.246094 46.539062 L 39.339844 46.425781 C 39.355469 46.425781 39.355469 46.425781 39.355469 46.40625 C 39.394531 46.367188 39.414062 46.292969 39.433594 46.257812 L 44.0625 35.304688 C 44.269531 34.800781 44.027344 34.179688 43.5 33.976562 C 42.996094 33.75 42.375 33.992188 42.152344 34.519531 L 38.496094 43.199219 L 34.839844 34.519531 C 34.613281 33.992188 34.011719 33.75 33.507812 33.976562 C 32.964844 34.179688 32.71875 34.800781 32.945312 35.304688 L 37.539062 46.257812 C 37.574219 46.292969 37.613281 46.367188 37.632812 46.40625 C 37.632812 46.425781 37.652344 46.425781 37.652344 46.425781 C 37.667969 46.460938 37.707031 46.5 37.746094 46.539062 C 37.746094 46.574219 37.761719 46.574219 37.761719 46.59375 C 37.820312 46.632812 37.855469 46.648438 37.894531 46.6875 L 37.914062 46.6875 C 37.96875 46.726562 38.042969 46.78125 38.082031 46.800781 L 38.101562 46.800781 C 38.101562 46.800781 38.121094 46.800781 38.121094 46.820312 C 38.15625 46.820312 38.230469 46.835938 38.269531 46.855469 L 38.308594 46.855469 L 38.402344 46.871094 L 38.496094 46.875 C 38.550781 46.875 38.605469 46.875 38.683594 46.855469 Z M 38.683594 46.855469 \"/>\\n      </g>'},ogvIcon:{extension:\".ogv\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 11.511719 46.875 C 13.238281 46.875 14.886719 46.085938 15.996094 44.867188 C 17.15625 43.648438 17.886719 41.980469 17.886719 40.125 C 17.886719 38.269531 17.15625 36.617188 15.996094 35.382812 C 14.886719 34.144531 13.238281 33.375 11.511719 33.375 C 9.714844 33.375 8.0625 34.144531 6.917969 35.382812 C 5.757812 36.617188 5.0625 38.269531 5.0625 40.125 C 5.0625 41.980469 5.757812 43.648438 6.917969 44.867188 C 8.0625 46.085938 9.714844 46.875 11.511719 46.875 Z M 11.511719 44.738281 C 10.3125 44.738281 9.261719 44.230469 8.476562 43.386719 C 7.6875 42.582031 7.199219 41.398438 7.199219 40.125 C 7.199219 38.851562 7.6875 37.667969 8.476562 36.84375 C 9.261719 36 10.3125 35.511719 11.511719 35.511719 C 12.636719 35.511719 13.6875 36 14.476562 36.84375 C 15.246094 37.667969 15.75 38.851562 15.75 40.125 C 15.75 41.398438 15.246094 42.582031 14.476562 43.386719 C 13.6875 44.230469 12.636719 44.738281 11.511719 44.738281 Z M 27.25 46.875 C 28.84375 46.875 30.324219 46.332031 31.507812 45.414062 C 31.695312 45.28125 31.804688 45.132812 31.863281 44.960938 L 31.863281 44.945312 C 31.882812 44.90625 31.882812 44.886719 31.898438 44.851562 C 31.917969 44.738281 31.957031 44.664062 31.957031 44.53125 L 31.957031 40.386719 C 31.957031 39.789062 31.46875 39.335938 30.867188 39.335938 L 27.136719 39.335938 C 26.554688 39.335938 26.070312 39.789062 26.070312 40.386719 C 26.070312 40.96875 26.554688 41.457031 27.136719 41.457031 L 29.820312 41.457031 L 29.820312 44.023438 C 29.070312 44.457031 28.1875 44.738281 27.25 44.738281 C 25.898438 44.738281 24.71875 44.230469 23.875 43.367188 C 22.992188 42.523438 22.46875 41.382812 22.46875 40.144531 C 22.46875 38.867188 22.992188 37.726562 23.875 36.882812 C 24.71875 36.019531 25.898438 35.511719 27.25 35.511719 C 28.375 35.511719 29.40625 35.90625 30.210938 36.523438 C 30.679688 36.898438 31.375 36.804688 31.730469 36.355469 C 32.085938 35.886719 32.011719 35.195312 31.523438 34.835938 C 30.363281 33.917969 28.84375 33.375 27.25 33.375 C 23.445312 33.375 20.332031 36.375 20.332031 40.144531 C 20.332031 43.894531 23.445312 46.875 27.25 46.875 Z M 40.191406 46.855469 L 40.230469 46.855469 C 40.285156 46.835938 40.324219 46.820312 40.378906 46.820312 C 40.398438 46.800781 40.398438 46.800781 40.417969 46.800781 C 40.472656 46.78125 40.53125 46.726562 40.566406 46.707031 C 40.605469 46.6875 40.605469 46.6875 40.605469 46.6875 L 40.71875 46.59375 C 40.738281 46.574219 40.738281 46.574219 40.753906 46.539062 L 40.847656 46.425781 C 40.867188 46.425781 40.867188 46.425781 40.867188 46.40625 C 40.90625 46.367188 40.925781 46.292969 40.941406 46.257812 L 45.574219 35.304688 C 45.78125 34.800781 45.535156 34.179688 45.011719 33.976562 C 44.503906 33.75 43.886719 33.992188 43.660156 34.519531 L 40.003906 43.199219 L 36.347656 34.519531 C 36.125 33.992188 35.523438 33.75 35.019531 33.976562 C 34.472656 34.179688 34.230469 34.800781 34.457031 35.304688 L 39.050781 46.257812 C 39.085938 46.292969 39.125 46.367188 39.144531 46.40625 C 39.144531 46.425781 39.160156 46.425781 39.160156 46.425781 C 39.179688 46.460938 39.21875 46.5 39.253906 46.539062 C 39.253906 46.574219 39.273438 46.574219 39.273438 46.59375 C 39.332031 46.632812 39.367188 46.648438 39.40625 46.6875 L 39.425781 46.6875 C 39.480469 46.726562 39.554688 46.78125 39.59375 46.800781 L 39.613281 46.800781 C 39.613281 46.800781 39.628906 46.800781 39.628906 46.820312 C 39.667969 46.820312 39.742188 46.835938 39.78125 46.855469 L 39.816406 46.855469 L 39.910156 46.871094 L 40.003906 46.875 C 40.0625 46.875 40.117188 46.875 40.191406 46.855469 Z M 40.191406 46.855469 \"/>\\n      </g>'},pngIcon:{extension:\".png\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.523438 46.875 C 8.105469 46.875 8.574219 46.40625 8.574219 45.84375 L 8.574219 41.773438 L 10.878906 41.773438 C 13.109375 41.773438 14.910156 39.976562 14.910156 37.78125 C 14.910156 35.550781 13.109375 33.75 10.878906 33.75 L 7.523438 33.75 C 6.960938 33.75 6.492188 34.199219 6.492188 34.78125 L 6.492188 45.84375 C 6.492188 46.40625 6.960938 46.875 7.523438 46.875 Z M 10.878906 39.695312 L 8.574219 39.695312 L 8.574219 35.832031 L 10.878906 35.832031 C 11.964844 35.832031 12.808594 36.695312 12.828125 37.78125 C 12.808594 38.832031 11.964844 39.695312 10.878906 39.695312 Z M 26.75 46.875 C 27.3125 46.875 27.78125 46.40625 27.78125 45.84375 L 27.78125 34.949219 C 27.78125 34.40625 27.3125 33.9375 26.75 33.9375 C 26.1875 33.9375 25.738281 34.40625 25.738281 34.949219 L 25.738281 42.675781 L 19.679688 34.292969 C 19.363281 33.84375 18.722656 33.75 18.253906 34.070312 C 17.972656 34.273438 17.824219 34.613281 17.84375 34.929688 L 17.84375 45.84375 C 17.84375 46.40625 18.292969 46.875 18.875 46.875 C 19.417969 46.875 19.886719 46.40625 19.886719 45.84375 L 19.886719 38.0625 L 25.886719 46.386719 C 25.90625 46.425781 25.941406 46.460938 25.980469 46.5 C 26.167969 46.726562 26.449219 46.875 26.75 46.875 Z M 38.082031 46.875 C 39.675781 46.875 41.15625 46.332031 42.339844 45.414062 C 42.527344 45.28125 42.636719 45.132812 42.695312 44.960938 L 42.695312 44.945312 C 42.714844 44.90625 42.714844 44.886719 42.730469 44.851562 C 42.75 44.738281 42.789062 44.664062 42.789062 44.53125 L 42.789062 40.386719 C 42.789062 39.789062 42.300781 39.335938 41.699219 39.335938 L 37.96875 39.335938 C 37.386719 39.335938 36.902344 39.789062 36.902344 40.386719 C 36.902344 40.96875 37.386719 41.457031 37.96875 41.457031 L 40.652344 41.457031 L 40.652344 44.023438 C 39.902344 44.457031 39.019531 44.738281 38.082031 44.738281 C 36.730469 44.738281 35.550781 44.230469 34.707031 43.367188 C 33.824219 42.523438 33.300781 41.382812 33.300781 40.144531 C 33.300781 38.867188 33.824219 37.726562 34.707031 36.882812 C 35.550781 36.019531 36.730469 35.511719 38.082031 35.511719 C 39.207031 35.511719 40.238281 35.90625 41.042969 36.523438 C 41.511719 36.898438 42.207031 36.804688 42.5625 36.355469 C 42.917969 35.886719 42.84375 35.195312 42.355469 34.835938 C 41.195312 33.917969 39.675781 33.375 38.082031 33.375 C 34.277344 33.375 31.164062 36.375 31.164062 40.144531 C 31.164062 43.894531 34.277344 46.875 38.082031 46.875 Z M 38.082031 46.875 \"/>\\n      </g>'},txtIcon:{extension:\".txt\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 12.847656 46.875 C 13.429688 46.875 13.878906 46.425781 13.878906 45.84375 L 13.878906 35.832031 L 16.859375 35.832031 C 17.421875 35.832031 17.890625 35.34375 17.890625 34.78125 C 17.890625 34.199219 17.421875 33.75 16.859375 33.75 L 8.855469 33.75 C 8.273438 33.75 7.824219 34.199219 7.824219 34.78125 C 7.824219 35.34375 8.273438 35.832031 8.855469 35.832031 L 11.816406 35.832031 L 11.816406 45.84375 C 11.816406 46.425781 12.285156 46.875 12.847656 46.875 Z M 29.019531 46.875 C 29.222656 46.875 29.429688 46.800781 29.617188 46.667969 C 30.085938 46.351562 30.160156 45.695312 29.84375 45.242188 L 26.28125 40.367188 L 29.84375 35.53125 C 30.160156 35.0625 30.085938 34.425781 29.617188 34.105469 C 29.148438 33.75 28.53125 33.84375 28.175781 34.332031 L 25.023438 38.644531 L 21.855469 34.332031 C 21.535156 33.84375 20.878906 33.75 20.429688 34.105469 C 19.960938 34.425781 19.867188 35.0625 20.1875 35.53125 L 23.75 40.367188 L 20.1875 45.242188 C 19.867188 45.695312 19.960938 46.351562 20.429688 46.667969 C 20.597656 46.800781 20.804688 46.875 21.03125 46.875 C 21.347656 46.875 21.648438 46.707031 21.855469 46.445312 L 25.023438 42.113281 L 28.175781 46.445312 C 28.378906 46.707031 28.679688 46.875 29.019531 46.875 Z M 37.464844 46.875 C 38.042969 46.875 38.496094 46.425781 38.496094 45.84375 L 38.496094 35.832031 L 41.476562 35.832031 C 42.039062 35.832031 42.507812 35.34375 42.507812 34.78125 C 42.507812 34.199219 42.039062 33.75 41.476562 33.75 L 33.46875 33.75 C 32.886719 33.75 32.4375 34.199219 32.4375 34.78125 C 32.4375 35.34375 32.886719 35.832031 33.46875 35.832031 L 36.433594 35.832031 L 36.433594 45.84375 C 36.433594 46.425781 36.902344 46.875 37.464844 46.875 Z M 37.464844 46.875 \"/>\\n      </g>'},webmIcon:{extension:\".webm\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.195312 43.734375 L 7.242188 43.734375 C 7.273438 43.71875 7.304688 43.703125 7.367188 43.703125 C 7.367188 43.6875 7.382812 43.6875 7.382812 43.6875 L 7.398438 43.6875 C 7.429688 43.671875 7.476562 43.625 7.523438 43.59375 L 7.554688 43.59375 C 7.585938 43.5625 7.617188 43.53125 7.648438 43.515625 C 7.648438 43.5 7.664062 43.5 7.664062 43.46875 L 7.757812 43.375 C 7.757812 43.375 7.757812 43.359375 7.773438 43.359375 C 7.789062 43.328125 7.820312 43.265625 7.835938 43.21875 L 9.882812 38.375 L 11.929688 43.21875 C 11.945312 43.265625 11.960938 43.328125 11.992188 43.359375 C 11.992188 43.359375 11.992188 43.375 12.023438 43.375 L 12.085938 43.46875 C 12.101562 43.5 12.101562 43.5 12.117188 43.515625 C 12.148438 43.53125 12.179688 43.5625 12.226562 43.59375 L 12.242188 43.59375 C 12.273438 43.625 12.320312 43.671875 12.382812 43.6875 C 12.398438 43.6875 12.398438 43.6875 12.414062 43.703125 C 12.445312 43.703125 12.476562 43.71875 12.523438 43.734375 L 12.570312 43.734375 L 12.640625 43.746094 L 12.710938 43.75 C 12.773438 43.75 12.820312 43.75 12.867188 43.734375 L 12.898438 43.734375 C 12.945312 43.71875 12.992188 43.703125 13.023438 43.703125 C 13.023438 43.6875 13.039062 43.6875 13.039062 43.6875 L 13.054688 43.6875 C 13.117188 43.671875 13.148438 43.625 13.195312 43.59375 L 13.210938 43.59375 C 13.242188 43.5625 13.289062 43.53125 13.320312 43.515625 C 13.320312 43.5 13.335938 43.5 13.335938 43.46875 C 13.367188 43.4375 13.398438 43.40625 13.414062 43.375 C 13.414062 43.375 13.429688 43.359375 13.429688 43.359375 C 13.460938 43.328125 13.492188 43.265625 13.507812 43.21875 L 17.335938 34.109375 C 17.523438 33.6875 17.320312 33.171875 16.898438 33 C 16.445312 32.8125 15.945312 33.015625 15.757812 33.453125 L 12.710938 40.6875 L 10.695312 35.890625 C 10.539062 35.546875 10.210938 35.359375 9.882812 35.359375 C 9.539062 35.359375 9.210938 35.546875 9.070312 35.890625 L 7.054688 40.6875 L 3.992188 33.453125 C 3.820312 33.015625 3.304688 32.8125 2.882812 33 C 2.429688 33.171875 2.242188 33.6875 2.414062 34.109375 L 6.257812 43.21875 C 6.289062 43.265625 6.304688 43.328125 6.335938 43.359375 L 6.335938 43.375 C 6.367188 43.40625 6.382812 43.4375 6.414062 43.46875 C 6.429688 43.5 6.429688 43.5 6.445312 43.515625 C 6.492188 43.53125 6.507812 43.5625 6.554688 43.59375 L 6.570312 43.59375 C 6.601562 43.625 6.664062 43.671875 6.710938 43.6875 C 6.726562 43.6875 6.726562 43.6875 6.742188 43.703125 C 6.773438 43.703125 6.804688 43.71875 6.851562 43.734375 L 6.898438 43.734375 L 6.976562 43.746094 L 7.054688 43.75 C 7.101562 43.75 7.148438 43.75 7.195312 43.734375 Z M 25.179688 43.75 C 25.632812 43.75 26.039062 43.359375 26.039062 42.890625 C 26.039062 42.40625 25.632812 42.015625 25.179688 42.015625 L 20.945312 42.015625 L 20.945312 39.140625 L 24.585938 39.140625 C 25.054688 39.140625 25.445312 38.75 25.445312 38.265625 C 25.445312 37.8125 25.054688 37.40625 24.585938 37.40625 L 20.945312 37.40625 L 20.945312 34.546875 L 25.179688 34.546875 C 25.632812 34.546875 26.039062 34.15625 26.039062 33.671875 C 26.039062 33.1875 25.632812 32.8125 25.179688 32.8125 L 20.070312 32.8125 C 19.585938 32.8125 19.210938 33.1875 19.210938 33.671875 L 19.210938 42.890625 C 19.210938 43.359375 19.585938 43.75 20.070312 43.75 C 20.070312 43.75 20.085938 43.734375 20.085938 43.734375 C 20.085938 43.734375 20.085938 43.75 20.117188 43.75 Z M 31.539062 43.75 C 33.382812 43.75 34.882812 42.25 34.882812 40.390625 C 34.882812 39.203125 34.242188 38.15625 33.304688 37.5625 C 33.679688 37.0625 33.898438 36.453125 33.898438 35.78125 C 33.898438 34.140625 32.570312 32.8125 30.929688 32.8125 L 28.710938 32.8125 C 28.242188 32.8125 27.851562 33.1875 27.851562 33.671875 L 27.851562 42.890625 C 27.851562 43.359375 28.242188 43.75 28.710938 43.75 L 28.757812 43.734375 C 28.757812 43.734375 28.757812 43.75 28.773438 43.75 Z M 30.929688 37.046875 L 29.585938 37.046875 L 29.585938 34.546875 L 30.929688 34.546875 C 31.617188 34.546875 32.164062 35.09375 32.164062 35.78125 C 32.164062 36.46875 31.617188 37.046875 30.929688 37.046875 Z M 31.539062 42.015625 L 29.585938 42.015625 L 29.585938 38.78125 L 31.539062 38.78125 C 32.429688 38.796875 33.148438 39.5 33.148438 40.390625 C 33.148438 41.296875 32.429688 42 31.539062 42.015625 Z M 45.664062 43.75 C 46.132812 43.75 46.539062 43.359375 46.539062 42.890625 L 46.539062 33.671875 C 46.539062 33.269531 46.242188 32.9375 45.859375 32.839844 L 45.664062 32.8125 L 45.648438 32.8125 C 45.367188 32.8125 45.117188 32.9375 44.945312 33.171875 L 41.835938 37.484375 L 38.726562 33.171875 C 38.570312 32.9375 38.289062 32.8125 38.039062 32.8125 L 37.992188 32.8125 C 37.523438 32.8125 37.132812 33.203125 37.132812 33.671875 L 37.132812 42.890625 C 37.132812 43.359375 37.523438 43.75 37.992188 43.75 C 38.476562 43.75 38.867188 43.359375 38.867188 42.890625 L 38.867188 36.3125 L 41.101562 39.4375 C 41.273438 39.671875 41.539062 39.796875 41.820312 39.796875 L 41.851562 39.796875 C 42.132812 39.796875 42.382812 39.671875 42.554688 39.4375 L 44.804688 36.3125 L 44.804688 42.890625 C 44.804688 43.359375 45.179688 43.75 45.664062 43.75 Z M 45.664062 43.75 \"/>\\n      </g>'},webpIcon:{extension:\".webp\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 9.234375 43.734375 L 9.28125 43.734375 C 9.3125 43.71875 9.34375 43.703125 9.40625 43.703125 L 9.414062 43.6875 C 9.421875 43.6875 9.421875 43.6875 9.4375 43.6875 C 9.46875 43.671875 9.515625 43.625 9.5625 43.59375 L 9.59375 43.59375 C 9.625 43.5625 9.65625 43.53125 9.6875 43.515625 C 9.6875 43.5 9.703125 43.5 9.703125 43.46875 L 9.796875 43.375 C 9.796875 43.375 9.796875 43.359375 9.8125 43.359375 C 9.828125 43.328125 9.859375 43.265625 9.875 43.21875 L 11.921875 38.375 L 13.96875 43.21875 C 13.984375 43.265625 14 43.328125 14.03125 43.359375 C 14.03125 43.359375 14.03125 43.375 14.0625 43.375 L 14.125 43.46875 C 14.140625 43.5 14.140625 43.5 14.15625 43.515625 L 14.203125 43.546875 L 14.265625 43.59375 C 14.265625 43.59375 14.265625 43.59375 14.28125 43.59375 C 14.3125 43.625 14.359375 43.671875 14.421875 43.6875 C 14.4375 43.6875 14.4375 43.6875 14.453125 43.703125 C 14.484375 43.703125 14.515625 43.71875 14.5625 43.734375 L 14.609375 43.734375 L 14.679688 43.746094 L 14.75 43.75 C 14.8125 43.75 14.859375 43.75 14.90625 43.734375 L 14.9375 43.734375 C 14.984375 43.71875 15.03125 43.703125 15.0625 43.703125 C 15.0625 43.6875 15.078125 43.6875 15.078125 43.6875 L 15.09375 43.6875 C 15.15625 43.671875 15.1875 43.625 15.234375 43.59375 L 15.25 43.59375 C 15.28125 43.5625 15.328125 43.53125 15.359375 43.515625 C 15.359375 43.5 15.375 43.5 15.375 43.46875 C 15.40625 43.4375 15.4375 43.40625 15.453125 43.375 L 15.46875 43.359375 C 15.5 43.328125 15.53125 43.265625 15.546875 43.21875 L 19.375 34.109375 C 19.5625 33.6875 19.359375 33.171875 18.9375 33 C 18.484375 32.8125 17.984375 33.015625 17.796875 33.453125 L 14.75 40.6875 L 12.734375 35.890625 C 12.578125 35.546875 12.25 35.359375 11.921875 35.359375 C 11.578125 35.359375 11.25 35.546875 11.109375 35.890625 L 9.09375 40.6875 L 6.03125 33.453125 C 5.859375 33.015625 5.34375 32.8125 4.921875 33 C 4.46875 33.171875 4.28125 33.6875 4.453125 34.109375 L 8.296875 43.21875 C 8.328125 43.265625 8.34375 43.328125 8.375 43.359375 L 8.375 43.375 C 8.40625 43.40625 8.421875 43.4375 8.453125 43.46875 C 8.46875 43.5 8.46875 43.5 8.484375 43.515625 L 8.539062 43.546875 L 8.59375 43.59375 C 8.59375 43.59375 8.59375 43.59375 8.609375 43.59375 C 8.640625 43.625 8.703125 43.671875 8.75 43.6875 C 8.765625 43.6875 8.765625 43.6875 8.78125 43.703125 C 8.8125 43.703125 8.84375 43.71875 8.890625 43.734375 L 8.9375 43.734375 L 9.015625 43.746094 L 9.09375 43.75 C 9.140625 43.75 9.1875 43.75 9.234375 43.734375 Z M 27.21875 43.75 C 27.671875 43.75 28.078125 43.359375 28.078125 42.890625 C 28.078125 42.40625 27.671875 42.015625 27.21875 42.015625 L 22.984375 42.015625 L 22.984375 39.140625 L 26.625 39.140625 C 27.09375 39.140625 27.484375 38.75 27.484375 38.265625 C 27.484375 37.8125 27.09375 37.40625 26.625 37.40625 L 22.984375 37.40625 L 22.984375 34.546875 L 27.21875 34.546875 C 27.671875 34.546875 28.078125 34.15625 28.078125 33.671875 C 28.078125 33.1875 27.671875 32.8125 27.21875 32.8125 L 22.109375 32.8125 C 21.625 32.8125 21.25 33.1875 21.25 33.671875 L 21.25 42.890625 C 21.25 43.359375 21.625 43.75 22.109375 43.75 L 22.125 43.734375 C 22.125 43.734375 22.125 43.75 22.15625 43.75 Z M 33.578125 43.75 C 35.421875 43.75 36.921875 42.25 36.921875 40.390625 C 36.921875 39.203125 36.28125 38.15625 35.34375 37.5625 C 35.71875 37.0625 35.9375 36.453125 35.9375 35.78125 C 35.9375 34.140625 34.609375 32.8125 32.96875 32.8125 L 30.75 32.8125 C 30.28125 32.8125 29.890625 33.1875 29.890625 33.671875 L 29.890625 42.890625 C 29.890625 43.359375 30.28125 43.75 30.75 43.75 C 30.765625 43.75 30.765625 43.734375 30.796875 43.734375 C 30.796875 43.734375 30.796875 43.75 30.8125 43.75 Z M 32.96875 37.046875 L 31.625 37.046875 L 31.625 34.546875 L 32.96875 34.546875 C 33.65625 34.546875 34.203125 35.09375 34.203125 35.78125 C 34.203125 36.46875 33.65625 37.046875 32.96875 37.046875 Z M 33.578125 42.015625 L 31.625 42.015625 L 31.625 38.78125 L 33.578125 38.78125 C 34.46875 38.796875 35.1875 39.5 35.1875 40.390625 C 35.1875 41.296875 34.46875 42 33.578125 42.015625 Z M 40.03125 43.75 C 40.515625 43.75 40.90625 43.359375 40.90625 42.890625 L 40.90625 39.5 L 42.828125 39.5 C 44.6875 39.5 46.1875 38 46.1875 36.171875 C 46.1875 34.3125 44.6875 32.8125 42.828125 32.8125 L 40.03125 32.8125 C 39.5625 32.8125 39.171875 33.1875 39.171875 33.671875 L 39.171875 42.890625 C 39.171875 43.359375 39.5625 43.75 40.03125 43.75 Z M 42.828125 37.765625 L 40.90625 37.765625 L 40.90625 34.546875 L 42.828125 34.546875 C 43.734375 34.546875 44.4375 35.265625 44.453125 36.171875 C 44.4375 37.046875 43.734375 37.765625 42.828125 37.765625 Z M 42.828125 37.765625 \"/>\\n      </g>'},wmvIcon:{extension:\".wmv\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.484375 43.734375 L 8.53125 43.734375 C 8.5625 43.71875 8.59375 43.703125 8.65625 43.703125 L 8.664062 43.6875 C 8.671875 43.6875 8.671875 43.6875 8.6875 43.6875 C 8.71875 43.671875 8.765625 43.625 8.8125 43.59375 L 8.84375 43.59375 C 8.875 43.5625 8.90625 43.53125 8.9375 43.515625 C 8.9375 43.5 8.953125 43.5 8.953125 43.46875 L 9.046875 43.375 C 9.046875 43.375 9.046875 43.359375 9.0625 43.359375 C 9.078125 43.328125 9.109375 43.265625 9.125 43.21875 L 11.171875 38.375 L 13.21875 43.21875 C 13.234375 43.265625 13.25 43.328125 13.28125 43.359375 C 13.28125 43.359375 13.28125 43.375 13.3125 43.375 L 13.375 43.46875 C 13.390625 43.5 13.390625 43.5 13.40625 43.515625 L 13.453125 43.546875 L 13.515625 43.59375 C 13.515625 43.59375 13.515625 43.59375 13.53125 43.59375 C 13.5625 43.625 13.609375 43.671875 13.671875 43.6875 C 13.6875 43.6875 13.6875 43.6875 13.703125 43.703125 C 13.734375 43.703125 13.765625 43.71875 13.8125 43.734375 L 13.859375 43.734375 L 13.929688 43.746094 L 14 43.75 C 14.0625 43.75 14.109375 43.75 14.15625 43.734375 L 14.1875 43.734375 C 14.234375 43.71875 14.28125 43.703125 14.3125 43.703125 C 14.3125 43.6875 14.328125 43.6875 14.328125 43.6875 L 14.34375 43.6875 C 14.40625 43.671875 14.4375 43.625 14.484375 43.59375 L 14.5 43.59375 C 14.53125 43.5625 14.578125 43.53125 14.609375 43.515625 C 14.609375 43.5 14.625 43.5 14.625 43.46875 C 14.65625 43.4375 14.6875 43.40625 14.703125 43.375 L 14.71875 43.359375 C 14.75 43.328125 14.78125 43.265625 14.796875 43.21875 L 18.625 34.109375 C 18.8125 33.6875 18.609375 33.171875 18.1875 33 C 17.734375 32.8125 17.234375 33.015625 17.046875 33.453125 L 14 40.6875 L 11.984375 35.890625 C 11.828125 35.546875 11.5 35.359375 11.171875 35.359375 C 10.828125 35.359375 10.5 35.546875 10.359375 35.890625 L 8.34375 40.6875 L 5.28125 33.453125 C 5.109375 33.015625 4.59375 32.8125 4.171875 33 C 3.71875 33.171875 3.53125 33.6875 3.703125 34.109375 L 7.546875 43.21875 C 7.578125 43.265625 7.59375 43.328125 7.625 43.359375 L 7.625 43.375 C 7.65625 43.40625 7.671875 43.4375 7.703125 43.46875 C 7.71875 43.5 7.71875 43.5 7.734375 43.515625 L 7.789062 43.546875 L 7.84375 43.59375 C 7.84375 43.59375 7.84375 43.59375 7.859375 43.59375 C 7.890625 43.625 7.953125 43.671875 8 43.6875 C 8.015625 43.6875 8.015625 43.6875 8.03125 43.703125 C 8.0625 43.703125 8.09375 43.71875 8.140625 43.734375 L 8.1875 43.734375 L 8.265625 43.746094 L 8.34375 43.75 C 8.390625 43.75 8.4375 43.75 8.484375 43.734375 Z M 29.03125 43.75 C 29.5 43.75 29.90625 43.359375 29.90625 42.890625 L 29.90625 33.671875 C 29.90625 33.269531 29.609375 32.9375 29.226562 32.839844 L 29.03125 32.8125 L 29.015625 32.8125 C 28.734375 32.8125 28.484375 32.9375 28.3125 33.171875 L 25.203125 37.484375 L 22.09375 33.171875 C 21.9375 32.9375 21.65625 32.8125 21.40625 32.8125 L 21.359375 32.8125 C 20.890625 32.8125 20.5 33.203125 20.5 33.671875 L 20.5 42.890625 C 20.5 43.359375 20.890625 43.75 21.359375 43.75 C 21.84375 43.75 22.234375 43.359375 22.234375 42.890625 L 22.234375 36.3125 L 24.46875 39.4375 C 24.640625 39.671875 24.90625 39.796875 25.1875 39.796875 L 25.21875 39.796875 C 25.5 39.796875 25.75 39.671875 25.921875 39.4375 L 28.171875 36.3125 L 28.171875 42.890625 C 28.171875 43.359375 28.546875 43.75 29.03125 43.75 Z M 37.015625 43.734375 L 37.0625 43.734375 C 37.09375 43.71875 37.125 43.703125 37.1875 43.703125 L 37.195312 43.6875 C 37.203125 43.6875 37.203125 43.6875 37.21875 43.6875 C 37.25 43.671875 37.296875 43.625 37.34375 43.59375 L 37.375 43.59375 C 37.40625 43.5625 37.4375 43.53125 37.46875 43.515625 C 37.46875 43.5 37.484375 43.5 37.484375 43.46875 L 37.578125 43.375 C 37.578125 43.375 37.578125 43.359375 37.59375 43.359375 C 37.609375 43.328125 37.640625 43.265625 37.65625 43.21875 L 39.703125 38.375 L 41.75 43.21875 C 41.765625 43.265625 41.78125 43.328125 41.8125 43.359375 C 41.8125 43.359375 41.8125 43.375 41.84375 43.375 L 41.90625 43.46875 C 41.921875 43.5 41.921875 43.5 41.9375 43.515625 L 41.984375 43.546875 L 42.046875 43.59375 C 42.046875 43.59375 42.046875 43.59375 42.0625 43.59375 C 42.09375 43.625 42.140625 43.671875 42.203125 43.6875 C 42.21875 43.6875 42.21875 43.6875 42.234375 43.703125 C 42.265625 43.703125 42.296875 43.71875 42.34375 43.734375 L 42.390625 43.734375 L 42.460938 43.746094 L 42.53125 43.75 C 42.59375 43.75 42.640625 43.75 42.6875 43.734375 L 42.71875 43.734375 C 42.765625 43.71875 42.8125 43.703125 42.84375 43.703125 C 42.84375 43.6875 42.859375 43.6875 42.859375 43.6875 L 42.875 43.6875 C 42.9375 43.671875 42.96875 43.625 43.015625 43.59375 L 43.03125 43.59375 C 43.0625 43.5625 43.109375 43.53125 43.140625 43.515625 C 43.140625 43.5 43.15625 43.5 43.15625 43.46875 C 43.1875 43.4375 43.21875 43.40625 43.234375 43.375 L 43.25 43.359375 C 43.28125 43.328125 43.3125 43.265625 43.328125 43.21875 L 47.15625 34.109375 C 47.34375 33.6875 47.140625 33.171875 46.71875 33 C 46.265625 32.8125 45.765625 33.015625 45.578125 33.453125 L 42.53125 40.6875 L 40.515625 35.890625 C 40.359375 35.546875 40.03125 35.359375 39.703125 35.359375 C 39.359375 35.359375 39.03125 35.546875 38.890625 35.890625 L 36.875 40.6875 L 33.8125 33.453125 C 33.640625 33.015625 33.125 32.8125 32.703125 33 C 32.25 33.171875 32.0625 33.6875 32.234375 34.109375 L 36.078125 43.21875 C 36.109375 43.265625 36.125 43.328125 36.15625 43.359375 L 36.15625 43.375 C 36.1875 43.40625 36.203125 43.4375 36.234375 43.46875 C 36.25 43.5 36.25 43.5 36.265625 43.515625 L 36.320312 43.546875 L 36.375 43.59375 C 36.375 43.59375 36.375 43.59375 36.390625 43.59375 C 36.421875 43.625 36.484375 43.671875 36.53125 43.6875 C 36.546875 43.6875 36.546875 43.6875 36.5625 43.703125 C 36.59375 43.703125 36.625 43.71875 36.671875 43.734375 L 36.71875 43.734375 L 36.796875 43.746094 L 36.875 43.75 C 36.921875 43.75 36.96875 43.75 37.015625 43.734375 Z M 37.015625 43.734375 \"/>\\n      </g>'},xlsIcon:{extension:\".xls\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 17.21875 46.875 C 17.425781 46.875 17.632812 46.800781 17.820312 46.667969 C 18.289062 46.351562 18.363281 45.695312 18.042969 45.242188 L 14.480469 40.367188 L 18.042969 35.53125 C 18.363281 35.0625 18.289062 34.425781 17.820312 34.105469 C 17.351562 33.75 16.730469 33.84375 16.375 34.332031 L 13.226562 38.644531 L 10.054688 34.332031 C 9.738281 33.84375 9.082031 33.75 8.632812 34.105469 C 8.164062 34.425781 8.070312 35.0625 8.386719 35.53125 L 11.949219 40.367188 L 8.386719 45.242188 C 8.070312 45.695312 8.164062 46.351562 8.632812 46.667969 C 8.800781 46.800781 9.007812 46.875 9.230469 46.875 C 9.550781 46.875 9.851562 46.707031 10.054688 46.445312 L 13.226562 42.113281 L 16.375 46.445312 C 16.582031 46.707031 16.882812 46.875 17.21875 46.875 Z M 29.351562 46.875 C 29.894531 46.875 30.382812 46.40625 30.382812 45.84375 C 30.382812 45.261719 29.894531 44.792969 29.351562 44.792969 L 24.269531 44.792969 L 24.269531 34.78125 C 24.269531 34.21875 23.800781 33.75 23.21875 33.75 C 22.636719 33.75 22.1875 34.21875 22.1875 34.78125 L 22.1875 45.84375 C 22.1875 46.335938 22.53125 46.757812 23.007812 46.855469 L 23.222656 46.875 Z M 37.28125 46.855469 C 38.613281 46.855469 39.832031 46.460938 40.75 45.789062 C 41.6875 45.113281 42.363281 44.082031 42.363281 42.882812 C 42.363281 42.300781 42.195312 41.738281 41.914062 41.289062 C 41.480469 40.59375 40.804688 40.105469 40.039062 39.730469 C 39.289062 39.375 38.40625 39.132812 37.449219 38.945312 L 37.414062 38.945312 C 36.398438 38.757812 35.554688 38.457031 35.070312 38.117188 C 34.824219 37.949219 34.65625 37.78125 34.5625 37.632812 C 34.46875 37.480469 34.429688 37.332031 34.429688 37.105469 C 34.429688 36.710938 34.636719 36.300781 35.144531 35.925781 C 35.648438 35.550781 36.398438 35.289062 37.242188 35.289062 C 38.386719 35.289062 39.304688 35.851562 40.261719 36.488281 C 40.710938 36.789062 41.3125 36.65625 41.59375 36.207031 C 41.894531 35.773438 41.761719 35.175781 41.332031 34.875 C 40.375 34.257812 39.042969 33.375 37.242188 33.375 C 36.023438 33.375 34.882812 33.730469 34 34.367188 C 33.136719 35.007812 32.5 35.980469 32.5 37.105469 C 32.5 37.667969 32.648438 38.195312 32.929688 38.644531 C 33.34375 39.300781 33.960938 39.769531 34.675781 40.105469 C 35.386719 40.445312 36.210938 40.667969 37.09375 40.835938 L 37.132812 40.835938 C 38.238281 41.042969 39.15625 41.363281 39.699219 41.71875 C 39.980469 41.90625 40.148438 42.09375 40.261719 42.28125 C 40.375 42.46875 40.429688 42.636719 40.429688 42.882812 C 40.429688 43.351562 40.1875 43.820312 39.625 44.230469 C 39.0625 44.644531 38.21875 44.925781 37.28125 44.925781 C 35.949219 44.945312 34.523438 44.15625 33.699219 43.480469 C 33.289062 43.144531 32.667969 43.199219 32.332031 43.613281 C 32.011719 44.023438 32.070312 44.644531 32.480469 44.980469 C 33.550781 45.824219 35.257812 46.835938 37.28125 46.855469 Z M 37.28125 46.855469 \"/>\\n      </g>'},xlsxIcon:{extension:\".xlsx\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 13.070312 43.75 C 13.242188 43.75 13.414062 43.6875 13.570312 43.578125 C 13.960938 43.3125 14.023438 42.765625 13.757812 42.390625 L 10.789062 38.328125 L 13.757812 34.296875 C 14.023438 33.90625 13.960938 33.375 13.570312 33.109375 C 13.179688 32.8125 12.664062 32.890625 12.367188 33.296875 L 9.742188 36.890625 L 7.101562 33.296875 C 6.835938 32.890625 6.289062 32.8125 5.914062 33.109375 C 5.523438 33.375 5.445312 33.90625 5.710938 34.296875 L 8.679688 38.328125 L 5.710938 42.390625 C 5.445312 42.765625 5.523438 43.3125 5.914062 43.578125 C 6.054688 43.6875 6.226562 43.75 6.414062 43.75 C 6.679688 43.75 6.929688 43.609375 7.101562 43.390625 L 9.742188 39.78125 L 12.367188 43.390625 C 12.539062 43.609375 12.789062 43.75 13.070312 43.75 Z M 23.179688 43.75 C 23.632812 43.75 24.039062 43.359375 24.039062 42.890625 C 24.039062 42.40625 23.632812 42.015625 23.179688 42.015625 L 18.945312 42.015625 L 18.945312 33.671875 C 18.945312 33.203125 18.554688 32.8125 18.070312 32.8125 C 17.585938 32.8125 17.210938 33.203125 17.210938 33.671875 L 17.210938 42.890625 C 17.210938 43.359375 17.585938 43.75 18.070312 43.75 Z M 29.789062 43.734375 C 30.898438 43.734375 31.914062 43.40625 32.679688 42.84375 C 33.460938 42.28125 34.023438 41.421875 34.023438 40.421875 C 34.023438 39.9375 33.882812 39.46875 33.648438 39.09375 C 33.289062 38.515625 32.726562 38.109375 32.085938 37.796875 C 31.460938 37.5 30.726562 37.296875 29.929688 37.140625 L 29.898438 37.140625 C 29.054688 36.984375 28.351562 36.734375 27.945312 36.453125 C 27.742188 36.3125 27.601562 36.171875 27.523438 36.046875 C 27.445312 35.921875 27.414062 35.796875 27.414062 35.609375 C 27.414062 35.28125 27.585938 34.9375 28.007812 34.625 C 28.429688 34.3125 29.054688 34.09375 29.757812 34.09375 C 30.710938 34.09375 31.476562 34.5625 32.273438 35.09375 C 32.648438 35.34375 33.148438 35.234375 33.382812 34.859375 C 33.632812 34.5 33.523438 34 33.164062 33.75 C 32.367188 33.234375 31.257812 32.5 29.757812 32.5 C 28.742188 32.5 27.789062 32.796875 27.054688 33.328125 C 26.335938 33.859375 25.804688 34.671875 25.804688 35.609375 C 25.804688 36.078125 25.929688 36.515625 26.164062 36.890625 C 26.507812 37.4375 27.023438 37.828125 27.617188 38.109375 C 28.210938 38.390625 28.898438 38.578125 29.632812 38.71875 L 29.664062 38.71875 C 30.585938 38.890625 31.351562 39.15625 31.804688 39.453125 C 32.039062 39.609375 32.179688 39.765625 32.273438 39.921875 C 32.367188 40.078125 32.414062 40.21875 32.414062 40.421875 C 32.414062 40.8125 32.210938 41.203125 31.742188 41.546875 C 31.273438 41.890625 30.570312 42.125 29.789062 42.125 C 28.679688 42.140625 27.492188 41.484375 26.804688 40.921875 C 26.460938 40.640625 25.945312 40.6875 25.664062 41.03125 C 25.398438 41.375 25.445312 41.890625 25.789062 42.171875 C 26.679688 42.875 28.101562 43.71875 29.789062 43.734375 Z M 43.179688 43.75 C 43.351562 43.75 43.523438 43.6875 43.679688 43.578125 C 44.070312 43.3125 44.132812 42.765625 43.867188 42.390625 L 40.898438 38.328125 L 43.867188 34.296875 C 44.132812 33.90625 44.070312 33.375 43.679688 33.109375 C 43.289062 32.8125 42.773438 32.890625 42.476562 33.296875 L 39.851562 36.890625 L 37.210938 33.296875 C 36.945312 32.890625 36.398438 32.8125 36.023438 33.109375 C 35.632812 33.375 35.554688 33.90625 35.820312 34.296875 L 38.789062 38.328125 L 35.820312 42.390625 C 35.554688 42.765625 35.632812 43.3125 36.023438 43.578125 C 36.164062 43.6875 36.335938 43.75 36.523438 43.75 C 36.789062 43.75 37.039062 43.609375 37.210938 43.390625 L 39.851562 39.78125 L 42.476562 43.390625 C 42.648438 43.609375 42.898438 43.75 43.179688 43.75 Z M 43.179688 43.75 \"/>\\n      </g>'},zipIcon:{extension:\".zip\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 20.175781 46.875 C 20.855469 46.875 21.402344 46.351562 21.402344 45.671875 C 21.402344 44.992188 20.855469 44.445312 20.175781 44.445312 L 13.132812 44.445312 L 21.183594 33.488281 L 21.183594 33.445312 C 21.203125 33.421875 21.226562 33.378906 21.25 33.335938 C 21.269531 33.3125 21.269531 33.289062 21.292969 33.269531 C 21.3125 33.203125 21.3125 33.179688 21.335938 33.136719 C 21.335938 33.09375 21.378906 33.070312 21.378906 33.007812 C 21.378906 32.984375 21.378906 32.960938 21.402344 32.917969 L 21.402344 32.679688 C 21.402344 32.632812 21.402344 32.613281 21.378906 32.546875 C 21.378906 32.503906 21.378906 32.480469 21.335938 32.4375 C 21.335938 32.414062 21.3125 32.371094 21.3125 32.304688 C 21.292969 32.285156 21.269531 32.242188 21.269531 32.21875 C 21.25 32.195312 21.226562 32.152344 21.203125 32.109375 C 21.183594 32.066406 21.160156 32.042969 21.117188 32.023438 C 21.09375 32 21.074219 31.957031 21.050781 31.933594 C 21.03125 31.914062 21.007812 31.867188 20.964844 31.847656 C 20.941406 31.824219 20.941406 31.804688 20.898438 31.78125 L 20.875 31.78125 C 20.832031 31.757812 20.8125 31.738281 20.765625 31.714844 C 20.746094 31.695312 20.722656 31.648438 20.65625 31.648438 L 20.570312 31.605469 L 20.4375 31.585938 C 20.417969 31.585938 20.375 31.5625 20.351562 31.5625 L 10.75 31.5625 C 10.070312 31.5625 9.546875 32.085938 9.546875 32.765625 C 9.546875 33.421875 10.070312 33.992188 10.75 33.992188 L 17.8125 33.992188 L 9.785156 44.972656 L 9.765625 44.972656 C 9.742188 45.015625 9.71875 45.058594 9.699219 45.082031 C 9.699219 45.101562 9.675781 45.148438 9.632812 45.167969 C 9.632812 45.210938 9.609375 45.257812 9.609375 45.277344 C 9.589844 45.320312 9.589844 45.367188 9.566406 45.386719 L 9.566406 45.496094 C 9.546875 45.539062 9.546875 45.585938 9.546875 45.648438 L 9.546875 45.738281 C 9.546875 45.78125 9.566406 45.824219 9.566406 45.890625 C 9.566406 45.933594 9.589844 45.957031 9.589844 45.976562 L 9.632812 46.109375 C 9.632812 46.152344 9.675781 46.175781 9.699219 46.21875 C 9.699219 46.242188 9.71875 46.261719 9.742188 46.328125 C 9.765625 46.351562 9.785156 46.394531 9.808594 46.414062 C 9.828125 46.4375 9.851562 46.460938 9.894531 46.480469 L 9.9375 46.542969 L 9.984375 46.589844 C 10.003906 46.613281 10.027344 46.632812 10.046875 46.632812 L 10.046875 46.65625 C 10.070312 46.679688 10.09375 46.679688 10.136719 46.699219 C 10.179688 46.722656 10.222656 46.742188 10.246094 46.742188 C 10.265625 46.789062 10.289062 46.789062 10.3125 46.808594 C 10.375 46.808594 10.421875 46.832031 10.464844 46.832031 C 10.484375 46.851562 10.507812 46.851562 10.53125 46.851562 L 10.648438 46.871094 Z M 26.214844 46.875 C 26.871094 46.875 27.4375 46.351562 27.4375 45.671875 L 27.4375 32.765625 C 27.4375 32.085938 26.871094 31.5625 26.214844 31.5625 C 25.535156 31.5625 25.011719 32.085938 25.011719 32.765625 L 25.011719 45.671875 C 25.011719 46.351562 25.535156 46.875 26.214844 46.875 Z M 32.734375 46.875 C 33.410156 46.875 33.957031 46.328125 33.957031 45.671875 L 33.957031 40.925781 L 36.648438 40.925781 C 39.25 40.925781 41.351562 38.824219 41.351562 36.265625 C 41.351562 33.664062 39.25 31.5625 36.648438 31.5625 L 32.734375 31.5625 C 32.078125 31.5625 31.53125 32.085938 31.53125 32.765625 L 31.53125 45.671875 C 31.53125 46.328125 32.078125 46.875 32.734375 46.875 Z M 36.648438 38.496094 L 33.957031 38.496094 L 33.957031 33.992188 L 36.648438 33.992188 C 37.917969 33.992188 38.902344 34.996094 38.921875 36.265625 C 38.902344 37.492188 37.917969 38.496094 36.648438 38.496094 Z M 36.648438 38.496094 \"/>\\n      </g>'},docxIcon:{extension:\".docx\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 7.789062 43.75 C 9.589844 43.75 10.988281 43.269531 11.984375 42.304688 C 12.980469 41.339844 13.476562 39.984375 13.476562 38.234375 C 13.476562 36.496094 12.980469 35.144531 11.984375 34.179688 C 10.988281 33.214844 9.589844 32.734375 7.789062 32.734375 L 4.695312 32.734375 C 4.394531 32.734375 4.15625 32.816406 3.984375 32.984375 C 3.8125 33.152344 3.726562 33.386719 3.726562 33.6875 L 3.726562 42.796875 C 3.726562 43.097656 3.8125 43.332031 3.984375 43.5 C 4.15625 43.667969 4.394531 43.75 4.695312 43.75 Z M 7.664062 42.109375 L 5.742188 42.109375 L 5.742188 34.375 L 7.664062 34.375 C 10.195312 34.375 11.460938 35.660156 11.460938 38.234375 C 11.460938 40.816406 10.195312 42.109375 7.664062 42.109375 Z M 20.414062 43.890625 C 21.476562 43.890625 22.402344 43.660156 23.1875 43.203125 C 23.972656 42.746094 24.582031 42.089844 25.007812 41.234375 C 25.433594 40.378906 25.648438 39.378906 25.648438 38.234375 C 25.648438 37.089844 25.4375 36.089844 25.015625 35.242188 C 24.59375 34.394531 23.988281 33.738281 23.203125 33.28125 C 22.417969 32.824219 21.488281 32.59375 20.414062 32.59375 C 19.339844 32.59375 18.410156 32.824219 17.617188 33.28125 C 16.824219 33.738281 16.21875 34.394531 15.796875 35.242188 C 15.375 36.089844 15.164062 37.089844 15.164062 38.234375 C 15.164062 39.378906 15.378906 40.378906 15.804688 41.234375 C 16.230469 42.089844 16.839844 42.746094 17.625 43.203125 C 18.410156 43.660156 19.339844 43.890625 20.414062 43.890625 Z M 20.414062 42.28125 C 19.394531 42.28125 18.597656 41.933594 18.03125 41.234375 C 17.464844 40.535156 17.179688 39.535156 17.179688 38.234375 C 17.179688 36.933594 17.464844 35.933594 18.03125 35.242188 C 18.597656 34.550781 19.394531 34.203125 20.414062 34.203125 C 21.425781 34.203125 22.214844 34.550781 22.78125 35.242188 C 23.347656 35.933594 23.632812 36.933594 23.632812 38.234375 C 23.632812 39.535156 23.347656 40.535156 22.78125 41.234375 C 22.214844 41.933594 21.425781 42.28125 20.414062 42.28125 Z M 32.601562 43.890625 C 33.289062 43.890625 33.933594 43.789062 34.539062 43.585938 C 35.144531 43.382812 35.679688 43.089844 36.148438 42.703125 C 36.285156 42.597656 36.378906 42.488281 36.429688 42.367188 C 36.480469 42.246094 36.507812 42.109375 36.507812 41.953125 C 36.507812 41.722656 36.445312 41.53125 36.320312 41.375 C 36.195312 41.21875 36.042969 41.140625 35.867188 41.140625 C 35.753906 41.140625 35.644531 41.160156 35.539062 41.203125 C 35.433594 41.246094 35.332031 41.296875 35.226562 41.359375 C 34.746094 41.683594 34.316406 41.910156 33.9375 42.046875 C 33.558594 42.183594 33.144531 42.25 32.695312 42.25 C 31.613281 42.25 30.792969 41.910156 30.234375 41.234375 C 29.675781 40.558594 29.398438 39.558594 29.398438 38.234375 C 29.398438 36.921875 29.675781 35.925781 30.234375 35.25 C 30.792969 34.574219 31.613281 34.234375 32.695312 34.234375 C 33.164062 34.234375 33.589844 34.300781 33.976562 34.429688 C 34.363281 34.558594 34.777344 34.792969 35.226562 35.125 C 35.445312 35.269531 35.660156 35.34375 35.867188 35.34375 C 36.042969 35.34375 36.195312 35.265625 36.320312 35.109375 C 36.445312 34.953125 36.507812 34.761719 36.507812 34.53125 C 36.507812 34.363281 36.480469 34.222656 36.429688 34.109375 C 36.378906 33.996094 36.285156 33.886719 36.148438 33.78125 C 35.679688 33.394531 35.144531 33.101562 34.539062 32.898438 C 33.933594 32.695312 33.289062 32.59375 32.601562 32.59375 C 31.539062 32.59375 30.609375 32.824219 29.8125 33.28125 C 29.015625 33.738281 28.402344 34.394531 27.976562 35.242188 C 27.550781 36.089844 27.335938 37.089844 27.335938 38.234375 C 27.335938 39.378906 27.550781 40.378906 27.976562 41.234375 C 28.402344 42.089844 29.015625 42.746094 29.8125 43.203125 C 30.609375 43.660156 31.539062 43.890625 32.601562 43.890625 Z M 46.132812 43.84375 C 46.382812 43.84375 46.605469 43.75 46.796875 43.5625 C 46.988281 43.375 47.085938 43.15625 47.085938 42.90625 C 47.085938 42.707031 47.003906 42.511719 46.835938 42.3125 L 43.445312 38.15625 L 46.710938 34.171875 C 46.867188 34.003906 46.945312 33.808594 46.945312 33.578125 C 46.945312 33.328125 46.847656 33.113281 46.65625 32.929688 C 46.464844 32.746094 46.242188 32.65625 45.992188 32.65625 C 45.730469 32.65625 45.507812 32.769531 45.320312 33 L 42.273438 36.765625 L 39.226562 33 C 39.027344 32.769531 38.800781 32.65625 38.539062 32.65625 C 38.289062 32.65625 38.070312 32.746094 37.882812 32.929688 C 37.695312 33.113281 37.601562 33.328125 37.601562 33.578125 C 37.601562 33.808594 37.679688 34.003906 37.835938 34.171875 L 41.101562 38.15625 L 37.695312 42.3125 C 37.539062 42.5 37.460938 42.699219 37.460938 42.90625 C 37.460938 43.15625 37.558594 43.371094 37.75 43.554688 C 37.941406 43.738281 38.164062 43.828125 38.414062 43.828125 C 38.675781 43.828125 38.898438 43.71875 39.085938 43.5 L 42.273438 39.5625 L 45.445312 43.5 C 45.644531 43.730469 45.871094 43.84375 46.132812 43.84375 Z M 46.132812 43.84375 \"/>\\n      </g>'},jpgIcon:{extension:\".jpg\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.789062 47.007812 L 9.488281 46.960938 C 12.214844 46.757812 13.578125 45.277344 13.578125 42.523438 L 13.578125 32.742188 C 13.578125 32.320312 13.453125 31.980469 13.195312 31.726562 C 12.941406 31.472656 12.59375 31.34375 12.15625 31.34375 C 11.734375 31.34375 11.394531 31.472656 11.140625 31.726562 C 10.886719 31.980469 10.757812 32.320312 10.757812 32.742188 L 10.757812 42.523438 C 10.757812 43.238281 10.605469 43.769531 10.296875 44.117188 C 9.992188 44.46875 9.539062 44.660156 8.941406 44.6875 L 8.242188 44.730469 C 7.847656 44.761719 7.558594 44.867188 7.378906 45.046875 C 7.195312 45.230469 7.105469 45.496094 7.105469 45.847656 C 7.105469 46.664062 7.667969 47.050781 8.789062 47.007812 Z M 18.304688 47.007812 C 18.742188 47.007812 19.089844 46.878906 19.34375 46.625 C 19.597656 46.367188 19.726562 46.023438 19.726562 45.585938 L 19.726562 40.882812 L 23.640625 40.882812 C 25.289062 40.882812 26.574219 40.464844 27.492188 39.632812 C 28.410156 38.804688 28.871094 37.644531 28.871094 36.15625 C 28.871094 34.667969 28.410156 33.511719 27.492188 32.6875 C 26.574219 31.863281 25.289062 31.453125 23.640625 31.453125 L 18.261719 31.453125 C 17.839844 31.453125 17.507812 31.570312 17.265625 31.804688 C 17.023438 32.035156 16.90625 32.363281 16.90625 32.789062 L 16.90625 45.585938 C 16.90625 46.023438 17.03125 46.367188 17.289062 46.625 C 17.542969 46.878906 17.882812 47.007812 18.304688 47.007812 Z M 23.292969 38.714844 L 19.726562 38.714844 L 19.726562 33.640625 L 23.292969 33.640625 C 25.230469 33.640625 26.203125 34.488281 26.203125 36.179688 C 26.203125 37.871094 25.230469 38.714844 23.292969 38.714844 Z M 38.605469 47.070312 C 39.320312 47.070312 40.0625 47.011719 40.835938 46.898438 C 41.609375 46.78125 42.285156 46.621094 42.871094 46.414062 C 43.410156 46.242188 43.765625 46.015625 43.941406 45.738281 C 44.117188 45.460938 44.203125 44.988281 44.203125 44.316406 L 44.203125 39.613281 C 44.203125 39.292969 44.101562 39.03125 43.898438 38.835938 C 43.695312 38.640625 43.425781 38.539062 43.089844 38.539062 L 39.21875 38.539062 C 38.867188 38.539062 38.59375 38.628906 38.398438 38.804688 C 38.199219 38.976562 38.101562 39.226562 38.101562 39.546875 C 38.101562 39.867188 38.199219 40.117188 38.398438 40.289062 C 38.59375 40.464844 38.867188 40.554688 39.21875 40.554688 L 41.6875 40.554688 L 41.6875 44.425781 C 40.699219 44.703125 39.707031 44.839844 38.714844 44.839844 C 35.390625 44.839844 33.726562 42.945312 33.726562 39.152344 C 33.726562 37.300781 34.132812 35.90625 34.941406 34.964844 C 35.75 34.023438 36.949219 33.554688 38.539062 33.554688 C 39.238281 33.554688 39.867188 33.644531 40.421875 33.828125 C 40.972656 34.007812 41.574219 34.324219 42.214844 34.777344 C 42.390625 34.894531 42.542969 34.980469 42.671875 35.03125 C 42.804688 35.082031 42.949219 35.105469 43.109375 35.105469 C 43.359375 35.105469 43.570312 34.996094 43.746094 34.777344 C 43.921875 34.558594 44.007812 34.289062 44.007812 33.96875 C 44.007812 33.75 43.96875 33.558594 43.886719 33.398438 C 43.808594 33.238281 43.679688 33.078125 43.503906 32.917969 C 42.191406 31.808594 40.507812 31.257812 38.453125 31.257812 C 36.90625 31.257812 35.5625 31.574219 34.425781 32.207031 C 33.289062 32.84375 32.410156 33.753906 31.789062 34.941406 C 31.171875 36.128906 30.859375 37.535156 30.859375 39.152344 C 30.859375 40.800781 31.171875 42.21875 31.789062 43.40625 C 32.410156 44.597656 33.304688 45.503906 34.46875 46.132812 C 35.636719 46.757812 37.015625 47.070312 38.605469 47.070312 Z M 38.605469 47.070312 \"/>\\n      </g>'},mp3Icon:{extension:\".mp3\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 43.828125 43.710938 C 43.605469 44.28125 43.273438 44.804688 42.84375 45.265625 C 42.40625 45.730469 41.867188 46.113281 41.242188 46.398438 C 40.597656 46.699219 39.851562 46.855469 39.027344 46.855469 C 38.328125 46.855469 37.703125 46.757812 37.160156 46.570312 C 36.609375 46.378906 36.160156 46.136719 35.769531 45.839844 C 35.386719 45.550781 35.050781 45.210938 34.796875 44.832031 C 34.570312 44.507812 34.394531 44.195312 34.265625 43.890625 C 34.140625 43.59375 34.054688 43.335938 33.996094 43.101562 C 33.792969 42.261719 34.304688 41.417969 35.140625 41.210938 C 35.980469 41.007812 36.828125 41.519531 37.03125 42.355469 C 37.039062 42.390625 37.066406 42.488281 37.144531 42.671875 C 37.191406 42.777344 37.265625 42.914062 37.371094 43.0625 C 37.4375 43.160156 37.53125 43.257812 37.65625 43.351562 C 37.792969 43.453125 37.972656 43.542969 38.195312 43.625 C 38.332031 43.667969 38.59375 43.730469 39.027344 43.730469 C 39.390625 43.730469 39.695312 43.675781 39.925781 43.566406 C 40.1875 43.445312 40.398438 43.300781 40.558594 43.132812 C 40.71875 42.957031 40.839844 42.773438 40.914062 42.578125 C 40.996094 42.371094 41.03125 42.195312 41.03125 42.023438 C 41.03125 41.789062 41 41.585938 40.921875 41.398438 C 40.871094 41.257812 40.785156 41.148438 40.660156 41.039062 C 40.515625 40.910156 40.296875 40.792969 40.011719 40.699219 C 39.6875 40.59375 39.253906 40.539062 38.738281 40.535156 C 37.882812 40.527344 37.1875 39.832031 37.1875 38.972656 L 37.1875 38.832031 C 37.1875 37.984375 37.859375 37.292969 38.699219 37.265625 C 39.070312 37.257812 39.398438 37.195312 39.679688 37.101562 C 39.921875 37.011719 40.121094 36.902344 40.273438 36.773438 C 40.40625 36.652344 40.507812 36.519531 40.582031 36.359375 C 40.652344 36.210938 40.6875 36.027344 40.6875 35.8125 C 40.6875 35.523438 40.644531 35.289062 40.574219 35.125 C 40.5 34.96875 40.414062 34.847656 40.304688 34.757812 C 40.1875 34.660156 40.042969 34.582031 39.867188 34.53125 C 39.402344 34.386719 38.878906 34.398438 38.480469 34.542969 C 38.289062 34.617188 38.121094 34.714844 37.976562 34.84375 C 37.820312 34.984375 37.695312 35.148438 37.59375 35.339844 C 37.484375 35.550781 37.40625 35.773438 37.367188 36.039062 C 37.230469 36.890625 36.429688 37.472656 35.574219 37.335938 C 34.722656 37.195312 34.140625 36.398438 34.28125 35.542969 C 34.378906 34.9375 34.5625 34.378906 34.835938 33.871094 C 35.109375 33.355469 35.464844 32.898438 35.890625 32.519531 C 36.320312 32.132812 36.824219 31.828125 37.382812 31.617188 C 38.433594 31.226562 39.667969 31.199219 40.78125 31.539062 C 41.351562 31.714844 41.863281 31.992188 42.308594 32.355469 C 42.777344 32.753906 43.148438 33.242188 43.414062 33.824219 C 43.679688 34.402344 43.8125 35.070312 43.8125 35.8125 C 43.8125 36.476562 43.679688 37.097656 43.421875 37.660156 C 43.25 38.046875 43.023438 38.394531 42.746094 38.707031 C 43.242188 39.148438 43.609375 39.671875 43.835938 40.261719 C 44.046875 40.804688 44.15625 41.398438 44.15625 42.023438 C 44.15625 42.578125 44.046875 43.148438 43.828125 43.710938 Z M 31.445312 38.492188 C 31.148438 39.140625 30.734375 39.703125 30.199219 40.164062 C 29.6875 40.605469 29.078125 40.957031 28.390625 41.199219 C 27.71875 41.4375 26.976562 41.5625 26.191406 41.5625 L 25 41.5625 L 25 45 C 25 45.859375 24.296875 46.5625 23.4375 46.5625 C 22.578125 46.5625 21.875 45.859375 21.875 45 L 21.875 32.8125 C 21.875 31.945312 22.578125 31.25 23.4375 31.25 L 26.191406 31.25 C 27.890625 31.25 29.257812 31.667969 30.253906 32.5 C 31.339844 33.398438 31.886719 34.714844 31.886719 36.40625 C 31.886719 37.148438 31.738281 37.851562 31.445312 38.492188 Z M 18.730469 45.210938 C 18.730469 46.070312 18.03125 46.773438 17.167969 46.773438 C 16.300781 46.773438 15.605469 46.070312 15.605469 45.210938 L 15.605469 39.28125 L 14.015625 43.140625 C 14.007812 43.164062 13.996094 43.191406 13.984375 43.214844 C 13.71875 43.777344 13.15625 44.117188 12.566406 44.117188 L 12.53125 44.117188 C 11.9375 44.117188 11.375 43.777344 11.109375 43.214844 L 11.082031 43.160156 L 9.339844 39.101562 L 9.339844 45.210938 C 9.339844 46.070312 8.640625 46.773438 7.777344 46.773438 C 6.910156 46.773438 6.214844 46.070312 6.214844 45.210938 L 6.214844 32.824219 C 6.214844 31.960938 6.910156 31.261719 7.777344 31.261719 L 7.835938 31.261719 C 8.472656 31.261719 9.046875 31.617188 9.335938 32.1875 L 12.527344 39.09375 L 15.59375 32.207031 C 15.894531 31.617188 16.46875 31.261719 17.105469 31.261719 L 17.167969 31.261719 C 18.03125 31.261719 18.730469 31.960938 18.730469 32.824219 Z M 41.382812 28.125 L 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.136719 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.136719 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 41.382812 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 28.257812 34.902344 C 27.835938 34.550781 27.140625 34.375 26.191406 34.375 L 25 34.375 L 25 38.4375 L 26.191406 38.4375 C 26.621094 38.4375 27.007812 38.375 27.34375 38.253906 C 27.667969 38.140625 27.929688 37.992188 28.148438 37.804688 C 28.34375 37.632812 28.492188 37.4375 28.601562 37.195312 C 28.710938 36.964844 28.757812 36.703125 28.757812 36.40625 C 28.757812 35.324219 28.382812 35.003906 28.257812 34.902344 \"/>\\n      <path style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(99.607843%,99.607843%,99.607843%);stroke-opacity:1;stroke-miterlimit:4;\" d=\"M 11.34125 13.57875 C 11.345 13.5925 11.3525 13.62375 11.36375 13.67375 C 11.3775 13.7225 11.3975 13.78125 11.42625 13.85 C 11.45375 13.9175 11.49375 13.9875 11.54625 14.0625 C 11.5975 14.13875 11.66625 14.20875 11.75 14.27125 C 11.83375 14.33625 11.9375 14.38875 12.0575 14.43125 C 12.1775 14.4725 12.32 14.49375 12.4875 14.49375 C 12.67875 14.49375 12.845 14.46125 12.9875 14.39375 C 13.13 14.32875 13.24875 14.245 13.34375 14.1425 C 13.43875 14.0425 13.51125 13.93 13.55875 13.8075 C 13.6075 13.6825 13.63125 13.56375 13.63125 13.4475 C 13.63125 13.31125 13.6075 13.1825 13.5625 13.065 C 13.515 12.9475 13.4425 12.845 13.3425 12.7575 C 13.2425 12.67 13.115 12.6 12.96 12.55 C 12.805 12.49875 12.6175 12.4725 12.4 12.4725 L 12.4 12.42625 C 12.57 12.42 12.72375 12.3925 12.8625 12.34375 C 13.0025 12.29625 13.11875 12.2275 13.21625 12.14375 C 13.31375 12.05875 13.3875 11.96 13.44125 11.845 C 13.4925 11.7275 13.52 11.60125 13.52 11.46 C 13.52 11.29375 13.4925 11.1525 13.43875 11.0325 C 13.38375 10.91375 13.31125 10.81625 13.21875 10.74 C 13.1275 10.66375 13.0225 10.6075 12.90375 10.5725 C 12.78625 10.535 12.66375 10.5175 12.5375 10.5175 C 12.395 10.5175 12.26125 10.54 12.14 10.58625 C 12.0175 10.6325 11.91 10.69625 11.81875 10.77875 C 11.72625 10.8625 11.64875 10.96 11.5875 11.07375 C 11.5275 11.18875 11.48625 11.315 11.4625 11.45375 M 7.5 14.4 L 7.5 10.5 L 8.3825 10.5 C 8.8075 10.5 9.13375 10.595 9.3625 10.78375 C 9.59 10.975 9.7025 11.2625 9.7025 11.65 C 9.7025 11.81625 9.6725 11.97125 9.6075 12.11125 C 9.5425 12.2525 9.4525 12.37375 9.335 12.475 C 9.21875 12.5775 9.0775 12.65625 8.9175 12.71375 C 8.75625 12.77125 8.5775 12.8 8.3825 12.8 L 7.6 12.8 M 2.4875 14.4675 L 2.4875 10.50375 L 2.5075 10.50375 C 2.5225 10.50375 2.53375 10.5125 2.5425 10.52625 L 3.9925 13.58625 C 3.99875 13.5975 4.005 13.6075 4.00875 13.6175 M 4.02125 13.6175 C 4.02625 13.6075 4.03125 13.5975 4.0375 13.58625 L 5.44 10.52625 C 5.4475 10.5125 5.45875 10.50375 5.4725 10.50375 L 5.4925 10.50375 L 5.4925 14.4675 \" transform=\"matrix(3.125,0,0,3.125,0,0)\"/>\\n      </g>'},mp4Icon:{extension:\".mp4\",path:'<g id=\"surface6\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 36.898438 40.625 L 40.625 35.480469 L 40.625 40.625 Z M 28.761719 36.40625 C 28.761719 36.703125 28.707031 36.964844 28.605469 37.195312 C 28.496094 37.433594 28.347656 37.632812 28.148438 37.804688 C 27.929688 37.992188 27.667969 38.144531 27.34375 38.257812 C 27.003906 38.375 26.621094 38.4375 26.191406 38.4375 L 25 38.4375 L 25 34.375 L 26.191406 34.375 C 27.140625 34.375 27.835938 34.554688 28.253906 34.902344 C 28.378906 35.007812 28.761719 35.324219 28.761719 36.40625 Z M 44.6875 43.75 L 43.75 43.75 L 43.75 45.3125 C 43.75 46.175781 43.050781 46.875 42.1875 46.875 C 41.324219 46.875 40.625 46.175781 40.625 45.3125 L 40.625 43.75 L 34.066406 43.75 C 33.199219 43.75 32.503906 43.050781 32.503906 42.1875 L 32.503906 41.875 C 32.503906 41.546875 32.605469 41.226562 32.800781 40.957031 L 39.363281 31.898438 C 39.660156 31.492188 40.128906 31.25 40.628906 31.25 L 42.1875 31.25 C 43.050781 31.25 43.75 31.949219 43.75 32.8125 L 43.75 40.625 L 44.6875 40.625 C 45.550781 40.625 46.25 41.324219 46.25 42.1875 C 46.25 43.050781 45.550781 43.75 44.6875 43.75 Z M 31.445312 38.492188 C 31.148438 39.140625 30.730469 39.703125 30.195312 40.167969 C 29.6875 40.605469 29.082031 40.957031 28.390625 41.203125 C 27.71875 41.441406 26.976562 41.5625 26.191406 41.5625 L 25 41.5625 L 25 45 C 25 45.863281 24.300781 46.5625 23.4375 46.5625 C 22.578125 46.5625 21.875 45.863281 21.875 45 L 21.875 32.8125 C 21.875 31.949219 22.578125 31.25 23.4375 31.25 L 26.191406 31.25 C 27.890625 31.25 29.257812 31.671875 30.253906 32.5 C 31.339844 33.398438 31.886719 34.714844 31.886719 36.40625 C 31.886719 37.148438 31.738281 37.851562 31.445312 38.492188 Z M 18.730469 45.210938 C 18.730469 46.070312 18.027344 46.773438 17.167969 46.773438 C 16.300781 46.773438 15.605469 46.070312 15.605469 45.210938 L 15.605469 39.6875 L 14.035156 43.105469 C 14.019531 43.144531 14.003906 43.179688 13.984375 43.214844 C 13.71875 43.78125 13.15625 44.117188 12.566406 44.117188 L 12.53125 44.117188 C 11.941406 44.117188 11.378906 43.78125 11.113281 43.214844 C 11.097656 43.183594 11.078125 43.152344 11.066406 43.125 L 9.339844 39.484375 L 9.339844 45.210938 C 9.339844 46.070312 8.640625 46.773438 7.777344 46.773438 C 6.910156 46.773438 6.214844 46.070312 6.214844 45.210938 L 6.214844 32.824219 C 6.214844 31.960938 6.910156 31.261719 7.777344 31.261719 L 7.835938 31.261719 C 8.472656 31.261719 9.046875 31.617188 9.335938 32.191406 L 9.355469 32.226562 L 12.523438 38.90625 L 15.578125 32.242188 C 15.585938 32.226562 15.597656 32.210938 15.605469 32.191406 C 15.894531 31.617188 16.46875 31.261719 17.105469 31.261719 L 17.164062 31.261719 C 18.027344 31.261719 18.726562 31.960938 18.726562 32.824219 L 18.726562 45.210938 Z M 41.382812 28.125 L 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 41.382812 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface6\" mask=\"url(#mask0)\"/>\\n      <path style=\"fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(99.607843%,99.607843%,99.607843%);stroke-opacity:1;stroke-miterlimit:4;\" d=\"M 14.3 13.5 L 10.90125 13.5 L 10.90125 13.4 L 13.00125 10.5 L 13.5 10.5 L 13.5 14.5 M 7.5 14.4 L 7.5 10.5 L 8.3825 10.5 C 8.8075 10.5 9.13375 10.595 9.3625 10.78375 C 9.59 10.975 9.7025 11.2625 9.7025 11.65 C 9.7025 11.81625 9.6725 11.97125 9.6075 12.11125 C 9.5425 12.2525 9.4525 12.37375 9.335 12.47625 C 9.21875 12.5775 9.0775 12.65625 8.9175 12.71375 C 8.75625 12.77125 8.5775 12.8 8.3825 12.8 L 7.6 12.8 M 2.4875 14.4675 L 2.4875 10.50375 L 2.5075 10.50375 C 2.5225 10.50375 2.53375 10.5125 2.5425 10.52625 L 3.9925 13.58625 C 3.99875 13.5975 4.005 13.6075 4.00875 13.6175 M 4.02125 13.6175 C 4.02625 13.6075 4.03125 13.5975 4.0375 13.58625 L 5.44 10.52625 C 5.4475 10.5125 5.45875 10.50375 5.4725 10.50375 L 5.4925 10.50375 L 5.4925 14.4675 \" transform=\"matrix(3.125,0,0,3.125,0,0)\"/>\\n      </g>'},oggIcon:{extension:\".ogg\",path:'<g id=\"surface9\" clip-path=\"url(#clip1)\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.621094 28.125 C 3.859375 28.125 0 31.984375 0 36.742188 L 0 41.378906 C 0 46.140625 3.859375 50 8.621094 50 L 41.378906 50 C 46.140625 50 50 46.140625 50 41.382812 L 50 36.746094 C 50 31.984375 46.140625 28.125 41.382812 28.125 Z M 8.621094 28.125 \"/>\\n      </g>\\n      </defs>\\n      <g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.578125 25 L 39.421875 25 C 41.53125 25 43.527344 25.492188 45.3125 26.367188 L 45.3125 15.367188 C 45.3125 13.90625 44.976562 13.097656 43.984375 12.109375 C 42.996094 11.121094 35.105469 3.226562 34.503906 2.628906 C 33.90625 2.027344 33.070312 1.5625 31.617188 1.5625 L 6.5625 1.5625 C 5.527344 1.5625 4.6875 2.402344 4.6875 3.4375 L 4.6875 26.367188 C 6.476562 25.492188 8.472656 25 10.578125 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.710938 L 42.164062 12.5 L 34.515625 12.5 C 34.464844 12.46875 34.414062 12.425781 34.375 12.390625 Z M 6.25 25.722656 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.25 13.980469 32.496094 15.210938 33.742188 15.539062 C 33.902344 15.59375 34.074219 15.625 34.257812 15.625 L 43.75 15.625 L 43.75 25.722656 C 44.859375 26.105469 45.910156 26.625 46.875 27.269531 L 46.875 15.363281 C 46.875 13.511719 46.375 12.289062 45.089844 11.003906 L 35.609375 1.523438 C 34.582031 0.496094 33.273438 0 31.617188 0 L 6.5625 0 C 4.667969 0 3.125 1.542969 3.125 3.4375 L 3.125 27.269531 C 4.089844 26.625 5.140625 26.105469 6.25 25.722656 Z M 6.25 25.722656 \"/>\\n      <use xlink:href=\"#surface9\" mask=\"url(#mask0)\"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 8.976562 47.070312 C 10.464844 47.070312 11.757812 46.75 12.859375 46.109375 C 13.960938 45.46875 14.808594 44.550781 15.40625 43.351562 C 16.003906 42.15625 16.304688 40.757812 16.304688 39.152344 C 16.304688 37.550781 16.007812 36.152344 15.417969 34.964844 C 14.828125 33.777344 13.980469 32.859375 12.882812 32.21875 C 11.78125 31.578125 10.480469 31.257812 8.976562 31.257812 C 7.472656 31.257812 6.167969 31.578125 5.0625 32.21875 C 3.953125 32.859375 3.101562 33.777344 2.511719 34.964844 C 1.921875 36.152344 1.625 37.550781 1.625 39.152344 C 1.625 40.757812 1.925781 42.15625 2.523438 43.351562 C 3.121094 44.550781 3.972656 45.46875 5.070312 46.109375 C 6.171875 46.75 7.472656 47.070312 8.976562 47.070312 Z M 8.976562 44.820312 C 7.546875 44.820312 6.433594 44.332031 5.640625 43.351562 C 4.847656 42.375 4.449219 40.976562 4.449219 39.152344 C 4.449219 37.332031 4.847656 35.933594 5.640625 34.964844 C 6.433594 33.996094 7.546875 33.507812 8.976562 33.507812 C 10.390625 33.507812 11.496094 33.996094 12.289062 34.964844 C 13.085938 35.933594 13.484375 37.332031 13.484375 39.152344 C 13.484375 40.976562 13.085938 42.375 12.289062 43.351562 C 11.496094 44.332031 10.390625 44.820312 8.976562 44.820312 Z M 26.410156 47.070312 C 27.125 47.070312 27.871094 47.011719 28.640625 46.898438 C 29.414062 46.78125 30.09375 46.621094 30.675781 46.414062 C 31.214844 46.242188 31.574219 46.015625 31.75 45.738281 C 31.921875 45.460938 32.011719 44.988281 32.011719 44.316406 L 32.011719 39.613281 C 32.011719 39.292969 31.910156 39.03125 31.703125 38.835938 C 31.5 38.640625 31.230469 38.539062 30.894531 38.539062 L 27.023438 38.539062 C 26.671875 38.539062 26.398438 38.628906 26.203125 38.804688 C 26.007812 38.976562 25.90625 39.226562 25.90625 39.546875 C 25.90625 39.867188 26.007812 40.117188 26.203125 40.289062 C 26.398438 40.464844 26.671875 40.554688 27.023438 40.554688 L 29.496094 40.554688 L 29.496094 44.425781 C 28.503906 44.703125 27.511719 44.839844 26.519531 44.839844 C 23.195312 44.839844 21.53125 42.945312 21.53125 39.152344 C 21.53125 37.300781 21.9375 35.90625 22.746094 34.964844 C 23.554688 34.023438 24.753906 33.554688 26.34375 33.554688 C 27.046875 33.554688 27.671875 33.644531 28.226562 33.828125 C 28.78125 34.007812 29.378906 34.324219 30.019531 34.777344 C 30.195312 34.894531 30.347656 34.980469 30.480469 35.03125 C 30.609375 35.082031 30.757812 35.105469 30.917969 35.105469 C 31.164062 35.105469 31.375 34.996094 31.550781 34.777344 C 31.726562 34.558594 31.8125 34.289062 31.8125 33.96875 C 31.8125 33.75 31.773438 33.558594 31.695312 33.398438 C 31.613281 33.238281 31.484375 33.078125 31.3125 32.917969 C 30 31.808594 28.3125 31.257812 26.257812 31.257812 C 24.710938 31.257812 23.371094 31.574219 22.234375 32.207031 C 21.09375 32.84375 20.214844 33.753906 19.597656 34.941406 C 18.976562 36.128906 18.667969 37.535156 18.667969 39.152344 C 18.667969 40.800781 18.976562 42.21875 19.597656 43.40625 C 20.214844 44.597656 21.109375 45.503906 22.277344 46.132812 C 23.441406 46.757812 24.820312 47.070312 26.410156 47.070312 Z M 42.445312 47.070312 C 43.160156 47.070312 43.902344 47.011719 44.675781 46.898438 C 45.449219 46.78125 46.128906 46.621094 46.710938 46.414062 C 47.25 46.242188 47.609375 46.015625 47.78125 45.738281 C 47.957031 45.460938 48.046875 44.988281 48.046875 44.316406 L 48.046875 39.613281 C 48.046875 39.292969 47.941406 39.03125 47.738281 38.835938 C 47.535156 38.640625 47.265625 38.539062 46.929688 38.539062 L 43.058594 38.539062 C 42.707031 38.539062 42.433594 38.628906 42.238281 38.804688 C 42.039062 38.976562 41.941406 39.226562 41.941406 39.546875 C 41.941406 39.867188 42.039062 40.117188 42.238281 40.289062 C 42.433594 40.464844 42.707031 40.554688 43.058594 40.554688 L 45.53125 40.554688 L 45.53125 44.425781 C 44.539062 44.703125 43.546875 44.839844 42.554688 44.839844 C 39.230469 44.839844 37.566406 42.945312 37.566406 39.152344 C 37.566406 37.300781 37.972656 35.90625 38.78125 34.964844 C 39.589844 34.023438 40.789062 33.554688 42.378906 33.554688 C 43.078125 33.554688 43.707031 33.644531 44.261719 33.828125 C 44.816406 34.007812 45.414062 34.324219 46.054688 34.777344 C 46.230469 34.894531 46.382812 34.980469 46.515625 35.03125 C 46.644531 35.082031 46.792969 35.105469 46.953125 35.105469 C 47.199219 35.105469 47.410156 34.996094 47.585938 34.777344 C 47.761719 34.558594 47.847656 34.289062 47.847656 33.96875 C 47.847656 33.75 47.808594 33.558594 47.726562 33.398438 C 47.648438 33.238281 47.519531 33.078125 47.34375 32.917969 C 46.03125 31.808594 44.347656 31.257812 42.292969 31.257812 C 40.746094 31.257812 39.40625 31.574219 38.265625 32.207031 C 37.128906 32.84375 36.25 33.753906 35.632812 34.941406 C 35.011719 36.128906 34.703125 37.535156 34.703125 39.152344 C 34.703125 40.800781 35.011719 42.21875 35.632812 43.40625 C 36.25 44.597656 37.144531 45.503906 38.3125 46.132812 C 39.476562 46.757812 40.855469 47.070312 42.445312 47.070312 Z M 42.445312 47.070312 \"/>\\n      </g>'},pdfIcon:{extension:\".pdf\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(99.607843%,99.607843%,99.607843%);fill-opacity:1;\" d=\"M 10.59375 25 L 39.4375 25 C 41.476562 25.003906 43.484375 25.472656 45.3125 26.375 L 45.3125 15.375 C 45.347656 14.191406 44.867188 13.054688 44 12.25 L 34.625 2.875 C 33.875 2.003906 32.773438 1.523438 31.625 1.5625 L 6.625 1.5625 C 5.589844 1.5625 4.75 2.402344 4.75 3.4375 L 4.75 26.375 C 6.566406 25.480469 8.566406 25.007812 10.59375 25 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 34.375 4.71875 L 42.15625 12.5 L 34.53125 12.5 C 34.480469 12.511719 34.425781 12.511719 34.375 12.5 Z M 6.25 25.71875 L 6.25 3.4375 C 6.25 3.265625 6.390625 3.125 6.5625 3.125 L 31.25 3.125 L 31.25 12.5 C 31.300781 13.980469 32.316406 15.253906 33.75 15.625 C 33.957031 15.675781 34.167969 15.675781 34.375 15.625 L 43.75 15.625 L 43.75 25.71875 C 44.859375 26.09375 45.910156 26.621094 46.875 27.28125 L 46.875 15.375 C 46.964844 13.722656 46.3125 12.117188 45.09375 11 L 35.71875 1.625 C 34.648438 0.523438 33.160156 -0.0664062 31.625 0 L 6.625 0 C 5.703125 -0.015625 4.8125 0.339844 4.152344 0.984375 C 3.496094 1.632812 3.125 2.515625 3.125 3.4375 L 3.125 27.28125 C 4.09375 26.625 5.144531 26.101562 6.25 25.71875 Z M 6.25 25.71875 \"/>\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 8.625 28.125 C 6.335938 28.117188 4.136719 29.023438 2.515625 30.640625 C 0.898438 32.261719 -0.0078125 34.460938 0 36.75 L 0 41.375 C 0 46.136719 3.863281 50 8.625 50 L 41.375 50 C 46.132812 49.984375 49.984375 46.132812 50 41.375 L 50 36.75 C 50 31.988281 46.136719 28.125 41.375 28.125 Z M 8.625 28.125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 14.40625 41.78125 L 12.09375 41.78125 L 12.09375 45.84375 C 12.003906 46.351562 11.5625 46.726562 11.046875 46.726562 C 10.53125 46.726562 10.089844 46.351562 10 45.84375 L 10 34.78125 C 10 34.210938 10.460938 33.75 11.03125 33.75 L 14.40625 33.75 C 15.925781 33.617188 17.390625 34.351562 18.191406 35.648438 C 18.992188 36.945312 18.992188 38.585938 18.191406 39.882812 C 17.390625 41.179688 15.925781 41.914062 14.40625 41.78125 Z M 12.09375 39.6875 L 14.40625 39.6875 C 15.152344 39.78125 15.882812 39.4375 16.289062 38.804688 C 16.691406 38.171875 16.691406 37.359375 16.289062 36.726562 C 15.882812 36.09375 15.152344 35.75 14.40625 35.84375 L 12.09375 35.84375 Z M 12.09375 39.6875 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 20.3125 45.84375 L 20.3125 34.78125 C 20.3125 34.210938 20.773438 33.75 21.34375 33.75 L 23.5625 33.75 C 27.1875 33.75 30.125 36.6875 30.125 40.3125 C 30.125 43.9375 27.1875 46.875 23.5625 46.875 L 21.34375 46.875 C 20.773438 46.875 20.3125 46.414062 20.3125 45.84375 Z M 22.40625 44.78125 L 23.5625 44.78125 C 26.03125 44.78125 28.03125 42.78125 28.03125 40.3125 C 28.03125 37.84375 26.03125 35.84375 23.5625 35.84375 L 22.40625 35.84375 Z M 22.40625 44.78125 \"/>\\n      <path style=\" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;\" d=\"M 33.1875 45.84375 L 33.1875 34.78125 C 33.183594 34.476562 33.3125 34.1875 33.542969 33.992188 C 33.769531 33.792969 34.074219 33.703125 34.375 33.75 L 40.625 33.75 C 41.132812 33.839844 41.507812 34.28125 41.507812 34.796875 C 41.507812 35.3125 41.132812 35.753906 40.625 35.84375 L 35.25 35.84375 L 35.25 39.28125 L 39.625 39.28125 C 40.195312 39.28125 40.65625 39.742188 40.65625 40.3125 C 40.65625 40.882812 40.195312 41.34375 39.625 41.34375 L 35.25 41.34375 L 35.25 45.84375 C 35.257812 46.359375 34.882812 46.796875 34.375 46.875 C 34.074219 46.921875 33.769531 46.832031 33.542969 46.632812 C 33.3125 46.4375 33.183594 46.148438 33.1875 45.84375 Z M 33.1875 45.84375 \"/>\\n      </g>'},defaultIcon:{extension:\".default\",path:'<g id=\"surface1\">\\n      <path style=\" stroke:none;fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;\" d=\"M 3.117188 44.777344 C 1.394531 44.777344 0 43.386719 0 41.671875 L 0 3.484375 C 0 1.769531 1.394531 0.378906 3.117188 0.378906 L 25.792969 0.378906 C 27.164062 0.304688 28.5 0.808594 29.480469 1.765625 L 37.980469 10.230469 C 39.144531 11.242188 39.769531 12.730469 39.683594 14.265625 L 39.683594 41.671875 C 39.683594 43.386719 38.289062 44.777344 36.5625 44.777344 Z M 25.511719 3.203125 L 3.117188 3.203125 C 2.960938 3.203125 2.832031 3.328125 2.832031 3.484375 L 2.832031 41.671875 C 2.832031 41.828125 2.960938 41.957031 3.117188 41.957031 L 36.5625 41.957031 C 36.679688 41.949219 36.785156 41.867188 36.820312 41.757812 L 36.820312 14.492188 L 28.34375 14.492188 C 28.160156 14.539062 27.964844 14.539062 27.777344 14.492188 C 26.480469 14.15625 25.554688 13.007812 25.511719 11.671875 Z M 28.34375 4.640625 L 28.34375 11.671875 C 28.390625 11.683594 28.441406 11.683594 28.488281 11.671875 L 35.402344 11.671875 Z M 28.34375 4.640625 \"/>\\n      </g>'}},Y.MODULES.modals=function(l){var a=l.$;l.shared.modals||(l.shared.modals={});var o,c=l.shared.modals;function e(){for(var e in c)if(Object.prototype.hasOwnProperty.call(c,e)){var t=c[e];t&&t.$modal&&t.$modal.removeData().remove()}o&&o.removeData().remove(),c={}}function s(e,t){if(c[e]){var n=c[e].$modal,r=n.data(\"instance\")||l;r.events.enableBlur(),n.hide(),o.hide(),a(r.o_doc).find(\"body\").first().removeClass(\"fr-prevent-scroll fr-mobile\"),n.removeClass(\"fr-active\"),t||(r.accessibility.restoreSelection(),r.events.trigger(\"modals.hide\"))}}function n(e){var t;if(\"string\"==typeof e){if(!c[e])return;t=c[e].$modal}else t=e;return t&&l.node.hasClass(t,\"fr-active\")&&l.core.sameInstance(t)||!1}return{_init:function t(){l.events.on(\"shared.destroy\",e,!0)},get:function r(e){return c[e]},create:function d(n,e,t){if(e='<div class=\"fr-modal-head-line\">'.concat(e,\"</div>\"),l.shared.$overlay||(l.shared.$overlay=a(l.doc.createElement(\"DIV\")).addClass(\"fr-overlay\"),a(\"body\").first().append(l.shared.$overlay)),o=l.shared.$overlay,l.opts.theme&&o.addClass(\"\".concat(l.opts.theme,\"-theme\")),!c[n]){var r=function i(e,t){var n='<div tabIndex=\"-1\" class=\"fr-modal'.concat(l.opts.theme?\" \".concat(l.opts.theme,\"-theme\"):\"\",'\"><div class=\"fr-modal-wrapper\">'),r='<button title=\"'.concat(l.language.translate(\"Cancel\"),'\" class=\"fr-command fr-btn fr-modal-close\"><svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 24 24\"><path d=\"').concat(Y.SVG.close,'\"/></svg></button>');n+='<div class=\"fr-modal-head\">'.concat(e).concat(r,\"</div>\"),n+='<div tabIndex=\"-1\" class=\"fr-modal-body\">'.concat(t,\"</div>\"),n+=\"</div></div>\";var o=a(l.doc.createElement(\"DIV\"));return o.html(n),o.find(\"> .fr-modal\")}(e,t);c[n]={$modal:r,$head:r.find(\".fr-modal-head\"),$body:r.find(\".fr-modal-body\")},l.helpers.isMobile()||r.addClass(\"fr-desktop\"),a(\"body\").first().append(r),l.events.$on(r,\"click\",\".fr-modal-close\",function(){s(n)},!0),c[n].$body.css(\"margin-top\",c[n].$head.outerHeight()),l.events.$on(r,\"keydown\",function(e){var t=e.which;return t===Y.KEYCODE.ESC?(s(n),l.accessibility.focusModalButton(r),!1):!(!a(e.currentTarget).is(\"input[type=text], textarea\")&&t!==Y.KEYCODE.ARROW_UP&&t!==Y.KEYCODE.ARROW_DOWN&&!l.keys.isBrowserAction(e)&&(e.preventDefault(),e.stopPropagation(),1))},!0),s(n,!0)}return c[n]},show:function i(e){if(c[e]){var t=c[e].$modal;t.data(\"instance\",l),t.show(),o.show(),a(l.o_doc).find(\"body\").first().addClass(\"fr-prevent-scroll\"),l.helpers.isMobile()&&a(l.o_doc).find(\"body\").first().addClass(\"fr-mobile\"),t.addClass(\"fr-active\"),l.accessibility.focusModal(t)}},hide:s,resize:function f(e){if(c[e]){var t=c[e],n=t.$modal,r=t.$body,o=l.o_win.innerHeight,i=n.find(\".fr-modal-wrapper\"),a=o-i.outerHeight(!0)+(i.height()-(r.outerHeight(!0)-r.height())),s=\"auto\";a<r.get(0).scrollHeight&&(s=a),r.height(s)}},isVisible:n,areVisible:function p(e){for(var t in c)if(Object.prototype.hasOwnProperty.call(c,t)&&n(t)&&(void 0===e||c[t].$modal.data(\"instance\")===e))return c[t].$modal;return!1}}},Y.MODULES.position=function(y){var N=y.$;function o(){var e=y.selection.ranges(0),t=e.getBoundingClientRect();if(0===t.top&&0===t.left&&0===t.width||0===t.height){var n=!1,r=y.opts.toolbarInline&&e.startContainer&&e.startContainer.firstChild&&\"BR\"===e.startContainer.firstChild.tagName;0===y.$el.find(\".fr-marker\").length&&(r?N(e.startContainer.firstChild).after(Y.MARKERS):y.selection.save(),n=!0);var o=y.$el.find(\".fr-marker\").first();o.css(\"display\",\"inline\"),o.css(\"line-height\",\"\");var i=o.offset(),a=o.outerHeight();o.css(\"display\",\"none\"),o.css(\"line-height\",0),(t={}).left=i&&i.left,t.width=0,t.height=a,t.top=i&&i.top-(y.helpers.isMobile()&&!y.helpers.isIOS()||y.opts.iframe?0:y.helpers.scrollTop()),t.right=1,t.bottom=1,t.ok=!0,n&&(r?y.$el.find(\".fr-marker\").remove():y.selection.restore())}return t}function i(e,t,n,r){var o=n.data(\"container\");if(!o||\"BODY\"===o.get(0).tagName&&\"static\"===o.css(\"position\")||(e&&(e-=o.offset().left),t&&(t-=o.offset().top),\"BODY\"!==o.get(0).tagName?(e&&(e+=o.get(0).scrollLeft),t&&(t+=o.get(0).scrollTop)):\"absolute\"===o.css(\"position\")&&(e&&(e+=o.position().left),t&&(t+=o.position().top))),y.opts.iframe&&o&&y.$tb&&o.get(0)!==y.$tb.get(0)){var i=y.helpers.getPX(y.$wp.find(\".fr-iframe\").css(\"padding-top\")),a=y.helpers.getPX(y.$wp.find(\".fr-iframe\").css(\"padding-left\"));e&&(e+=y.$iframe.offset().left+a),t&&(t+=y.$iframe.offset().top+i)}var s=function l(e,t){var n=e.outerWidth(!0);return t+n>y.$sc.get(0).clientWidth-10&&(t=y.$sc.get(0).clientWidth-n-10),t<0&&(t=10),t}(n,e);e&&n.css(\"left\",s),t&&n.css(\"top\",function c(e,t,n){var r=e.outerHeight(!0);if(!y.helpers.isMobile()&&y.$tb&&e.parent().get(0)!==y.$tb.get(0)){var o=e.parent().offset().top,i=t-r-(n||0);e.parent().get(0)===y.$sc.get(0)&&(o-=e.parent().position().top);var a=y.$sc.get(0).clientHeight;o+t+r>y.$sc.offset().top+a&&0<e.parent().offset().top+i&&0<i?i>y.$wp.scrollTop()&&(t=i,e.addClass(\"fr-above\")):e.removeClass(\"fr-above\")}return t}(n,t,r))}function a(e){var n=N(e),t=n.is(\".fr-sticky-on\"),r=n.data(\"sticky-top\"),o=n.data(\"sticky-scheduled\");if(void 0===r){n.data(\"sticky-top\",0);var i=N('<div class=\"fr-sticky-dummy\" style=\"height: '.concat(n.outerHeight(),'px;\"></div>'));y.$box.prepend(i)}else y.$box.find(\".fr-sticky-dummy\").css(\"height\",n.outerHeight());if(y.core.hasFocus()||0<y.$tb.findVisible(\"input:focus\").length){var a=y.helpers.scrollTop(),s=Math.min(Math.max(a-y.$tb.parent().offset().top,0),y.$tb.parent().outerHeight()-n.outerHeight());if(s!==r&&s!==o&&(clearTimeout(n.data(\"sticky-timeout\")),n.data(\"sticky-scheduled\",s),n.outerHeight()<a-y.$tb.parent().offset().top&&n.addClass(\"fr-opacity-0\"),n.data(\"sticky-timeout\",setTimeout(function(){var e=y.helpers.scrollTop(),t=Math.min(Math.max(e-y.$tb.parent().offset().top,0),y.$tb.parent().outerHeight()-n.outerHeight());0<t&&\"BODY\"===y.$tb.parent().get(0).tagName&&(t+=y.$tb.parent().position().top),t!==r&&(n.css(\"top\",Math.max(t,0)),n.data(\"sticky-top\",t),n.data(\"sticky-scheduled\",t)),n.removeClass(\"fr-opacity-0\")},100))),!t){var l=y.$tb.parent(),c=l.get(0).offsetWidth-l.get(0).clientWidth;n.css(\"top\",\"0\"),n.width(l.width()-c),n.addClass(\"fr-sticky-on\"),y.$box.addClass(\"fr-sticky-box\")}}else clearTimeout(N(e).css(\"sticky-timeout\")),n.css(\"top\",\"0\"),n.css(\"position\",\"\"),n.css(\"width\",\"\"),n.data(\"sticky-top\",0),n.removeClass(\"fr-sticky-on\"),y.$box.removeClass(\"fr-sticky-box\")}function t(e){if(e.offsetWidth){var t=N(e),n=t.outerHeight(),r=t.data(\"sticky-position\"),o=N(\"body\"===y.opts.scrollableContainer?y.o_win:y.opts.scrollableContainer).outerHeight(),i=0,a=0;\"body\"!==y.opts.scrollableContainer&&(i=y.$sc.offset().top,a=N(y.o_win).outerHeight()-i-o);var s=\"body\"===y.opts.scrollableContainer?y.helpers.scrollTop():i,l=t.is(\".fr-sticky-on\");t.data(\"sticky-parent\")||t.data(\"sticky-parent\",t.parent());var c=t.data(\"sticky-parent\"),d=c.offset().top,f=c.outerHeight();if(t.data(\"sticky-offset\")?y.$box.find(\".fr-sticky-dummy\").css(\"height\",\"\".concat(n,\"px\")):(t.data(\"sticky-offset\",!0),t.after('<div class=\"fr-sticky-dummy\" style=\"height: '.concat(n,'px;\"></div>'))),!r){var p=\"auto\"!==t.css(\"top\")||\"auto\"!==t.css(\"bottom\");p||t.css(\"position\",\"fixed\"),r={top:y.node.hasClass(t.get(0),\"fr-top\"),bottom:y.node.hasClass(t.get(0),\"fr-bottom\")},p||t.css(\"position\",\"\"),t.data(\"sticky-position\",r),t.data(\"top\",y.node.hasClass(t.get(0),\"fr-top\")?t.css(\"top\"):\"auto\"),t.data(\"bottom\",y.node.hasClass(t.get(0),\"fr-bottom\")?t.css(\"bottom\"):\"auto\")}var u=y.helpers.getPX(t.data(\"top\")),h=y.helpers.getPX(t.data(\"bottom\")),g=r.top&&function E(){return d<s+u&&s+u<=d+f-n}(),C=r.bottom&&function L(){return d+n<s+o-h&&s+o-h<d+f}();if(g||C){var m=c.get(0).offsetWidth-c.get(0).clientWidth;if(t.css(\"width\",\"\".concat(c.get(0).getBoundingClientRect().width-m,\"px\")),l)\"body\"!==y.opts.scrollableContainer&&(t.css(\"top\")&&\"auto\"!==t.data(\"top\")&&t.css(\"top\",y.helpers.getPX(t.data(\"top\"))+i-window.scrollY),t.css(\"bottom\")&&\"auto\"!==t.data(\"bottom\")&&t.css(\"bottom\",y.helpers.getPX(t.data(\"bottom\"))+a+window.scrollY));else{if(t.addClass(\"fr-sticky-on\"),t.removeClass(\"fr-sticky-off\"),t.css(\"top\"))if(\"auto\"!==t.data(\"top\")){var v=\"body\"===y.opts.scrollableContainer?i:i-window.scrollY;t.css(\"top\",y.helpers.getPX(t.data(\"top\"))+v)}else t.data(\"top\",\"auto\");if(t.css(\"bottom\"))if(\"auto\"!==t.data(\"bottom\")){var b=\"body\"===y.opts.scrollableContainer?a:a+window.scrollY;t.css(\"bottom\",y.helpers.getPX(t.data(\"bottom\"))+b)}else t.css(\"bottom\",\"auto\")}}else y.node.hasClass(t.get(0),\"fr-sticky-off\")||(t.css(\"width\",\"\"),t.removeClass(\"fr-sticky-on\"),t.addClass(\"fr-sticky-off\"),t.css(\"top\")&&\"auto\"!==t.data(\"top\")&&r.top&&t.css(\"top\",0),t.css(\"bottom\")&&\"auto\"!==t.data(\"bottom\")&&r.bottom&&t.css(\"bottom\",0))}}function s(){if(y.helpers.requestAnimationFrame()(s),!1!==y.events.trigger(\"position.refresh\"))for(var e=0;e<y._stickyElements.length;e++)if(y.opts.toolbarBottom){var t=y.$tb.parent(),n=t.get(0).offsetWidth-t.get(0).clientWidth,r=N(y._stickyElements[e]);r.width(t.width()-n),r.addClass(\"fr-sticky-on\"),y.$box.addClass(\"fr-sticky-box\")}else a(y._stickyElements[e])}function n(){if(y._stickyElements)for(var e=0;e<y._stickyElements.length;e++)t(y._stickyElements[e])}return{_init:function e(){!function t(){if(y._stickyElements=[],y.helpers.getIOSVersion()<=8)s(),y.events.$on(N(y.o_win),\"scroll\",function(){if(y.core.hasFocus())for(var e=0;e<y._stickyElements.length;e++){var t=N(y._stickyElements[e]),n=t.parent(),r=y.helpers.scrollTop();t.outerHeight()<r-n.offset().top&&(y.opts.toolbarBottom&&y.helpers.isIOS()||(t.addClass(\"fr-opacity-0\"),t.data(\"sticky-top\",-1),t.data(\"sticky-scheduled\",-1)))}},!0);else{\"body\"!==y.opts.scrollableContainer&&y.events.$on(N(y.opts.scrollableContainer),\"scroll\",n,!0),y.events.$on(N(y.o_win),\"scroll\",n,!0),y.events.$on(N(y.o_win),\"resize\",n,!0),y.events.on(\"initialized\",n),y.events.on(\"focus\",n),y.events.$on(N(y.o_win),\"resize\",\"textarea\",n,!0);var e=N(y.el).parents(\".modal\");e.get(0)&&y.events.$on(e,\"scroll\",n,!0)}y.events.on(\"destroy\",function(){y._stickyElements=[]})}()},forSelection:function l(e){var t=o();if(t.top!=undefined){e.css({top:0,left:0});var n=t.top+t.height,r=t.left+t.width/2-e.get(0).offsetWidth/2+y.helpers.scrollLeft();y.opts.iframe||(n+=y.helpers.scrollTop()),i(r,n,e,t.height)}},addSticky:function r(e){e.addClass(\"fr-sticky\"),y.helpers.isIOS()&&!y.opts.toolbarBottom&&e.addClass(\"fr-sticky-ios\"),e.removeClass(\"fr-sticky\"),y._stickyElements.push(e.get(0))},refresh:n,at:i,getBoundingRect:o}},Y.MODULES.refresh=function(l){var c=l.$;function i(e,t){e.toggleClass(\"fr-disabled\",t).attr(\"aria-disabled\",t)}function e(e){var t=l.$tb.find('.fr-more-toolbar[data-name=\"'.concat(e.attr(\"data-group-name\"),'\"]')),n=function s(e,t){var n=0,r=t.find(\"> .fr-command, > .fr-btn-wrap\");r.each(function(e,t){n+=c(t).outerWidth()});var o,i=l.helpers.getPX(c(r[0]).css(\"margin-left\")),a=l.helpers.getPX(c(r[0]).css(\"margin-right\"));o=\"rtl\"===l.opts.direction?l.$tb.outerWidth()-e.offset().left+l.$tb.offset().left-(n+e.outerWidth()+r.length*(i+a))/2:e.offset().left-l.$tb.offset().left-(n-e.outerWidth()+r.length*(i+a))/2;o+n+r.length*(i+a)>l.$tb.outerWidth()&&(o-=(n+r.length*(i+a)-e.outerWidth())/2);o<0&&(o=0);return o}(e,t);\"rtl\"===l.opts.direction?t.css(\"padding-right\",n):t.css(\"padding-left\",n)}return{undo:function t(e){i(e,!l.undo.canDo())},redo:function n(e){i(e,!l.undo.canRedo())},outdent:function a(e){if(l.node.hasClass(e.get(0),\"fr-no-refresh\"))return!1;if(c(\"button#markdown-\".concat(l.id,\".fr-active\")).length)return!1;for(var t=l.selection.blocks(),n=0;n<t.length;n++){var r=\"rtl\"===l.opts.direction||\"rtl\"===c(t[n]).css(\"direction\")?\"margin-right\":\"margin-left\",o=t[0].parentElement;if([\"HTML\",\"P\",\"DIV\",\"UL\",\"OL\",\"LI\",\"TR\",\"BLOCKQUOTE\",\"BODY\"].indexOf(o.parentNode.tagName)<0)return i(e,!0),!0;if(t[0].previousSibling&&\"none\"==o.parentNode.style.listStyleType)return i(e,!0),!0;if(\"LI\"===t[n].tagName||\"LI\"===t[n].parentNode.tagName)return i(e,!1),!0;if(0<l.helpers.getPX(c(t[n]).css(r))+l.helpers.getPX(c(t[n]).css(\"text-indent\")))return i(e,!1),!0}i(e,!0)},indent:function o(e){if(l.node.hasClass(e.get(0),\"fr-no-refresh\"))return!1;if(c(\"button#markdown-\".concat(l.id,\".fr-active\")).length)return!1;for(var t=l.selection.blocks(),n=0;n<t.length;n++){for(var r=t[n].previousSibling;r&&r.nodeType===Node.TEXT_NODE&&0===r.textContent.length;)r=r.previousSibling;if(\"LI\"!==t[n].tagName||r)return i(e,!1),!0;i(e,!0)}},moreText:e,moreParagraph:e,moreMisc:e,moreRich:e}},Object.assign(Y.DEFAULTS,{attribution:!0,toolbarBottom:!1,toolbarButtons:null,toolbarButtonsXS:null,toolbarButtonsSM:null,toolbarButtonsMD:null,toolbarContainer:null,toolbarInline:!1,toolbarSticky:!0,toolbarStickyOffset:0,toolbarVisibleWithoutSelection:!1,toolbarResponsiveToEditor:!1}),Y.TOOLBAR_BUTTONS={moreText:{buttons:[\"bold\",\"italic\",\"underline\",\"strikeThrough\",\"subscript\",\"superscript\",\"fontFamily\",\"fontSize\",\"textColor\",\"backgroundColor\",\"inlineClass\",\"inlineStyle\",\"clearFormatting\"]},moreParagraph:{buttons:[\"alignLeft\",\"alignCenter\",\"formatOLSimple\",\"alignRight\",\"alignJustify\",\"formatOL\",\"formatUL\",\"paragraphFormat\",\"paragraphStyle\",\"lineHeight\",\"outdent\",\"indent\",\"quote\"]},moreRich:{buttons:[\"trackChanges\",\"markdown\",\"insertLink\",\"insertFiles\",\"insertImage\",\"insertVideo\",\"insertTable\",\"emoticons\",\"fontAwesome\",\"specialCharacters\",\"embedly\",\"insertFile\",\"insertHR\",\"openFilePicker\"],buttonsVisible:4},moreMisc:{buttons:[\"undo\",\"redo\",\"fullscreen\",\"print\",\"getPDF\",\"spellChecker\",\"selectAll\",\"html\",\"help\",\"findReplaceButton\"],align:\"right\",buttonsVisible:2},trackChanges:{buttons:[\"showChanges\",\"applyAll\",\"removeAll\",\"applyLast\",\"removeLast\"],buttonsVisible:0}},Y.TOOLBAR_BUTTONS_MD=null,(Y.TOOLBAR_BUTTONS_SM={}).moreText=Object.assign({},Y.TOOLBAR_BUTTONS.moreText,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreParagraph=Object.assign({},Y.TOOLBAR_BUTTONS.moreParagraph,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreRich=Object.assign({},Y.TOOLBAR_BUTTONS.moreRich,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.moreMisc=Object.assign({},Y.TOOLBAR_BUTTONS.moreMisc,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_SM.trackChanges=Object.assign({},Y.TOOLBAR_BUTTONS.trackChanges,{buttonsVisible:0}),(Y.TOOLBAR_BUTTONS_XS={}).moreText=Object.assign({},Y.TOOLBAR_BUTTONS.moreText,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreParagraph=Object.assign({},Y.TOOLBAR_BUTTONS.moreParagraph,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreRich=Object.assign({},Y.TOOLBAR_BUTTONS.moreRich,{buttonsVisible:0}),Y.TOOLBAR_BUTTONS_XS.moreMisc=Object.assign({},Y.TOOLBAR_BUTTONS.moreMisc,{buttonsVisible:2}),Y.TOOLBAR_BUTTONS_XS.trackChanges=Object.assign({},Y.TOOLBAR_BUTTONS.trackChanges,{buttonsVisible:0}),Y.POWERED_BY='<a id=\"fr-logo\" href=\"https://froala.com/wysiwyg-editor\" target=\"_blank\" title=\"Froala WYSIWYG HTML Editor\"><span>Powered by</span><svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 822.8 355.33\"><defs><style>.fr-logo{fill:#b1b2b7;}</style></defs><title>Froala</title><path class=\"fr-logo\" d=\"M123.58,78.65A16.16,16.16,0,0,0,111.13,73H16.6C7.6,73,0,80.78,0,89.94V128.3a16.45,16.45,0,0,0,32.9,0V104.14h78.5A15.63,15.63,0,0,0,126.87,91.2,15.14,15.14,0,0,0,123.58,78.65Z\"/><path class=\"fr-logo\" d=\"M103.54,170a16.05,16.05,0,0,0-11.44-4.85H15.79A15.81,15.81,0,0,0,0,180.93v88.69a16.88,16.88,0,0,0,5,11.92,16,16,0,0,0,11.35,4.7h.17a16.45,16.45,0,0,0,16.41-16.6v-73.4H92.2A15.61,15.61,0,0,0,107.89,181,15.1,15.1,0,0,0,103.54,170Z\"/><path class=\"fr-logo\" d=\"M233,144.17c-5.29-6.22-16-7.52-24.14-7.52-16.68,0-28.72,7.71-36.5,23.47v-5.67a16.15,16.15,0,1,0-32.3,0v115.5a16.15,16.15,0,1,0,32.3,0v-38.7c0-19.09,3.5-63.5,35.9-63.5a44.73,44.73,0,0,1,5.95.27h.12c12.79,1.2,20.06-2.73,21.6-11.69C236.76,151.48,235.78,147.39,233,144.17Z\"/><path class=\"fr-logo\" d=\"M371.83,157c-13.93-13.11-32.9-20.33-53.43-20.33S279,143.86,265.12,157c-14.67,13.88-22.42,32.82-22.42,54.77,0,21.68,8,41.28,22.4,55.2,13.92,13.41,32.85,20.8,53.3,20.8s39.44-7.38,53.44-20.79c14.55-13.94,22.56-33.54,22.56-55.21S386.39,170.67,371.83,157Zm-9.73,54.77c0,25.84-18.38,44.6-43.7,44.6s-43.7-18.76-43.7-44.6c0-25.15,18.38-43.4,43.7-43.4S362.1,186.59,362.1,211.74Z\"/><path class=\"fr-logo\" d=\"M552.7,138.14a16.17,16.17,0,0,0-16,16.3v1C526.41,143.85,509,136.64,490,136.64c-19.83,0-38.19,7.24-51.69,20.4C424,171,416.4,190,416.4,212c0,21.61,7.78,41.16,21.9,55,13.56,13.33,31.92,20.67,51.7,20.67,18.83,0,36.29-7.41,46.7-19.37v1.57a16.15,16.15,0,1,0,32.3,0V154.44A16.32,16.32,0,0,0,552.7,138.14Zm-16.3,73.6c0,30.44-22.81,44.3-44,44.3-24.57,0-43.1-19-43.1-44.3s18.13-43.4,43.1-43.4C513.73,168.34,536.4,183.55,536.4,211.74Z\"/><path class=\"fr-logo\" d=\"M623.5,61.94a16.17,16.17,0,0,0-16,16.3v191.7a16.15,16.15,0,1,0,32.3,0V78.24A16.32,16.32,0,0,0,623.5,61.94Z\"/><path class=\"fr-logo\" d=\"M806.5,138.14a16.17,16.17,0,0,0-16,16.3v1c-10.29-11.63-27.74-18.84-46.7-18.84-19.83,0-38.19,7.24-51.69,20.4-14.33,14-21.91,33-21.91,55,0,21.61,7.78,41.16,21.9,55,13.56,13.33,31.92,20.67,51.7,20.67,18.83,0,36.29-7.41,46.7-19.37v1.57a16.15,16.15,0,1,0,32.3,0V154.44A16.32,16.32,0,0,0,806.5,138.14Zm-16.3,73.6c0,30.44-22.81,44.3-44,44.3-24.57,0-43.1-19-43.1-44.3s18.13-43.4,43.1-43.4C767.53,168.34,790.2,183.55,790.2,211.74Z\"/></svg></a>',Y.MODULES.toolbar=function(L){var y=L.$;function e(e){if(-1<L.opts.pluginsEnabled.indexOf(\"filestack\")&&L.opts.filestackOptions&&L.opts.filestackOptions.uploadToFilestackOnly){var t,n=JSON.parse(JSON.stringify(e)),r=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"openFilePicker\"),o=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"insertFile\"),i=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.includes(\"insertFiles\");r?(-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFile\"===e}))&&n.moreRich.buttons.splice(t,1),-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFiles\"===e}))&&n.moreRich.buttons.splice(t,1)):o&&i&&-1!==(t=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertFiles\"===e}))&&n.moreRich.buttons.splice(t,1);var a=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertImage\"===e});-1<a&&null!==a&&(n.moreRich.buttons[a]=\"openFilePickerImageOnly\");var s=n.moreRich&&n.moreRich.buttons&&n.moreRich.buttons.findIndex(function(e){return\"insertVideo\"===e});return-1<s&&null!==s&&(n.moreRich.buttons[s]=\"openFilePickerVideoOnly\"),n}return e}var N,t=[];function n(e){var n={};if(Array.isArray(e)){if(!Array.isArray(e[0])){for(var t=[],r=[],o=0;o<e.length;o++)\"|\"===e[o]||\"-\"===e[o]?(0<r.length&&t.push(r),r=[]):r.push(e[o]);0<r.length&&t.push(r),e=t}e.forEach(function(e,t){n[\"group\".concat(t+1)]={buttons:e}}),n.showMoreButtons=!1}else\"object\"!==w(e)||Array.isArray(e)||((n=e).showMoreButtons=!0);return n}function S(){var e=L.helpers.screenSize(L.opts.toolbarResponsiveToEditor);return t[N=e]}function T(){for(var d=L.$tb.find(\".fr-more-toolbar\"),f=function f(){var e=y(d[p]);if(e.hasClass(\"fr-expanded\")){var n=L.helpers.getPX(e.css(\"padding-left\")),t=e.find(\"> .fr-command, > .fr-btn-wrap\"),r=y(t[0]),o=L.helpers.getPX(r.css(\"margin-left\")),i=L.helpers.getPX(r.css(\"margin-right\")),a=L.helpers.getPX(r.css(\"margin-top\")),s=L.helpers.getPX(r.css(\"margin-bottom\"));if(t.each(function(e,t){n+=y(t).outerWidth()+o+i}),L.$tb.outerWidth()<n){var l=Math.floor(n/L.$tb.outerWidth());n+=l*(n/e[0].childElementCount),l=Math.ceil(n/L.$tb.outerWidth());var c=(L.helpers.getPX(r.css(\"height\"))+a+s)*l;e.css(\"height\",c)}}else e.css(\"height\",\"\")},p=0;p<d.length;p++)f();!L.helpers.isMobile()&&L.opts.toolbarBottom?L.$tb.find(\".fr-toolbar .fr-more-toolbar\").removeClass(\"position-relative\"):L.$tb.find(\".fr-toolbar .fr-more-toolbar\").addClass(\"position-relative\")}function o(){if(0==L.$tb.find(\"[data-name='trackChanges-\".concat(L.id,\"']\")).length&&-1<L.opts.pluginsEnabled.indexOf(\"track_changes\")){L.$tb.append(y('<div class=\"fr-more-toolbar\"></div>').data(\"name\",\"trackChanges-\".concat(L.id)));for(var e=0,t=[\"showChanges\",\"applyAll\",\"removeAll\",\"applyLast\",\"removeLast\"];e<t.length;e++){var n=t[e],r=Y.COMMANDS[n];if(r){r.more_btn=!0;var o=y(L.button.build(n,r,!0));L.button.addButtons(o),L.$tb.find(\"[data-name='trackChanges-\".concat(L.id,\"']\")).append(o)}}}if(N!==L.helpers.screenSize(L.opts.toolbarResponsiveToEditor)){var i=S(),a=y(),s=y();for(var l in L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-grp > .fr-btn-wrap > .fr-command, .fr-more-toolbar > .fr-btn-wrap > .fr-command\").addClass(\"fr-hidden\"),function E(){for(var e=L.$tb.find(\".fr-btn-grp, .fr-more-toolbar\"),t=function t(){var n=y(e[r]);n.children().each(function(e,t){n.before(t)}),n.remove()},r=0;r<e.length;r++)t()}(),L.$tb.find(\".fr-separator.fr-vs, .fr-separator.fr-hs\").remove(),i){var c=i[l];if(c.buttons&&(\"trackChanges\"!==l||-1!==L.opts.pluginsEnabled.indexOf(\"track_changes\"))){var d=void 0,f=0,p=3,u=void 0;\"trackChanges\"!==l&&(u=y('<div class=\"fr-btn-grp fr-float-'.concat(i[l].align?i[l].align:\"left\",'\"></div>'))),i.showMoreButtons&&(d=y('<div class=\"fr-more-toolbar\"></div>').data(\"name\",\"\".concat(l,\"-\").concat(L.id)),\"trackChanges\"!==l&&\"moreRich\"!==l||!L.opts.trackChangesEnabled||d.addClass(\"fr-expanded\"));for(var h=0;h<c.buttons.length;h++){c.buttonsVisible!==undefined&&(p=c.buttonsVisible);var g=L.$tb.find('> .fr-command[data-cmd=\"'+c.buttons[h]+'\"], > div.fr-btn-wrap > .fr-command[data-cmd=\"'+c.buttons[h]+'\"]'),C=null;L.node.hasClass(g.next().get(0),\"fr-dropdown-menu\")&&(C=g.next()),L.node.hasClass(g.next().get(0),\"fr-options\")&&(g.removeClass(\"fr-hidden\"),g.next().removeClass(\"fr-hidden\"),g=g.parent()),g.removeClass(\"fr-hidden\"),i.showMoreButtons&&p<=f?(d.append(g),C&&d.append(C)):(u.append(g),\"|\"===c.buttons[h]?u.append(y('<div class=\"fr-separator fr-vs\" role=\"separator\" aria-orientation=\"vertical\"></div>')):\"-\"===c.buttons[h]&&u.append(y('<div class=\"fr-separator fr-hs\" role=\"separator\" aria-orientation=\"horizontal\"></div>')),C&&u.append(C)),f++}if(i.showMoreButtons&&p<f){var m=L.$tb.find('.fr-command[data-cmd=\"'.concat(l,'\"]'));if(0<m.length)m.removeClass(\"fr-hidden fr-open\");else{var v=l,b=Y.COMMANDS[v];b&&(b.more_btn=!0,m=y(L.button.build(v,b,!0)),L.button.addButtons(m))}u&&u.append(m)}u&&a.push(u),i.showMoreButtons&&s.push(d)}}L.opts.toolbarBottom?(L.$tb.append(s),L.$tb.find(\".fr-newline\").remove(),L.$tb.append('<div class=\"fr-newline\"></div>'),L.$tb.append(a)):(L.$tb.append(a),L.$tb.find(\".fr-newline\").remove(),L.$tb.append('<div class=\"fr-newline\"></div>'),L.$tb.append(s)),L.$tb.removeClass(\"fr-toolbar-open\"),L.$box.removeClass(\"fr-toolbar-open\"),L.events.trigger(\"codeView.toggle\")}T()}function r(t,n){setTimeout(function(){var e;L.opts.iframe?e=L.$iframe.get(0).contentWindow.document.activeElement:e=document.activeElement;if((!t||t.which!=Y.KEYCODE.ESC)&&L.selection.inEditor()&&L.core.hasFocus()&&!L.popups.areVisible()&&\"false\"!=y(L.selection.blocks()[0]).closest(\"table\").attr(\"contenteditable\")&&\"INPUT\"!==e.tagName&&\"TEXTAREA\"!==e.tagName&&(L.opts.toolbarVisibleWithoutSelection||!L.selection.isCollapsed()&&!L.keys.isIME()||n)){if(L.$tb.data(\"instance\",L),!1===L.events.trigger(\"toolbar.show\",[t]))return;if(t&&L.helpers.isMobile()&&!function r(e,t){var n=e.target;for(;n;){if(n===t)return!0;n=n.parentElement}return!1}(t,L.$box))return;L.$tb.show(),L.opts.toolbarContainer||L.position.forSelection(L.$tb),1<L.opts.zIndex?L.$tb.css(\"z-index\",L.opts.zIndex+1):L.$tb.css(\"z-index\",null)}},0)}function i(e){return(!e||\"blur\"!==e.type||document.activeElement!==L.el)&&((!e||\"blur\"!==e.type||!L.helpers.isMobile())&&(!(!e||\"keydown\"!==e.type||!L.keys.ctrlKey(e))||(!!L.button.getButtons(\".fr-dropdown.fr-active\").next().find(L.o_doc.activeElement).length||(L.helpers.isMobile()&&L.opts.toolbarInline&&(L.$tb.find(\".fr-expanded\").toggleClass(\"fr-expanded\"),L.$tb.find(\".fr-open\").removeClass(\"fr-open\"),L.$tb.removeClass(\"fr-toolbar-open\"),T()),void(!1!==L.events.trigger(\"toolbar.hide\")&&L.$tb.hide())))))}t[Y.XS]=n(e(L.opts.toolbarButtonsXS||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_XS||Y.TOOLBAR_BUTTONS||[])),t[Y.SM]=n(e(L.opts.toolbarButtonsSM||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_SM||Y.TOOLBAR_BUTTONS||[])),t[Y.MD]=n(e(L.opts.toolbarButtonsMD||L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS_MD||Y.TOOLBAR_BUTTONS||[])),t[Y.LG]=n(e(L.opts.toolbarButtons||Y.TOOLBAR_BUTTONS||[]));var a=null;function s(e){clearTimeout(a),e&&e.which===Y.KEYCODE.ESC||(a=setTimeout(r,L.opts.typingTimer))}function l(){L.events.on(\"window.mousedown\",i),L.events.on(\"keydown\",i),L.events.on(\"blur\",i),L.events.$on(L.$tb,\"transitionend\",\".fr-more-toolbar\",function(){L.position.forSelection(L.$tb)}),L.helpers.isMobile()||L.events.on(\"window.mouseup\",r),L.helpers.isMobile()?L.helpers.isIOS()||(L.events.on(\"window.touchend\",r),L.browser.mozilla&&setInterval(r,200)):L.events.on(\"window.keyup\",s),L.events.on(\"keydown\",function(e){e&&e.which===Y.KEYCODE.ESC&&L.events.trigger(\"toolbar.esc\")}),L.events.on(\"keydown\",function(e){if(e.which===Y.KEYCODE.ALT)return e.stopPropagation(),!1},!0),L.events.$on(L.$wp,\"scroll.toolbar\",r),L.events.on(\"commands.after\",r),L.helpers.isMobile()&&(L.events.$on(L.$doc,\"selectionchange\",s),L.events.$on(L.$doc,\"orientationchange\",r))}function c(){L.$tb&&(L.$tb.html(\"\").removeData().remove(),L.$tb=null),L.$second_tb&&(L.$second_tb.html(\"\").removeData().remove(),L.$second_tb=null)}function d(){L.$box.removeClass(\"fr-top fr-bottom fr-inline fr-basic\"),L.$box.find(\".fr-sticky-dummy\").remove()}function f(){L.opts.theme&&L.$tb.addClass(\"\".concat(L.opts.theme,\"-theme\")),1<L.opts.zIndex&&L.$tb.css(\"z-index\",L.opts.zIndex+1),\"auto\"!==L.opts.direction&&L.$tb.removeClass(\"fr-ltr fr-rtl\").addClass(\"fr-\".concat(L.opts.direction)),L.helpers.isMobile()?L.$tb.addClass(\"fr-mobile\"):L.$tb.addClass(\"fr-desktop\"),L.opts.toolbarContainer?(L.opts.toolbarInline&&(l(),i()),L.opts.toolbarBottom?L.$tb.addClass(\"fr-bottom\"):L.$tb.addClass(\"fr-top\")):function e(){L.opts.toolbarInline?(L.$sc.append(L.$tb),L.$tb.data(\"container\",L.$sc),L.$tb.addClass(\"fr-inline\"),l(),L.opts.toolbarBottom=!1):(L.opts.toolbarBottom?(L.$box.append(L.$tb),L.$tb.addClass(\"fr-bottom\"),L.$box.addClass(\"fr-bottom\")):(L.opts.toolbarBottom=!1,L.$box.prepend(L.$tb),L.$tb.addClass(\"fr-top\"),L.$box.addClass(\"fr-top\")),L.$tb.addClass(\"fr-basic\"),L.opts.toolbarSticky&&(L.opts.toolbarStickyOffset&&(L.opts.toolbarBottom?L.$tb.css(\"bottom\",L.opts.toolbarStickyOffset):L.$tb.css(\"top\",L.opts.toolbarStickyOffset)),L.position.addSticky(L.$tb)))}(),function t(){var e=L.button.buildGroup(S());L.$tb.append(e),T(),L.button.bindCommands(L.$tb)}(),function r(){L.events.$on(y(L.o_win),\"resize\",o),L.events.$on(y(L.o_win),\"orientationchange\",o),L.opts.toolbarButtons&&-1<JSON.stringify(L.opts.toolbarButtons).indexOf(\"trackChanges\")&&o();var e=L.$tb.find(\".fr-more-toolbar[data-name=trackChanges-\".concat(L.id,\"]\")),t=0!==e.length&&e.hasClass(\"fr-expanded\");if(L.opts.trackChangesEnabled&&!t){var n=L.$tb.find(\".fr-command.fr-btn[data-cmd=trackChanges\");e.addClass(\"fr-expanded\"),n.toggleClass(\"fr-open\"),L.toolbar.enable()}}(),L.accessibility.registerToolbar(L.$tb),L.events.$on(L.$tb,\"\".concat(L._mousedown,\" \").concat(L._mouseup),function(e){var t=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;if(t&&\"INPUT\"!==t.tagName&&!L.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1},!0),L.helpers.isMobile()&&L.events.$on(L.$tb,\"click\",function(){L.popups.areVisible().length||L.id!==L.shared.selected_editor&&L.shared.selected_editor||L.$el.focus()}),L.events.$on(L.$tb,\"transitionend\",\".fr-more-toolbar\",function(){L.$box.hasClass(\"fr-fullscreen\")&&(L.opts.height=L.o_win.innerHeight-(L.opts.toolbarInline?0:L.$tb.outerHeight()+(L.$second_tb?L.$second_tb.outerHeight():0)),L.size.refresh())})}var p=!1;return{_init:function u(){if(L.$sc=y(L.opts.scrollableContainer).first(),!L.$wp)return!1;L.opts.toolbarInline||L.opts.toolbarBottom||(L.$second_tb=y(L.doc.createElement(\"div\")).attr(\"class\",\"fr-second-toolbar\"),L.$box.append(L.$second_tb),(!1!==L.ul||L.opts.attribution)&&L.$second_tb.prepend(Y.POWERED_BY)),L.opts.toolbarContainer?(L.shared.$tb?(L.$tb=L.shared.$tb,L.opts.toolbarInline&&l()):(L.shared.$tb=y(L.doc.createElement(\"DIV\")),L.shared.$tb.addClass(\"fr-toolbar\"),L.$tb=L.shared.$tb,y(L.opts.toolbarContainer).append(L.$tb),f(),L.$tb.data(\"instance\",L)),L.opts.toolbarInline?L.$box.addClass(\"fr-inline\"):L.$box.addClass(\"fr-basic\"),L.events.on(\"focus\",function(){L.$tb.data(\"instance\",L)},!0),L.opts.toolbarInline=!1):L.opts.toolbarInline?(L.$box.addClass(\"fr-inline\"),L.shared.$tb?(L.$tb=L.shared.$tb,l()):(L.shared.$tb=y(L.doc.createElement(\"DIV\")),L.shared.$tb.addClass(\"fr-toolbar\"),L.$tb=L.shared.$tb,f())):(L.$box.addClass(\"fr-basic\"),L.$tb=y(L.doc.createElement(\"DIV\")),L.$tb.addClass(\"fr-toolbar\"),f(),L.$tb.data(\"instance\",L)),L.events.on(\"destroy\",d,!0),L.events.on(L.opts.toolbarInline||L.opts.toolbarContainer?\"shared.destroy\":\"destroy\",c,!0),L.events.on(\"edit.on\",function(){L.$tb.removeClass(\"fr-disabled\").removeAttr(\"aria-disabled\")}),L.events.on(\"edit.off\",function(){L.$tb.addClass(\"fr-disabled\").attr(\"aria-disabled\",!0)}),function e(){L.events.on(\"shortcut\",function(e,t,n){var r;if(t&&!n?r=L.$tb.find('.fr-command[data-cmd=\"'.concat(t,'\"]')):t&&n&&(r=L.$tb.find('.fr-command[data-cmd=\"'.concat(t,'\"][data-param1=\"').concat(n,'\"]'))),r.length&&(e.preventDefault(),e.stopPropagation(),r.parents(\".fr-toolbar\").data(\"instance\",L),\"keydown\"===e.type))return L.button.exec(r),!1})}()},hide:i,show:function h(){if(!1===L.events.trigger(\"toolbar.show\"))return!1;L.$tb.show()},showInline:r,disable:function g(){!p&&L.$tb&&(L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-wrap > .fr-command\").addClass(\"fr-disabled fr-no-refresh\").attr(\"aria-disabled\",!0),p=!0)},enable:function C(){p&&L.$tb&&(L.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-wrap > .fr-command\").removeClass(\"fr-disabled fr-no-refresh\").attr(\"aria-disabled\",!1),p=!1),L.button.bulkRefresh()},setMoreToolbarsHeight:T}};var c=[\"scroll\",\"wheel\",\"touchmove\",\"touchstart\",\"touchend\"],f=[\"webkit\",\"moz\",\"ms\",\"o\"],p=[\"transitionend\"],i=document.createElement(\"div\").style,a=[\"Webkit\",\"Moz\",\"ms\",\"O\",\"css\",\"style\"],s={visibility:\"hidden\",display:\"block\"},r=[\"focus\",\"blur\",\"click\"],u={},h=function h(e,t){return{altKey:e.altKey,bubbles:e.bubbles,cancelable:e.cancelable,changedTouches:e.changedTouches,ctrlKey:e.ctrlKey,detail:e.detail,eventPhase:e.eventPhase,metaKey:e.metaKey,pageX:e.pageX,pageY:e.pageY,shiftKey:e.shiftKey,view:e.view,\"char\":e[\"char\"],key:e.key,keyCode:e.keyCode,button:e.button,buttons:e.buttons,clientX:e.clientX,clientY:e.clientY,offsetX:e.offsetX,offsetY:e.offsetY,pointerId:e.pointerId,pointerType:e.pointerType,screenX:e.screenX,screenY:e.screenY,targetTouches:e.targetTouches,toElement:e.toElement,touches:e.touches,type:e.type,which:e.which,target:e.target,currentTarget:t,originalEvent:e,stopPropagation:function(){e.stopPropagation()},stopImmediatePropagation:function(){e.stopImmediatePropagation()},preventDefault:function(){(/Android/i.test(navigator.userAgent)&&\"touchend\"===e.type||-1===c.indexOf(e.type))&&e.preventDefault()}}},g=function g(e){if(e.ownerDocument&&e.ownerDocument.body&&e.ownerDocument.body.contains(e)||\"#document\"===e.nodeName||\"HTML\"===e.nodeName||e===window)return!0;if(\"function\"!=typeof e.getRootNode)return!1;var t=e.getRootNode();return t&&t.host&&g(t.host)},C=function C(n,r){return function(e){var t=e.target;if(r)for(r=v(r);t&&t!==this;)Element.prototype.matches.call(t,v(r))&&n.call(t,h(e,t)),t=t.parentNode;else g(t)&&n.call(t,h(e,t))}},m=function m(e,t){return new L(e,t)},v=function v(e){return e&&\"string\"==typeof e?e.replace(/^\\s*>/g,\":scope >\").replace(/,\\s*>/g,\", :scope >\"):e},b=function b(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},E=m;m.fn=m.prototype={constructor:m,length:0,contains:function(e){if(!e)return!1;if(Array.isArray(e)){for(var t=0;t<e.length;t++)if(this.contains(e[t])&&this!=e[t])return!0;return!1}for(var n=0;n<this.length;n++)for(var r=e;r;){if(r==this[n]||r[0]&&r[0].isEqualNode(this[n]))return!0;r=r.parentNode}return!1},findVisible:function(e){for(var t=this.find(e),n=t.length-1;0<=n;n--)E(t[n]).isVisible()||t.splice(n,1);return t},formatParams:function(t){var e=\"\".concat(Object.keys(t).map(function(e){return\"\".concat(e,\"=\").concat(encodeURIComponent(t[e]))}).join(\"&\"));return e||\"\"},ajax:function(t){var n=new XMLHttpRequest,e=this.formatParams(t.data);for(var r in\"GET\"===t.method.toUpperCase()&&(t.url=e?t.url+\"?\"+e:t.url),n.open(t.method,t.url,!0),t.withCredentials&&(n.withCredentials=!0),t.crossDomain&&n.setRequestHeader(\"Access-Control-Allow-Origin\",\"*\"),t.headers)Object.prototype.hasOwnProperty.call(t.headers,r)&&n.setRequestHeader(r,t.headers[r]);Object.prototype.hasOwnProperty.call(t.headers,\"Content-Type\")||(\"json\"===t.dataType?n.setRequestHeader(\"Content-Type\",\"application/json\"):n.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\")),n.onload=function(){if(200==n.status){var e=n.responseText;\"json\"===t.dataType&&(e=JSON.parse(e)),t.done(e,n.status,n)}else t.fail(n)},n.send(e)},prevAll:function(){var e=E();if(!this[0])return e;for(var t=this[0];t&&t.previousSibling;)t=t.previousSibling,e.push(t);return e},index:function(e){return e?\"string\"==typeof e?[].indexOf.call(E(e),this[0]):[].indexOf.call(this,e.length?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},isVisible:function(){return!!this[0]&&!!(this[0].offsetWidth||this[0].offsetHeight||this[0].getClientRects().length)},toArray:function(){return[].slice.call(this)},get:function(e){return null==e?[].slice.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=m.merge(this.constructor(),e);return t.prevObject=this,t},wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=m(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){if(\"string\"==typeof e){for(var t=e.split(\" \"),n=0;n<t.length&&0===t[n].trim().length;)n++;if(n<t.length&&(E(e).length&&t[n].trim()===E(e)[0].tagName&&(e=document.createElement(t[n].trim())),n++),\"string\"!=typeof e)for(var r=E(e);n<t.length;n++){t[n]=t[n].trim();var o=t[n].split(\"=\");r.attr(o[0],o[1].replace('\"',\"\"))}}for(;this[0].firstChild&&this[0].firstChild!==e&&\"string\"!=typeof e;)e.appendChild(this[0].firstChild)},wrapContent:function(e){for(var t=document.createElement(e.tagName),n=0;n<e.attributes.length;n++)E(t).attr(e.attributes[n].nodeName,e.attributes[n].value);E(this[0]).contents().wrapAll(t)},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(){return this.parent().each(function(){this.nodeName&&this.nodeName.toLowerCase()===name.toLowerCase()||m(this).replaceWith(this.childNodes)})},grep:function(e,t,n){for(var r=[],o=0,i=e.length,a=!n;o<i;o++)!t(e[o],o)!==a&&r.push(e[o]);return r},map:function(n){return this.pushStack(m.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack([].slice.apply(this,arguments))},each:function(e){if(this.length)for(var t=0;t<this.length&&!1!==e.call(this[t],t,this[t]);t++);return this},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},empty:function(){for(var e=0;e<this.length;e++)this[e].innerHTML=\"\"},contents:function(){for(var e=E(),t=0;t<this.length;t++)for(var n=this[t].childNodes,r=0;r<n.length;r++)e.push(n[r]);return e},attr:function(e,t){if(\"object\"===w(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&null!==e[n]&&this.attr(n,e[n]);return this}if(void 0===t)return 0===this.length||!this[0].getAttribute&&\"checked\"!==e?undefined:\"checked\"===e?this[0].checked:\"tagName\"===e?this[0].tagName:this[0].getAttribute(e);if(\"checked\"===e)for(var r=0;r<this.length;r++)this[r].checked=t;else if(\"tagName\"===e)for(var o=0;o<this.length;o++)this[o].tagName=t;else for(var i=0;i<this.length;i++)this[i].setAttribute(e,t);return this},removeAttr:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute&&this[t].removeAttribute(e);return this},hide:function(){return this.css(\"display\",\"none\"),this},show:function(){return this.css(\"display\",\"block\"),this},focus:function(){return this.length&&this[0].focus(),this},blur:function(){return this.length&&this[0].blur(),this},data:function(e,t){if(void 0!==t){for(var n=0;n<this.length;n++)\"object\"!==w(this[n][\"data-\"+e]=t)&&\"function\"!=typeof t&&this[n].setAttribute&&this[n].setAttribute(\"data-\"+e,t);return this}if(void 0!==t)return this.attr(\"data-\"+e,t);if(0===this.length)return undefined;for(var r=0;r<this.length;r++){var o=this[r][\"data-\"+e];if(null==o&&this[r].getAttribute&&(o=this[r].getAttribute(\"data-\"+e)),void 0!==o&&null!=o)return o}return undefined},removeData:function(e){for(var t=0;t<this.length;t++)this[t].removeAttribute&&this[t].removeAttribute(\"data-\"+e),this[t][\"data-\"+e]=null;return this},getCorrectStyleName:function(e){if(!u[e]){var t;e in i&&(t=e);for(var n=e[0].toUpperCase()+e.slice(1),r=a.length;r--;)(e=a[r]+n)in i&&(t=e);u[e]=t}return u[e]},css:function(e,t){if(void 0!==t){if(0===this.length)return this;(\"string\"!=typeof t||\"\"===t.trim()||isNaN(t))&&\"number\"!=typeof t||!/(margin)|(padding)|(height)|(width)|(top)|(left)|(right)|(bottom)/gi.test(e)||/(line-height)/gi.test(e)||(t+=\"px\");for(var n=0;n<this.length;n++)e=E(this).getCorrectStyleName(e),this[n].style[e]=t;return this}if(\"string\"==typeof e){if(0===this.length)return undefined;var r=this[0].ownerDocument||document,o=r.defaultView||r.parentWindow;return e=E(this).getCorrectStyleName(e),o.getComputedStyle(this[0])[e]}for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&this.css(i,e[i]);return this},toggleClass:function(e,t){if(1<e.split(\" \").length){for(var n=e.split(\" \"),r=0;r<n.length;r++)this.toggleClass(n[r],t);return this}for(var o=0;o<this.length;o++)void 0===t?this[o].classList.contains(e)?this[o].classList.remove(e):this[o].classList.add(e):t?this[o].classList.contains(e)||this[o].classList.add(e):this[o].classList.contains(e)&&this[o].classList.remove(e);return this},addClass:function(e){if(0===e.length)return this;if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)this.addClass(t[n]);return this}for(var r=0;r<this.length;r++)this[r].classList.add(e);return this},removeClass:function(e){if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)t[n]=t[n].trim(),t[n].length&&this.removeClass(t[n]);return this}for(var r=0;r<this.length;r++)e.length&&this[r].classList.remove(e);return this},getClass:function(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"},stripAndCollapse:function(e){return(e.match(/[^\\x20\\t\\r\\n\\f]+/g)||[]).join(\" \")},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&-1<(\" \"+E(this).stripAndCollapse(E(this).getClass(n))+\" \").indexOf(t))return!0;return!1},scrollTop:function(e){if(void 0===e)return 0===this.length?undefined:this[0]===document?document.documentElement.scrollTop:this[0].scrollTop;for(var t=0;t<this.length;t++)this[t]===document?window.scrollTo(document.documentElement.scrollLeft,e):this[t].scrollTop=e},scrollLeft:function(e){if(void 0===e)return 0===this.length?undefined:this[0]===document?document.documentElement.scrollLeft:this[0].scrollLeft;for(var t=0;t<this.length;t++)this[t]===document?window.scrollTo(e,document.documentElement.scrollTop):this[t].scrollLeft=e},on:function(e,t,n){if(1<e.split(\" \").length){for(var r=e.split(\" \"),o=0;o<r.length;o++)if(-1!==p.indexOf(e))for(var i=0;i<f.length;i++)this.on(f[i]+e[0].toUpperCase()+e.slice(1),t,n);else this.on(r[o],t,n);return this}n=\"function\"==typeof t?C(t,null):C(n,t);for(var a=0;a<this.length;a++){var s=E(this[a]);s.data(\"events\")||s.data(\"events\",[]),s.data(\"events\").push([e,n]);var l=e.split(\".\");l=l[0],/Android/i.test(navigator.userAgent)&&e.includes(\"touchend\")||!(0<=c.indexOf(l))?s.get(0).addEventListener(l,n):s.get(0).addEventListener(l,n,{passive:!0})}},off:function(e){if(1<e.split(\" \").length){for(var t=e.split(\" \"),n=0;n<t.length;n++)this.off(t[n]);return this}for(var r=0;r<this.length;r++){var o=E(this[r]);if(o.data(\"events\")){var i=e.split(\".\");i=i[0];for(var a=o.data(\"events\")||[],s=a.length-1;0<=s;s--){var l=a[s];l[0]==e&&(o.get(0).removeEventListener(i,l[1]),a.splice(s,1))}}}},trigger:function(e){for(var t=0;t<this.length;t++){var n=void 0;\"function\"==typeof Event?n=0<=e.search(/^mouse/g)?new MouseEvent(e,{view:window,cancelable:!0,bubbles:!0}):new Event(e):0<=e.search(/^mouse/g)?(n=document.createEvent(\"MouseEvents\")).initMouseEvent(e,!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null):(n=document.createEvent(\"Event\")).initEvent(e,!0,!0),0<=r.indexOf(e)&&\"function\"==typeof this[t][e]?this[t][e]():this[t].dispatchEvent(n)}},triggerHandler:function(){},val:function(e){if(void 0===e)return this[0].value;for(var t=0;t<this.length;t++)this[t].value=e;return this},siblings:function(){return E(this[0]).parent().children().not(this)},find:function(e){var t=E();if(\"string\"!=typeof e){for(var n=0;n<e.length;n++)for(var r=0;r<this.length;r++)if(this[r]!==e[n]&&E(this[r]).contains(e[n])){t.push(e[n]);break}return t}var o=function o(e){return\"object\"===(\"undefined\"==typeof HTMLElement?\"undefined\":w(HTMLElement))?e instanceof HTMLElement:e&&\"object\"===w(e)&&null!==e&&1===e.nodeType&&\"string\"==typeof e.nodeName};e=v(e);for(var i=0;i<this.length;i++)if(this[i].querySelectorAll){var a=[];if(e&&\"string\"==typeof e)try{a=this[i].querySelectorAll(e)}catch(l){a=this[i].children}else o(e)&&(a=[e]);for(var s=0;s<a.length;s++)t.push(a[s])}return t},children:function(){for(var e=E(),t=0;t<this.length;t++)for(var n=this[t].children,r=0;r<n.length;r++)e.push(n[r]);return e},not:function(e){if(\"string\"==typeof e)for(var t=this.length-1;0<=t;t--)Element.prototype.matches.call(this[t],e)&&this.splice(t,1);else if(e instanceof m){for(var n=this.length-1;0<=n;n--)for(var r=0;r<e.length;r++)if(this[n]===e[r]){this.splice(n,1);break}}else for(var o=this.length-1;0<=o;o--)this[o]===e[0]&&this.splice(o,1);return this},add:function(e){for(var t=0;t<e.length;t++)this.push(e[t]);return this},closest:function(e){for(var t=0;t<this.length;t++){var n=Element.prototype.closest.call(this[t],e);if(n)return E(n)}return E()},html:function(e){if(void 0===e)return 0===this.length?undefined:this[0].innerHTML;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){this[t].innerHTML=e;for(var n=this[t].children,r=this[t].ownerDocument||document,o=0;o<n.length;o++)if(\"SCRIPT\"===n[o].tagName){var i=r.createElement(\"script\");i.innerHTML=n[o].innerHTML,n[o].hasAttribute(\"async\")&&i.setAttribute(\"async\",\"\"),i.src=n[o].src,n[o].hasAttribute(\"defer\")&&i.setAttribute(\"defer\",\"\"),r.head.appendChild(i).parentNode.removeChild(i)}}else{this[0].innerHTML=\"\",this.append(e[0]);var a=this[0].ownerDocument||document;if(\"SCRIPT\"===e[0].tagName){var s=a.createElement(\"script\");s.innerHTML=e[0].innerHTML,a.head.appendChild(s).parentNode.removeChild(s)}}return this},text:function(e){if(!e)return this.length?this[0].textContent:\"\";for(var t=0;t<this.length;t++)this[t].textContent=e},after:function e(t){if(t)if(\"string\"==typeof t)for(var n=0;n<this.length;n++){var e=this[n];if(e.nodeType!=Node.ELEMENT_NODE){var r=e.ownerDocument.createElement(\"SPAN\");E(e).after(r),E(r).after(t).remove()}else e.insertAdjacentHTML(\"afterend\",t)}else{var o=this[0];if(o.nextSibling)if(t instanceof m)for(var i=0;i<t.length;i++)o.nextSibling.parentNode.insertBefore(t[i],o.nextSibling);else o.nextSibling.parentNode.insertBefore(t,o.nextSibling);else E(o.parentNode).append(t)}return this},clone:function(e){for(var t=E(),n=0;n<this.length;n++)t.push(this[n].cloneNode(e));return t},replaceWith:function(e){if(\"string\"==typeof e)for(var t=0;t<this.length;t++)this[t].parentNode&&(this[t].outerHTML=e);else if(e&&e.length)for(var n=0;n<this.length;n++)this.replaceWith(e[n]);else this.after(e).remove()},insertBefore:function(e){return E(e).before(this[0]),this},before:function e(t){if(t instanceof m){for(var n=0;n<t.length;n++)this.before(t[n]);return this}if(t)if(\"string\"==typeof t)for(var r=0;r<this.length;r++){var e=this[r];if(e.nodeType!=Node.ELEMENT_NODE){var o=e.ownerDocument.createElement(\"SPAN\");E(e).before(o),E(o).before(t).remove()}else e.parentNode&&e.insertAdjacentHTML(\"beforebegin\",t)}else{var i=this[0];if(i.parentNode)if(t instanceof m)for(var a=0;a<t.length;a++)i.parentNode.insertBefore(t[a],i);else i.parentNode.insertBefore(t,i)}return this},append:function(e){if(0==this.length)return this;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){var n=this[t],r=n.ownerDocument.createElement(\"SPAN\");E(n).append(r),E(r).after(e).remove()}else if(e instanceof m||Array.isArray(e))for(var o=0;o<e.length;o++)this.append(e[o]);else\"function\"!=typeof e&&this[0].appendChild(e);return this},prepend:function(e){if(0==this.length)return this;if(\"string\"==typeof e)for(var t=0;t<this.length;t++){var n=this[t],r=n.ownerDocument.createElement(\"SPAN\");E(n).prepend(r),E(r).before(e).remove()}else if(e instanceof m)for(var o=0;o<e.length;o++)this.prepend(e[o]);else{var i=this[0];i.firstChild?i.firstChild?i.insertBefore(e,i.firstChild):i.appendChild(e):E(i).append(e)}return this},remove:function(){for(var e=0;e<this.length;e++)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},prev:function(){return this.length&&this[0].previousElementSibling?E(this[0].previousElementSibling):E()},next:function(){return this.length&&this[0].nextElementSibling?E(this[0].nextElementSibling):E()},nextAllVisible:function(){return this.next()},prevAllVisible:function(){return this.prev()},outerHeight:function(e){if(0===this.length)return undefined;var t=this[0];if(t===t.window)return t.innerHeight;var n={},r=this.isVisible();if(!r)for(var o in s)n[o]=t.style[o],t.style[o]=s[o];var i=t.offsetHeight;if(e&&(i+=parseInt(E(t).css(\"marginTop\"))+parseInt(E(t).css(\"marginBottom\"))),!r)for(var a in s)t.style[a]=n[a];return i},outerWidth:function(e){if(0===this.length)return undefined;var t=this[0];if(t===t.window)return t.outerWidth;var n={},r=this.isVisible();if(!r)for(var o in s)n[o]=t.style[o],t.style[o]=s[o];var i=t.offsetWidth;if(e&&(i+=parseInt(E(t).css(\"marginLeft\"))+parseInt(E(t).css(\"marginRight\"))),!r)for(var a in s)t.style[a]=n[a];return i},width:function(e){if(e===undefined){if(this[0]instanceof HTMLDocument)return this[0].body.offsetWidth;if(this[0])return this[0].offsetWidth}else this[0].style.width=e+\"px\"},height:function(e){var t=this[0];if(e===undefined){if(t instanceof HTMLDocument){var n=t.documentElement;return Math.max(t.body.scrollHeight,n.scrollHeight,t.body.offsetHeight,n.offsetHeight,n.clientHeight)}return t.offsetHeight}t.style.height=e+\"px\"},is:function(e){return 0!==this.length&&(\"string\"==typeof e&&this[0].matches?this[0].matches(e):e instanceof m?this[0]==e[0]:this[0]==e)},parent:function(){return 0===this.length?E():E(this[0].parentNode)},_matches:function(e,t){var n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return e&&!t?n:n.call(e,t)},parents:function(e){for(var t=E(),n=0;n<this.length;n++)for(var r=this[n].parentNode;r&&r!=document&&this._matches(r);)e?this._matches(r,e)&&t.push(r):t.push(r),r=r.parentNode;return t},parentsUntil:function(e,t){var n=E();e instanceof m&&0<e.length&&(e=e[0]);for(var r=0;r<this.length;r++)for(var o=this[r].parentNode;o&&o!=document&&o!=e&&this[r]!=e&&(\"string\"!=typeof e||!Element.prototype.matches.call(o,e));)t?Element.prototype.matches.call(o,t)&&n.push(o):n.push(o),o=o.parentNode;return n},insertAfter:function(e){var t=e.parent()[0];t&&t.insertBefore(this[0],e[0].nextElementSibling)},filter:function(e){var t=E();if(\"function\"==typeof e)for(var n=0;n<this.length;n++)e.call(this[n],this[n])&&t.push(this[n]);else if(\"string\"==typeof e)for(var r=0;r<this.length;r++)this[r].matches(e)&&t.push(this[r]);return t},offset:function(){if(0===this.length)return undefined;var e=this[0].getBoundingClientRect(),t=this[0].ownerDocument.defaultView;return{top:e.top+t.pageYOffset,left:e.left+t.pageXOffset}},position:function(){return{left:this[0].offsetLeft,top:this[0].offsetTop}},push:[].push,splice:[].splice},m.extend=function(e){e=e||{};for(var t=1;t<arguments.length;t++)if(arguments[t])for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e},m.merge=function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},m.map=function(e,t,n){var r,o,i=0,a=[];if(Array.isArray(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&a.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&a.push(o);return[].concat.apply([],a)};var L=function L(e,t){if(!e)return this;if(\"string\"==typeof e&&\"<\"===e[0]){var n=document.createElement(\"DIV\");return n.innerHTML=e,E(n.firstElementChild)}if(t=t instanceof m?t[0]:t,\"string\"!=typeof e)return e instanceof m?e:(this[0]=e,this.length=1,this);e=v(e);for(var r=(t||document).querySelectorAll(e),o=0;o<r.length;o++)this[o]=r[o];return this.length=r.length,this};L.prototype=m.prototype;var y=Y;function O(){var t=this;this.doc=this.$el.get(0).ownerDocument,this.win=\"defaultView\"in this.doc?this.doc.defaultView:this.doc.parentWindow,this.$doc=m(this.doc),this.$win=m(this.win),this.opts.pluginsEnabled||(this.opts.pluginsEnabled=Object.keys(y.PLUGINS)),this.opts.pluginsDisabled&&(this.opts.pluginsDisabled=Array.isArray(this.opts.pluginsDisabled)?this.opts.pluginsDisabled:[this.opts.pluginsDisabled],this.opts.pluginsEnabled=this.opts.pluginsEnabled.filter(function(e){return!t.opts.pluginsDisabled.includes(e)})),this.opts.initOnClick?(this.load(y.MODULES),this.$el.on(\"touchstart.init\",function(){m(this).data(\"touched\",!0)}),this.$el.on(\"touchmove.init\",function(){m(this).removeData(\"touched\")}),this.$el.on(\"mousedown.init touchend.init dragenter.init focus.init\",function r(e){if(\"false\"!==this.$el.attr(\"contentEditable\")||!this.opts.initOnClick){if(\"touchend\"===e.type&&!this.$el.data(\"touched\"))return!0;if(1===e.which||!e.which){this.$el.off(\"mousedown.init touchstart.init touchmove.init touchend.init dragenter.init focus.init\"),this.load(y.MODULES),this.load(y.PLUGINS);var t=e.originalEvent&&e.originalEvent.originalTarget;if(t&&\"IMG\"===t.tagName&&m(t).trigger(\"mousedown\"),\"undefined\"==typeof this.ul&&this.destroy(),\"touchend\"===e.type&&this.image&&e.originalEvent&&e.originalEvent.target&&m(e.originalEvent.target).is(\"img\")){var n=this;setTimeout(function(){n.image.edit(m(e.originalEvent.target))},100)}this.ready=!0,this.events.trigger(\"initialized\")}}}.bind(this)),this.events.trigger(\"initializationDelayed\")):(this.load(y.MODULES),this.load(y.PLUGINS),m(this.o_win).scrollTop(this.c_scroll),\"undefined\"==typeof this.ul&&this.destroy(),this.ready=!0,this.events.trigger(\"initialized\"))}return y.Bootstrap=function(e,t,n){this.id=++y.ID,this.$=m;var r={};\"function\"==typeof t&&(n=t,t={}),n&&(t.events||(t.events={}),t.events.initialized=n),t&&t.documentReady&&(r.toolbarButtons=[[\"fullscreen\",\"undo\",\"redo\",\"getPDF\",\"print\"],[\"bold\",\"italic\",\"underline\",\"textColor\",\"backgroundColor\",\"clearFormatting\"],[\"alignLeft\",\"alignCenter\",\"alignRight\",\"alignJustify\"],[\"formatOL\",\"formatUL\",\"indent\",\"outdent\"],[\"paragraphFormat\"],[\"fontFamily\"],[\"fontSize\"],[\"insertLink\",\"insertImage\",\"quote\"]],r.paragraphFormatSelection=!0,r.fontFamilySelection=!0,r.fontSizeSelection=!0,r.placeholderText=\"\",r.quickInsertEnabled=!1,r.charCounterCount=!1),this.opts=Object.assign({},Object.assign({},y.DEFAULTS,r,\"object\"===w(t)&&t));var o=JSON.stringify(this.opts);y.OPTS_MAPPING[o]=y.OPTS_MAPPING[o]||this.id,this.sid=y.OPTS_MAPPING[o],y.SHARED[this.sid]=y.SHARED[this.sid]||{},this.shared=y.SHARED[this.sid],this.shared.count=(this.shared.count||0)+1,this.$oel=m(e),this.$oel.data(\"froala.editor\",this),this.o_doc=e.ownerDocument,this.o_win=\"defaultView\"in this.o_doc?this.o_doc.defaultView:this.o_doc.parentWindow,this.c_scroll=m(this.o_win).scrollTop(),this._init()},y.Bootstrap.prototype._init=function(){var e=this.$oel.get(0).tagName;this.$oel.closest(\"label\").length;var t=function(){\"TEXTAREA\"!==e&&(this._original_html=this._original_html||this.$oel.html()),this.$box=this.$box||this.$oel,this.opts.fullPage&&(this.opts.iframe=!0),this.opts.iframe?(this.$iframe=m('<iframe src=\"about:blank\" frameBorder=\"0\">'),this.$wp=m(\"<div></div>\"),this.$box.html(this.$wp),this.$wp.append(this.$iframe),this.$iframe.get(0).contentWindow.document.open(),this.$iframe.get(0).contentWindow.document.write(\"<!DOCTYPE html>\"),this.$iframe.get(0).contentWindow.document.write(\"<html><head></head><body></body></html>\"),this.$iframe.get(0).contentWindow.document.close(),this.iframe_document=this.$iframe.get(0).contentWindow.document,this.$el=m(this.iframe_document.querySelector(\"body\")),this.el=this.$el.get(0),this.$head=m(this.iframe_document.querySelector(\"head\")),this.$html=m(this.iframe_document.querySelector(\"html\"))):(this.$el=m(this.o_doc.createElement(\"DIV\")),this.el=this.$el.get(0),this.$wp=m(this.o_doc.createElement(\"DIV\")).append(this.$el),this.$box.html(this.$wp)),setTimeout(O.bind(this),0)}.bind(this),n=function(){this.$box=m(\"<div>\"),this.$oel.before(this.$box).hide(),this._original_html=this.$oel.val();var e=this;this.$oel.parents(\"form\").on(\"submit.\".concat(this.id),function(){e.events.trigger(\"form.submit\")}),this.$oel.parents(\"form\").on(\"reset.\".concat(this.id),function(){e.events.trigger(\"form.reset\")}),t()}.bind(this),r=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.$el.attr(\"contenteditable\",!0).css(\"outline\",\"none\").css(\"display\",\"inline-block\"),this.opts.multiLine=!1,this.opts.toolbarInline=!1,setTimeout(O.bind(this),0)}.bind(this),o=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,setTimeout(O.bind(this),0)}.bind(this),i=function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.on(\"click.popup\",function(e){e.preventDefault()}),setTimeout(O.bind(this),0)}.bind(this);this.opts.editInPopup?i():\"TEXTAREA\"===e?n():\"A\"===e?r():\"IMG\"===e?o():\"BUTTON\"===e||\"INPUT\"===e?(this.opts.editInPopup=!0,this.opts.toolbarInline=!1,i()):t()},y.Bootstrap.prototype.load=function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){if(this[t])continue;if(y.PLUGINS[t]&&this.opts.pluginsEnabled.indexOf(t)<0)continue;if(this[t]=new e[t](this),this[t]._init&&(this[t]._init(),this.opts.initOnClick&&\"core\"===t))return!1}},y.Bootstrap.prototype.destroy=function(){this.destrying=!0,this.shared.count--,this.events&&this.events.$off();var e=this.html&&this.html.get();if(this.events&&(this.opts.iframe&&(this.events.disableBlur(),this.win.focus(),this.events.enableBlur()),this.events.trigger(\"destroy\",[],!0),this.events.trigger(\"shared.destroy\",[],!0)),0===this.shared.count){for(var t in this.shared)Object.prototype.hasOwnProperty.call(this.shared,t)&&(this.shared[t]=null,y.SHARED[this.sid][t]=null);delete y.SHARED[this.sid]}this.$oel.parents(\"form\").off(\".\".concat(this.id)),this.$oel.off(\"click.popup\"),this.$oel.removeData(\"froala.editor\"),this.$oel.off(\"froalaEditor\"),this.core&&this.core.destroy(e),y.INSTANCES.splice(y.INSTANCES.indexOf(this),1)},Y});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(o,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(o.FroalaEditor)}(this,function(v){\"use strict\";v=v&&v.hasOwnProperty(\"default\")?v[\"default\"]:v,Object.assign(v.POPUP_TEMPLATES,{\"textColor.picker\":\"[_BUTTONS_][_TEXT_COLORS_][_CUSTOM_COLOR_]\",\"backgroundColor.picker\":\"[_BUTTONS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]\"}),Object.assign(v.DEFAULTS,{colorsText:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],colorsBackground:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],colorsStep:7,colorsHEXInput:!0,colorsButtons:[\"colorsBack\",\"|\",\"-\"]}),v.PLUGINS.colors=function(m){var O=m.$,s='<div class=\"fr-color-hex-layer fr-active fr-layer\" id=\"fr-color-hex-layer- \\n  '.concat(m.id,'\"><div class=\"fr-input-line\"><input maxlength=\"9\" id=\"[ID]\"\\n  type=\"text\" placeholder=\"').concat(m.language.translate(\"HEX Color\"),'\" \\n  tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button \\n  type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"[COMMAND]\" tabIndex=\"2\" role=\"button\">\\n  ').concat(m.language.translate(\"OK\"),\"</button></div></div>\");function l(o){for(var t=\"text\"===o?m.opts.colorsText:m.opts.colorsBackground,r='<div class=\"fr-color-set fr-'.concat(o,'-color fr-selected-set\">'),e=0;e<t.length;e++)0!==e&&e%m.opts.colorsStep==0&&(r+=\"<br>\"),\"REMOVE\"!==t[e]?r+='<span class=\"fr-command fr-select-color\" style=\"background:'.concat(t[e].toUpperCase(),';\" \\n        tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\"apply').concat(o,'Color\" \\n        data-param1=\"').concat(t[e].toUpperCase(),'\"><span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Color\")).concat(t[e],\" \\n        &nbsp;&nbsp;&nbsp;</span></span>\"):r+='<span class=\"fr-command fr-select-color\" data-cmd=\"apply'.concat(o,'Color\"\\n         tabIndex=\"-1\" role=\"button\" data-param1=\"REMOVE\" \\n         title=\"').concat(m.language.translate(\"Clear Formatting\"),'\">').concat(m.icon.create(\"remove\"),' \\n        <span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Clear Formatting\"),\" </span></span>\");return\"\".concat(r,\"</div>\")}function i(o){var t,r=m.popups.get(\"\".concat(o,\"Color.picker\")),e=O(m.selection.element());t=\"background\"===o?\"background-color\":\"color\";var a=r.find(\".fr-\".concat(o,\"-color .fr-select-color\"));for(a.find(\".fr-selected-color\").remove(),a.removeClass(\"fr-active-item\"),a.not('[data-param1=\"REMOVE\"]').attr(\"aria-selected\",!1);e.get(0)!==m.el;){if(\"transparent\"!==e.css(t)&&\"rgba(0, 0, 0, 0)\"!==e.css(t)){var c=r.find(\".fr-\".concat(o,'-color .fr-select-color[data-param1=\"').concat(m.helpers.RGBToHex(e.css(t)),'\"]'));c.append('<span class=\"fr-selected-color\" aria-hidden=\"true\">\\uf00c</span>'),c.addClass(\"fr-active-item\").attr(\"aria-selected\",!0);break}e=e.parent()}!function n(o){var t=m.popups.get(\"\".concat(o,\"Color.picker\")),r=t.find(\".fr-\".concat(o,\"-color .fr-active-item\")).attr(\"data-param1\"),e=t.find(\".fr-color-hex-layer input\");r||(r=\"\");e.length&&O(e.val(r).input).trigger(\"change\")}(o)}function e(o){\"REMOVE\"!==o?m.format.applyStyle(\"background-color\",m.helpers.HEXtoRGB(o)):m.format.removeStyle(\"background-color\"),m.popups.hide(\"backgroundColor.picker\")}function a(o){\"REMOVE\"!==o?m.format.applyStyle(\"color\",m.helpers.HEXtoRGB(o)):m.format.removeStyle(\"color\"),m.popups.hide(\"textColor.picker\")}return{showColorsPopup:function p(o){var t=m.$tb.find('.fr-command[data-cmd=\"'.concat(o,'\"]')),r=m.popups.get(\"\".concat(o,\".picker\"));if(r||(r=function n(o){var t=\"\";m.opts.toolbarInline&&0<m.opts.colorsButtons.length&&(t+='<div class=\"fr-buttons fr-colors-buttons fr-tabs\">\\n        '.concat(m.button.buildList(m.opts.colorsButtons),\"\\n        </div>\"));var r,e=\"\";r=\"textColor\"===o?(m.opts.colorsHEXInput&&(e=s.replace(/\\[ID\\]/g,\"fr-color-hex-layer-text-\".concat(m.id)).replace(/\\[COMMAND\\]/g,\"customTextColor\")),{buttons:t,text_colors:l(\"text\"),custom_color:e}):(m.opts.colorsHEXInput&&(e=s.replace(/\\[ID\\]/g,\"fr-color-hex-layer-background-\".concat(m.id)).replace(/\\[COMMAND\\]/g,\"customBackgroundColor\")),{buttons:t,background_colors:l(\"background\"),custom_color:e});var a=m.popups.create(\"\".concat(o,\".picker\"),r);return function c(h,k){m.events.on(\"popup.tab\",function(o){var t=O(o.currentTarget);if(!m.popups.isVisible(k)||!t.is(\"span, input, button\"))return!0;var r,e,a=o.which,c=!0;if(v.KEYCODE.TAB===a){var n=h.find(\"span.fr-select-color\");if(t.is(n.first())&&o.shiftKey||t.is(h.find(\"span.fr-submit\"))&&!o.shiftKey){var s=h.find(\".fr-buttons\");c=!m.accessibility.focusToolbar(s,!!o.shiftKey)}if(!1!==c){var l=h.find(\"span.fr-select-color\");l.add(h.find(\"input\")),l.add(h.find(\"button.fr-submit\")),r=l.index(t),r=o.shiftKey?((r-1)%l.length+l.length)%l.length:(r+1)%l.length,e=l.get(r),m.events.disableBlur(),e.focus(),c=!1}}else if(v.KEYCODE.ARROW_UP===a||v.KEYCODE.ARROW_DOWN===a||v.KEYCODE.ARROW_LEFT===a||v.KEYCODE.ARROW_RIGHT===a){if(t.is(\"span.fr-select-color\")){var i=t.parent().find(\"span.fr-select-color\"),p=i.index(t),u=m.opts.colorsStep,d=Math.floor(i.length/u),f=p%u,C=Math.floor(p/u),b=C*u+f,g=d*u;v.KEYCODE.ARROW_UP===a?b=((b-u)%g+g)%g:v.KEYCODE.ARROW_DOWN===a?b=(b+u)%g:v.KEYCODE.ARROW_LEFT===a?b=((b-1)%g+g)%g:v.KEYCODE.ARROW_RIGHT===a&&(b=(b+1)%g);var E=O(i.get(b));m.events.disableBlur(),E.focus(),c=!1}}else v.KEYCODE.ENTER===a&&(m.button.exec(t),c=!1);return!1===c&&(o.preventDefault(),o.stopPropagation()),c},!0)}(a,\"\".concat(o,\".picker\")),a}(o)),!r.hasClass(\"fr-active\"))if(m.popups.setContainer(\"\".concat(o,\".picker\"),m.$tb),i(\"textColor\"===o?\"text\":\"background\"),t.isVisible()){var e=m.button.getPosition(t),a=e.left,c=e.top;m.popups.show(\"\".concat(o,\".picker\"),a,c,t.outerHeight())}else m.position.forSelection(r),m.popups.show(\"\".concat(o,\".picker\"))},background:e,customColor:function c(o){var t=m.popups.get(\"\".concat(o,\"Color.picker\")).find(\".fr-color-hex-layer input\");if(t.length){var r=t.val();\"background\"===o?e(r):a(r)}},text:a,back:function o(){m.popups.hide(\"textColor.picker\"),m.popups.hide(\"backgroundColor.picker\"),m.toolbar.showInline()}}},v.DefineIcon(\"textColor\",{NAME:\"tint\",SVG_KEY:\"textColor\"}),v.RegisterCommand(\"textColor\",{title:\"Text Color\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"textColor.picker\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"textColor.picker\")):this.colors.showColorsPopup(\"textColor\")}}),v.RegisterCommand(\"applytextColor\",{undo:!0,callback:function(o,t){this.colors.text(t)}}),v.RegisterCommand(\"customTextColor\",{title:\"OK\",undo:!0,callback:function(){this.colors.customColor(\"text\")}}),v.DefineIcon(\"backgroundColor\",{NAME:\"paint-brush\",SVG_KEY:\"backgroundColor\"}),v.RegisterCommand(\"backgroundColor\",{title:\"Background Color\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"backgroundColor.picker\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"backgroundColor.picker\")):this.colors.showColorsPopup(\"backgroundColor\")}}),v.RegisterCommand(\"applybackgroundColor\",{undo:!0,callback:function(o,t){this.colors.background(t)}}),v.RegisterCommand(\"customBackgroundColor\",{title:\"OK\",undo:!0,callback:function(){this.colors.customColor(\"background\")}}),v.DefineIcon(\"colorsBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),v.RegisterCommand(\"colorsBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}}),v.DefineIcon(\"remove\",{NAME:\"eraser\",SVG_KEY:\"remove\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(m){\"use strict\";m=m&&m.hasOwnProperty(\"default\")?m[\"default\"]:m,Object.assign(m.DEFAULTS,{dragInline:!0}),m.PLUGINS.draggable=function(g){var d=g.$;function e(e){return!(!e.originalEvent||!e.originalEvent.target||e.originalEvent.target.nodeType!==Node.TEXT_NODE)||(e.target&&\"A\"===e.target.tagName&&1===e.target.childNodes.length&&\"IMG\"===e.target.childNodes[0].tagName&&(e.target=e.target.childNodes[0]),d(e.target).hasClass(\"fr-draggable\")?(g.undo.canDo()||g.undo.saveStep(),g.opts.dragInline?g.$el.attr(\"contenteditable\",!0):g.$el.attr(\"contenteditable\",!1),g.opts.toolbarInline&&g.toolbar.hide(),d(e.target).addClass(\"fr-dragging\"),g.browser.msie||g.browser.edge||g.selection.clear(),void e.originalEvent.dataTransfer.setData(\"text\",\"Froala\")):(e.preventDefault(),!1))}var p,v=function v(e){return!(e&&(\"HTML\"===e.tagName||\"BODY\"===e.tagName||g.node.isElement(e)))};function c(e,t,n){if(g.opts.iframe){var r=g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-top\")),a=g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-left\"));e+=g.$iframe.offset().top+r,t+=g.$iframe.offset().left+a}p.offset().top!==e&&p.css(\"top\",e),p.offset().left!==t&&p.css(\"left\",t),p.width()!==n&&p.css(\"width\",n)}function t(e){e.originalEvent.dataTransfer.dropEffect=\"move\",g.opts.dragInline?(!function n(){for(var e=null,t=0;t<m.INSTANCES.length;t++)if((e=m.INSTANCES[t].$el.find(\".fr-dragging\")).length)return e.get(0)}()||g.browser.msie||g.browser.edge)&&e.preventDefault():(e.preventDefault(),function f(e){var t=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset);if(!v(t)){for(var n=0,r=t;!v(r)&&r===t&&0<e.originalEvent.pageY-g.win.pageYOffset-n;)n++,r=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset-n);(!v(r)||p&&0===g.$el.find(r).length&&r!==p.get(0))&&(r=null);for(var a=0,o=t;!v(o)&&o===t&&e.originalEvent.pageY-g.win.pageYOffset+a<d(g.doc).height();)a++,o=g.doc.elementFromPoint(e.originalEvent.pageX-g.win.pageXOffset,e.originalEvent.pageY-g.win.pageYOffset+a);(!v(o)||p&&0===g.$el.find(o).length&&o!==p.get(0))&&(o=null),t=null===o&&r?r:o&&null===r?o:o&&r?n<a?r:o:null}if(d(t).hasClass(\"fr-drag-helper\"))return!1;if(t&&!g.node.isBlock(t)&&(t=g.node.blockParent(t)),t&&0<=[\"TD\",\"TH\",\"TR\",\"THEAD\",\"TBODY\"].indexOf(t.tagName)&&(t=d(t).parents(\"table\").get(0)),t&&0<=[\"LI\"].indexOf(t.tagName)&&(t=d(t).parents(\"UL, OL\").get(0)),t&&!d(t).hasClass(\"fr-drag-helper\")){var i;p||(m.$draggable_helper||(m.$draggable_helper=d(document.createElement(\"div\")).attr(\"class\",\"fr-drag-helper\")),p=m.$draggable_helper,g.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null},!0)),i=e.originalEvent.pageY<d(t).offset().top+d(t).outerHeight()/2;var l=d(t),s=0;i||0!==l.next().length?(i||(l=l.next()),\"before\"===p.data(\"fr-position\")&&l.is(p.data(\"fr-tag\"))||(0<l.prev().length&&(s=parseFloat(l.prev().css(\"margin-bottom\"))||0),s=Math.max(s,parseFloat(l.css(\"margin-top\"))||0),c(l.offset().top-s/2-g.$box.offset().top,l.offset().left-g.win.pageXOffset-g.$box.offset().left,l.width()),p.data(\"fr-position\",\"before\"))):\"after\"===p.data(\"fr-position\")&&l.is(p.data(\"fr-tag\"))||(s=parseFloat(l.css(\"margin-bottom\"))||0,c(l.offset().top+d(t).height()+s/2-g.$box.offset().top,l.offset().left-g.win.pageXOffset-g.$box.offset().left,l.width()),p.data(\"fr-position\",\"after\")),p.data(\"fr-tag\",l),p.addClass(\"fr-visible\"),g.$box.append(p)}else p&&0<g.$box.find(p).length&&p.removeClass(\"fr-visible\")}(e))}function n(e){e.originalEvent.dataTransfer.dropEffect=\"move\",g.opts.dragInline||e.preventDefault()}function r(e){g.$el.attr(\"contenteditable\",!0);var t=g.$el.find(\".fr-dragging\");p&&p.hasClass(\"fr-visible\")&&g.$box.find(p).length?a(e):t.length&&(e.preventDefault(),e.stopPropagation()),p&&g.$box.find(p).length&&p.removeClass(\"fr-visible\"),t.removeClass(\"fr-dragging\")}function a(e){var t,n;g.$el.attr(\"contenteditable\",!0);for(var r=0;r<m.INSTANCES.length;r++)if((t=m.INSTANCES[r].$el.find(\".fr-dragging\")).length){n=m.INSTANCES[r];break}if(t.length){if(e.preventDefault(),e.stopPropagation(),p&&p.hasClass(\"fr-visible\")&&g.$box.find(p).length)p.data(\"fr-tag\")[p.data(\"fr-position\")]('<span class=\"fr-marker\"></span>'),p.removeClass(\"fr-visible\");else if(!1===g.markers.insertAtPoint(e.originalEvent))return!1;if(t.removeClass(\"fr-dragging\"),!1===(t=g.events.chainTrigger(\"element.beforeDrop\",t)))return!1;var a=t;if(t.parent().is(\"A\")&&1===t.parent().get(0).childNodes.length&&(a=t.parent()),g.core.isEmpty())g.events.focus();else g.$el.find(\".fr-marker\").replaceWith(m.MARKERS),g.selection.restore();if(n===g||g.undo.canDo()||g.undo.saveStep(),g.core.isEmpty())g.$el.html(a);else{var o=g.markers.insert();(g||\"\").selection&&a.contains(o)&&a.before(o),0===a.find(o).length?d(o).replaceWith(a):0===t.find(o).length&&d(o).replaceWith(t),t.after(m.MARKERS),g.selection.restore()}return g.popups.hideAll(),g.selection.save(),g.$el.find(g.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").not(g.opts.htmlAllowedEmptyTags.join(\",\")).remove(),g.html.wrap(),g.html.fillEmptyBlocks(),g.selection.restore(),g.undo.saveStep(),g.opts.iframe&&g.size.syncIframe(),n!==g&&(n.popups.hideAll(),n.$el.find(n.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").remove(),n.html.wrap(),n.html.fillEmptyBlocks(),n.undo.saveStep(),n.events.trigger(\"element.dropped\"),n.opts.iframe&&n.size.syncIframe()),g.events.trigger(\"element.dropped\",[a]),!1}p&&p.removeClass(\"fr-visible\"),g.undo.canDo()||g.undo.saveStep(),setTimeout(function(){g.undo.saveStep()},0)}function o(e){if(e&&\"DIV\"===e.tagName&&g.node.hasClass(e,\"fr-drag-helper\"))e.parentNode.removeChild(e);else if(e&&e.nodeType===Node.ELEMENT_NODE)for(var t=e.querySelectorAll(\"div.fr-drag-helper\"),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n])}return{_init:function i(){g.opts.enter===m.ENTER_BR&&(g.opts.dragInline=!0),g.events.on(\"dragstart\",e,!0),g.events.on(\"dragover\",t,!0),g.events.on(\"dragenter\",n,!0),g.events.on(\"document.dragend\",r,!0),g.events.on(\"document.drop\",r,!0),g.events.on(\"drop\",a,!0),g.events.on(\"html.processGet\",o)}}}});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(Me){\"use strict\";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,i=Array(t);a<t;a++)i[a]=e[a];return i}function Ke(e,t){var a=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!a){if(Array.isArray(e)||(a=l(e))||t&&e&&\"number\"==typeof e.length){a&&(e=a);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var n,o=!0,s=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return o=e.done,e},e:function(e){s=!0,n=e},f:function(){try{o||null==a[\"return\"]||a[\"return\"]()}finally{if(s)throw n}}}}function Ye(e){return function t(e){if(Array.isArray(e))return r(e)}(e)||function a(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||l(e)||function i(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function We(e){return(We=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){if(e){if(\"string\"==typeof e)return r(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?r(e,t):void 0}}Me=Me&&Me.hasOwnProperty(\"default\")?Me[\"default\"]:Me,Object.assign(Me.POPUP_TEMPLATES,{\"image.insert\":\"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]\",\"image.edit\":\"[_BUTTONS_]\",\"image.alt\":\"[_BUTTONS_][_ALT_LAYER_]\",\"image.size\":\"[_BUTTONS_][_SIZE_LAYER_]\"}),Object.assign(Me.DEFAULTS,{imageInsertButtons:[\"imageBack\",\"|\",\"imageUpload\",\"imageByURL\"],imageEditButtons:[\"imageReplace\",\"imageAlign\",\"imageCaption\",\"imageRemove\",\"imageLink\",\"linkOpen\",\"linkEdit\",\"linkRemove\",\"-\",\"imageDisplay\",\"imageStyle\",\"imageAlt\",\"imageSize\"],imageAltButtons:[\"imageBack\",\"|\"],imageSizeButtons:[\"imageBack\",\"|\"],imageUpload:!0,imageUploadURL:null,imageCORSProxy:\"https://cors-anywhere.froala.com\",imageUploadRemoteUrls:!0,imageUploadParam:\"file\",imageUploadParams:{},imageUploadToS3:!1,imageUploadToAzure:!1,imageUploadMethod:\"POST\",imageMaxSize:10485760,imageAllowedTypes:[\"jpeg\",\"jpg\",\"png\",\"gif\",\"webp\"],imageResize:!0,imageResizeWithPercent:!1,imageRoundPercent:!1,imageDefaultWidth:300,imageDefaultAlign:\"center\",imageDefaultDisplay:\"block\",imageSplitHTML:!1,imageStyles:{\"fr-rounded\":\"Rounded\",\"fr-bordered\":\"Bordered\",\"fr-shadow\":\"Shadow\"},imageMove:!0,imageMultipleStyles:!0,imageTextNear:!0,imagePaste:!0,imagePasteProcess:!1,imageMinWidth:16,imageOutputSize:!1,imageDefaultMargin:5,imageAddNewLine:!1}),Me.IMAGE_ALLOW_REGEX=/\\.(gif|jpe?g|tiff?|png|webp|bmp)$/i,Me.PLUGINS.image=function(R){var U,p,f,g,c,a,A=R.$,C=\"https://i.froala.com/upload\",t=!1,i=1,d=2,u=3,m=4,S=5,E=6,r={};function h(){var e=R.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");e.val(\"\"),U&&e.val(U.attr(\"src\")),e.trigger(\"change\")}function o(e){return window.pageYOffset+e.get(0).getBoundingClientRect().top}function n(){var e=R.popups.get(\"image.edit\");if(e||(e=N()),e){var t=U;R.popups.setContainer(\"image.edit\",R.$wp||R.$sc),R.popups.refresh(\"image.edit\");var a=t.offset().left+t.outerWidth()/2,i=t&&o(t),r=R.$wp&&o(R.$wp);r||(r=i);var n=0;R.opts.iframe?((n=R.$wp.scrollTop()+e.outerHeight())<t.get(0).getBoundingClientRect().top&&(n=t.get(0).getBoundingClientRect().top),n>t.get(0).getBoundingClientRect().top+t.height()&&(n=t.get(0).getBoundingClientRect().top+t.height())):n=r<i?i:R.$wp&&i+t.height()<r+R.$wp.height()?i+t.height():r+e.outerHeight(),U.hasClass(\"fr-uploading\")?P():R.popups.show(\"image.edit\",a,n,1,!0)}}function v(){k()}function s(e){0<e.parents(\".fr-img-caption\").length&&(e=e.parents(\".fr-img-caption\").first());var t=e.hasClass(\"fr-dib\")?\"block\":e.hasClass(\"fr-dii\")?\"inline\":null,a=e.hasClass(\"fr-fil\")?\"left\":e.hasClass(\"fr-fir\")?\"right\":ve(e);he(e,t,a),e.removeClass(\"fr-dib fr-dii fr-fir fr-fil\")}function l(){for(var e,t=\"IMG\"==R.el.tagName?[R.el]:R.el.querySelectorAll(\"img\"),a=0;a<t.length;a++){var i=A(t[a]);!R.opts.htmlUntouched&&R.opts.useClasses?((R.opts.imageDefaultAlign||R.opts.imageDefaultDisplay)&&(0<(e=i).parents(\".fr-img-caption\").length&&(e=e.parents(\".fr-img-caption\").first()),e.hasClass(\"fr-dii\")||e.hasClass(\"fr-dib\")||(e.addClass(\"fr-fi\".concat(ve(e)[0])),e.addClass(\"fr-di\".concat(be(e)[0])),e.css(\"margin\",\"\"),e.css(\"float\",\"\"),e.css(\"display\",\"\"),e.css(\"z-index\",\"\"),e.css(\"position\",\"\"),e.css(\"overflow\",\"\"),e.css(\"vertical-align\",\"\"))),R.opts.imageTextNear||(0<i.parents(\".fr-img-caption\").length?i.parents(\".fr-img-caption\").first().removeClass(\"fr-dii\").addClass(\"fr-dib\"):i.removeClass(\"fr-dii\").addClass(\"fr-dib\"))):R.opts.htmlUntouched||R.opts.useClasses||(R.opts.imageDefaultAlign||R.opts.imageDefaultDisplay)&&s(i),R.opts.iframe&&i.on(\"load\",R.size.syncIframe)}}function b(e){void 0===e&&(e=!0);var t,a=Array.prototype.slice.call(R.el.querySelectorAll(\"img\")),i=[];for(t=0;t<a.length;t++)if(i.push(a[t].getAttribute(\"src\")),A(a[t]).toggleClass(\"fr-draggable\",R.opts.imageMove),\"\"===a[t].getAttribute(\"class\")&&a[t].removeAttribute(\"class\"),\"\"===a[t].getAttribute(\"style\")&&a[t].removeAttribute(\"style\"),a[t].parentNode&&a[t].parentNode.parentNode&&R.node.hasClass(a[t].parentNode.parentNode,\"fr-img-caption\")){var r=a[t].parentNode.parentNode;R.browser.mozilla||r.setAttribute(\"contenteditable\",!1),r.setAttribute(\"draggable\",!1),r.classList.add(\"fr-draggable\");var n=a[t].nextSibling;n&&!R.browser.mozilla&&n.setAttribute(\"contenteditable\",!0)}if(c)for(t=0;t<c.length;t++)i.indexOf(c[t].getAttribute(\"src\"))<0&&R.events.trigger(\"image.removed\",[A(c[t])]);if(c&&e){var o=[];for(t=0;t<c.length;t++)o.push(c[t].getAttribute(\"src\"));for(t=0;t<a.length;t++)o.indexOf(a[t].getAttribute(\"src\"))<0&&R.events.trigger(\"image.loaded\",[A(a[t])])}c=a}function x(){if(p||function o(){var e;R.shared.$image_resizer?(p=R.shared.$image_resizer,g=R.shared.$img_overlay,R.events.on(\"destroy\",function(){A(\"body\").first().append(p.removeClass(\"fr-active\"))},!0)):(R.shared.$image_resizer=A(document.createElement(\"div\")).attr(\"class\",\"fr-image-resizer\"),p=R.shared.$image_resizer,R.events.$on(p,\"mousedown\",function(e){e.stopPropagation()},!0),R.opts.imageResize&&(p.append(y(\"nw\")+y(\"ne\")+y(\"sw\")+y(\"se\")),R.shared.$img_overlay=A(document.createElement(\"div\")).attr(\"class\",\"fr-image-overlay\"),g=R.shared.$img_overlay,e=p.get(0).ownerDocument,A(e).find(\"body\").first().append(g)));R.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null,R.opts.imageResize&&(g.remove(),g=null)},!0),R.helpers.isMobile()||R.events.$on(A(R.o_win),\"resize\",function(){U&&!U.hasClass(\"fr-uploading\")?ce(!0):U&&(x(),ye(),P(!1))});if(R.opts.imageResize){e=p.get(0).ownerDocument,R.events.$on(p,R._mousedown,\".fr-handler\",D),R.events.$on(A(e),R._mousemove,T),R.events.$on(A(e.defaultView||e.parentWindow),R._mouseup,$),R.events.$on(g,\"mouseleave\",$);var i=1,r=null,n=0;R.events.on(\"keydown\",function(e){if(U){var t=-1!=navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,a=e.which;(a!==r||200<e.timeStamp-n)&&(i=1),(a==Me.KEYCODE.EQUALS||R.browser.mozilla&&a==Me.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=te.call(this,e,1,1,i):(a==Me.KEYCODE.HYPHEN||R.browser.mozilla&&a==Me.KEYCODE.FF_HYPHEN)&&t&&!e.altKey?i=te.call(this,e,2,-1,i):R.keys.ctrlKey(e)||a!=Me.KEYCODE.ENTER||(U.before(\"<br>\"),z(U)),r=a,n=e.timeStamp}},!0),R.events.on(\"keyup\",function(){i=1})}}(),!U)return!1;var e=R.$wp||R.$sc;e.append(p),p.data(\"instance\",R);var t=e.scrollTop()-(\"static\"!=e.css(\"position\")?e.offset().top:0),a=e.scrollLeft()-(\"static\"!=e.css(\"position\")?e.offset().left:0);a-=R.helpers.getPX(e.css(\"border-left-width\")),t-=R.helpers.getPX(e.css(\"border-top-width\")),R.$el.is(\"img\")&&R.$sc.is(\"body\")&&(a=t=0);var i=Ce();Se()&&(i=i.find(\".fr-img-wrap\"));var r=0,n=0;R.opts.iframe&&(r=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")),n=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"))),p.css(\"top\",(R.opts.iframe?i.offset().top+r:i.offset().top+t)-1).css(\"left\",(R.opts.iframe?i.offset().left+n:i.offset().left+a)-1).css(\"width\",i.get(0).getBoundingClientRect().width).css(\"height\",i.get(0).getBoundingClientRect().height).addClass(\"fr-active\")}function y(e){return'<div class=\"fr-handler fr-h'.concat(e,'\"></div>')}function w(e){Se()&&U.parents(\".fr-img-caption\").css(\"width\",e),U.css(\"width\",e)}function D(e){if(!R.core.sameInstance(p))return!0;if(e.preventDefault(),e.stopPropagation(),R.$el.find(\"img.fr-error\").left)return!1;R.undo.canDo()||R.undo.saveStep();var t=e.pageX||e.originalEvent.touches[0].pageX;if(\"mousedown\"==e.type){var a=R.$oel.get(0),i=a.ownerDocument,r=i.defaultView||i.parentWindow,n=!1;try{n=r.location!=r.parent.location&&!(r.$&&r.$.FE)}catch(l){}n&&r.frameElement&&(t+=R.helpers.getPX(A(a).offset().left)+r.frameElement.clientLeft)}(f=A(this)).data(\"start-x\",t),f.data(\"start-width\",U.width()),f.data(\"start-height\",U.height());var o=U.width();if(R.opts.imageResizeWithPercent){var s=U.parentsUntil(R.$el,R.html.blockTagsQuery()).get(0)||R.el;o=(o/A(s).outerWidth()*100).toFixed(2)+\"%\"}w(o),g.show(),R.popups.hideAll(),me()}function T(e){if(!R.core.sameInstance(p))return!0;var t;if(f&&U){if(e.preventDefault(),R.$el.find(\"img.fr-error\").left)return!1;var a=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null);if(!a)return!1;var i=a-f.data(\"start-x\"),r=f.data(\"start-width\");if((f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hsw\"))&&(i=0-i),R.opts.imageResizeWithPercent){var n=U.parentsUntil(R.$el,R.html.blockTagsQuery()).get(0)||R.el;r=((r+i)/A(n).outerWidth()*100).toFixed(2),R.opts.imageRoundPercent&&(r=Math.round(r)),w(\"\".concat(r,\"%\")),(t=Se()?(R.helpers.getPX(U.parents(\".fr-img-caption\").css(\"width\"))/A(n).outerWidth()*100).toFixed(2):(R.helpers.getPX(U.css(\"width\"))/A(n).outerWidth()*100).toFixed(2))===r||R.opts.imageRoundPercent||w(\"\".concat(t,\"%\")),U.css(\"height\",\"\").removeAttr(\"height\")}else r+i>=R.opts.imageMinWidth&&(w(r+i),t=Se()?R.helpers.getPX(U.parents(\".fr-img-caption\").css(\"width\")):R.helpers.getPX(U.css(\"width\"))),t!==r+i&&w(t),((U.attr(\"style\")||\"\").match(/(^height:)|(; *height:)/)||U.attr(\"height\"))&&(U.css(\"height\",f.data(\"start-height\")*U.width()/f.data(\"start-width\")),U.removeAttr(\"height\"));x(),R.events.trigger(\"image.resize\",[Ae()])}}function $(e){if(!R.core.sameInstance(p))return!0;if(f&&U){if(e&&e.stopPropagation(),R.$el.find(\"img.fr-error\").left)return!1;f=null,g.hide(),x(),n(),R.undo.saveStep(),R.events.trigger(\"image.resizeEnd\",[Ae()])}else p.removeClass(\"fr-active\")}function I(e,t,a){R.edit.on(),U&&U.addClass(\"fr-error\"),r[e]?O(R.language.translate(r[e])):O(R.language.translate(\"Something went wrong. Please try again.\")),!U&&a&&ae(a),R.events.trigger(\"image.error\",[{code:e,message:r[e]},t,a])}function N(e){if(e)return R.$wp&&R.events.$on(R.$wp,\"scroll.image-edit\",function(){U&&R.popups.isVisible(\"image.edit\")&&(R.events.disableBlur(),n())}),!0;var t=\"\";if(0<R.opts.imageEditButtons.length){var a={buttons:t+='<div class=\"fr-buttons\">\\n        '.concat(R.button.buildList(R.opts.imageEditButtons),\"\\n        </div>\")};return R.popups.create(\"image.edit\",a)}return!1}function P(e){var t=R.popups.get(\"image.insert\");if(t||(t=X()),t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"),t.find(\".fr-image-progress-bar-layer\").addClass(\"fr-active\"),t.find(\".fr-buttons\").hide(),U){var a=Ce();R.popups.setContainer(\"image.insert\",R.$sc);var i=a.offset().left,r=a.offset().top+a.height();R.popups.show(\"image.insert\",i,r,a.outerHeight())}void 0===e&&B(R.language.translate(\"Uploading\"),0)}function k(e){var t=R.popups.get(\"image.insert\");if(t&&(t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"),t.find(\".fr-image-progress-bar-layer\").removeClass(\"fr-active\"),t.find(\".fr-buttons\").show(),e||R.$el.find(\"img.fr-error\").length)){if(R.events.focus(),R.$el.find(\"img.fr-error\").length&&(R.$el.find(\"img.fr-error\").remove(),R.undo.saveStep(),R.undo.run(),R.undo.dropRedo()),!R.$wp&&U){var a=U;ce(!0),R.selection.setAfter(a.get(0)),R.selection.restore()}R.popups.hide(\"image.insert\")}}function B(e,t){var a=R.popups.get(\"image.insert\");if(a){var i=a.find(\".fr-image-progress-bar-layer\");i.find(\"h3\").text(e+(t?\" \".concat(t,\"%\"):\"\")),i.removeClass(\"fr-error\"),t?(i.find(\"div\").removeClass(\"fr-indeterminate\"),i.find(\"div > span\").css(\"width\",\"\".concat(t,\"%\"))):i.find(\"div\").addClass(\"fr-indeterminate\")}}function O(e){P();var t=R.popups.get(\"image.insert\").find(\".fr-image-progress-bar-layer\");t.addClass(\"fr-error\");var a=t.find(\"h3\");a.text(e),R.events.disableBlur(),a.focus()}function z(e){ge.call(e.get(0))}function L(){var e=A(this);R.popups.hide(\"image.insert\"),e.removeClass(\"fr-uploading\"),e.next().is(\"br\")&&e.next().remove(),z(e),R.events.trigger(\"image.loaded\",[e])}function _(s,e,l,p,f){p&&\"string\"==typeof p&&(p=R.$(p)),R.edit.off(),B(R.language.translate(\"Loading image\")),e&&(s=R.helpers.sanitizeURL(s));var t=new Image;t.onload=function(){var e,t;if(p){R.undo.canDo()||p.hasClass(\"fr-uploading\")||R.undo.saveStep();var a=p.data(\"fr-old-src\");if(p.data(\"fr-image-pasted\")&&(a=null),R.$wp){(e=p.clone().removeData(\"fr-old-src\").removeClass(\"fr-uploading\").removeAttr(\"data-fr-image-pasted\")).off(\"load\"),a&&p.attr(\"src\",a),!R.opts.trackChangesEnabled||p[0].parentNode&&\"SPAN\"===p[0].parentNode.tagName&&p[0].parentNode.hasAttribute(\"data-tracking\")||R.track_changes.replaceSpecialItem(p);var i=c.indexOf(p[0]);0<=i&&(c[i]=e[0]),p.replaceWith(e)}else e=p;for(var r=e.get(0).attributes,n=0;n<r.length;n++){var o=r[n];0===o.nodeName.indexOf(\"data-\")&&\"data-pasted\"!==o.nodeName?e.removeAttr(o.nodeName):l&&l.hasOwnProperty(o.nodeName)&&e.removeAttr(o.nodeName)}if(void 0!==l)for(t in l)l.hasOwnProperty(t)&&\"link\"!=t&&e.attr(\"\".concat(t),l[t]);e.on(\"load\",L),e.attr(\"src\",s),R.edit.on(),b(!1),p[0].src!=s&&R.selection.restore(),R.undo.saveStep(),R.events.disableBlur(),R.$el.blur(),R.events.trigger(a?\"image.replaced\":\"image.inserted\",[e,f])}else(e=W(s,l,L))&&(b(!1),R.undo.saveStep(),R.events.disableBlur(),R.$el.blur(),R.events.trigger(\"image.inserted\",[e,f]))},t.onerror=function(){I(i)},P(R.language.translate(\"Loading image\")),t.src=s}function M(e,t,a){B(R.language.translate(\"Loading image\"));var i=this.status,r=this.response,n=this.responseXML,o=this.responseText;try{if(R.opts.imageUploadToS3||R.opts.imageUploadToAzure)if(201==i){var s;if(R.opts.imageUploadToAzure){if(!1===R.events.trigger(\"image.uploadedToAzure\",[this.responseURL,a,r],!0))return R.edit.on(),!1;s=t}else s=function p(e){try{var t=A(e).find(\"Location\").text(),a=A(e).find(\"Key\").text();return!1===R.events.trigger(\"image.uploadedToS3\",[t,a,e],!0)?(R.edit.on(),!1):t}catch(i){return I(m,e),!1}}(n);s&&_(s,!1,[],e,r||n)}else I(m,r||n,e);else if(200<=i&&i<300){var l=function f(e){try{if(!1===R.events.trigger(\"image.uploaded\",[e],!0))return R.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(I(d,e),!1)}catch(a){return I(m,e),!1}}(o);l&&_(l.link,!1,l,e,r||o)}else I(u,r||o,e)}catch(g){I(m,r||o,e)}}function K(){I(m,this.response||this.responseText||this.responseXML)}function Y(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;B(R.language.translate(\"Uploading\"),t)}}function W(e,t,a){var i,r=A(document.createElement(\"img\")).attr(\"src\",e);if(t&&void 0!==t)for(i in t)t.hasOwnProperty(i)&&\"link\"!=i&&(\" data-\".concat(i,'=\"').concat(t[i],'\"'),r.attr(\"\".concat(i),t[i]));var n=R.opts.imageDefaultWidth;n&&\"auto\"!=n&&(n=R.opts.imageResizeWithPercent?\"100%\":\"\".concat(n,\"px\")),r.attr(\"style\",n?\"width: \".concat(n,\";\"):\"\"),he(r,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),r.on(\"load\",a),r.on(\"error\",a),R.edit.on(),R.events.focus(!0),R.selection.restore(),R.undo.saveStep(),R.opts.imageSplitHTML?R.markers.split():R.markers.insert(),R.html.wrap();var o=R.$el.find(\".fr-marker\");if(o.length)(o.parent().is(\"hr\")||o.parent().is(\"IMG\"))&&o.parent().after(o),R.node.isLastSibling(o)&&o.parent().hasClass(\"fr-deletable\")&&o.insertAfter(o.parent()),o.replaceWith(r);else{if(R.opts.trackChangesEnabled)return k(!0),!1;R.$el.append(r)}return R.selection.clear(),r}function G(){R.edit.on(),k(!0)}function H(e,t){if(void 0!==e&&0<e.length){if(!1===R.events.trigger(\"image.beforeUpload\",[e,t]))return!1;var a,i=e[0];if(!(null!==R.opts.imageUploadURL&&R.opts.imageUploadURL!=C||R.opts.imageUploadToS3||R.opts.imageUploadToAzure))return function y(r,n){var o=new FileReader;o.onload=function(){var e=o.result;if(o.result.indexOf(\"svg+xml\")<0){for(var t=atob(o.result.split(\",\")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:r.type})),n&&n.data(\"fr-old-src\",n.attr(\"src\")),R.image.insert(e,!1,null,n)}else R.image.insert(e,null,null,R.image.get())},P(),o.readAsDataURL(r)}(i,t||U),!1;if(i.name||(i.name=(new Date).getTime()+\".\"+(i.type||\"image/jpeg\").replace(/image\\//g,\"\")),i.size>R.opts.imageMaxSize)return I(S),!1;if(R.opts.imageAllowedTypes.indexOf(i.type.replace(/image\\//g,\"\"))<0)return I(E),!1;if(R.drag_support.formdata&&(a=R.drag_support.formdata?new FormData:null),a){var r;if(!1!==R.opts.imageUploadToS3)for(r in a.append(\"key\",R.opts.imageUploadToS3.keyStart+(new Date).getTime()+\"-\"+(i.name||\"untitled\")),a.append(\"success_action_status\",\"201\"),a.append(\"X-Requested-With\",\"xhr\"),a.append(\"Content-Type\",i.type),R.opts.imageUploadToS3.params)R.opts.imageUploadToS3.params.hasOwnProperty(r)&&a.append(r,R.opts.imageUploadToS3.params[r]);for(r in R.opts.imageUploadParams)R.opts.imageUploadParams.hasOwnProperty(r)&&a.append(r,R.opts.imageUploadParams[r]);a.append(R.opts.imageUploadParam,i,i.name);var n,o,s=R.opts.imageUploadURL,l=R.opts.imageUploadMethod;R.opts.imageUploadToS3&&(s=R.opts.imageUploadToS3.uploadURL?R.opts.imageUploadToS3.uploadURL:\"https://\".concat(R.opts.imageUploadToS3.region,\".amazonaws.com/\").concat(R.opts.imageUploadToS3.bucket)),R.opts.imageUploadToAzure&&(n=s=R.opts.imageUploadToAzure.uploadURL?\"\".concat(R.opts.imageUploadToAzure.uploadURL,\"/\").concat(i.name):encodeURI(\"https://\".concat(R.opts.imageUploadToAzure.account,\".blob.core.windows.net/\").concat(R.opts.imageUploadToAzure.container,\"/\").concat(i.name)),R.opts.imageUploadToAzure.SASToken&&(s+=R.opts.imageUploadToAzure.SASToken),l=\"PUT\");var p=R.core.getXHR(s,l);if(R.opts.imageUploadToAzure){var f=(new Date).toUTCString();if(!R.opts.imageUploadToAzure.SASToken&&R.opts.imageUploadToAzure.accessKey){var g=R.opts.imageUploadToAzure.account,c=R.opts.imageUploadToAzure.container;if(R.opts.imageUploadToAzure.uploadURL){var d=R.opts.imageUploadToAzure.uploadURL.split(\"/\");c=d.pop(),g=d.pop().split(\".\")[0]}var u=\"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(f,\"\\nx-ms-version:2019-07-07\"),m=encodeURI(\"/\"+g+\"/\"+c+\"/\"+i.name),h=l+\"\\n\\n\\n\"+i.size+\"\\n\\n\"+i.type+\"\\n\\n\\n\\n\\n\\n\\n\"+u+\"\\n\"+m,v=R.cryptoJSPlugin.cryptoJS.HmacSHA256(h,R.cryptoJSPlugin.cryptoJS.enc.Base64.parse(R.opts.imageUploadToAzure.accessKey)).toString(R.cryptoJSPlugin.cryptoJS.enc.Base64),b=\"SharedKey \"+g+\":\"+v;o=v,p.setRequestHeader(\"Authorization\",b)}for(r in p.setRequestHeader(\"x-ms-version\",\"2019-07-07\"),p.setRequestHeader(\"x-ms-date\",f),p.setRequestHeader(\"Content-Type\",i.type),p.setRequestHeader(\"x-ms-blob-type\",\"BlockBlob\"),R.opts.imageUploadParams)R.opts.imageUploadParams.hasOwnProperty(r)&&p.setRequestHeader(r,R.opts.imageUploadParams[r]);for(r in R.opts.imageUploadToAzure.params)R.opts.imageUploadToAzure.params.hasOwnProperty(r)&&p.setRequestHeader(r,R.opts.imageUploadToAzure.params[r])}!function w(t,a,i,r,n,o){function s(){var e=A(this);e.off(\"load\"),e.addClass(\"fr-uploading\"),e.next().is(\"br\")&&e.next().remove(),R.placeholder.refresh(),z(e),x(),P(),R.edit.off(),t.onload=function(){M.call(t,e,n,o)},t.onerror=K,t.upload.onprogress=Y,t.onabort=G,A(e.off(\"abortUpload\")).on(\"abortUpload\",function(){4!=t.readyState&&(t.abort(),r?(r.attr(\"src\",r.data(\"fr-old-src\")),r.removeClass(\"fr-uploading\")):e.remove(),ce(!0))}),t.send(R.opts.imageUploadToAzure?i:a)}var l=new FileReader;l.onload=function(){var e=l.result;if(l.result.indexOf(\"svg+xml\")<0){for(var t=atob(l.result.split(\",\")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:\"image/jpeg\"}))}r?(r.on(\"load\",s),r.on(\"error\",function(){s(),A(this).off(\"error\")}),R.edit.on(),R.undo.saveStep(),r.data(\"fr-old-src\",r.attr(\"src\")),r.attr(\"src\",e)):W(e,null,s)},l.readAsDataURL(i)}(p,a,i,t||U,n,o)}}}function F(e){if(e.is(\"img\")&&0<e.parents(\".fr-img-caption\").length)return e.parents(\".fr-img-caption\")}function V(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var a=t.files[0];if(a&&a.type&&-1!==a.type.indexOf(\"image\")&&0<=R.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g,\"\"))){if(!R.opts.imageUpload)return e.preventDefault(),e.stopPropagation(),!1;R.markers.remove(),R.markers.insertAtPoint(e.originalEvent),R.$el.find(\".fr-marker\").replaceWith(Me.MARKERS),0===R.$el.find(\".fr-marker\").length&&R.selection.setAtEnd(R.el),R.popups.hideAll();var i=R.popups.get(\"image.insert\");i||(i=X()),R.popups.setContainer(\"image.insert\",R.$sc);var r=e.originalEvent.pageX,n=e.originalEvent.pageY;if(R.opts.iframe){var o=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=R.$iframe.offset().top+o,r+=R.$iframe.offset().left+s}return R.popups.show(\"image.insert\",r,n),P(),0<=R.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g,\"\"))?(ce(!0),H(t.files)):I(E),e.preventDefault(),e.stopPropagation(),!1}}}function X(e){if(e)return R.popups.onRefresh(\"image.insert\",h),R.popups.onHide(\"image.insert\",v),!0;var t,a,i=\"\";R.opts.imageUpload||-1===R.opts.imageInsertButtons.indexOf(\"imageUpload\")||R.opts.imageInsertButtons.splice(R.opts.imageInsertButtons.indexOf(\"imageUpload\"),1);var r=R.button.buildList(R.opts.imageInsertButtons);\"\"!==r&&(i='<div class=\"fr-buttons fr-tabs\">'.concat(r,\"</div>\"));var n=R.opts.imageInsertButtons.indexOf(\"imageUpload\"),o=R.opts.imageInsertButtons.indexOf(\"imageByURL\"),s=\"\";0<=n&&(t=\" fr-active\",0<=o&&o<n&&(t=\"\"),s='<div class=\"fr-image-upload-layer'.concat(t,' fr-layer\" id=\"fr-image-upload-layer-').concat(R.id,'\"><strong>').concat(R.language.translate(\"Drop image\"),\"</strong><br>(\").concat(R.language.translate(\"or click\"),')<div class=\"fr-form\"><input type=\"file\" accept=\"image/').concat(R.opts.imageAllowedTypes.join(\", image/\").toLowerCase(),'\" tabIndex=\"-1\" aria-labelledby=\"fr-image-upload-layer-').concat(R.id,'\" role=\"button\"></div></div>'));var l=\"\";0<=o&&(t=\" fr-active\",0<=n&&n<o&&(t=\"\"),l='<div class=\"fr-image-by-url-layer'.concat(t,' fr-layer\" id=\"fr-image-by-url-layer-').concat(R.id,'\"><div class=\"fr-input-line\"><input id=\"fr-image-by-url-layer-text-').concat(R.id,'\" type=\"text\" placeholder=\"http://\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Insert\"),\"</button></div></div>\"));var p={buttons:i,upload_layer:s,by_url_layer:l,progress_bar:'<div class=\"fr-image-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"imageDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'};return 1<=R.opts.imageInsertButtons.length&&(a=R.popups.create(\"image.insert\",p)),R.$wp&&R.events.$on(R.$wp,\"scroll\",function(){U&&R.popups.isVisible(\"image.insert\")&&ye()}),function f(i){R.events.$on(i,\"dragover dragenter\",\".fr-image-upload-layer\",function(e){return A(this).addClass(\"fr-drop\"),(R.browser.msie||R.browser.edge)&&e.preventDefault(),!1},!0),R.events.$on(i,\"dragleave dragend\",\".fr-image-upload-layer\",function(e){return A(this).removeClass(\"fr-drop\"),(R.browser.msie||R.browser.edge)&&e.preventDefault(),!1},!0),R.events.$on(i,\"drop\",\".fr-image-upload-layer\",function(e){e.preventDefault(),e.stopPropagation(),A(this).removeClass(\"fr-drop\");var t=e.originalEvent.dataTransfer;if(t&&t.files){var a=i.data(\"instance\")||R;a.events.disableBlur(),a.image.upload(t.files),a.events.enableBlur()}},!0),R.helpers.isIOS()&&R.events.$on(i,\"touchstart\",'.fr-image-upload-layer input[type=\"file\"]',function(){A(this).trigger(\"click\")},!0),R.events.$on(i,\"change\",'.fr-image-upload-layer input[type=\"file\"]',function(){if(this.files){var e=i.data(\"instance\")||R;e.events.disableBlur(),i.find(\"input:focus\").blur(),e.events.enableBlur(),e.image.upload(this.files,U)}A(this).val(\"\")},!0)}(a),a}function q(){U&&R.popups.get(\"image.alt\").find(\"input\").val(U.attr(\"alt\")||\"\").trigger(\"change\")}function j(){var e=R.popups.get(\"image.alt\");e||(e=J()),k(),R.popups.refresh(\"image.alt\"),R.popups.setContainer(\"image.alt\",R.$sc);var t=Ce(),a=t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i=t.offset().left+a,r=t.offset().top+t.outerHeight(),n=t.outerHeight();R.opts.iframe&&Se()&&(n=U?U.outerHeight():0),R.popups.show(\"image.alt\",i,r,n,!0)}function J(e){if(e)return R.popups.onRefresh(\"image.alt\",q),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageAltButtons),\"</div>\"),alt_layer:'<div class=\"fr-image-alt-layer fr-layer fr-active\" id=\"fr-image-alt-layer-'.concat(R.id,'\"><div class=\"fr-input-line\"><input id=\"fr-image-alt-layer-text-').concat(R.id,'\" type=\"text\" placeholder=\"').concat(R.language.translate(\"Alternative Text\"),'\" tabIndex=\"1\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetAlt\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"),\"</button></div></div>\")},a=R.popups.create(\"image.alt\",t);return R.$wp&&R.events.$on(R.$wp,\"scroll.image-alt\",function(){U&&R.popups.isVisible(\"image.alt\")&&j()}),a}function Q(){var e=R.popups.get(\"image.size\"),t=U.get(0).style.height?U.get(0).style.height:\"auto\",a=U.get(0).style.width?U.get(0).style.width:\"auto\";if(U)if(Se()){var i=U.parent();i.get(0).style.width||(i=U.parent().parent()),e.find('input[name=\"width\"]').val(a).trigger(\"change\"),e.find('input[name=\"height\"]').val(t).trigger(\"change\")}else e.find('input[name=\"width\"]').val(a).trigger(\"change\"),e.find('input[name=\"height\"]').val(t).trigger(\"change\")}function Z(){var e=R.popups.get(\"image.size\");e||(e=ee()),k(),R.popups.refresh(\"image.size\"),R.popups.setContainer(\"image.size\",R.$sc);var t=Ce(),a=t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i=t.outerHeight();R.opts.iframe&&Se()&&(i=U?U.outerHeight():0);var r=t.offset().left+a,n=t.offset().top+t.outerHeight();R.popups.show(\"image.size\",r,n,i,!0)}function ee(e){if(e)return R.popups.onRefresh(\"image.size\",Q),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageSizeButtons),\"</div>\"),size_layer:'<div class=\"fr-image-size-layer fr-layer fr-active\" id=\"fr-image-size-layer-'.concat(R.id,'\"><div class=\"fr-image-group\"><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-width-\\'').concat(R.id,'\" type=\"text\" name=\"width\" placeholder=\"').concat(R.language.translate(\"Width\"),'\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-height').concat(R.id,'\" type=\"text\" name=\"height\" placeholder=\"').concat(R.language.translate(\"Height\"),'\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetSize\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"),\"</button></div></div>\")},a=R.popups.create(\"image.size\",t);return R.$wp&&R.events.$on(R.$wp,\"scroll.image-size\",function(){U&&R.popups.isVisible(\"image.size\")&&Z()}),a}function te(e,t,a,i){return e.pageX=t,D.call(this,e),e.pageX=e.pageX+a*Math.floor(Math.pow(1.1,i)),T.call(this,e),$.call(this,e),++i}function ae(e){if(e=e||Ce(),R.opts.trackChangesEnabled&&!R.helpers.isMobile()&&(!e[0].parentNode||\"SPAN\"!==e[0].parentNode.tagName||!e[0].parentNode.hasAttribute(\"data-tracking\")))return R.track_changes.removeSpecialItem(e),R.popups.hideAll(),void ce(!0);e&&!1!==R.events.trigger(\"image.beforeRemove\",[e])&&(R.popups.hideAll(),we(),ce(!0),R.undo.canDo()||R.undo.saveStep(),e.get(0)==R.el?e.removeAttr(\"src\"):(e.get(0).parentNode&&\"A\"==e.get(0).parentNode.tagName?(R.selection.setBefore(e.get(0).parentNode)||R.selection.setAfter(e.get(0).parentNode)||e.parent().after(Me.MARKERS),A(e.get(0).parentNode).remove()):(R.selection.setBefore(e.get(0))||R.selection.setAfter(e.get(0))||e.after(Me.MARKERS),e.remove()),R.html.fillEmptyBlocks(),R.selection.restore()),R.undo.saveStep())}function ie(e){var t=e.which,a=document.getElementsByClassName(\"fs-transforms-container\"),i=!1;if(a&&a.length){var r,n=Ke(a);try{for(n.s();!(r=n.n()).done;){var o=r.value;o.childNodes&&o.childNodes.length&&(i=!0)}}catch(p){n.e(p)}finally{n.f()}}if(i&&(U=null),U&&(t==Me.KEYCODE.BACKSPACE||t==Me.KEYCODE.DELETE))return e.preventDefault(),e.stopPropagation(),ae(),!1;if(U&&t==Me.KEYCODE.ESC){var s=U;return ce(!0),R.selection.setAfter(s.get(0)),R.selection.restore(),e.preventDefault(),!1}if(!U||t!=Me.KEYCODE.ARROW_LEFT&&t!=Me.KEYCODE.ARROW_RIGHT)return U&&t===Me.KEYCODE.TAB?(e.preventDefault(),e.stopPropagation(),ce(!0),!1):U&&t!=Me.KEYCODE.F10&&!R.keys.isBrowserAction(e)?(e.preventDefault(),e.stopPropagation(),!1):void 0;var l=U.get(0);return ce(!0),t==Me.KEYCODE.ARROW_LEFT?R.selection.setBefore(l):R.selection.setAfter(l),R.selection.restore(),e.preventDefault(),!1}function re(e){if(e&&\"IMG\"==e.tagName){if(R.node.hasClass(e,\"fr-uploading\")||R.node.hasClass(e,\"fr-error\")?e.parentNode.removeChild(e):R.node.hasClass(e,\"fr-draggable\")&&e.classList.remove(\"fr-draggable\"),e.parentNode&&e.parentNode.parentNode&&R.node.hasClass(e.parentNode.parentNode,\"fr-img-caption\")){var t=e.parentNode.parentNode;t.removeAttribute(\"contenteditable\"),t.removeAttribute(\"draggable\"),t.classList.remove(\"fr-draggable\");var a=e.nextSibling;a&&a.removeAttribute(\"contenteditable\")}}else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var i=e.querySelectorAll(\"img.fr-uploading, img.fr-error, img.fr-draggable\"),r=0;r<i.length;r++)re(i[r])}function ne(e){if(!1===R.events.trigger(\"image.beforePasteUpload\",[e]))return A(e).removeAttr(\"data-fr-image-pasted\"),!1;U=A(e),x(),n(),P(),U.on(\"load\",function(){var t=[];x(),A(R.popups.get(\"image.insert\").get(0)).find(\"div.fr-active.fr-error\").length<1&&P(),A(this).data(\"events\").filter(function(e){\"load\"===e[0]&&t.push(e)}),t.length<=1&&A(this).off(\"load\")});for(var t=A(e).attr(\"src\").split(\",\"),a=atob(t[1]),i=[],r=0;r<a.length;r++)i.push(a.charCodeAt(r));H([R.browser.safari&&!R.opts.imageUploadURL?new Blob([new Uint8Array(i)],{type:t[0].replace(/data\\:/g,\"\")}):new Blob([new Uint8Array(i)],{type:t[0].replace(/data\\:/g,\"\").replace(/;base64/g,\"\")})],U)}function oe(){R.opts.imagePaste?R.$el.find(\"img[data-fr-image-pasted]\").each(function(e,a){if(R.opts.imagePasteProcess){var t=R.opts.imageDefaultWidth;t&&\"auto\"!=t&&(t+=R.opts.imageResizeWithPercent?\"%\":\"px\"),A(a).css(\"width\",t).removeClass(\"fr-dii fr-dib fr-fir fr-fil\"),he(A(a),R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign)}if(0===a.src.indexOf(\"data:\"))ne(a);else if(0===a.src.indexOf(\"blob:\")||0===a.src.indexOf(\"http\")&&R.opts.imageUploadRemoteUrls&&R.opts.imageCORSProxy){var i=new Image;i.crossOrigin=\"Anonymous\",i.onload=function(){var e=R.o_doc.createElement(\"CANVAS\"),t=e.getContext(\"2d\");e.height=this.naturalHeight,e.width=this.naturalWidth,t.drawImage(this,0,0),setTimeout(function(){ne(a)},0),a.src=e.toDataURL(Me.IMAGE_TYPE)},R.browser.msie&&Me.IMAGE_ALLOW_REGEX.test(a.src)&&(Me.IMAGE_TYPE=\"image/\"+a.src.split(Me.IMAGE_ALLOW_REGEX)[1]),i.src=(0===a.src.indexOf(\"blob:\")?\"\":\"\".concat(R.opts.imageCORSProxy,\"/\"))+a.src,0!==a.src.indexOf(\"blob:\")&&R.undo.saveStep()}else 0!==a.src.indexOf(\"http\")||0===a.src.indexOf(\"https://mail.google.com/mail\")?(R.selection.save(),A(a).remove(),R.selection.restore()):A(a).removeAttr(\"data-fr-image-pasted\")}):R.$el.find(\"img[data-fr-image-pasted]\").remove()}function se(e){var t=e.target.result,a=R.opts.imageDefaultWidth;a&&\"auto\"!=a&&(a+=R.opts.imageResizeWithPercent?\"%\":\"px\"),R.undo.saveStep(),R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(t,'\"').concat(a?' style=\"width: '.concat(a,';\"'):\"\",\">\"));var i=R.$el.find('img[data-fr-image-pasted=\"true\"]');i&&he(i,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),R.events.trigger(\"paste.after\")}function le(e,t){var a=new FileReader;a.onload=function i(e){var t=R.opts.imageDefaultWidth;t&&\"auto\"!=t&&(t+=R.opts.imageResizeWithPercent?\"%\":\"px\"),R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(e,'\"').concat(t?' style=\"width: '.concat(t,';\"'):\"\",\">\"));var a=R.$el.find('img[data-fr-image-pasted=\"true\"]');a&&he(a,R.opts.imageDefaultDisplay,R.opts.imageDefaultAlign),R.events.trigger(\"paste.after\")}(t),a.readAsDataURL(e,t)}function pe(e,t){var a=t||e&&e.clipboardData;if(a&&a.items){var i=(a||window.clipboardData).getData(\"text/html\")||\"\";R.browser.mozilla&&(\"\"===i||/<!--StartFragment-->([ ])<!--EndFragment-->/.test(i))&&(i=R.win.localStorage.getItem(\"fr-copied-html\"));var r=(new DOMParser).parseFromString(i,\"text/html\").querySelector(\"img\");if(r&&!R.opts.imageUploadURL){if(!r)return!1;var n=r.src,o=null;if(a.types&&-1!=[].indexOf.call(a.types,\"text/rtf\")||a.getData(\"text/rtf\"))o=a.items[0].getAsFile();else for(var s=0;s<a.items.length;s++)if(o=a.items[s].getAsFile()){Me.IMAGE_TYPE=o.type;break}if(o)return le(o,n),!1}else{var l=null;if(a.types&&-1!=[].indexOf.call(a.types,\"text/rtf\")||a.getData(\"text/rtf\"))l=a.items[0].getAsFile();else for(var p=0;p<a.items.length&&!(l=a.items[p].getAsFile());p++);if(l)return function f(e){var t=new FileReader;t.onload=se,t.readAsDataURL(e)}(l),!1}}}function fe(e){return e=e.replace(/<img /gi,'<img data-fr-image-pasted=\"true\" ')}function ge(e){if(\"false\"==A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;if(e&&\"touchend\"==e.type&&a)return!0;if(e&&R.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;for(var t=0;t<Me.INSTANCES.length;t++)Me.INSTANCES[t]!=R&&Me.INSTANCES[t].events.trigger(\"image.hideResizer\");R.toolbar.disable(),e&&(e.stopPropagation(),e.preventDefault()),R.helpers.isMobile()&&(R.events.disableBlur(),R.$el.blur(),R.events.enableBlur()),R.opts.iframe&&R.size.syncIframe(),U=A(this),we(),x(),n(),R.browser.msie?(R.popups.areVisible()&&R.events.disableBlur(),R.win.getSelection&&(R.win.getSelection().removeAllRanges(),R.win.getSelection().addRange(R.doc.createRange()))):R.selection.clear(),R.helpers.isIOS()&&(R.events.disableBlur(),R.$el.blur()),R.button.bulkRefresh(),R.events.trigger(\"video.hideResizer\")}function ce(e){U&&(function t(){return de}()||!0===e)&&(R.toolbar.enable(),p.removeClass(\"fr-active\"),R.popups.hideAll(),U=null,me(),f=null,g&&g.hide())}r[i]=\"Image cannot be loaded from the passed link.\",r[d]=\"No link in upload response.\",r[u]=\"Error during file upload.\",r[m]=\"Parsing response failed.\",r[S]=\"File is too large.\",r[E]=\"Image file type is invalid.\",r[7]=\"Files can be uploaded only to same domain in IE 8 and IE 9.\";var de=!(r[8]=\"Image file is corrupted.\");function ue(){de=!0}function me(){de=!1}function he(e,t,a){if(!R.opts.htmlUntouched&&R.opts.useClasses)e.removeClass(\"fr-fil fr-fir fr-dib fr-dii\"),a&&e.addClass(\"fr-fi\".concat(a[0])),t&&e.addClass(\"fr-di\".concat(t[0]));else if(\"inline\"==t)if(e.css({display:\"inline-block\",verticalAlign:\"bottom\",margin:R.opts.imageDefaultMargin}),\"center\"==a)e.css({\"float\":\"none\",marginBottom:\"\",marginTop:\"\",maxWidth:\"calc(100% - \".concat(2*R.opts.imageDefaultMargin,\"px)\"),textAlign:\"center\"});else if(\"left\"==a){var i=\"0px\",r=e.parent(\"span.fr-img-caption\").get(0);r||(r=e.parent().get(0)),r&&\"li\"===r.tagName.toLowerCase()?i=\"20px\":r&&\"p\"===r.tagName.toLowerCase()&&(i=\"15px\"),e.css({\"float\":\"left\",marginLeft:0,maxWidth:\"calc(100% - \".concat(R.opts.imageDefaultMargin,\"px)\"),textAlign:\"left\",marginRight:i})}else e.css({\"float\":\"right\",marginRight:0,maxWidth:\"calc(100% - \".concat(R.opts.imageDefaultMargin,\"px)\"),textAlign:\"right\"});else\"block\"==t&&(e.css({display:\"block\",\"float\":\"none\",verticalAlign:\"top\",margin:\"\".concat(R.opts.imageDefaultMargin,\"px auto\"),textAlign:\"center\"}),\"left\"==a?e.css({marginLeft:0,textAlign:\"left\"}):\"right\"==a&&e.css({marginRight:0,textAlign:\"right\"}))}function ve(e){if(void 0===e&&(e=Ce()),e){if(e.hasClass(\"fr-fil\"))return\"left\";if(e.hasClass(\"fr-fir\"))return\"right\";if(e.hasClass(\"fr-dib\")||e.hasClass(\"fr-dii\"))return\"center\";var t=e.css(\"float\");if(e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")){if(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),0===parseInt(e.css(\"margin-left\"),10))return\"left\";if(0===parseInt(e.css(\"margin-right\"),10))return\"right\"}else{if(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"left\"==e.css(\"float\"))return\"left\";if(\"right\"==e.css(\"float\"))return\"right\"}}return\"center\"}function be(e){void 0===e&&(e=Ce());var t=e.css(\"float\");return e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")?(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"block\"):(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"inline\")}function ye(){var e=R.popups.get(\"image.insert\");e||(e=X()),R.popups.isVisible(\"image.insert\")||(k(),R.popups.refresh(\"image.insert\"),R.popups.setContainer(\"image.insert\",R.$sc));var t=Ce(),a=t&&t.outerWidth()/2;Se()&&(t=t.find(\".fr-img-wrap\"),a=U.outerWidth()/2);var i,r=t.offset().left+a,n=t.outerHeight(!0);R.opts.iframe&&Se()&&(n=U?U.outerHeight():0),i=0<R.$el.find(\"img[data-fr-image-pasted]\").length?R.$wp.offset().top-R.helpers.scrollTop()+R.$wp.height():t.offset().top+t.outerHeight(),R.popups.show(\"image.insert\",r,i,n,!0)}function we(){if(U){R.events.disableBlur(),R.selection.clear();var e=R.doc.createRange();e.selectNode(U.get(0)),R.browser.msie&&e.collapse(!0),R.selection.get().addRange(e),R.events.enableBlur()}}function Ae(){return U}function Ce(){return Se()?U.parents(\".fr-img-caption\").first():U}function Se(){return!!U&&0<U.parents(\".fr-img-caption\").length}function Ee(e){for(var t=document.createDocumentFragment();e.firstChild;){var a=e.removeChild(e.firstChild);t.appendChild(a)}e.parentNode.replaceChild(t,e)}return{_init:function Re(){var n;(function e(){R.events.$on(R.$el,R._mousedown,\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(e){if(\"false\"==A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;R.helpers.isMobile()||R.selection.clear(),t=!0,R.popups.areVisible()&&R.events.disableBlur(),R.browser.msie&&(R.events.disableBlur(),R.$el.attr(\"contenteditable\",!1)),R.draggable||\"touchstart\"==e.type||e.preventDefault(),e.stopPropagation()}),R.events.$on(R.$el,R._mousedown,\".fr-img-caption .fr-inner\",function(e){R.core.hasFocus()||R.events.focus(),e.stopPropagation()}),R.events.$on(R.$el,\"paste\",\".fr-img-caption .fr-inner\",function(e){!0===R.opts.toolbarInline&&(R.toolbar.hide(),e.stopPropagation())}),R.events.$on(R.$el,R._mousedown,'img:not([contenteditable=\"false\"])',function(e){var t=this;R.browser.mozilla&&3==e.which&&(A(this).attr(\"contenteditable\",!1),setTimeout(function(){A(t).removeAttr(\"contenteditable\")},200))}),R.events.$on(R.$el,R._mouseup,\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(e){if(\"false\"==A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;t&&(t=!1,e.stopPropagation(),R.browser.msie&&(R.$el.attr(\"contenteditable\",!0),R.events.enableBlur()))}),R.events.on(\"keyup\",function(e){if(e.shiftKey&&\"\"===R.selection.text().replace(/\\n/g,\"\")&&R.keys.isArrow(e.which)){var t=R.selection.element(),a=R.selection.endElement();t&&\"IMG\"==t.tagName?z(A(t)):a&&\"IMG\"==a.tagName&&z(A(a))}},!0),R.events.on(\"drop\",V),R.events.on(\"element.beforeDrop\",F),R.events.on(\"mousedown window.mousedown\",ue),R.events.on(\"window.touchmove\",me),R.events.on(\"mouseup window.mouseup\",function(){if(U&&!R.helpers.isMobile())return ce(),!1;me()}),R.events.on(\"touchstart touchend\",function(){if(U&&R.helpers.isMobile())return ce(),!1;me()}),R.events.on(\"commands.mousedown\",function(e){0<e.parents(\".fr-toolbar\").length&&ce()}),R.events.on(\"image.resizeEnd\",function(){R.opts.iframe&&R.size.syncIframe()}),R.events.on(\"blur image.hideResizer commands.undo commands.redo element.dropped\",function(){ce(!(t=!1))}),R.events.on(\"modals.hide\",function(){U&&(we(),R.selection.clear())}),R.events.on(\"image.resizeEnd\",function(){R.win.getSelection&&z(U)}),R.events.on(\"filestack-init\",function(){X()}),R.events.on(\"filestack-init-edit\",function(){for(var e=R.$(\".fr-popup:not(.fr-do-not-hide)\"),t=e.length-1;0<=t;t--)e[t].parentElement.removeChild(e[t]);N()}),R.opts.imageAddNewLine&&R.events.on(\"image.inserted\",function(e){var t=e.get(0);for(t.nextSibling&&\"BR\"===t.nextSibling.tagName&&(t=t.nextSibling);t&&!R.node.isElement(t);)t=R.node.isLastSibling(t)?t.parentNode:null;R.node.isElement(t)&&(R.opts.enter===Me.ENTER_BR?e.after(\"<br>\"):A(R.node.blockParent(e.get(0))).after(\"<\".concat(R.html.defaultTag(),\"><br></\").concat(R.html.defaultTag(),\">\")))})})(),\"IMG\"==R.el.tagName&&R.$el.addClass(\"fr-view\"),R.events.$on(R.$el,R.helpers.isMobile()&&!R.helpers.isWindowsPhone()?\"touchend\":\"click\",\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',ge),R.helpers.isMobile()&&(R.events.$on(R.$el,\"touchstart\",\"IMG\"==R.el.tagName?null:'img:not([contenteditable=\"false\"])',function(){a=!1}),R.events.$on(R.$el,\"touchmove\",function(){a=!0})),R.$wp?(R.events.on(\"window.keydown keydown\",ie,!0),R.events.on(\"keyup\",function(e){if(U&&e.which==Me.KEYCODE.ENTER)return!1},!0),R.events.$on(R.$el,\"keydown\",function(){var e=R.selection.element();(e.nodeType===Node.TEXT_NODE||\"BR\"==e.tagName&&R.node.isLastSibling(e))&&(e=e.parentNode),R.node.hasClass(e,\"fr-inner\")||(R.node.hasClass(e,\"fr-img-caption\")||(e=A(e).parents(\".fr-img-caption\").get(0)),R.node.hasClass(e,\"fr-img-caption\")&&(R.opts.trackChangesEnabled||A(e).after(Me.INVISIBLE_SPACE+Me.MARKERS),R.selection.restore()))})):R.events.$on(R.$win,\"keydown\",ie),R.events.on(\"toolbar.esc\",function(){if(U){if(R.$wp)R.events.disableBlur(),R.events.focus();else{var e=U;ce(!0),R.selection.setAfter(e.get(0)),R.selection.restore()}return!1}},!0),R.events.on(\"toolbar.focusEditor\",function(){if(U)return!1},!0),R.events.on(\"window.cut window.copy\",function(e){if(U&&R.popups.isVisible(\"image.edit\")&&!R.popups.get(\"image.edit\").find(\":focus\").length){var t=Ce();Se()?(t.before(Me.START_MARKER),t.after(Me.END_MARKER),R.selection.restore(),R.paste.saveCopiedText(t.get(0).outerHTML,t.text())):(we(),R.paste.saveCopiedText(U.get(0).outerHTML,U.attr(\"alt\"))),\"copy\"==e.type?setTimeout(function(){z(U)}):(ce(!0),R.undo.saveStep(),setTimeout(function(){R.undo.saveStep()},0))}},!0),R.browser.msie&&R.events.on(\"keydown\",function(e){if(!R.selection.isCollapsed()||!U)return!0;var t=e.which;t==Me.KEYCODE.C&&R.keys.ctrlKey(e)?R.events.trigger(\"window.copy\"):t==Me.KEYCODE.X&&R.keys.ctrlKey(e)&&R.events.trigger(\"window.cut\")}),R.events.$on(A(R.o_win),\"keydown\",function(e){if(R.opts.pluginsEnabled.includes(\"filestack\")&&R.opts.iframe){var t=document.getElementsByClassName(\"fs-transforms-container\"),a=!1;if(t&&t.length){var i,r=Ke(t);try{for(r.s();!(i=r.n()).done;){var n=i.value;n.childNodes&&n.childNodes.length&&(a=!0)}}catch(s){r.e(s)}finally{r.f()}}a&&(U=null)}var o=e.which;if(U&&o==Me.KEYCODE.BACKSPACE)return e.preventDefault(),!1}),R.events.$on(R.$win,\"keydown\",function(e){var t=e.which;U&&U.hasClass(\"fr-uploading\")&&t==Me.KEYCODE.ESC&&U.trigger(\"abortUpload\")}),R.events.on(\"destroy\",function(){U&&U.hasClass(\"fr-uploading\")&&U.trigger(\"abortUpload\")}),R.events.on(\"paste.before\",pe),R.events.on(\"paste.beforeCleanup\",fe),R.events.on(\"paste.after\",oe),R.events.on(\"html.set\",l),R.events.on(\"html.inserted\",l),l(),R.events.on(\"destroy\",function(){c=[]}),R.events.on(\"html.processGet\",re),R.opts.imageOutputSize&&R.events.on(\"html.beforeGet\",function(){n=R.el.querySelectorAll(\"img\");for(var e=0;e<n.length;e++){var t=parseFloat(A(n[e]).css(\"padding-left\"))+parseFloat(A(n[e]).css(\"padding-right\")),a=A(n[e]).width()-t,i=n[e].style.width||a,r=n[e].style.height||A(n[e]).height();i&&n[e].setAttribute(\"width\",\"\".concat(i).replace(/px/,\"\")),r&&n[e].setAttribute(\"height\",\"\".concat(r).replace(/px/,\"\"))}}),R.opts.iframe&&R.events.on(\"image.loaded\",R.size.syncIframe),R.$wp&&(b(),R.events.on(\"contentChanged\",b)),R.events.$on(A(R.o_win),\"orientationchange.image\",function(){setTimeout(function(){U&&z(U)},100)}),N(!0),X(!0),ee(!0),J(!0),R.events.on(\"node.remove\",function(e){if(\"IMG\"==e.get(0).tagName)return ae(e),!1})},showInsertPopup:function Ue(){var e=R.$tb.find('.fr-command[data-cmd=\"insertImage\"]'),t=R.popups.get(\"image.insert\");if(t||(t=X()),k(),!t.hasClass(\"fr-active\"))if(R.popups.refresh(\"image.insert\"),R.popups.setContainer(\"image.insert\",R.$tb),e.isVisible()){var a=R.button.getPosition(e),i=a.left,r=a.top;R.popups.show(\"image.insert\",i,r,e.outerHeight())}else R.position.forSelection(t),R.popups.show(\"image.insert\")},showLayer:function xe(e){var t,a,i=R.popups.get(\"image.insert\");if(U||R.opts.toolbarInline){if(U){var r=Ce(),n=0;Se()&&(r=r.find(\".fr-img-wrap\"),n=U.outerWidth()/2),a=r.offset().top+r.outerHeight(),t=r.offset().left+n}}else{var o=R.$tb.find('.fr-command[data-cmd=\"insertImage\"]');t=o.offset().left,a=o.offset().top+(R.opts.toolbarBottom?10:o.outerHeight()-10)}!U&&R.opts.toolbarInline&&(a=i.offset().top-R.helpers.getPX(i.css(\"margin-top\")),i.hasClass(\"fr-above\")&&(a+=i.outerHeight())),i.find(\".fr-layer\").removeClass(\"fr-active\"),i.find(\".fr-\".concat(e,\"-layer\")).addClass(\"fr-active\"),R.popups.show(\"image.insert\",t,a,U?U.outerHeight():0,Se()),R.accessibility.focusPopup(i)},refreshUploadButton:function De(e){var t=R.popups.get(\"image.insert\");t&&t.find(\".fr-image-upload-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshByURLButton:function Te(e){var t=R.popups.get(\"image.insert\");t&&t.find(\".fr-image-by-url-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},upload:H,insertByURL:function $e(){var e=R.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");if(0<e.val().length){P(),B(R.language.translate(\"Loading image\"));var t=e.val().trim();if(R.opts.imageUploadRemoteUrls&&R.opts.imageCORSProxy&&R.opts.imageUpload){var a=new XMLHttpRequest;a.onload=function(){200==this.status?H([new Blob([this.response],{type:this.response.type||\"image/png\"})],U):I(i)},a.onerror=function(){_(t,!0,[],U)},a.open(\"GET\",\"\".concat(R.opts.imageCORSProxy,\"/\").concat(t),!0),a.responseType=\"blob\",a.send()}else _(t,!0,[],U);e.val(\"\"),e.blur()}},align:function Ie(e){var t=Ce();t.removeClass(\"fr-fir fr-fil\"),!R.opts.htmlUntouched&&R.opts.useClasses?\"left\"==e?t.addClass(\"fr-fil\"):\"right\"==e&&t.addClass(\"fr-fir\"):he(t,be(),e),we(),x(),n(),R.selection.clear()},refreshAlign:function Ne(e){U&&e.find(\"> *\").first().replaceWith(R.icon.create(\"image-align-\".concat(ve())))},refreshAlignOnShow:function Pe(e,t){U&&t.find('.fr-command[data-param1=\"'.concat(ve(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},display:function ke(e){var t=Ce();t.removeClass(\"fr-dii fr-dib\"),!R.opts.htmlUntouched&&R.opts.useClasses?\"inline\"==e?t.addClass(\"fr-dii\"):\"block\"==e&&t.addClass(\"fr-dib\"):he(t,e,ve()),we(),x(),n(),R.selection.clear()},refreshDisplayOnShow:function Be(e,t){U&&t.find('.fr-command[data-param1=\"'.concat(be(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},replace:ye,back:function e(){U?(R.events.disableBlur(),A(\".fr-popup input:focus\").blur(),z(U)):(R.events.disableBlur(),R.selection.restore(),R.events.enableBlur(),R.popups.hide(\"image.insert\"),R.toolbar.showInline())},get:Ae,getEl:Ce,insert:_,showProgressBar:P,remove:ae,hideProgressBar:k,applyStyle:function Oe(e,t,a){if(void 0===t&&(t=R.opts.imageStyles),void 0===a&&(a=R.opts.imageMultipleStyles),!U)return!1;var i=Ce();if(!a){var r=Object.keys(t);r.splice(r.indexOf(e),1),i.removeClass(r.join(\" \"))}\"object\"==We(t[e])?(i.removeAttr(\"style\"),i.css(t[e].style)):(i.toggleClass(e),Se()&&U.hasClass(e)&&U.removeClass(e)),z(U)},showAltPopup:j,showSizePopup:Z,setAlt:function ze(e){if(U){var t=R.popups.get(\"image.alt\");U.attr(\"alt\",e||t.find(\"input\").val()||\"\"),t.find(\"input:focus\").blur(),z(U)}},setSize:function Le(e,t){if(U){var a=R.popups.get(\"image.size\");e=e||a.find('input[name=\"width\"]').val()||\"\",t=t||a.find('input[name=\"height\"]').val()||\"\";var i=/^[\\d]+((px)|%)*$/g;U.removeAttr(\"width\").removeAttr(\"height\"),e.match(i)?U.css(\"width\",e):U.css(\"width\",\"\"),t.match(i)?U.css(\"height\",t):U.css(\"height\",\"\"),Se()&&(U.parents(\".fr-img-caption\").removeAttr(\"width\").removeAttr(\"height\"),e.match(i)?U.parents(\".fr-img-caption\").css(\"width\",e):U.parents(\".fr-img-caption\").css(\"width\",\"\"),t.match(i)?U.parents(\".fr-img-caption\").css(\"height\",t):U.parents(\".fr-img-caption\").css(\"height\",\"\")),a&&a.find(\"input:focus\").blur(),z(U)}},toggleCaption:function _e(){var e,t=R.$el.get(0),a=[\"fr-dii\",\"fr-dib\",\"fr-fil\",\"fr-fir\"];if(U&&!Se()){(e=U).parent().is(\"a\")&&(e=U.parent());var i=U.parents(\"ul\")&&0<U.parents(\"ul\").length?U.parents(\"ul\"):U.parents(\"ol\")&&0<U.parents(\"ol\").length?U.parents(\"ol\"):[];if(0<i.length){var r=i.find(\"li\").length,n=U.parents(\"li\"),o=document.createElement(\"li\");r-1===n.index()&&(i.append(o),o.innerHTML=\"&nbsp;\")}var s,l,p=(U.attr(\"class\")||\"\").split(/\\s+/),f=p.filter(function(e){return a.includes(e)});U.attr(\"class\",p.filter(function(e){return!a.includes(e)}).join(\" \")),e.attr(\"style\")?l=-1<(s=e.attr(\"style\").split(\":\")).indexOf(\"width\")?s[s.indexOf(\"width\")+1].replace(\";\",\"\"):\"\":e.attr(\"width\")&&(l=e.attr(\"width\"));var g=R.opts.imageResizeWithPercent?(-1<l.indexOf(\"px\")?null:l)||\"100%\":U.width()+\"px\";e.wrap('<div class=\"fr-img-space-wrap\"><span '+(R.browser.mozilla?\"\":'contenteditable=\"false\"')+'class=\"fr-img-caption '+f.join(\" \")+'\" style=\"'+(e.attr(\"style\")||\"\")+'\" draggable=\"false\"></span></div>'),e.wrap('<span class=\"fr-img-wrap\"></span>'),U.after('<span class=\"fr-inner\"'.concat(R.browser.mozilla?\"\":' contenteditable=\"true\"',\">\").concat(Me.START_MARKER).concat(R.language.translate(\"Image Caption\")).concat(Me.END_MARKER,\"</span>\")),U.parents(\".fr-img-caption\").css(\"width\",g);var c=U.parents(\".fr-img-space-wrap\").length;1==c?Ee(t.querySelector(\".fr-img-space-wrap\")):1<c&&(Ee(t.querySelector(\".fr-img-space-wrap\")),Ee(t.querySelector(\".fr-img-space-wrap2\"))),ce(!0),R.selection.restore()}else{if(e=Ce(),U.insertBefore(e),null!==e[0].querySelector(\"a\")){for(var d,u=e[0].querySelector(\"a\"),m=document.createElement(\"a\"),h=0,v=u.attributes,b=v.length;h<b;h++)d=v[h],m.setAttribute(d.nodeName,d.nodeValue);U.wrap(m)}var y=(e.attr(\"class\")||\"\").split(/\\s+/),w=[\"fr-img-caption\"],A=y.filter(function(e){return!w.includes(e)}),C=(U.attr(\"class\")||\"\").split(/\\s+/),S=Ye(new Set(C.concat(A)));U.attr(\"class\",S.join(\" \")).attr(\"style\",e.attr(\"style\")),e.remove();var E=U.parents(\".fr-img-space-wrap\").length;1==E?Ee(t.querySelector(\".fr-img-space-wrap\")):1<E&&(Ee(t.querySelector(\".fr-img-space-wrap\")),Ee(t.querySelector(\".fr-img-space-wrap2\"))),z(U)}},hasCaption:Se,exitEdit:ce,edit:z}},Me.DefineIcon(\"insertImage\",{NAME:\"image\",SVG_KEY:\"insertImage\"}),Me.RegisterShortcut(Me.KEYCODE.P,\"insertImage\",null,\"P\"),Me.RegisterCommand(\"insertImage\",{title:\"Insert Image\",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"image.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"image.insert\")):this.image.showInsertPopup()},plugin:\"image\"}),Me.DefineIcon(\"imageUpload\",{NAME:\"upload\",SVG_KEY:\"upload\"}),Me.RegisterCommand(\"imageUpload\",{title:\"Upload Image\",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer(\"image-upload\")},refresh:function(e){this.image.refreshUploadButton(e)}}),Me.DefineIcon(\"imageByURL\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),Me.RegisterCommand(\"imageByURL\",{title:\"By URL\",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer(\"image-by-url\")},refresh:function(e){this.image.refreshByURLButton(e)}}),Me.RegisterCommand(\"imageInsertByURL\",{title:\"Insert Image\",undo:!0,refreshAfterCallback:!1,callback:function(){this.image.insertByURL()},refresh:function(e){this.image.get()?e.text(this.language.translate(\"Replace\")):e.text(this.language.translate(\"Insert\"))}}),Me.DefineIcon(\"imageDisplay\",{NAME:\"star\",SVG_KEY:\"imageDisplay\"}),Me.RegisterCommand(\"imageDisplay\",{title:\"Display\",type:\"dropdown\",options:{inline:\"Inline\",block:\"Break Text\"},callback:function(e,t){this.image.display(t)},refresh:function(e){this.opts.imageTextNear||e.addClass(\"fr-hidden\")},refreshOnShow:function(e,t){this.image.refreshDisplayOnShow(e,t)}}),Me.DefineIcon(\"image-align\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),Me.DefineIcon(\"image-align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),Me.DefineIcon(\"image-align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),Me.DefineIcon(\"image-align-center\",{NAME:\"align-justify\",SVG_KEY:\"alignCenter\"}),Me.DefineIcon(\"imageAlign\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),Me.RegisterCommand(\"imageAlign\",{type:\"dropdown\",title:\"Align\",options:{left:\"Align Left\",center:\"Align Center\",right:\"Align Right\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=Me.COMMANDS.imageAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageAlign\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.icon.create(\"image-align-\".concat(a)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.image.align(t)},refresh:function(e){this.image.refreshAlign(e)},refreshOnShow:function(e,t){this.image.refreshAlignOnShow(e,t)}}),Me.DefineIcon(\"imageReplace\",{NAME:\"exchange\",FA5NAME:\"exchange-alt\",SVG_KEY:\"replaceImage\"}),Me.RegisterCommand(\"imageReplace\",{title:\"Replace\",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.image.replace()}}),Me.DefineIcon(\"imageRemove\",{NAME:\"trash\",SVG_KEY:\"remove\"}),Me.RegisterCommand(\"imageRemove\",{title:\"Remove\",callback:function(){this.image.remove()}}),Me.DefineIcon(\"imageBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),Me.RegisterCommand(\"imageBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){this.image.back()},refresh:function(e){this.$;this.image.get()||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next(\".fr-separator\").removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next(\".fr-separator\").addClass(\"fr-hidden\"))}}),Me.RegisterCommand(\"imageDismissError\",{title:\"OK\",undo:!1,callback:function(){this.image.hideProgressBar(!0)}}),Me.DefineIcon(\"imageStyle\",{NAME:\"magic\",SVG_KEY:\"imageClass\"}),Me.RegisterCommand(\"imageStyle\",{title:\"Style\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.imageStyles;for(var a in t)if(t.hasOwnProperty(a)){var i=t[a];\"object\"==We(i)&&(i=i.title),e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageStyle\" data-param1=\"'.concat(a,'\">').concat(this.language.translate(i),\"</a></li>\")}return e+=\"</ul>\"},callback:function(e,t){this.image.applyStyle(t)},refreshOnShow:function(e,t){var a=this.$,i=this.image.getEl();i&&t.find(\".fr-command\").each(function(){var e=a(this).data(\"param1\"),t=i.hasClass(e);a(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}}),Me.DefineIcon(\"imageAlt\",{NAME:\"info\",SVG_KEY:\"imageAltText\"}),Me.RegisterCommand(\"imageAlt\",{undo:!1,focus:!1,popup:!0,title:\"Alternative Text\",callback:function(){this.image.showAltPopup()}}),Me.RegisterCommand(\"imageSetAlt\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.image.setAlt()}}),Me.DefineIcon(\"imageSize\",{NAME:\"arrows-alt\",SVG_KEY:\"imageSize\"}),Me.RegisterCommand(\"imageSize\",{undo:!1,focus:!1,popup:!0,title:\"Change Size\",callback:function(){this.image.showSizePopup()}}),Me.RegisterCommand(\"imageSetSize\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.image.setSize()}}),Me.DefineIcon(\"imageCaption\",{NAME:\"commenting\",FA5NAME:\"comment-alt\",SVG_KEY:\"imageCaption\"}),Me.RegisterCommand(\"imageCaption\",{undo:!0,focus:!1,title:\"Image Caption\",refreshAfterCallback:!0,callback:function(){this.image.toggleCaption()},refresh:function(e){this.image.get()&&e.toggleClass(\"fr-active\",this.image.hasCaption())}})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(C){\"use strict\";C=C&&C.hasOwnProperty(\"default\")?C[\"default\"]:C,Object.assign(C.POPUP_TEMPLATES,{\"link.edit\":\"[_BUTTONS_]\",\"link.insert\":\"[_BUTTONS_][_INPUT_LAYER_]\"}),Object.assign(C.DEFAULTS,{linkEditButtons:[\"linkOpen\",\"linkStyle\",\"linkEdit\",\"linkRemove\"],linkInsertButtons:[\"linkBack\",\"|\",\"linkList\"],linkAttributes:{},linkAutoPrefix:\"http://\",linkStyles:{\"fr-green\":\"Green\",\"fr-strong\":\"Thick\"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:\"Froala\",href:\"https://froala.com\",target:\"_blank\"},{text:\"Google\",href:\"https://google.com\",target:\"_blank\"},{displayText:\"Facebook\",href:\"https://facebook.com\"}],linkText:!0}),C.PLUGINS.link=function(h){var m=h.$;function v(){var e=h.image?h.image.get():null;if(e||!h.$wp)return\"A\"==h.el.tagName?h.el:e&&e.get(0).parentNode&&\"A\"==e.get(0).parentNode.tagName?e.get(0).parentNode:void 0;var t=h.selection.ranges(0).commonAncestorContainer;try{t&&(t.contains&&t.contains(h.el)||!h.el.contains(t)||h.el==t)&&(t=null)}catch(l){t=null}if(t&&\"A\"===t.tagName)return t;var n,i,r=h.selection.element(),a=h.selection.endElement();\"A\"==r.tagName||h.node.isElement(r)||(r=h.opts.iframe&&null!==(n=h.markdown)&&void 0!==n&&n.isEnabled()?null:m(r).parentsUntil(h.$el,\"a\").first().get(0));\"A\"==a.tagName||h.node.isElement(a)||(a=h.opts.iframe&&null!==(i=h.markdown)&&void 0!==i&&i.isEnabled()?null:m(a).parentsUntil(h.$el,\"a\").first().get(0));try{a&&(a.contains&&a.contains(h.el)||!h.el.contains(a)||h.el==a)&&(a=null)}catch(l){a=null}try{r&&(r.contains&&r.contains(h.el)||!h.el.contains(r)||h.el==r)&&(r=null)}catch(l){r=null}return a&&a==r&&\"A\"==a.tagName?(h.browser.msie||h.helpers.isMobile())&&(h.selection.info(r).atEnd||h.selection.info(r).atStart)?null:r:null}function b(){var e,t,n,i,r=h.image?h.image.get():null,a=[];if(r)\"A\"==r.get(0).parentNode.tagName&&a.push(r.get(0).parentNode);else if(h.win.getSelection){var l=h.win.getSelection();if(l.getRangeAt&&l.rangeCount){i=h.doc.createRange();for(var s=0;s<l.rangeCount;++s)if((t=(e=l.getRangeAt(s)).commonAncestorContainer)&&1!=t.nodeType&&(t=t.parentNode),t&&\"a\"==t.nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName(\"a\");for(var o=0;o<n.length;++o)i.selectNodeContents(n[o]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&a.push(n[o])}}}else if(h.doc.selection&&\"Control\"!=h.doc.selection.type)if(\"a\"==(t=(e=h.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName(\"a\"),i=h.doc.body.createTextRange();for(var c=0;c<n.length;++c)i.moveToElementText(n[c]),-1<i.compareEndPoints(\"StartToEnd\",e)&&i.compareEndPoints(\"EndToStart\",e)<1&&a.push(n[c])}return a}function E(r){if(h.core.hasFocus()||h.opts.iframe&&(!document.hasFocus||document.hasFocus())){if(a(),r&&\"keyup\"===r.type&&(r.altKey||r.which==C.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||\"mouseup\"!=r.type)){var e=v(),t=h.image?h.image.get():null;if(e&&!t){if(h.image){var n=h.node.contents(e);if(1==n.length&&\"IMG\"==n[0].tagName){var i=h.selection.ranges(0);return 0===i.startOffset&&0===i.endOffset?m(e).before(C.INVISIBLE_SPACE+C.MARKERS):m(e).after(C.INVISIBLE_SPACE+C.MARKERS),h.selection.restore(),!1}}r&&r.stopPropagation(),l(e)}}},h.helpers.isIOS()?100:0)}}function l(e){var t=h.popups.get(\"link.edit\");t||(t=function a(){var e=\"\";1<=h.opts.linkEditButtons.length&&(\"A\"==h.el.tagName&&0<=h.opts.linkEditButtons.indexOf(\"linkRemove\")&&h.opts.linkEditButtons.splice(h.opts.linkEditButtons.indexOf(\"linkRemove\"),1),e='<div class=\"fr-buttons\">'.concat(h.button.buildList(h.opts.linkEditButtons),\"</div>\"));var t={buttons:e},n=h.popups.create(\"link.edit\",t);h.$wp&&h.events.$on(h.$wp,\"scroll.link-edit\",function(){v()&&h.popups.isVisible(\"link.edit\")&&l(v())});return n}());var n=m(e);h.popups.isVisible(\"link.edit\")||h.popups.refresh(\"link.edit\"),h.popups.setContainer(\"link.edit\",h.$sc);var i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show(\"link.edit\",i,r,n.outerHeight(),!0)}function a(){h.popups.hide(\"link.edit\")}function o(){var e=h.popups.get(\"link.insert\"),t=v();if(t){var n,i,r=m(t),a=e.find('input.fr-link-attr[type=\"text\"]'),l=e.find('input.fr-link-attr[type=\"checkbox\"]');for(n=0;n<a.length;n++){var s=(i=m(a[n])).attr(\"name\")||\"\",o=\"href\"===s?decodeURI(r.attr(s)):r.attr(s);i.val(o)}for(l.attr(\"checked\",!1),n=0;n<l.length;n++)i=m(l[n]),r.attr(i.attr(\"name\"))==i.data(\"checked\")&&i.attr(\"checked\",!0);e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(r.text())}else e.find('input.fr-link-attr[type=\"text\"]').val(\"\"),e.find('input.fr-link-attr[type=\"checkbox\"]').attr(\"checked\",!1),e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(h.selection.text());e.find(\"input.fr-link-attr\").trigger(\"change\"),(h.image?h.image.get():null)?e.find('.fr-link-attr[name=\"text\"]').parent().hide():e.find('.fr-link-attr[name=\"text\"]').parent().show()}function s(e){if(e)return h.popups.onRefresh(\"link.insert\",o),!0;var t=\"\";1<=h.opts.linkInsertButtons.length&&(t='<div class=\"fr-buttons fr-tabs\">'.concat(h.button.buildList(h.opts.linkInsertButtons),\"</div>\"));var n=\"\",i=0;for(var r in n='<div class=\"fr-link-insert-layer fr-layer fr-active\" id=\"fr-link-insert-layer-'.concat(h.id,'\">'),n+='<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-url-'.concat(h.id,'\" name=\"href\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(\"URL\"),'\" tabIndex=\"').concat(++i,'\"></div>'),h.opts.linkText&&(n+='<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-text-'.concat(h.id,'\" name=\"text\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(\"Text\"),'\" tabIndex=\"').concat(++i,'\"></div>')),h.opts.linkAttributes)if(h.opts.linkAttributes.hasOwnProperty(r)){var a=h.opts.linkAttributes[r];n+='<div class=\"fr-input-line\"><input name=\"'.concat(r,'\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(h.language.translate(a),'\" tabIndex=\"').concat(++i,'\"></div>')}h.opts.linkAlwaysBlank||(n+='<div class=\"fr-checkbox-line\"><span class=\"fr-checkbox\"><input name=\"target\" class=\"fr-link-attr\" data-checked=\"_blank\" type=\"checkbox\" id=\"fr-link-target-'.concat(h.id,'\" tabIndex=\"').concat(++i,'\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>','</span></span><label id=\"fr-label-target-').concat(h.id,'\">').concat(h.language.translate(\"Open in new tab\"),\"</label></div>\"));var l={buttons:t,input_layer:n+='<div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" role=\"button\" data-cmd=\"linkInsert\" href=\"#\" tabIndex=\"'.concat(++i,'\" type=\"button\">').concat(h.language.translate(\"Insert\"),\"</button></div></div>\")},s=h.popups.create(\"link.insert\",l);return h.$wp&&h.events.$on(h.$wp,\"scroll.link-insert\",function(){(h.image?h.image.get():null)&&h.popups.isVisible(\"link.insert\")&&f(),h.popups.isVisible(\"link.insert\")&&p()}),s}function c(e,t,n){if(h.opts.trackChangesEnabled){if(h.edit.on(),h.events.focus(!0),h.undo.saveStep(),h.markers.insert(),h.html.wrap(),!h.$el.find(\".fr-marker\").length)return void h.popups.hide(\"link.insert\");h.markers.remove()}if(void 0===n&&(n={}),!1===h.events.trigger(\"link.beforeInsert\",[e,t,n]))return!1;var i=h.image?h.image.get():null;i||\"A\"==h.el.tagName?\"A\"==h.el.tagName&&h.$el.focus():(h.selection.restore(),h.popups.hide(\"link.insert\"));var r=e;h.opts.linkConvertEmailAddress&&h.helpers.isEmail(e)&&!/^mailto:.*/i.test(e)&&(e=\"mailto:\".concat(e));if(\"\"===h.opts.linkAutoPrefix||new RegExp(\"^(\"+C.LinkProtocols.join(\"|\")+\"):.\",\"i\").test(e)||/^data:image.*/i.test(e)||/^(https?:|ftps?:|file:|)\\/\\//i.test(e)||/^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e)||[\"/\",\"{\",\"[\",\"#\",\"(\",\".\",'\"',\"\\\\\"].indexOf((e||\"\")[0])<0&&(e=h.opts.linkAutoPrefix+e),(e=h.helpers.sanitizeURL(e))===decodeURIComponent(e)&&(e=encodeURI(e)),h.opts.linkAlwaysBlank&&(n.target=\"_blank\"),h.opts.linkAlwaysNoFollow&&(n.rel=\"nofollow\"),h.helpers.isEmail(r)&&(n.target=null,n.rel=null),\"_blank\"==n.target?(h.opts.linkNoOpener&&(n.rel?n.rel+=\" noopener\":n.rel=\"noopener\"),h.opts.linkNoReferrer&&(n.rel?n.rel+=\" noreferrer\":n.rel=\"noreferrer\")):null==n.target&&(n.rel?n.rel=n.rel.replace(/noopener/,\"\").replace(/noreferrer/,\"\"):n.rel=null),t=t||\"\",e===h.opts.linkAutoPrefix)return h.popups.get(\"link.insert\").find('input[name=\"href\"]').addClass(\"fr-error\"),h.events.trigger(\"link.bad\",[r]),!1;var a,l=v();if(l){if((a=m(l)).attr(\"href\",e),0<t.length&&a.text()!=t&&!i){if(h.opts.trackChangesEnabled){var s=m(a.get(0).outerHTML);s.insertBefore(a.parent());var o=h.track_changes.wrapLinkInTracking(s,h.track_changes.getPendingChanges().length-1),c=h.track_changes.wrapInDelete(o);a.parent().append(c)}for(var p=a.get(0);1===p.childNodes.length&&p.childNodes[0].nodeType==Node.ELEMENT_NODE;)p=p.childNodes[0];m(p).text(t)}for(var f in i||a.prepend(C.START_MARKER).append(C.END_MARKER),n)n[f]?a.attr(f,n[f]):a.removeAttr(f);i||h.selection.restore()}else{i?(i.wrap('<a href=\"'.concat(e,'\"></a>')),h.image.hasCaption()&&i.parent().append(i.parents(\".fr-img-caption\").find(\".fr-inner\"))):(h.format.remove(\"a\"),h.selection.isCollapsed()?(t=0===t.length?r:t,h.html.insert('<a href=\"'.concat(e,'\">').concat(C.START_MARKER).concat(t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")).concat(C.END_MARKER,\"</a>\")),h.selection.restore()):0<t.length&&t!=h.selection.text().replace(/\\n/g,\"\")?(h.selection.remove(),h.html.insert('<a href=\"'.concat(e,'\">').concat(C.START_MARKER).concat(t.replace(/&/g,\"&amp;\")).concat(C.END_MARKER,\"</a>\")),h.selection.restore()):(!function g(){if(!h.selection.isCollapsed()){h.selection.save();for(var e=h.$el.find(\".fr-marker\").addClass(\"fr-unprocessed\").toArray();e.length;){var t=m(e.pop());t.removeClass(\"fr-unprocessed\");var n=h.node.deepestParent(t.get(0));if(n){for(var i=t.get(0),r=\"\",a=\"\";i=i.parentNode,h.node.isBlock(i)||(r+=h.node.closeTagString(i),a=h.node.openTagString(i)+a),i!=n;);var l=h.node.openTagString(t.get(0))+t.html()+h.node.closeTagString(t.get(0));t.replaceWith('<span id=\"fr-break\"></span>');var s=n.outerHTML;s=(s=s.replace(/<span id=\"fr-break\"><\\/span>/g,r+l+a)).replace(a+r,\"\"),n.outerHTML=s}e=h.$el.find(\".fr-marker.fr-unprocessed\").toArray()}h.html.cleanEmptyTags(),h.selection.restore()}}(),h.format.apply(\"a\",{href:e})));for(var d=b(),u=0;u<d.length;u++)(a=m(d[u])).attr(n),a.removeAttr(\"_moz_dirty\");1==d.length&&h.$wp&&!i&&(m(d[0]).prepend(C.START_MARKER).append(C.END_MARKER),h.selection.restore())}if(i){var k=h.popups.get(\"link.insert\");k&&k.find(\"input:focus\").blur(),h.image.edit(i)}else E()}function p(){a();var e=v();if(e){var t=h.popups.get(\"link.insert\");t||(t=s()),h.popups.isVisible(\"link.insert\")||(h.popups.refresh(\"link.insert\"),h.selection.save(),h.helpers.isMobile()&&(h.events.disableBlur(),h.$el.blur(),h.events.enableBlur())),h.popups.setContainer(\"link.insert\",h.$sc);var n=(h.image?h.image.get():null)||m(e),i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show(\"link.insert\",i,r,n.outerHeight(),!0)}}function f(){var e=h.image?h.image.getEl():null;if(e){var t=h.popups.get(\"link.insert\"),n=e.outerWidth()/2;h.image.hasCaption()&&(e=e.find(\".fr-img-wrap\"),m(e)&&m(e).find(\"img\")&&(n=m(e).find(\"img\").outerWidth()/2)),t||(t=s()),o(),h.popups.setContainer(\"link.insert\",h.$sc);var i=e.offset().left+n,r=e.offset().top+e.outerHeight(),a=e.outerHeight();h.opts.iframe&&h.image.hasCaption()&&m(e)&&m(e).find(\"img\")&&(a=m(e).find(\"img\").outerHeight()),h.popups.show(\"link.insert\",i,r,a,!0)}}return{_init:function e(){h.events.on(\"keyup\",function(e){e.which!=C.KEYCODE.ESC&&E(e)}),h.events.on(\"window.mouseup\",E),h.events.$on(h.$el,\"click\",\"a\",function(e){h.edit.isDisabled()&&e.preventDefault()}),h.helpers.isMobile()&&h.events.$on(h.$doc,\"selectionchange\",E),s(!0),\"A\"==h.el.tagName&&h.$el.addClass(\"fr-view\"),h.events.on(\"toolbar.esc\",function(){if(h.popups.isVisible(\"link.edit\"))return h.events.disableBlur(),h.events.focus(),!1},!0)},remove:function i(){var e=v(),t=h.image?h.image.get():null;if(!1===h.events.trigger(\"link.beforeRemove\",[e]))return!1;if(t&&e)if(h.image.hasCaption()){t.addClass(\"img-link-caption\"),m(e).replaceWith(m(e).html());var n=document.querySelectorAll(\"img.img-link-caption\");h.image.edit(m(n[0])),m(n[0]).removeClass(\"img-link-caption\")}else t.unwrap(),h.image.edit(t);else e&&(h.selection.save(),m(e).replaceWith(m(e).html()),h.selection.restore(),a())},showInsertPopup:function d(){var e=h.$tb.find('.fr-command[data-cmd=\"insertLink\"]'),t=h.popups.get(\"link.insert\");if(t||(t=s()),!t.hasClass(\"fr-active\"))if(h.popups.refresh(\"link.insert\"),h.popups.setContainer(\"link.insert\",h.$tb||h.$sc),e.isVisible()){var n=h.button.getPosition(e),i=n.left,r=n.top;h.popups.show(\"link.insert\",i,r,e.outerHeight())}else h.position.forSelection(t),h.popups.show(\"link.insert\")},usePredefined:function u(e){var t,n,i=h.opts.linkList[e],r=h.popups.get(\"link.insert\"),a=r.find('input.fr-link-attr[type=\"text\"]'),l=r.find('input.fr-link-attr[type=\"checkbox\"]');for(i.rel&&(r.rel=i.rel),n=0;n<a.length;n++)i[(t=m(a[n])).attr(\"name\")]?(t.val(i[t.attr(\"name\")]),t.toggleClass(\"fr-not-empty\",!0)):\"text\"!=t.attr(\"name\")&&t.val(\"\");for(n=0;n<l.length;n++)(t=m(l[n])).attr(\"checked\",t.data(\"checked\")==i[t.attr(\"name\")]);h.accessibility.focusPopup(r)},insertCallback:function k(){var e,t,n=h.popups.get(\"link.insert\"),i=n.find('input.fr-link-attr[type=\"text\"]'),r=n.find('input.fr-link-attr[type=\"checkbox\"]'),a=(i.filter('[name=\"href\"]').val()||\"\").trim(),l=h.opts.linkText?i.filter('[name=\"text\"]').val():\"\",s={};for(t=0;t<i.length;t++)e=m(i[t]),[\"href\",\"text\"].indexOf(e.attr(\"name\"))<0&&(s[e.attr(\"name\")]=e.val());for(t=0;t<r.length;t++)(e=m(r[t])).is(\":checked\")?s[e.attr(\"name\")]=e.data(\"checked\"):s[e.attr(\"name\")]=e.data(\"unchecked\")||null;n.rel&&(s.rel=n.rel);var o=h.helpers.scrollTop();c(a,l,s),m(h.o_win).scrollTop(o)},insert:c,update:p,get:v,allSelected:b,back:function t(){h.image&&h.image.get()?h.image.back():(h.events.disableBlur(),h.selection.restore(),h.events.enableBlur(),v()&&h.$wp?(h.selection.restore(),a(),E()):\"A\"==h.el.tagName?(h.$el.focus(),E()):(h.popups.hide(\"link.insert\"),h.toolbar.showInline()))},imageLink:f,applyStyle:function g(e,t,n){void 0===n&&(n=h.opts.linkMultipleStyles),void 0===t&&(t=h.opts.linkStyles);var i=v();if(!i)return!1;if(!n){var r=Object.keys(t);r.splice(r.indexOf(e),1),m(i).removeClass(r.join(\" \"))}m(i).toggleClass(e),E()}}},C.DefineIcon(\"insertLink\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),C.RegisterShortcut(C.KEYCODE.K,\"insertLink\",null,\"K\"),C.RegisterCommand(\"insertLink\",{title:\"Insert Link\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"link.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"link.insert\")):this.link.showInsertPopup()},plugin:\"link\"}),C.DefineIcon(\"linkOpen\",{NAME:\"external-link\",FA5NAME:\"external-link-alt\",SVG_KEY:\"openLink\"}),C.RegisterCommand(\"linkOpen\",{title:\"Open Link\",undo:!1,refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},callback:function(){var e=this.link.get();if(e){var t=e.getAttribute(\"href\");if(t&&t.startsWith(\"#_mso\")){var n='a[href=\"#'.concat(e.name,'\"]'),i=this.$el.find(n);i.length&&i.get(0).scrollIntoView({behavior:\"smooth\",block:\"center\"})}else-1!==e.href.indexOf(\"mailto:\")?this.o_win.open(e.href).close():(e.target||(e.target=\"_self\"),this.browser.msie||this.browser.edge?this.o_win.open(e.href,e.target):this.o_win.open(e.href,e.target,\"noopener\"));this.popups.hide(\"link.edit\")}},plugin:\"link\"}),C.DefineIcon(\"linkEdit\",{NAME:\"edit\",SVG_KEY:\"edit\"}),C.RegisterCommand(\"linkEdit\",{title:\"Edit Link\",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"}),C.DefineIcon(\"linkRemove\",{NAME:\"unlink\",SVG_KEY:\"unlink\"}),C.RegisterCommand(\"linkRemove\",{title:\"Unlink\",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"}),C.DefineIcon(\"linkBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),C.RegisterCommand(\"linkBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();(this.image?this.image.get():null)||t||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next(\".fr-separator\").removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next(\".fr-separator\").addClass(\"fr-hidden\"))},plugin:\"link\"}),C.DefineIcon(\"linkList\",{NAME:\"search\",SVG_KEY:\"search\"}),C.RegisterCommand(\"linkList\",{title:\"Choose Link\",type:\"dropdown\",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkList\" data-param1=\"'.concat(n,'\">').concat(t[n].displayText||t[n].text,\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){this.link.usePredefined(t)},plugin:\"link\"}),C.RegisterCommand(\"linkInsert\",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate(\"Update\")):e.text(this.language.translate(\"Insert\"))},plugin:\"link\"}),C.DefineIcon(\"imageLink\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),C.RegisterCommand(\"imageLink\",{title:\"Insert Link\",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass(\"fr-separator\")&&t.removeClass(\"fr-hidden\"),e.addClass(\"fr-hidden\")):((t=e.prev()).hasClass(\"fr-separator\")&&t.addClass(\"fr-hidden\"),e.removeClass(\"fr-hidden\"))},plugin:\"link\"}),C.DefineIcon(\"linkStyle\",{NAME:\"magic\",SVG_KEY:\"linkStyles\"}),C.RegisterCommand(\"linkStyle\",{title:\"Style\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkStyle\" data-param1=\"'.concat(n,'\">').concat(this.language.translate(t[n]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(e,t){var n=this.$,i=this.link.get();if(i){var r=n(i);t.find(\".fr-command\").each(function(){var e=n(this).data(\"param1\"),t=r.hasClass(e);n(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}},refresh:function(e){this.link.get()?e.removeClass(\"fr-hidden\"):e.addClass(\"fr-hidden\")},plugin:\"link\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(o){\"use strict\";o=o&&o.hasOwnProperty(\"default\")?o[\"default\"]:o,Object.assign(o.DEFAULTS,{listAdvancedTypes:!0}),o.PLUGINS.lists=function(m){var g=m.$;function u(e){return'<span class=\"fr-open-'.concat(e.toLowerCase(),'\"></span>')}function h(e){return'<span class=\"fr-close-'.concat(e.toLowerCase(),'\"></span>')}function c(e,t){!function c(e,t){for(var a=[],n=0;n<e.length;n++){var r=e[n].parentNode;\"LI\"==e[n].tagName&&r.tagName!=t&&a.indexOf(r)<0&&a.push(r)}for(var o=a.length-1;0<=o;o--){var l=g(a[o]);l.replaceWith(\"<\".concat(t.toLowerCase(),\" \").concat(m.node.attributes(l.get(0)),\">\").concat(l.html(),\"</\").concat(t.toLowerCase(),\">\"))}}(e,t);var a,n=m.html.defaultTag(),r=null;e.length&&(a=\"rtl\"==m.opts.direction||\"rtl\"==g(e[0]).css(\"direction\")?\"margin-right\":\"margin-left\");for(var o=0;o<e.length;o++)if(\"TD\"!=e[o].tagName&&\"TH\"!=e[o].tagName&&\"LI\"!=e[o].tagName){var l=m.helpers.getPX(g(e[o]).css(a))||0;(e[o].style.marginLeft=null)===r&&(r=l);var i=0<r?\"<\".concat(t,' style=\"').concat(a,\": \").concat(r,'px \">'):\"<\".concat(t,\">\"),s=\"</\".concat(t,\">\");for(l-=r;0<l/m.opts.indentMargin;)i+=\"</\".concat(t,\">\"),s+=s,l-=m.opts.indentMargin;n&&e[o].tagName.toLowerCase()==n?g(e[o]).replaceWith(\"\".concat(i,\"<li\").concat(m.node.attributes(e[o]),\">\").concat(g(e[o]).html(),\"</li>\").concat(s)):g(e[o]).wrap(\"\".concat(i,\"<li></li>\").concat(s))}m.clean.lists()}function d(e){var n,t,a=[];for(n=e.length-1;0<=n;n--)for(t=n-1;0<=t;t--){if(g(e[t]).find(e[n]).length||e[t]==e[n]){g(e[n]).addClass(\"fr-removed-block-\".concat(n)),a.push(n),e.splice(n,1);break}if(g(e[t]).contains(e[n])){g(e[t]).addClass(\"fr-removed-block-\".concat(t)),a.push(t),e.splice(t,1);break}}var r=[],o=!1;for(n=0;n<e.length;n++){var l=g(e[n]),i=e[n].parentNode,s=l.attr(\"class\");if(l.is(\":first-child\")&&(o=!0,g(i.parentNode).removeAttr(\"start\")),l.before(h(i.tagName)),\"LI\"==i.parentNode.tagName){if(l.is(\":last-child\")){var c=l.find(\"> ul, > ol\").last();c.length&&c.wrap(\"<\".concat(i.tagName,\">\"))}l.before(h(\"LI\")),l.after(u(\"LI\"))}else if(\"OL\"==i.parentNode.tagName)o||(l.before(h(\"OL\")),l.after(u(\"OL\")));else if(\"UL\"==i.parentNode.tagName)o||(l.before(h(\"UL\")),l.after(u(\"UL\")));else{var d=\"\";s&&(d+=' class=\"'.concat(s,'\"'));var p=\"rtl\"==m.opts.direction||\"rtl\"==l.css(\"direction\")?\"margin-right\":\"margin-left\";m.helpers.getPX(g(i).css(p))&&0<=(g(i).attr(\"style\")||\"\").indexOf(\"\".concat(p,\":\"))&&(d+=' style=\"'.concat(p,\":\").concat(m.helpers.getPX(g(i).css(p)),'px;\"')),m.html.defaultTag()&&0===l.find(m.html.blockTagsQuery()).length&&l.wrapInner(\"<\".concat(m.html.defaultTag()).concat(d,\"></\").concat(m.html.defaultTag(),\">\")),m.node.isEmpty(l.get(0),!0)||0!==l.find(m.html.blockTagsQuery()).length||(\"DIV\"==i.parentNode.tagName&&m.html.defaultTag()?(l.prepend(u(m.html.defaultTag())),l.append(h(m.html.defaultTag()))):l.append(\"<br>\")),l.append(u(\"LI\")),l.prepend(h(\"LI\"))}l.after(u(i.tagName)),\"LI\"==i.parentNode.tagName&&(i=i.parentNode.parentNode),r.indexOf(i)<0&&r.push(i)}var f=function f(){var e=g(r[n]),t=e.html(),a=m.helpers.getPX(e.css(\"margin-left\"))||0;t=(t=t.replace(/<span class=\"fr-open-([a-z]*)\"><\\/span>/g,function(e,t){return 0<a?\"<\".concat(t,' style=\"margin-left:').concat(a,'px;\">'):\"<\".concat(t,\">\")})).replace(/<span class=\"fr-close-([a-z]*)\"><\\/span>/g,\"</$1>\"),e.replaceWith(m.node.openTagString(e.get(0))+t+m.node.closeTagString(e.get(0)))};for(n=0;n<r.length;n++)f();return m.$el.find(\"li:empty\").remove(),m.$el.find(\"ul:empty, ol:empty\").remove(),m.clean.lists(),m.$el.find(\"ul:empty, ol:empty\").remove(),m.html.wrap(),a}function N(e,t){var a=g(document.createElement(\"li\"));if(e.childNodes.length)for(var n=e.childNodes[0].attributes,r=0;r<n.length;r++){var o=n[r];\"style\"===o.name&&(a[0].style.cssText+=o.value)}g(e).prepend(a),g(e).removeAttr(\"start\");for(var l=m.node.contents(t)[0];l&&!m.node.isList(l);){var i=l.nextSibling;a.append(l),l=i}}function e(e){if(\"indent\"==e||\"outdent\"==e){var t=!1,a=m.selection.blocks(!1,!0),n=[],r=a[0].previousSibling||a[0].parentElement;if(\"outdent\"==e){if(\"UL\"!=a[0].parentNode.tagName&&\"UL\"!=r.parentNode.tagName&&\"OL\"!=r.parentNode.tagName&&\"LI\"!=r.parentNode.tagName)return;if(!a[0].previousSibling&&\"none\"==r.parentNode.style.listStyleType)return void function l(e){for(m.selection.save();0<e.childNodes.length;)e.parentNode.parentNode.append(e.childNodes[0]);m.clean.lists(),m.selection.restore()}(r)}else{if(\"UL\"!=a[0].parentElement.tagName&&\"OL\"!=a[0].parentElement.tagName&&\"LI\"!=a[0].parentElement.tagName)return;if(m.node.isBlock(a[0])&&\"LI\"!==a[0].tagName&&0<g(a[0]).parentsUntil(m.$el,\"LI\").length&&(a[0]=a[0].parentElement,r=a[0].parentElement),!a[0].previousSibling||\"LI\"!=a[0].previousSibling.tagName){if(r&&[\"UL\",\"OL\"].includes(r.tagName))return void function i(e){m.selection.save();var t=\"OL\"==e.tagName?document.createElement(\"ol\"):document.createElement(\"ul\");for(g(t).css(\"list-style-type\",g(e).css(\"list-style-type\"));0<e.childNodes.length;)t.append(e.childNodes[0]);var a=g(document.createElement(\"li\"));a.css(\"list-style-type\",\"none\"),a.append(t),e.append(a.get(0)),m.clean.lists(),m.selection.restore()}(r);t=!0}}for(var o=0;o<a.length;o++)\"LI\"==a[o].tagName?(t=!0,n.push(a[o])):\"LI\"==a[o].parentNode.tagName&&n.indexOf(a[o].parentNode)<0&&(t=!0,n.push(a[o].parentNode));t&&(\"indent\"==e?function f(e){m.selection.save();for(var t=!1,a=0;a<e.length;a++){var n=e[a].previousSibling;if(n&&\"LI\"==n.tagName&&!t){var r=g(e[a]).find(\"> ul, > ol\").last().get(0);if(r)N(r,e[a]),g(n).append(g(r)),g(e[a]).remove();else{var o=g(n).find(\"> ul, > ol\").last().get(0);if(o)g(o).append(g(e[a]));else{var l=g(\"<\".concat(e[a].parentNode.tagName,\">\"));g(n).append(l),l.append(g(e[a]))}}}else if(!n||\"OL\"!=n.tagName&&\"UL\"!=n.tagName){var i=e[a].parentNode;if(t=!0,\"UL\"==i.tagName||\"OL\"==i.tagName){var s=g(e[a]).find(\"> ol, > ul\"),c=null==e[a].previousSibling;if(s.length){var d=s.first().get(0);N(d,e[a]),c?g(i).prepend(g(d)):g(i).append(g(d)),g(e[a]).remove()}else g(e[a]).wrap(\"<\".concat(i.tagName,\">\"));c&&0<g(i).find(\"> li\").length&&g(i).attr(\"start\",\"2\")}}else{var p=g(e[a]).find(\"> ol, > ul\").first().get(0);p?(N(p,e[a]),g(n).append(g(p).children()),g(e[a]).remove(),g(p).remove()):g(n).append(g(e[a]))}}m.clean.lists(),m.selection.restore()}(n):function s(e){m.selection.save();var t=[];do{t=d(e),e=[];for(var a=0;a<t.length;a++){var n=m.$el.find(\".fr-removed-block-\".concat(t[a])).first().get(0);g(n).removeClass(\"fr-removed-block-\".concat(t[a])),\"\"==g(n).attr(\"class\")&&g(n).removeAttr(\"class\"),e.push(n)}}while(0<t.length);m.selection.restore()}(n))}}return{_init:function t(){m.events.on(\"commands.after\",e),m.events.on(\"keydown\",function(e){if(e.which==o.KEYCODE.TAB||(e.ctrlKey||e.metaKey)&&\"]\"===e.key){if(!e.shiftKey&&m.$tb.find('[data-cmd=\"indent\"]').hasClass(\"fr-disabled\"))return e.preventDefault(),e.stopPropagation(),!1;for(var t=m.selection.blocks(),a=[],n=0;n<t.length;n++)\"LI\"==t[n].tagName?a.push(t[n]):\"LI\"==t[n].parentNode.tagName&&a.push(t[n].parentNode);if(1<=a.length||a.length&&(m.selection.info(a[0]).atStart||m.node.isEmpty(a[0])))return e.preventDefault(),e.stopPropagation(),e.shiftKey?m.commands.outdent():m.commands.indent(),!1}},!0)},format:function p(e,t){var a,n,r=1<(n=m.selection.blocks(!0)).length&&n[n.length-1],o=m.selection.ranges();if(r&&o.length&&m.node.isEmpty(r)&&!o[0].endOffset&&o[0].setEndAfter(r.firstChild,1),m.html.syncInputs(),m.selection.save(),m.browser.safari&&m.helpers.getSafariVersion()<17){var l=m.selection.ranges();if(o&&o[0].endContainer&&l&&l[0].endContainer&&!o[0].endContainer.isSameNode(l[0].endContainer)&&o[0].endContainer.previousSibling&&o[0].endContainer.previousSibling.isSameNode(l[0].endContainer)){var i=g(l[0].endContainer).find('.fr-marker[data-type=\"false\"]');g(o[0].endContainer).append(i[0])}}for(m.html.wrap(!0,!0,!0,!0),m.selection.restore(),n=m.selection.blocks(!0),a=0;a<n.length;a++)\"LI\"!=n[a].tagName&&\"LI\"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);if(m.selection.save(),function s(e,t){for(var a=!0,n=0;n<e.length;n++){if(\"LI\"!=e[n].tagName)return!1;e[n].parentNode.tagName!=t&&(a=!1)}return a}(n,e)?t||d(n):c(n,e),m.html.unwrap(),m.selection.restore(),t=t||\"default\"){for(n=m.selection.blocks(),a=0;a<n.length;a++)\"LI\"!=n[a].tagName&&\"LI\"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);for(a=0;a<n.length;a++)\"LI\"==n[a].tagName&&(g(n[a].parentNode).css(\"list-style-type\",\"default\"===t?\"\":t),0===(g(n[a].parentNode).attr(\"style\")||\"\").length&&g(n[a].parentNode).removeAttr(\"style\"))}},refresh:function r(e,t){var a=g(m.selection.element());if(a.get(0)!=m.el){var n=a.get(0);(n=\"LI\"!=n.tagName&&n.firstElementChild&&\"LI\"!=n.firstElementChild.tagName?a.parents(\"li\").get(0):\"LI\"==n.tagName||n.firstElementChild?n.firstElementChild&&\"LI\"==n.firstElementChild.tagName?a.get(0).firstChild:a.get(0):a.parents(\"li\").get(0))&&n.parentNode.tagName==t&&m.el.contains(n.parentNode)&&e.addClass(\"fr-active\")}}}},o.DefineIcon(\"formatOLSimple\",{NAME:\"list-ol\",SVG_KEY:\"orderedList\"}),o.RegisterCommand(\"formatOLSimple\",{title:\"Ordered List\",type:\"button\",options:{\"default\":\"Default\",circle:\"Circle\",disc:\"Disc\",square:\"Square\"},refresh:function(e){this.lists.refresh(e,\"OL\")},callback:function(e,t){this.lists.format(\"OL\",t)},plugin:\"lists\"}),o.RegisterCommand(\"formatUL\",{title:\"Unordered List\",type:\"button\",hasOptions:function(){return this.opts.listAdvancedTypes},options:{\"default\":\"Default\",circle:\"Circle\",disc:\"Disc\",square:\"Square\"},refresh:function(e){this.lists.refresh(e,\"UL\")},callback:function(e,t){this.lists.format(\"UL\",t)},plugin:\"lists\"}),o.RegisterCommand(\"formatOL\",{title:\"Ordered List\",hasOptions:function(){return this.opts.listAdvancedTypes},options:{\"default\":\"Default\",\"lower-alpha\":\"Lower Alpha\",\"lower-greek\":\"Lower Greek\",\"lower-roman\":\"Lower Roman\",\"upper-alpha\":\"Upper Alpha\",\"upper-roman\":\"Upper Roman\"},refresh:function(e){this.lists.refresh(e,\"OL\")},callback:function(e,t){this.lists.format(\"OL\",t)},plugin:\"lists\"}),o.DefineIcon(\"formatUL\",{NAME:\"list-ul\",SVG_KEY:\"unorderedList\"}),o.DefineIcon(\"formatOL\",{NAME:\"list-ol\",SVG_KEY:\"orderedList\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(a,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(a.FroalaEditor)}(this,function(a){\"use strict\";a=a&&a.hasOwnProperty(\"default\")?a[\"default\"]:a,Object.assign(a.DEFAULTS,{paragraphFormat:{N:\"Normal\",H1:\"Heading 1\",H2:\"Heading 2\",H3:\"Heading 3\",H4:\"Heading 4\",PRE:\"Code\"},paragraphFormatSelection:!1,paragraphDefaultSelection:\"Paragraph Format\"}),a.PLUGINS.paragraphFormat=function(h){var g=h.$;function c(a,t){var e=h.html.defaultTag();if(t&&t.toLowerCase()!=e)if(0<a.find(\"ul, ol\").length){var r=g(\"<\"+t+\">\");a.prepend(r);for(var n=h.node.contents(a.get(0))[0];n&&[\"UL\",\"OL\"].indexOf(n.tagName)<0;){var o=n.nextSibling;r.append(n),n=o}}else a.html(\"<\"+t+\">\"+a.html()+\"</\"+t+\">\")}return{apply:function u(a){\"N\"==a&&(a=h.html.defaultTag()),h.selection.save(),h.html.wrap(!0,!0,!h.opts.paragraphFormat.BLOCKQUOTE,!0,!0),h.selection.restore();var t,e,r,n,o,i,p,l,s=h.selection.blocks();h.selection.save(),h.$el.find(\"pre\").attr(\"skip\",!0);for(var m=0;m<s.length;m++)if(s[m].tagName!=a&&!h.node.isList(s[m])){var d=g(s[m]);if(\"LI\"==s[m].tagName)c(d,a);else if(\"LI\"==s[m].parentNode.tagName&&s[m])i=d,p=a,l=h.html.defaultTag(),p&&p.toLowerCase()!=l||(p='div class=\"fr-temp-div\"'),i.replaceWith(g(\"<\"+p+\">\").html(i.html()));else if(0<=[\"TD\",\"TH\"].indexOf(s[m].parentNode.tagName))r=d,n=a,o=h.html.defaultTag(),n||(n='div class=\"fr-temp-div\"'+(h.node.isEmpty(r.get(0),!0)?' data-empty=\"true\"':\"\")),n.toLowerCase()==o?(h.node.isEmpty(r.get(0),!0)||r.append(\"<br/>\"),r.replaceWith(r.html())):r.replaceWith(g(\"<\"+n+\">\").html(r.html()));else{if(\"PRE\"===a&&null===d[0].nextSibling){var f=g(\"<br>\");d[0].after(f[0])}t=d,(e=a)||(e='div class=\"fr-temp-div\"'+(h.node.isEmpty(t.get(0),!0)?' data-empty=\"true\"':\"\")),(\"H1\"==e||\"H2\"==e||\"H3\"==e||\"H4\"==e||\"H5\"==e)&&-1<h.node.attributes(t.get(0)).indexOf(\"font-size:\")?t.replaceWith(g(\"<\"+e+\" \"+h.node.attributes(t.get(0)).replace(/font-size:[0-9]+px;?/,\"\")+\">\").html(t.html()).removeAttr(\"data-empty\")):t.replaceWith(g(\"<\"+e+\" \"+h.node.attributes(t.get(0))+\">\").html(t.html()).removeAttr(\"data-empty\"))}}h.$el.find('pre:not([skip=\"true\"]) + pre:not([skip=\"true\"])').each(function(){g(this).prev().append(\"<br>\"+g(this).html()),g(this).remove()}),h.$el.find(\"pre\").removeAttr(\"skip\"),h.html.unwrap(),h.selection.restore()},refreshOnShow:function i(a,t){var e=h.selection.blocks();if(e.length){var r=e[0],n=\"N\",o=h.html.defaultTag();r.tagName.toLowerCase()!=o&&r!=h.el&&(n=r.tagName),t.find('.fr-command[data-param1=\"'+n+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}else t.find('.fr-command[data-param1=\"N\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)},refresh:function o(a){if(h.opts.paragraphFormatSelection){var t=h.selection.blocks();if(t.length){var e=t[0],r=\"N\",n=h.html.defaultTag();e.tagName.toLowerCase()!=n&&e!=h.el&&(r=e.tagName),0<=[\"LI\",\"TD\",\"TH\"].indexOf(r)&&(r=\"N\"),a.find(\">span\").text(h.language.translate(h.opts.paragraphFormat[r]))}else a.find(\">span\").text(h.language.translate(h.opts.paragraphFormat.N))}}}},a.RegisterCommand(\"paragraphFormat\",{type:\"dropdown\",displaySelection:function(a){return a.opts.paragraphFormatSelection},defaultSelection:function(a){return a.language.translate(a.opts.paragraphDefaultSelection)},displaySelectionWidth:80,html:function(){var a='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.paragraphFormat;for(var e in t)if(t.hasOwnProperty(e)){var r=this.shortcuts.get(\"paragraphFormat.\"+e);r=r?'<span class=\"fr-shortcut\">'+r+\"</span>\":\"\",a+='<li role=\"presentation\"><'+(\"N\"==e?this.html.defaultTag()||\"DIV\":e)+' style=\"padding: 0 !important; margin: 0 !important; border: 0 !important; background-color: transparent !important; '+(\"PRE\"==e||\"N\"==e?\"font-size: 15px\":\"font-weight: bold !important; \")+(\"H1\"==e?\"font-size: 2em !important; \":\"\")+(\"H2\"==e?\"font-size: 1.5em !important; \":\"\")+(\"H3\"==e?\"font-size: 1.17em !important; \":\"\")+(\"H4\"==e?\"font-size: 15px !important;\":\"\")+'\"  role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphFormat\" data-param1=\"'+e+'\" title=\"'+this.language.translate(t[e])+'\">'+this.language.translate(t[e])+\"</a></\"+(\"N\"==e?this.html.defaultTag()||\"DIV\":e)+\"></li>\"}return a+=\"</ul>\"},title:\"Paragraph Format\",callback:function(a,t){this.paragraphFormat.apply(t)},refresh:function(a){this.paragraphFormat.refresh(a)},refreshOnShow:function(a,t){this.paragraphFormat.refreshOnShow(a,t)},plugin:\"paragraphFormat\"}),a.DefineIcon(\"paragraphFormat\",{NAME:\"paragraph\",SVG_KEY:\"paragraphFormat\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(a,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],e):e(a.FroalaEditor)}(this,function(a){\"use strict\";a=a&&a.hasOwnProperty(\"default\")?a[\"default\"]:a,Object.assign(a.DEFAULTS,{paragraphStyles:{\"fr-text-gray\":\"Gray\",\"fr-text-bordered\":\"Bordered\",\"fr-text-spaced\":\"Spaced\",\"fr-text-uppercase\":\"Uppercase\"},paragraphMultipleStyles:!0}),a.PLUGINS.paragraphStyle=function(i){var p=i.$;return{_init:function a(){},apply:function c(a,e,t){void 0===e&&(e=i.opts.paragraphStyles),void 0===t&&(t=i.opts.paragraphMultipleStyles);var r=\"\";t||((r=Object.keys(e)).splice(r.indexOf(a),1),r=r.join(\" \")),i.selection.save(),i.html.wrap(!0,!0,!0,!0),i.selection.restore();var l=i.selection.blocks();i.selection.save();for(var n=p(l[0]).hasClass(a),s=0;s<l.length;s++)p(l[s]).removeClass(r).toggleClass(a,!n),p(l[s]).hasClass(\"fr-temp-div\")&&p(l[s]).removeClass(\"fr-temp-div\"),\"\"===p(l[s]).attr(\"class\")&&p(l[s]).removeAttr(\"class\");if(1===l.length&&\"fr-text-bordered\"===a&&null===l[0].nextSibling){var o=p(\"<br>\");l[0].after(o[0])}i.html.unwrap(),i.selection.restore()},refreshOnShow:function l(a,e){var t=i.selection.blocks();if(t.length){var r=p(t[0]);e.find(\".fr-command\").each(function(){var a=p(this).data(\"param1\"),e=r.hasClass(a);p(this).toggleClass(\"fr-active\",e).attr(\"aria-selected\",e)})}}}},a.RegisterCommand(\"paragraphStyle\",{type:\"dropdown\",html:function(){var a='<ul class=\"fr-dropdown-list\" role=\"presentation\">',e=this.opts.paragraphStyles;for(var t in e)e.hasOwnProperty(t)&&(a+='<li role=\"presentation\"><a class=\"fr-command '.concat(t,'\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphStyle\" data-param1=\"').concat(t,'\" title=\"').concat(this.language.translate(e[t]),'\">').concat(this.language.translate(e[t]),\"</a></li>\"));return a+=\"</ul>\"},title:\"Paragraph Style\",callback:function(a,e){this.paragraphStyle.apply(e)},refreshOnShow:function(a,e){this.paragraphStyle.refreshOnShow(a,e)},plugin:\"paragraphStyle\"}),a.DefineIcon(\"paragraphStyle\",{NAME:\"magic\",SVG_KEY:\"paragraphStyle\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(e){\"use strict\";(e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e).PLUGINS.quote=function(r){var c=r.$;function s(e){for(;e.parentNode&&e.parentNode!=r.el;)e=e.parentNode;return e}return{apply:function t(e){r.selection.save(),r.html.wrap(!0,!0,!0,!0),r.selection.restore(),\"increase\"==e?function o(){var e,t=r.selection.blocks();for(e=0;e<t.length;e++)t[e]=s(t[e]);r.selection.save();var n=c(document.createElement(\"blockquote\"));for(n.insertBefore(t[0]),e=0;e<t.length;e++)n.append(t[e]);r.opts.trackChangesEnabled&&r.track_changes.addQuote(n),r.html.unwrap(),r.selection.restore()}():\"decrease\"==e&&function a(){var e,t=r.opts.trackChangesEnabled,n=r.selection.blocks();for(e=0;e<n.length;e++)\"BLOCKQUOTE\"!=n[e].tagName&&(n[e]=t&&c(n[e]).parentsUntil(r.$el,\"[data-track-id^=pending]\").get(0)||c(n[e]).parentsUntil(r.$el,\"BLOCKQUOTE\").get(0));for(r.selection.save(),e=0;e<n.length;e++)n[e]&&(t?r.track_changes.removeQuote(c(n[e]),e):c(n[e]).replaceWith(n[e].innerHTML));r.html.unwrap(),r.selection.restore()}()}}},e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,\"quote\",\"increase\",\"'\"),e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,\"quote\",\"decrease\",\"'\",!0),e.RegisterCommand(\"quote\",{title:\"Quote\",type:\"dropdown\",html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t={increase:\"Increase\",decrease:\"Decrease\"};for(var n in t)if(t.hasOwnProperty(n)){var o=this.shortcuts.get(\"quote.\".concat(n));e+='<li role=\"presentation\"><a class=\"fr-command fr-active '.concat(n,'\" tabIndex=\"-1\" role=\"option\" data-cmd=\"quote\" data-param1=\"').concat(n,'\" title=\"').concat(t[n],'\">').concat(this.language.translate(t[n])).concat(o?'<span class=\"fr-shortcut\">'.concat(o,\"</span>\"):\"\",\"</a></li>\")}return e+=\"</ul>\"},callback:function(e,t){this.quote.apply(t)},plugin:\"quote\"}),e.DefineIcon(\"quote\",{NAME:\"quote-left\",SVG_KEY:\"blockquote\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(e){\"use strict\";e=e&&e.hasOwnProperty(\"default\")?e[\"default\"]:e,Object.assign(e.DEFAULTS,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:\"body\",saveMethod:\"POST\"}),e.PLUGINS.save=function(i){var f=i.$,n=null,l=null,t=!1,v=1,c=2,s={};function u(e,t){i.events.trigger(\"save.error\",[{code:e,message:s[e]},t])}function a(e){void 0===e&&(e=i.html.get());var n=e,t=i.events.trigger(\"save.before\",[e]);if(!1===t)return!1;if(\"string\"==typeof t&&(e=t),i.opts.saveURL){var s={};for(var a in i.opts.saveParams)if(i.opts.saveParams.hasOwnProperty(a)){var o=i.opts.saveParams[a];s[a]=\"function\"==typeof o?o.call(this):o}var r={};r[i.opts.saveParam]=e,f(this).ajax({method:i.opts.saveMethod,url:i.opts.saveURL,data:Object.assign(r,s),crossDomain:i.opts.requestWithCORS,withCredentials:i.opts.requestWithCredentials,headers:i.opts.requestHeaders,done:function(e,t,s){l=n,i.events.trigger(\"save.after\",[e])},fail:function(e){u(c,e.response||e.responseText)}})}else u(v)}function o(){clearTimeout(n),n=setTimeout(function(){var e=i.html.get();(l!=e||t)&&(t=!1,a(l=e))},0)}return s[v]=\"Missing saveURL option.\",s[c]=\"Something went wrong during save.\",{_init:function r(){if(i.opts.letteringClass)for(var e=i.opts.letteringClass,t=i.$el.find(\".\".concat(e)).length,s=0;s<t;s++)i.$el.find(\".\".concat(e))[s].innerHTML=i.$el.find(\".\".concat(e))[s].innerText.replace(/([\\w'-]+|[?.\",])/g,\"<span class = 'fr-word-select'>$1</span>\");i.opts.saveInterval&&(l=i.html.get(),i.events.on(\"contentChanged\",function(){setTimeout(o,i.opts.saveInterval)}),i.events.on(\"keydown destroy\",function(){clearTimeout(n)}))},save:a,reset:function e(){o(),t=!1},force:function d(){t=!0}}},e.DefineIcon(\"save\",{NAME:\"floppy-o\",FA5NAME:\"save\"}),e.RegisterCommand(\"save\",{title:\"Save\",undo:!1,focus:!1,refreshAfterCallback:!1,callback:function(){this.save.save()},plugin:\"save\"})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(je){\"use strict\";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,l=Array(t);a<t;a++)l[a]=e[a];return l}function Ge(e){return function t(e){if(Array.isArray(e))return n(e)}(e)||function a(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function l(e,t){if(e){if(\"string\"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}(e)||function r(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}je=je&&je.hasOwnProperty(\"default\")?je[\"default\"]:je,Object.assign(je.POPUP_TEMPLATES,{\"table.insert\":\"[_BUTTONS_][_ROWS_COLUMNS_]\",\"table.edit\":\"[_BUTTONS_]\",\"table.colors\":\"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]\",\"table.cellProperties\":\"[_CELL_PROPERTIES_FORM_][_BUTTONS_]\",\"table.tableProperties\":\"[_TABLE_PROPERTIES_FORM_][_BUTTONS_]\"}),Object.assign(je.DEFAULTS,{tableInsertMaxSize:10,tableEditButtons:[\"tableHeader\",\"tableFooter\",\"tableRemove\",\"tableRows\",\"tableColumns\",\"tableProperties\",\"-\",\"tableCells\",\"tableCellProperties\",\"tableCellVerticalAlign\",\"tableCellHorizontalAlign\",\"tableCellStyle\"],tableInsertButtons:[\"tableBack\",\"|\"],tableResizer:!0,tableDefaultWidth:\"50%\",tableDefaultAlign:\"center\",tableDefaultHeight:\"100px\",tableDefaultBGColor:\"\",tableDefaultBorderColor:\"\",tableDefaultBorderWidth:\"1px\",tableDefaultBorderStyle:\"solid\",tableBorderStyle:[\"solid\",\"dashed\",\"dotted\",\"double\",\"groove\",\"ridge\",\"inset\",\"outset\"],tableResizerOffset:5,tableResizingLimit:30,tableColorsButtons:[\"tableBack\",\"|\"],tableColors:[\"#61BD6D\",\"#1ABC9C\",\"#54ACD2\",\"#2C82C9\",\"#9365B8\",\"#475577\",\"#CCCCCC\",\"#41A85F\",\"#00A885\",\"#3D8EB9\",\"#2969B0\",\"#553982\",\"#28324E\",\"#000000\",\"#F7DA64\",\"#FBA026\",\"#EB6B56\",\"#E25041\",\"#A38F84\",\"#EFEFEF\",\"#FFFFFF\",\"#FAC51C\",\"#F37934\",\"#D14841\",\"#B8312F\",\"#7C706B\",\"#D1D5D8\",\"REMOVE\"],tableColorsStep:7,tableCellStyles:{\"fr-highlighted\":\"Highlighted\",\"fr-thick\":\"Thick\"},tableStyles:{\"fr-dashed-borders\":\"Dashed Borders\",\"fr-alternate-rows\":\"Alternate Rows\"},tableCellMultipleStyles:!0,tableMultipleStyles:!0,tableInsertHelper:!0,keepTextFormatOnTable:!1,tableInsertHelperOffset:15,proportionalTableResize:!0,enableTableSelection:!0}),je.PLUGINS.table=function(Y){var W,c,p,b,l,f,h,u,g,Z=Y.$,i=!1,s={};function C(){var e=j();if(e){var t=Y.popups.get(\"table.edit\");if(t||(t=o()),t){Y.popups.setContainer(\"table.edit\",Y.$sc);var a=_(e),l=a.left+(a.right-a.left)/2,r=a.bottom;Y.popups.show(\"table.edit\",l,r,a.bottom-a.top,!0),Y.edit.isDisabled()&&(Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),Y.button.bulkRefresh(),Y.selection.setAtEnd(Y.$el.find(\".fr-selected-cell\").last().get(0)),Y.selection.restore())}}}function r(){0===ge().length&&Y.toolbar.enable()}function n(e){if(e)return Y.popups.onHide(\"table.insert\",function(){Y.popups.get(\"table.insert\").find('.fr-table-size .fr-select-table-size > span[data-row=\"1\"][data-col=\"1\"]').trigger(\"mouseover\")}),!0;var t=\"\";0<Y.opts.tableInsertButtons.length&&(t='<div class=\"fr-buttons fr-tabs\">'.concat(Y.button.buildList(Y.opts.tableInsertButtons),\"</div>\"));var a={buttons:t,rows_columns:function n(){for(var e='<div class=\"fr-table-size\"><div class=\"fr-table-size-info\">1 &times; 1</div><div class=\"fr-select-table-size\">',t=1;t<=Y.opts.tableInsertMaxSize;t++){for(var a=1;a<=Y.opts.tableInsertMaxSize;a++){var l=\"inline-block\";2<t&&!Y.helpers.isMobile()&&(l=\"none\");var r=\"fr-table-cell \";1==t&&1==a&&(r+=\" hover\"),e+='<span class=\"fr-command '.concat(r,'\" tabIndex=\"-1\" data-cmd=\"tableInsert\" data-row=\"').concat(t,'\" data-col=\"').concat(a,'\" data-param1=\"').concat(t,'\" data-param2=\"').concat(a,'\" style=\"display: ').concat(l,';\" role=\"button\"><span></span><span class=\"fr-sr-only\">').concat(t,\" &times; \").concat(a,\"&nbsp;&nbsp;&nbsp;</span></span>\")}e+='<div class=\"new-line\"></div>'}return e+=\"</div></div>\"}()},l=Y.popups.create(\"table.insert\",a);return Y.events.$on(l,\"mouseover\",\".fr-table-size .fr-select-table-size .fr-table-cell\",function(e){d(Z(e.currentTarget))},!0),function r(e){Y.events.$on(e,\"focus\",\"[tabIndex]\",function(e){var t=Z(e.currentTarget);d(t)}),Y.events.on(\"popup.tab\",function(e){var t=Z(e.currentTarget);if(!Y.popups.isVisible(\"table.insert\")||!t.is(\"span, a\"))return!0;var a,l=e.which;if(je.KEYCODE.ARROW_UP==l||je.KEYCODE.ARROW_DOWN==l||je.KEYCODE.ARROW_LEFT==l||je.KEYCODE.ARROW_RIGHT==l){if(t.is(\"span.fr-table-cell\")){var r=t.parent().find(\"span.fr-table-cell\"),n=r.index(t),o=Y.opts.tableInsertMaxSize,i=n%o,s=Math.floor(n/o);je.KEYCODE.ARROW_UP==l?s=Math.max(0,s-1):je.KEYCODE.ARROW_DOWN==l?s=Math.min(Y.opts.tableInsertMaxSize-1,s+1):je.KEYCODE.ARROW_LEFT==l?i=Math.max(0,i-1):je.KEYCODE.ARROW_RIGHT==l&&(i=Math.min(Y.opts.tableInsertMaxSize-1,i+1));var c=s*o+i,f=Z(r.get(c));d(f),Y.events.disableBlur(),f.focus(),a=!1}}else je.KEYCODE.ENTER==l&&(Y.button.exec(t),a=!1);return!1===a&&(e.preventDefault(),e.stopPropagation()),a},!0)}(l),l}function d(e){var t=e.data(\"row\");null!==t&&(t=parseInt(t));var a=e.data(\"col\");null!==a&&(a=parseInt(a));var l=e.parent();l.siblings(\".fr-table-size-info\").html(\"\".concat(t,\" &times; \").concat(a)),l.find(\"> span\").removeClass(\"hover fr-active-item\");for(var r=1;r<=Y.opts.tableInsertMaxSize;r++)for(var n=0;n<=Y.opts.tableInsertMaxSize;n++){var o=l.find('> span[data-row=\"'.concat(r,'\"][data-col=\"').concat(n,'\"]'));r<=t&&n<=a?o.addClass(\"hover\"):r<=t+1||r<=2&&!Y.helpers.isMobile()?o.css(\"display\",\"inline-block\"):2<r&&!Y.helpers.isMobile()&&o.css(\"display\",\"none\")}e.addClass(\"fr-active-item\")}function o(e){if(e)return Y.popups.onHide(\"table.edit\",r),!0;if(0<Y.opts.tableEditButtons.length){var t={buttons:'<div class=\"fr-buttons\">'.concat(Y.button.buildList(Y.opts.tableEditButtons),\"</div>\")},a=Y.popups.create(\"table.edit\",t);return Y.events.$on(Y.$wp,\"scroll.table-edit\",function(){Y.popups.isVisible(\"table.edit\")&&C()}),a}return!1}function T(e,t,a){var l=Z(e),r=Z(t);a&&\"REMOVE\"!==a&&\"transparent\"!==a&&\"rgba(0, 0, 0, 0)\"!==a?(l.css(\"background-color\",a),r.css(\"display\",\"none\")):(l.css(\"background-color\",\"transparent\"),r.css(\"display\",\"block\"))}function m(){var e=Y.popups.get(\"table.cellProperties\");if(!e){e=Y.popups.create(\"table.cellProperties\",{cell_properties_form:'\\n          <div class=\"fr-cell-properties-form\">\\n            <div class=\"fr-cell-properties-section\">\\n              <label>Background</label>\\n              <div class=\"fr-cell-bg-container\">\\n                <input type=\"text\" id=\"fr-cell-bg\" class=\"fr-input\" tabIndex=\"1\" placeholder=\"Color\">\\n                <button type=\"button\" class=\"fr-command fr-btn-cell-bg-color\" tabIndex=\"2\" data-param1=\"cell\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-color-preview\">\\n                    <div class=\"fr-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n              </div>\\n            </div>\\n        \\n            <div class=\"fr-cell-dimensions-container\">\\n              <div class=\"fr-cell-dimension-section\">\\n                <label>Dimensions</label>\\n                <div class=\"fr-dimension-inputs\">\\n                  <input type=\"text\" id=\"fr-cell-width\" tabIndex=\"3\" placeholder=\"Width\">\\n                  <span class=\"fr-dimension-separator\">\\xd7</span>\\n                  <input type=\"text\" id=\"fr-cell-height\" tabIndex=\"4\" placeholder=\"Height\">\\n                  <label for=\"fr-cell-height\"></label>\\n                </div>\\n              </div>\\n        \\n              <div class=\"fr-cell-padding-section\">\\n                <label>Padding</label>\\n                <div>\\n                  <input type=\"text\" id=\"fr-cell-padding\" tabIndex=\"5\" placeholder=\"Size\">\\n                  <label for=\"fr-cell-padding\"></label>\\n                </div>\\n              </div>\\n            </div>\\n        \\n            <div class=\"fr-cell-properties-buttons\">\\n              <button type=\"button\" class=\"fr-command fr-enable-accessibility fr-cancel-button\" tabIndex=\"6\" data-cmd=\"onCancel\">Cancel</button>\\n              <button type=\"button\" class=\"fr-command fr-enable-accessibility fr-save-button\" tabIndex=\"7\" data-cmd=\"applyCellProperties\">Save</button>\\n            </div>\\n          </div>',buttons:\"\"}),w(),Y.events.$on(e,\"input\",\"#fr-cell-bg\",function(){e.data(\"bg-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-width\",function(){e.data(\"width-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-height\",function(){e.data(\"height-modified\",!0)}),Y.events.$on(e,\"input\",\"#fr-cell-padding\",function(){e.data(\"padding-modified\",!0)})}return e}function w(){var e=Y.popups.get(\"table.cellProperties\");e&&(e.data(\"bg-modified\",!1),e.data(\"width-modified\",!1),e.data(\"height-modified\",!1),e.data(\"padding-modified\",!1))}function v(e){var t,a,l,r,n=Y.popups.get(\"table.colors\").data(\"type\");if(\"table\"===n){var o=Y.popups.get(\"table.tableProperties\");t=o.find(\".fr-color-preview\"),a=o.find(\".fr-color-preview-indicator\"),l=o.find(\"#fr-table-bg\")}else if(\"cell\"===n){var i=Y.popups.get(\"table.cellProperties\");t=i.find(\".fr-color-preview\"),a=i.find(\".fr-color-preview-indicator\"),l=i.find(\"#fr-cell-bg\"),r=Y.popups.get(\"table.cellProperties\")}else if(\"border\"===n){var s=Y.popups.get(\"table.tableProperties\");t=s.find(\".fr-border-color-preview\"),a=s.find(\".fr-border-color-preview-indicator\"),l=s.find(\"#fr-table-border-color\")}\"string\"==typeof e&&(Y.helpers.isRGBColor(e)&&(e=Y.helpers.RGBToHex(e).toUpperCase()),(Y.helpers.isValidHexColor(e)||\"transparent\"===e||\"\"===e)&&(Z(l).val(e),Z(l).focus(),\"cell\"===n&&Z(r).data(\"bg-modified\",!0),T(t,a,e)))}function y(e){var t=Y.doc.createRange(),a=e.get(0).querySelector(\"td, th\");t.setStart(a,0),t.collapse(!0);var l=Y.selection.get();l.removeAllRanges(),l.addRange(t)}function e(){s[Y.id]||(s[Y.id]=Z(document.createElement(\"div\")).attr(\"class\",\"fr-table-selector\").html('<a role=\"button\" tabIndex=\"-1\" title=\"'.concat(Y.language.translate(\"Select Table\"),'\">').concat(Y.icon.create(\"tableSelectorIcon\"),\"</a>\")));var n=Y.language.translate(\"The content you are pasting does not contain a table.\\nPlease ensure the copied content is in table format.\");Y.events.on(\"paste.before\",function(e,t){if(Y.popups.hideAll(),Y.$el.find(\"table.fr-table-selected\").length){var a=t||e&&e.clipboardData;if(a&&a.items){var l=(a||window.clipboardData).getData(\"text/html\")||\"\";if(!l||-1===l.indexOf(\"<table\"))return alert(n),e.preventDefault(),e.stopPropagation(),!1}}return!0}),Y.events.on(\"html.beforeInsert\",function(e){if(!g){var t=Y.$el.find(\"table.fr-table-selected\"),a=ge();if(a.length&&!t.length&&e.startsWith(\"<table\")&&(t=Z(a[0].closest(\"table\"))),!t.length||i)return!0;var l=function r(e){var t=Y.doc.createElement(\"div\");t.innerHTML=e;for(var a=t.firstChild;a;){var l=a.nextSibling;(a.nodeType===Node.TEXT_NODE&&\"\"===a.textContent.replace(/\\u200b/g,\"\").trim()||a.nodeType===Node.COMMENT_NODE||\"SPAN\"===a.tagName&&\"\"===a.textContent.replace(/\\u200b/g,\"\").trim())&&a.remove(),a=l}return 1===t.childNodes.length&&\"TABLE\"===t.childNodes[0].tagName&&t.childNodes[0]}(e);return l?(function u(e,t){for(var a=t.get(0),l=ge().length?ge()[0]:a.rows[0].cells[0],r=l&&l.parentNode?l.parentNode.rowIndex:0,n=l?l.cellIndex:0,o=a.rows,i=e.rows,s=0;s<i.length;s++){if(!o[r+s])for(var c=o[o.length-1].cells.length,f=a.insertRow(),d=0;d<c;d++)f.insertCell();for(var p=o[r+s],b=function b(){if(!p.cells[n+h])for(var e=0;e<o.length;e++)o[e].insertCell();var t=p.cells[n+h],a=i[s].cells[h];t.outerHTML=a.outerHTML;var l=o[r+s].cells[n+h];setTimeout(function(){Y.events.trigger(\"cell.replaced\",[t,l])},10)},h=0;h<i[s].cells.length;h++)b()}return!0}(l,t)&&setTimeout(function(){Y.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\");var e=Y.snapshot.get();Y.undo_stack[Y.undo_index-1]=e},20),Y.keys.positionCaret(),Y.popups.hideAll(),Y.events.trigger(\"html.inserted\")):alert(n),!1}g=!1}),Y.events.on(\"mousedown\",function(){Y.$el.find(\"table.fr-table-selected\").length&&oe()}),Y.events.$on(Z(Y.o_win),\"resize\",function(){var e=Y.$el.find(\"table.fr-table-selected\");e.length?ie(e):oe()}),Y.events.on(\"commands.undo commands.redo commands.before\",function(e){if(!/^align/.test(e)){var t=Y.$el.find(\"table.fr-table-selected\");t.length&&(oe(),y(t))}});var e=null,t=null;Y.events.on(\"snapshot.before\",function(){t=Y.$el.find(\"table.fr-table-selection-hover\"),e=Y.$el.find(\"table.fr-table-selected\"),re(t,\"fr-table-selection-hover\"),re(e,\"fr-table-selected\")}),Y.events.on(\"snapshot.after\",function(){e&&e.addClass(\"fr-table-selected\"),t&&t.addClass(\"fr-table-selection-hover\")}),Y.events.$on(s[Y.id],\"click\",function(){var e=Y.$el.find(\"table.fr-table-selection-hover\"),t=Y.$el.find(\"table.fr-table-selected\");e.length&&(re(t,\"fr-table-selected\"),s[Y.id].addClass(\"fr-table-selector-active-selected\"),e.addClass(\"fr-table-selected\"),re(e,\"fr-table-selection-hover\"),t=e);var a=Y.doc.createRange();Y.selection.get().removeAllRanges();var l=t.get(0);a.selectNode(l),Y.selection.get().addRange(a),s[Y.id].attr(\"draggable\",!0)}),Y.events.$on(s[Y.id],\"dragstart\",function(e){var t=Y.$el.find(\"table.fr-table-selected\");if(t&&t.length){i=!0;var a=t.clone(!0).removeClass(\"fr-table-selected fr-table-draggable\"),l=a[0].outerHTML,r=a.text().trim();e.originalEvent.dataTransfer.setDragImage(t[0],10,10),e.originalEvent.dataTransfer.setData(\"text/html\",l),e.originalEvent.dataTransfer.setData(\"text/plain\",r);var n=new Blob([l],{type:\"text/html\"}),o=URL.createObjectURL(n);e.originalEvent.dataTransfer.setData(\"text/uri-list\",o),e.originalEvent.dataTransfer.setData(\"DownloadURL\",\"text/html:table.html:\".concat(o)),e.originalEvent.dataTransfer.effectAllowed=\"Move\",t.addClass(\"fr-table-draggable\"),setTimeout(function(){return URL.revokeObjectURL(o)},5e3)}}),Y.events.$on(s[Y.id],\"dragend\",function(e){i=!1,ne();var t=Y.$el.find(\"table.fr-table-draggable\"),a=t.hasClass(\"not-drop\");(e=e.originalEvent)&&e.dataTransfer&&\"none\"!==e.dataTransfer.dropEffect&&!a?t.remove():t.removeClass(\"fr-table-draggable\")}),Y.events.on(\"destroy\",function(){oe(),s[Y.id]=null})}function E(e){var t={startTag:\"\",closeTag:\"\"};return Y.opts.keepTextFormatOnTable&&(t=R(function i(e){var t=new Set,a=e.textContent,l=0,r=[e.firstChild];for(;0<r.length;){var n=r.pop();if(n&&(t.has(n)||(0===l&&a!==n.textContent&&(a=n.textContent,l++),t.add(n)),n.hasChildNodes()))for(var o=0;o<n.childNodes.length;){if(3===n.childNodes[o].nodeType)return Ge(t);if(n.childNodes[o].textContent){if(0===l&&n.childNodes[o].textContent!==a){a=n.childNodes[o].textContent,r.push(n.childNodes[o]),l++;break}n.childNodes[o].textContent===a&&r.push(n.childNodes[o])}o++}}return Ge(t)}(e).reverse())),{startTag:t.startTag,closeTag:t.closeTag}}function R(e){var t=\"\",a=\"\",l=[\"br\",\"#text\",\"#comment\",\"font\"];if(0<e.length)for(var r=e.length-1;0<=r;r--){var n=e[r],o=Y.node.isBlock(n),i=l.indexOf(n.nodeName.toLowerCase());if(!o&&i<0){var s=n.style,c=\"\";if(s&&s.length){for(var f=0;f<s.length;f++)c+=s[f]+\": \"+s[s[f]].replace(/\"/gi,\"\")+\"; \";c=c.trim()}t+=c?\"<\"+n.nodeName.toLowerCase()+' style=\"'+c+'\">':\"<\"+n.nodeName.toLowerCase()+\">\",a=\"</\"+n.nodeName.toLowerCase()+\">\"+a}}return{startTag:t,closeTag:a}}function x(){var e=ve(),t=ge(),a=0<t.length,l=0<e.length;(a||l)&&(a&&(Y.selection.setBefore(t[0])||Y.selection.setAfter(t[0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")),y(e),Y.undo.saveStep(),oe(),V(),e.remove(),Y.$el.focus())}function A(e){var t=ve();if(0<t.length){if(0<Y.$el.find(\"thead .fr-selected-cell\").length&&\"above\"==e||0<Y.$el.find(\"tfoot td.fr-selected-cell\").length&&\"below\"==e)return;var a,l,r,n=j(),o=L(n);if(null==o)return;l=\"above\"==e?o.min_i:o.max_i;var i=\"<tr>\";for(a=0;a<n[l].length;a++)if(\"below\"==e&&l<n.length-1&&n[l][a]==n[l+1][a]||\"above\"==e&&0<l&&n[l][a]==n[l-1][a]){if(0===a||0<a&&n[l][a]!=n[l][a-1]){var s=Z(n[l][a]);s.attr(\"rowspan\",parseInt(s.attr(\"rowspan\"),10)+1)}}else{var c=Z(n[l][a]);if(\"TH\"==c.attr(\"tagName\").toUpperCase())i+='<th style=\"'+c.attr(\"style\")+'\" ><br></th>';else{var f=E(n[l][a]);i+='<td style=\"'+c.attr(\"style\")+'\" >'+f.startTag+\"<br>\"+f.closeTag+\"</td>\"}}i+=\"</tr>\",r=0<Y.$el.find(\"thead .fr-selected-cell\").length&&\"below\"==e||0<Y.$el.find(\"tfoot td.fr-selected-cell\").length&&\"above\"==e?Z(t.find(\"tbody\").not(t.find(\"> table tbody\"))):Z(t.find(\"tr\").not(t.find(\"> table tr\")).get(l)),\"below\"==e?\"TBODY\"==r.attr(\"tagName\")?r.prepend(i):r[0].parentNode&&r[0].insertAdjacentHTML(\"afterend\",i):\"above\"==e&&(\"TBODY\"==r.attr(\"tagName\")?r.append(i):r.before(i),Y.popups.isVisible(\"table.edit\")&&C())}}function O(e,t,a){var l,r,n,o,i,s=0,c=j(a);if(e<(t=Math.min(t,c[0].length-1)))for(r=e;r<=t;r++)if(!(e<r&&c[0][r]==c[0][r-1])&&1<(o=Math.min(parseInt(c[0][r].getAttribute(\"colspan\"),10)||1,t-e+1))&&c[0][r]==c[0][r+1])for(s=o-1,l=1;l<c.length;l++)if(c[l][r]!=c[l-1][r]){for(n=r;n<r+o;n++)if(c[l][n]!==undefined)if(1<(i=parseInt(c[l][n].getAttribute(\"colspan\"),10)||1)&&c[l][n]==c[l][n+1])n+=s=Math.min(s,i-1);else if(!(s=Math.max(0,s-1)))break;if(!s)break}s&&M(c,s,\"colspan\",0,c.length-1,e,t)}function H(e,t,a){var l,r,n,o,i,s=0,c=j(a);if(e<(t=Math.min(t,c.length-1)))for(l=e;l<=t;l++)if(!(e<l&&c[l][0]==c[l-1][0])&&c[l][0]!==undefined&&1<(o=Math.min(parseInt(c[l][0].getAttribute(\"rowspan\"),10)||1,t-e+1))&&c[l][0]==c[l+1][0])for(s=o-1,r=1;r<c[0].length;r++)if(c[l][r]!=c[l][r-1]){for(n=l;n<l+o;n++)if(c[n][r]!==undefined)if(1<(i=parseInt(c[n][r].getAttribute(\"rowspan\"),10)||1)&&c[n][r]==c[n+1][r])n+=s=Math.min(s,i-1);else if(!(s=Math.max(0,s-1)))break;if(!s)break}s&&M(c,s,\"rowspan\",e,t,0,c[0].length-1)}function M(e,t,a,l,r,n,o){var i,s,c;for(i=l;i<=r;i++)for(s=n;s<=o;s++)l<i&&e[i][s]==e[i-1][s]||n<s&&e[i][s]==e[i][s-1]||e[i][s]!==undefined&&1<(c=parseInt(e[i][s].getAttribute(a),10)||1)&&(1<c-t?e[i][s].setAttribute(a,c-t):e[i][s].removeAttribute(a))}function $(e,t,a,l,r){H(e,t,r),O(a,l,r)}function D(e){e.style.removeProperty(\"border\"),e.style.removeProperty(\"border-top\"),e.style.removeProperty(\"border-bottom\"),e.style.removeProperty(\"border-left\"),e.style.removeProperty(\"border-right\")}function j(e){var c=[];if(null==(e=e||null)&&0<ge().length&&(e=ve()),e){if(!e.find(\"tr\").html().match(/xl[0-9]+/gi))for(var t=e.find(\"tr:empty\"),a=t.length-1;0<=a;a--)Z(t[a]).remove();e.find(\"tr\").not(e.find(\"> table tr\")).each(function(i,e){var t=Z(e),s=0;t.find(\"> th, > td\").each(function(e,t){for(var a=Z(t),l=parseInt(a.attr(\"colspan\"),10)||1,r=parseInt(a.attr(\"rowspan\"),10)||1,n=i;n<i+r;n++)for(var o=s;o<s+l;o++)c[n]||(c[n]=[]),c[n][o]?s++:c[n][o]=t;s+=l})})}return c}function P(e,t){for(var a=0;a<t.length;a++)for(var l=0;l<t[a].length;l++)if(t[a][l]==e)return{row:a,col:l}}function k(e,t,a){for(var l=e+1,r=t+1;l<a.length;){if(a[l][t]!=a[e][t]){l--;break}l++}for(l==a.length&&l--;r<a[e].length;){if(a[e][r]!=a[e][t]){r--;break}r++}return r==a[e].length&&r--,{row:l,col:r}}function S(){Y.el.querySelector(\".fr-cell-fixed\")&&Y.el.querySelector(\".fr-cell-fixed\").classList.remove(\"fr-cell-fixed\"),Y.el.querySelector(\".fr-cell-handler\")&&Y.el.querySelector(\".fr-cell-handler\").classList.remove(\"fr-cell-handler\")}function V(){var e=Y.$el.find(\".fr-selected-cell\");0<e.length&&e.each(function(){var e=Z(this);e.removeClass(\"fr-selected-cell\"),\"\"===e.attr(\"class\")&&e.removeAttr(\"class\")}),S()}function N(){Y.events.disableBlur(),Y.selection.clear(),Y.$el.addClass(\"fr-no-selection\"),Y.$el.blur(),Y.events.enableBlur()}function L(e){var t=Y.$el.find(\".fr-selected-cell\");if(0<t.length){var a,l=e.length,r=0,n=e[0].length,o=0;for(a=0;a<t.length;a++){var i=P(t[a],e),s=k(i.row,i.col,e);l=Math.min(i.row,l),r=Math.max(s.row,r),n=Math.min(i.col,n),o=Math.max(s.col,o)}return{min_i:l,max_i:r,min_j:n,max_j:o}}return null}function _(e){var t=L(e);if(null!=t){var a=Z(e[t.min_i][t.min_j]),l=Z(e[t.min_i][t.max_j]),r=Z(e[t.max_i][t.min_j]);return{left:a.length&&a.offset().left,right:l.length&&l.offset().left+l.outerWidth(),top:a.length&&a.offset().top,bottom:r.length&&r.offset().top+r.outerHeight()}}}function I(e,t){if(Z(e).is(t))V(),Z(e).addClass(\"fr-selected-cell\");else{N(),Y.edit.off();var a=j(),l=P(e,a),r=P(t,a);if(!l||!r)return;var n=function b(e,t,a,l,r){var n,o,i,s,c=e,f=t,d=a,p=l;for(n=c;n<=f;n++)(1<(parseInt(Z(r[n][d]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[n][d]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[n][d],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p)),(1<(parseInt(Z(r[n][p]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[n][p]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[n][p],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p));for(o=d;o<=p;o++)(1<(parseInt(Z(r[c][o]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[c][o]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[c][o],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p)),(1<(parseInt(Z(r[f][o]).attr(\"rowspan\"),10)||1)||1<(parseInt(Z(r[f][o]).attr(\"colspan\"),10)||1))&&(s=k((i=P(r[f][o],r)).row,i.col,r),c=Math.min(i.row,c),f=Math.max(s.row,f),d=Math.min(i.col,d),p=Math.max(s.col,p));return c==e&&f==t&&d==a&&p==l?{min_i:e,max_i:t,min_j:a,max_j:l}:b(c,f,d,p,r)}(Math.min(l.row,r.row),Math.max(l.row,r.row),Math.min(l.col,r.col),Math.max(l.col,r.col),a);V(),e.classList.add(\"fr-cell-fixed\"),t.classList.add(\"fr-cell-handler\");for(var o=n.min_i;o<=n.max_i;o++)for(var i=n.min_j;i<=n.max_j;i++)Z(e).closest(\"table\").is(Z(a[o][i]).closest(\"table\"))&&Z(a[o][i]).addClass(\"fr-selected-cell\")}}function B(e){var t=null,a=Z(e.target);return\"TD\"==e.target.tagName||\"TH\"==e.target.tagName?t=e.target:0<a.closest(\"th\",a.closest(\"thead\")[0]).length?t=a.closest(\"th\",a.closest(\"thead\")[0]).get(0):0<a.closest(\"td\",a.closest(\"tr\")[0]).length&&(t=a.closest(\"td\",a.closest(\"tr\")[0]).get(0)),-1===Y.$el.html.toString().search(t)?null:t}function F(){V(),Y.popups.hide(\"table.edit\")}function z(e){var t=B(e);if(\"false\"==Z(t).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;if(0<ge().length&&!t&&F(),!Y.edit.isDisabled()||Y.popups.isVisible(\"table.edit\"))if(1!=e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)(3==e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)&&t&&F();else if(b=!0,t){0<ge().length&&!e.shiftKey&&F(),e.stopPropagation(),Y.events.trigger(\"image.hideResizer\"),Y.events.trigger(\"video.hideResizer\"),p=!0;var a=t.tagName.toLowerCase();e.shiftKey&&0<Y.$el.find(\"\".concat(a,\".fr-selected-cell\")).length?Z(Y.$el.find(\"\".concat(a,\".fr-selected-cell\")).closest(\"table\")).is(Z(t).closest(\"table\"))?I(l,t):N():((Y.keys.ctrlKey(e)||e.shiftKey)&&\"TD\"===e.currentTarget.tagName&&(1<ge().length||0===Z(t).find(Y.selection.element()).length&&!Z(t).is(Y.selection.element()))&&N(),l=t,0<Y.opts.tableEditButtons.length&&I(l,l))}}function K(e){var t=Y.popups.areVisible();if(!Y.edit.isDisabled()&&t&&!t.hasClass(\"fr-do-not-hide\"))return!0;var a=B(e);if(1===ge().length&&null===a&&(Y.toolbar.enable(),V()),(1===ge().length&&a&&\"TD\"!==a.tagName&&\"TH\"!==a.tagName||!p&&!Y.$tb.is(e.target)&&!Y.$tb.is(Z(e.target).closest(\".fr-toolbar\")))&&(Y.toolbar.enable(),V()),(\"BODY\"===e.target.tagName||\"HTML\"===e.target.tagName)&&!a&&0<ge().length&&Y.toolbar.enable(),!(1!=e.which||1==e.which&&Y.helpers.isMac()&&e.ctrlKey)){if(b=!1,p)p=!1,B(e)||1!=ge().length?0<ge().length?Y.selection.isCollapsed()?(C(),Y.toolbar.enable()):(V(),Y.edit.on()):ge().length||(Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on()):V();if(h){if(h=!1,W.removeClass(\"fr-moving\"),Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),W.hasClass(\"fr-table-col-resizer\")){var l=parseFloat(W.css(\"left\"))+Y.opts.tableResizerOffset+Y.$wp.offset().left;Y.opts.iframe&&(l-=Y.$iframe.offset().left),W.data(\"release-position\",l),W.removeData(\"max-left\"),W.removeData(\"max-right\")}else{var r=parseFloat(W.css(\"top\"));W.data(\"release-position\",r),W.removeData(\"max-top\"),W.removeData(\"max-bottom\")}!function K(){var e=W.data(\"origin\"),t=W.data(\"release-position\");if(e!==t){var a=W.data(\"first\"),l=W.data(\"second\"),r=W.data(\"table\"),n=r.outerWidth();if(Y.undo.canDo()||Y.undo.saveStep(),W.hasClass(\"fr-table-col-resizer\")){var o=j(r),i=o[0]?o[0].length:0,s=we(r,i);if(-1!=a&&-1!=l||!Y.opts.proportionalTableResize){var c=function z(e,t,a){for(var l=t[0]?t[0].length:0,r=e.outerWidth(),n=[],o=[],i=a.find(\"col\"),s=0;s<l;s++){var c=i.eq(s),f=void 0,d=parseFloat(c.attr(\"width\")||c.css(\"width\"));if(d&&!isNaN(d))f=(c.attr(\"width\")||\"\").includes(\"%\")||(c.css(\"width\")||\"\").includes(\"%\")?d/100*r:d;else{var p=Z(t[0][s]);f=p.outerWidth()}n[s]=f,o[s]=f/r*100}return{currentWidths:n,currentPercentages:o}}(r,o,s),f=c.currentWidths,d=c.currentPercentages,p=Ge(d),b=t-e,h=b/n*100;if(Y.opts.proportionalTableResize){var u=(d[a]*(f[a]+t-e)/f[a]).toFixed(4),g=(d[a]+d[l]-u).toFixed(4);p[a]=+u,p[l]=+g}else{p[a]+=h,p[l]-=h;if(p[a]<1){var v=1-p[a];p[a]=1,p[l]-=v}if(p[l]<1){var m=1-p[l];p[l]=1,p[a]-=m}}Ee(s,p)}var C=s.find(\"col\"),w=-1==a&&0==l,y=a==C.length-1&&-1==l;if(w||y){var E,T=r.parent(),R=parseFloat(T.css(\"padding-left\")),x=parseFloat(T.css(\"padding-right\")),A=R+x,O=n/(T.width()-A)*100;\"rtl\"==Y.opts.direction&&0===l||\"rtl\"!=Y.opts.direction&&0!==l?E=(n+t-e)/n*O:(\"rtl\"==Y.opts.direction&&0!==l||\"rtl\"!=Y.opts.direction&&0===l)&&(E=(n-t+e)/n*O),r.css(\"width\",\"\".concat(Math.round(E).toFixed(4),\"%\"))}}else{var H=r.find(\"tr\"),M=Math.round(t-e),$=r.height();if(-1!=a&&-1!=l){var D=H.eq(a),S=D.outerHeight(),V=Math.max(S+M,Y.opts.tableResizingLimit);r.css(\"height\",\"\"),D.css(\"height\",V+\"px\"),r.css(\"height\",r.height()+\"px\")}else{var N=-1==a&&0==l;if(Y.opts.proportionalTableResize){var L=N?-M:M;Re(r,L+$)}else{if(r.css(\"height\",\"\"),N){var _=H.eq(0),I=_.outerHeight(),P=Math.max(I-M,Y.opts.tableResizingLimit);_.css(\"height\",P+\"px\")}else{var k=H.eq(H.length-1),B=k.outerHeight(),F=Math.max(B+M,Y.opts.tableResizingLimit);k.css(\"height\",F+\"px\")}r.css(\"height\",r.height()+\"px\")}}Y.opts.iframe&&Y.$iframe.height(Y.iframe_document.scrollingElement.offsetHeight)}Y.selection.restore(),Y.undo.saveStep(),Y.events.trigger(\"table.resized\",[r.get(0)])}W.removeData(\"origin\"),W.removeData(\"release-position\"),W.removeData(\"first\"),W.removeData(\"second\"),W.removeData(\"table\")}(),ee()}}}function G(e){if((!(Z(e.currentTarget).is(Z(e.originalEvent.relatedTarget))||e.currentTarget.contains(e.originalEvent.relatedTarget)||e.originalEvent.relatedTarget&&e.originalEvent.relatedTarget.contains(e.currentTarget))||e.currentTarget.querySelector(\"input, textarea\"))&&(Y.events.$on(Z(\"input, textarea\"),\"click\",t),!0===p&&0<Y.opts.tableEditButtons.length)){if(Z(e.currentTarget).closest(\"table\").is(ve()))return void I(l,e.currentTarget);\"TD\"!==e.currentTarget.tagName&&\"TH\"!==e.currentTarget.tagName&&N()}}function U(e,t,a,l){for(var r,n=t;n!=Y.el&&\"TD\"!=n.tagName&&\"TH\"!=n.tagName&&(\"up\"==l?r=n.previousElementSibling:\"down\"==l&&(r=n.nextElementSibling),!r);)n=n.parentNode;\"TD\"==n.tagName||\"TH\"==n.tagName?function o(e,t){for(var a=e;a&&\"TABLE\"!=a.tagName&&a.parentNode!=Y.el;)a=a.parentNode;if(a&&\"TABLE\"==a.tagName){var l=j(Z(a));\"up\"==t?X(P(e,l),a,l):\"down\"==t&&q(P(e,l),a,l)}}(n,l):r&&(\"up\"==l&&Y.selection.setAtEnd(r),\"down\"==l&&Y.selection.setAtStart(r))}function X(e,t,a){0<Z(\".tribute-container\").length&&\"none\"!=Z(\".tribute-container\").css(\"display\")||(0<e.row?Y.selection.setAtEnd(a[e.row-1][e.col]):U(0,t,0,\"up\"))}function q(e,t,a){if(!(0<Z(\".tribute-container\").length&&\"none\"!=Z(\".tribute-container\").css(\"display\"))){var l=parseInt(a[e.row][e.col].getAttribute(\"rowspan\"),10)||1;e.row<a.length-l?Y.selection.setAtStart(a[e.row+l][e.col]):U(0,t,0,\"down\")}}function J(e){var t=e.which,a=Y.selection.blocks();if(a.length&&(\"P\"!==(a=a[0]).tagName&&\"DIV\"!==a.tagName||(a=a.parentNode),\"TD\"==a.tagName||\"TH\"==a.tagName)){for(var l=a;l&&\"TABLE\"!=l.tagName&&l.parentNode!=Y.el;)l=l.parentNode;if(l&&\"TABLE\"==l.tagName&&(je.KEYCODE.ARROW_LEFT==t||je.KEYCODE.ARROW_UP==t||je.KEYCODE.ARROW_RIGHT==t||je.KEYCODE.ARROW_DOWN==t)&&(0<ge().length&&F(),Y.browser.webkit&&(je.KEYCODE.ARROW_UP==t||je.KEYCODE.ARROW_DOWN==t))){if(!function p(e,t,a){if(!e)return!1;var l=\"TD\"===e.tagName||\"TH\"===e.tagName?e:Z(e).parentsUntil(Y.el,\"td, th\").get(0);if(!l)return!1;if(l.textContent.trim().length<=0&&1===l.children.length&&\"BR\"===l.children[0].tagName)return!0;if((\"TD\"===l.tagName||\"TH\"===l.tagName)&&e&&e.nodeType!==Node.TEXT_NODE)if(e.children&&0<e.children.length){var r=t>e.children.length?e.children.length-1:t-1,n=e.children[r]||e.firstChild;n&&\"string\"==typeof n.textContent&&(t=(e=n).textContent.trim().length-1)}else e.firstChild&&\"string\"==typeof e.firstChild.textContent&&(e=e.firstChild,t=e.textContent.trim().length-1);var o=document.createRange();o.selectNodeContents(l);var i,s=o.getBoundingClientRect();if(e.textContent.trim().length<=0&&e.getBoundingClientRect)i=e.getBoundingClientRect();else{var c=e;e.nodeType!==Node.TEXT_NODE&&(c=function d(e){var t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),a=null;for(;t.nextNode();)a=t.currentNode;return a}(e),t=c&&\"up\"===a?c.textContent.length:0);var f=document.createRange();f.setStart(c||e,t),f.collapse(!0),i=f.getBoundingClientRect()}{if(\"up\"===a){if(\"BR\"===e.tagName){if(l.firstChild.isSameNode(e))return!0;if(e.previousSibling&&(Y.node.isBlock(e.previousSibling)||Y.node.isVoid(e.previousSibling)))return!1}return Math.abs(i.top-s.top)<=6}if(\"down\"===a){if(\"BR\"===e.tagName){if(l.lastChild.isSameNode(e))return!0;if(e.nextSibling&&(Y.node.isBlock(e.nextSibling)||Y.node.isVoid(e.nextSibling)))return l.lastChild.isSameNode(e.nextSibling)||!1}return Math.abs(s.bottom-i.bottom)<=6}}return!1}(Y.selection.ranges(0).startContainer,Y.selection.ranges(0).startOffset,je.KEYCODE.ARROW_UP==t?\"up\":\"down\"))return;e.preventDefault(),e.stopPropagation();var r=j(Z(l)),n=P(a,r);return je.KEYCODE.ARROW_UP==t?X(n,l,r):je.KEYCODE.ARROW_DOWN==t&&q(n,l,r),Y.selection.restore(),!1}}}function Q(){Y.shared.$table_resizer||(Y.shared.$table_resizer=Z(document.createElement(\"div\")).attr(\"class\",\"fr-table-resizer\").html(\"<div></div>\")),W=Y.shared.$table_resizer,Y.events.$on(W,\"mousedown\",function(e){return!Y.core.sameInstance(W)||(0<ge().length&&F(),1==e.which?(Y.selection.save(),h=!0,W.addClass(\"fr-moving\"),N(),Y.edit.off(),W.find(\"div\").css(\"opacity\",1),!1):void 0)}),Y.events.$on(W,\"mousemove\",function(e){if(!Y.core.sameInstance(W))return!0;h&&(Y.opts.iframe&&(e.pageX-=Y.$iframe.offset().left,e.pageY-=Y.$iframe.offset().top),pe(e))});var t=function t(e){h&&K(e)};window.addEventListener(\"mouseup\",t,!0),Y.events.on(\"destroy\",function(){window.removeEventListener(\"mouseup\",t,!0)},!0),Y.events.on(\"shared.destroy\",function(){W.html(\"\").removeData().remove(),W=null},!0),Y.events.on(\"destroy\",function(){Y.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\"),Z(\"body\").first().append(W.hide())},!0)}function ee(){W&&(W.find(\"div\").css(\"opacity\",0),W.css(\"top\",0),W.css(\"left\",0),W.css(\"height\",0),W.css(\"width\",0),W.find(\"div\").css(\"height\",0),W.find(\"div\").css(\"width\",0),W.css(\"padding-top\",0),W.css(\"padding-bottom\",0),W.css(\"padding-left\",0),W.css(\"padding-right\",0),W.hide())}function te(){c&&c.removeClass(\"fr-visible\").css(\"left\",\"-9999px\")}function ae(e,t){if(Y.$box.find(\".fr-line-breaker\").isVisible())return!1;c||he(),Y.$box.append(c),c.data(\"instance\",Y);var a,l=Z(t).find(\"tr\").first(),r=e.pageX,n=0,o=0;if(Y.opts.iframe){var i=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+s,o+=Y.$iframe.offset().top-Y.helpers.scrollTop()+i}l.find(\"th, td\").each(function(){var e=Z(this);return e.offset().left<=r&&r<e.offset().left+e.outerWidth()/2?(a=parseInt(c.find(\"a\").css(\"width\"),10),c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a-5),c.css(\"left\",n+e.offset().left-Y.$box.offset().left-a/2),c.data(\"selected-cell\",e),c.data(\"position\",\"before\"),c.addClass(\"fr-visible\"),!1):e.offset().left+e.outerWidth()/2<=r&&r<e.offset().left+e.outerWidth()?(a=parseInt(c.find(\"a\").css(\"width\"),10),c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a-5),c.css(\"left\",n+e.offset().left-Y.$box.offset().left+e.outerWidth()-a/2),c.data(\"selected-cell\",e),c.data(\"position\",\"after\"),c.addClass(\"fr-visible\"),!1):void 0})}function le(e,t){if(Y.$box.find(\".fr-line-breaker\").isVisible())return!1;c||he(),Y.$box.append(c),c.data(\"instance\",Y);var a,l=Z(t),r=e.pageY,n=0,o=0;if(Y.opts.iframe){var i=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),s=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));n+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+s,o+=Y.$iframe.offset().top-Y.helpers.scrollTop()+i}l.find(\"tr\").each(function(){var e=Z(this);a=parseInt(c.find(\"a\").css(\"width\"),10);var t=n+e.offset().left-Y.$box.offset().left;return t=0!==Y.$box.offset().left?t-a-5:t+a-5,e.offset().top<=r&&r<e.offset().top+e.outerHeight()/2?(c.css(\"top\",o+e.offset().top-Y.$box.offset().top-a/2),c.css(\"left\",t),c.data(\"selected-cell\",e.find(\"td\").first()),c.data(\"position\",\"above\"),c.addClass(\"fr-visible\"),!1):e.offset().top+e.outerHeight()/2<=r&&r<e.offset().top+e.outerHeight()?(c.css(\"top\",o+e.offset().top-Y.$box.offset().top+e.outerHeight()-a/2),c.css(\"left\",t),c.data(\"selected-cell\",e.find(\"td\").first()),c.data(\"position\",\"below\"),c.addClass(\"fr-visible\"),!1):void 0})}function re(e,t){var a=Z(e);a.removeClass(t),a.length&&a.get(0).hasAttribute(\"class\")&&!a.attr(\"class\").trim()&&a.removeAttr(\"class\")}function ne(){s[Y.id]&&!i&&(re(s[Y.id],\"fr-table-selector-active fr-table-selector-active-selected\"),s[Y.id].addClass(\"fr-table-selector-inactive\"),re(Y.$el.find(\"table.fr-table-selection-hover\"),\"fr-table-selection-hover\"),function e(){s[Y.id].removeAttr(\"draggable\"),u&&(i=!1,u.hide(),u.removeAttr(\"data-position\"),u.removeData(\"target-element\"))}())}function oe(){re(Y.$el.find(\"table.fr-table-selected\"),\"fr-table-selected fr-table-selection-hover\"),ne()}function ie(e){Y.$box.append(s[Y.id]),s[Y.id].data(\"instance\",Y);var t=e.offset().left-Y.$box.offset().left+16,a=e.offset().top-Y.$box.offset().top-s[Y.id].outerHeight();if(Y.opts.iframe){var l=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),r=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));t+=Y.$iframe.offset().left-Y.helpers.scrollLeft()+r,a+=Y.$iframe.offset().top-Y.helpers.scrollTop()+l}s[Y.id].css(\"top\",a),s[Y.id].css(\"left\",t)}function se(e){f=null;var t=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset,e.pageY-Y.win.pageYOffset);Y.opts.tableResizer&&(!Y.popups.areVisible()||Y.popups.areVisible()&&Y.popups.isVisible(\"table.edit\"))&&function I(e,t){var a,l=Z(t);l&&(a=l.closest(\"table\"));var r=a.parent();if(t&&\"TD\"!=t.tagName&&\"TH\"!=t.tagName&&(0<l.closest(\"td\").length?t=l.closest(\"td\"):0<l.closest(\"th\").length&&(t=l.closest(\"th\"))),!t||\"TD\"!=t.tagName&&\"TH\"!=t.tagName)W&&l.get(0)!=W.get(0)&&l.parent().get(0)!=W.get(0)&&Y.core.sameInstance(W)&&ee();else{if(l=Z(t),0===Y.$el.find(l).length)return!1;var n=l.offset().left-1,o=n+l.outerWidth(),i=l.offset().top-1,s=i+l.outerHeight();if(Math.abs(e.pageX-n)<=Y.opts.tableResizerOffset||Math.abs(o-e.pageX)<=Y.opts.tableResizerOffset){var c,f,d,p,b,h=j(a),u=P(t,h),g=k(u.row,u.col,h),v=a.offset().top,m=a.outerHeight()-1;\"rtl\"!=Y.opts.direction?e.pageX-n<=Y.opts.tableResizerOffset?(d=n,0<u.col?(p=n-fe(u.col-1,h)+Y.opts.tableResizingLimit,b=n+fe(u.col,h)-Y.opts.tableResizingLimit,c=u.col-1,f=u.col):(c=-1,f=0,p=Y.$wp.offset().left-1+parseFloat(r.css(\"padding-left\")),b=Y.opts.proportionalTableResize?a.offset().left-1+a.width()-h[0].length*Y.opts.tableResizingLimit:n+fe(u.col,h)-Y.opts.tableResizingLimit)):o-e.pageX<=Y.opts.tableResizerOffset&&(d=o,g.col<h[g.row].length&&h[g.row][g.col+1]?(p=o-fe(g.col,h)+Y.opts.tableResizingLimit,b=o+fe(g.col+1,h)-Y.opts.tableResizingLimit,c=g.col,f=g.col+1):(c=g.col,f=-1,p=Y.opts.proportionalTableResize?a.offset().left-1+h[0].length*Y.opts.tableResizingLimit:o-fe(g.col,h)+Y.opts.tableResizingLimit,b=r.offset().left-1+r.width()-parseFloat(r.css(\"padding-left\")))):o-e.pageX<=Y.opts.tableResizerOffset?(d=o,0<u.col?(p=o-fe(u.col,h)+Y.opts.tableResizingLimit,b=o+fe(u.col-1,h)-Y.opts.tableResizingLimit,c=u.col,f=u.col-1):(c=null,f=0,p=a.offset().left+h[0].length*Y.opts.tableResizingLimit,b=r.offset().left-1+r.width()+parseFloat(r.css(\"padding-left\")))):e.pageX-n<=Y.opts.tableResizerOffset&&(d=n,g.col<h[g.row].length&&h[g.row][g.col+1]?(p=n-fe(g.col+1,h)+Y.opts.tableResizingLimit,b=n+fe(g.col,h)-Y.opts.tableResizingLimit,c=g.col+1,f=g.col):(c=g.col,f=null,p=r.offset().left+parseFloat(r.css(\"padding-left\")),b=a.offset().left-1+a.width()-h[0].length*Y.opts.tableResizingLimit)),W||Q(),ee(),W.removeClass(\"fr-table-row-resizer\"),W.addClass(\"fr-table-col-resizer\"),W.data(\"table\",a),W.data(\"first\",c),W.data(\"second\",f),W.data(\"instance\",Y),Y.$wp.append(W);var C=d-Y.win.pageXOffset-Y.opts.tableResizerOffset-Y.$wp.offset().left,w=v-Y.$wp.offset().top+Y.$wp.scrollTop();if(Y.opts.iframe){var y=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),E=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));C+=Y.$iframe.offset().left+E,w+=Y.$iframe.offset().top+y,p+=Y.$iframe.offset().left,b+=Y.$iframe.offset().left}W.data(\"max-left\",p),W.data(\"max-right\",b),W.data(\"origin\",d-Y.win.pageXOffset),W.css(\"top\",w),W.css(\"left\",C),W.css(\"height\",m),W.find(\"div\").css(\"height\",m),W.css(\"padding-left\",Y.opts.tableResizerOffset),W.css(\"padding-right\",Y.opts.tableResizerOffset),W.show()}else if(Math.abs(e.pageY-i)<=Y.opts.tableResizerOffset||Math.abs(s-e.pageY)<=Y.opts.tableResizerOffset){var T,R,x,A,O,H=j(a),M=P(t,H),$=k(M.row,M.col,H),D=a.offset().left,S=a.outerWidth()-1;e.pageY-i<=Y.opts.tableResizerOffset?(x=i,0<M.row?(A=i-de(M.row-1,H),O=Y.win.outerHeight,T=M.row-1,R=M.row):(T=-1,R=0,A=Y.$el.offset().top-1+parseInt(a.css(\"margin-top\"),10),O=Y.opts.proportionalTableResize?a.offset().top-1+a.height()-H.length*Y.opts.tableResizingLimit:a.offset().top+l.height())):s-e.pageY<=Y.opts.tableResizerOffset&&(x=s,$.row<H.length-1?(A=s-de($.row,H),O=Y.win.outerHeight,T=$.row,R=$.row+1):(T=$.row,R=-1,A=Y.opts.proportionalTableResize?a.offset().top-1+H.length*Y.opts.tableResizingLimit:s-de($.row,H),O=Y.win.outerHeight)),W||Q(),ee(),W.removeClass(\"fr-table-col-resizer\"),W.addClass(\"fr-table-row-resizer\"),W.data(\"table\",a),W.data(\"first\",T),W.data(\"second\",R),W.data(\"instance\",Y),Y.$wp.append(W);var V=D-Y.$wp.offset().left,N=x-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset;if(Y.opts.iframe){var L=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\")),_=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-left\"));V+=Y.$iframe.offset().left+_,N+=Y.$iframe.offset().top+L,A+=Y.$iframe.offset().top,O+=Y.$iframe.offset().top}W.data(\"max-top\",A-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset),W.data(\"max-bottom\",O-Y.$wp.offset().top+Y.$wp.scrollTop()-Y.opts.tableResizerOffset),W.data(\"origin\",N),W.css(\"top\",N),W.css(\"left\",V),W.css(\"width\",S),W.find(\"div\").css(\"width\",S),W.css(\"padding-top\",Y.opts.tableResizerOffset),W.css(\"padding-bottom\",Y.opts.tableResizerOffset),W.show()}else Y.core.sameInstance(W)&&ee()}}(e,t),!Y.opts.tableInsertHelper||Y.popups.areVisible()||Y.$tb.hasClass(\"fr-inline\")&&Y.$tb.isVisible()||function n(e,t){if(0===ge().length){var a,l,r;if(t&&(\"HTML\"==t.tagName||\"BODY\"==t.tagName||Y.node.isElement(t)))for(a=1;a<=Y.opts.tableInsertHelperOffset;a++){if(l=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset,e.pageY-Y.win.pageYOffset+a),Z(l).hasClass(\"fr-tooltip\"))return!0;if(l&&(\"TH\"==l.tagName||\"TD\"==l.tagName||\"TABLE\"==l.tagName)&&(Z(l).parents(\".fr-wrapper\").length||Y.opts.iframe)&&\"false\"!=Z(l).closest(\"table\").attr(\"contenteditable\"))return ae(e,Z(l).closest(\"table\")),!0;if(r=Y.doc.elementFromPoint(e.pageX-Y.win.pageXOffset+a,e.pageY-Y.win.pageYOffset),Z(r).hasClass(\"fr-tooltip\"))return!0;if(r&&(\"TH\"==r.tagName||\"TD\"==r.tagName||\"TABLE\"==r.tagName)&&(Z(r).parents(\".fr-wrapper\").length||Y.opts.iframe)&&\"false\"!=Z(r).closest(\"table\").attr(\"contenteditable\"))return le(e,Z(r).closest(\"table\")),!0}Y.core.sameInstance(c)&&te()}}(e,t),Y.opts.enableTableSelection&&function i(e,t){var a=Z(t),l=Y.$el.find(\"table.fr-table-selection-hover\"),r=Y.$el.find(\"table.fr-table-selected\");if(Y.node.isElement(t)||Y.node.isElement(a.parents(\".fr-view\").first().get(0))||Y.core.sameInstance(a)||Y.core.sameInstance(a.parents(\"div.fr-table-selector\"))){if(!a.parents(\".fr-table-selector\").length){var n=a.closest(\"table\").filter(function(){return!(!Y.$el||!Y.$el.length)&&Y.$el.get(0).contains(this)});if(n.length){if(ie(n),s[Y.id].addClass(\"fr-table-selector-active\"),re(s[Y.id],\"fr-table-selector-inactive\"),re(l,\"fr-table-selection-hover\"),r.length){var o=r.get(0)===n.get(0);s[Y.id].toggleClass(\"fr-table-selector-active-selected\",o),s[Y.id].attr(\"draggable\",o)}n.addClass(\"fr-table-selection-hover\")}else l.length&&Math.abs(l.offset().top-e.pageY)<5||s[Y.id].hasClass(\"fr-table-selector-inactive\")||ne()}}else r.length||ne()}(e,t)}function ce(){if(h){var e=W.data(\"table\").offset().top-Y.win.pageYOffset;if(Y.opts.iframe){var t=Y.helpers.getPX(Y.$wp.find(\".fr-iframe\").css(\"padding-top\"));e+=Y.$iframe.offset().top-Y.helpers.scrollTop()+t}W.css(\"top\",e)}}function fe(e,t){var a,l=Z(t[0][e]).outerWidth();for(a=1;a<t.length;a++)l=Math.min(l,Z(t[a][e]).outerWidth());return l}function de(e,t){var a,l=Z(t[e][0]).outerHeight();for(a=1;a<t[e].length;a++)l=Math.min(l,Z(t[e][a]).outerHeight());return l}function pe(e){if(1<ge().length&&b&&N(),!1===b&&!1===p&&!1===h)f&&clearTimeout(f),Y.edit.isDisabled()&&!Y.popups.isVisible(\"table.edit\")||(f=setTimeout(se,30,e));else if(h)if(W.hasClass(\"fr-table-col-resizer\")){var t=e.pageX-Y.win.pageXOffset;Y.opts.iframe&&(t+=Y.$iframe.offset().left);var a=W.data(\"max-left\"),l=W.data(\"max-right\");a<=t&&t<=l?W.css(\"left\",t-Y.opts.tableResizerOffset-Y.$wp.offset().left):t<a&&parseFloat(W.css(\"left\"),10)>a-Y.opts.tableResizerOffset?W.css(\"left\",a-Y.opts.tableResizerOffset-Y.$wp.offset().left):l<t&&parseFloat(W.css(\"left\"),10)<l-Y.opts.tableResizerOffset&&W.css(\"left\",l-Y.opts.tableResizerOffset-Y.$wp.offset().left)}else{var r=e.pageY-Y.win.pageYOffset;Y.opts.iframe&&(r+=Y.$iframe.offset().top);var n,o,i=W.data(\"max-top\"),s=W.data(\"max-bottom\");n=Y.opts.height?(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top+Y.$wp.scrollTop(),Y.opts.iframe&&(s=Y.win.innerHeight),o):(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top+Y.helpers.scrollTop(),Y.opts.iframe&&(o=r-Y.opts.tableResizerOffset-Y.$wp.offset().top),s=Y.win.innerHeight,e.clientY),i<=o&&n<=s&&W.css(\"top\",o)}else b&&te()}function be(e){Y.node.isEmpty(e.get(0))?Y.opts.keepTextFormatOnTable&&Y.browser.mozilla?e.append(je.MARKERS):e.prepend(je.MARKERS):e.prepend(je.START_MARKER).append(je.END_MARKER)}function he(){Y.shared.$ti_helper||(Y.shared.$ti_helper=Z(document.createElement(\"div\")).attr(\"class\",\"fr-insert-helper\").html('<a class=\"fr-floating-btn\" role=\"button\" tabIndex=\"-1\" title=\"'.concat(Y.language.translate(\"Insert\"),'\"><svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z\"/></svg></a>')),Y.events.bindClick(Y.shared.$ti_helper,\"a\",function(){var e=c.data(\"selected-cell\"),t=c.data(\"position\"),a=c.data(\"instance\")||Y;\"before\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertColumn(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"after\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertColumn(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"above\"==t?(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertRow(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()):\"below\"==t&&(Y.undo.saveStep(),e.addClass(\"fr-selected-cell\"),a.table.insertRow(t),e.removeClass(\"fr-selected-cell\"),Y.undo.saveStep()),te()}),Y.events.on(\"shared.destroy\",function(){Y.shared.$ti_helper.html(\"\").removeData().remove(),Y.shared.$ti_helper=null},!0),Y.events.$on(Y.shared.$ti_helper,\"mousemove\",function(e){e.stopPropagation()},!0),Y.events.$on(Z(Y.o_win),\"scroll\",function(){te()},!0),Y.events.$on(Y.$wp,\"scroll\",function(){te()},!0)),c=Y.shared.$ti_helper,Y.events.on(\"destroy\",function(){c=null}),Y.tooltip.bind(Y.$box,\".fr-insert-helper > a.fr-floating-btn\")}function ue(){l=null,clearTimeout(f)}function ge(){return Y.el.querySelectorAll(\".fr-selected-cell\")}function ve(){var e=ge(),t=Y.$el.find(\"table.fr-table-selected\");if(e.length){for(var a=e[0];a&&\"TABLE\"!=a.tagName&&a.parentNode!=Y.el;)a=a.parentNode;return a&&\"TABLE\"==a.tagName?Z(a):Z([])}return t.length?Z(t.get(0)):Z([])}function me(e){var t=Y.popups.get(\"table.tableProperties\"),a=t.find(\".fr-table-alignment-container\"),l=a.find(\".fr-table-\".concat(e,\"-align\")).get(0);a.find(\".fr-table-left-align\").get(0).innerHTML=Y.icon.create(\"leftTableAlign\"),a.find(\".fr-table-center-align\").get(0).innerHTML=Y.icon.create(\"centerTableAlign\"),a.find(\".fr-table-right-align\").get(0).innerHTML=Y.icon.create(\"rightTableAlign\"),l.innerHTML=Y.icon.create(\"\".concat(e,\"TableAlignActive\")),l.focus(),t.data(\"tableAlign\",e)}function Ce(){var e={buttons:\"\",table_properties_form:'\\n         <div class=\"fr-table-properties-form\">\\n            <div class=\"fr-table-properties-section\">\\n              <label>Background</label>\\n              <div class=\"fr-table-bg-container\">\\n                <div class=\"fr-input-line\">\\n                  <input type=\"text\" title=\"'.concat(Y.language.translate(\"Custom background color input\"),'\" id=\"fr-table-bg\" class=\"fr-input\" placeholder=\"Color\" tabIndex=\"1\" aria-required=\"true\">\\n                </div>\\n                <button title=\"').concat(Y.language.translate(\"Background color picker\"),'\" role=\"button\" type=\"button\" class=\"fr-command fr-enable-accessibility fr-btn-table-bg-color\" data-param1=\"table\" tabIndex=\"2\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-color-preview\">\\n                    <div class=\"fr-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n              </div>\\n              <label>Border</label>\\n              <div class=\"fr-table-border-container\">\\n                <div class=\"fr-input-line\">\\n                  <label class=\"fr-field-lable\">Style</label>\\n                  <div class= \"fr-buttons fr-border-style\"> ').concat(Y.button.build(\"tableBorderStyle\",je.COMMANDS.tableBorderStyle,!0),'</div>\\n                </div>\\n                <div class=\"fr-input-line\">\\n                  <input  title=\"').concat(Y.language.translate(\"Custom border color input\"),'\" id=\"fr-table-border-color\" class=\"fr-input\" type=\"text\" placeholder=\"Color\" tabIndex=\"3\" aria-required=\"true\">\\n                </div>\\n                <button  title=\"').concat(Y.language.translate(\"Border color picker\"),'\" role=\"button\" type=\"button\" class=\"fr-command fr-btn-table-border-bg-color fr-enable-accessibility\" tabIndex=\"4\" data-param1=\"border\" data-cmd=\"openColorPicker\">\\n                  <div class=\"fr-border-color-preview\">\\n                    <div class=\"fr-border-color-preview-indicator\"></div>\\n                  </div>\\n                </button>\\n                <div class=\"fr-input-line\">\\n                  <input  title=\"').concat(Y.language.translate(\"Border width\"),'\" id=\"fr-table-border-width\" type=\"text\" class=\"fr-input\" placeholder=\"Width\" tabIndex=\"5\" aria-required=\"true\">\\n                </div>\\n              </div>\\n              <div class=\"fr-table-dimentions-section\">\\n                <div>\\n                  <label>Dimentions</label>\\n                  <div class=\"fr-table-dimentions-container\">\\n                    <div class=\"fr-input-line\">\\n                      <input title=\"').concat(Y.language.translate(\"Table width\"),'\" type=\"text\" id=\"fr-table-width\" placeholder=\"Width\" tabIndex=\"6\">\\n                    </div>\\n                    <span class=\"fr-dimension-separator\">\\xd7</span>\\n                    <div class=\"fr-input-line\">\\n                      <input title=\"').concat(Y.language.translate(\"Table height\"),'\" type=\"text\" id=\"fr-table-height\" placeholder=\"Height\" tabIndex=\"7\">\\n                    </div>\\n                  </div>\\n                </div>\\n                <div class=\"fr-table-alignment-section\">\\n                  <label>Alignment</label>\\n                  <div class=\"fr-table-alignment-container\">\\n                    <button title=\"').concat(Y.language.translate(\"Left align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-left-align\" data-param1=\"left\" data-cmd=\"tableAlign\" tabIndex=\"8\">').concat(Y.icon.create(\"leftTableAlign\"),'</button>\\n                    <button title=\"').concat(Y.language.translate(\"Center align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-center-align\" data-param1=\"center\" data-cmd=\"tableAlign\" tabIndex=\"9\">').concat(Y.icon.create(\"centerTableAlign\"),'</button>\\n                    <button title=\"').concat(Y.language.translate(\"Right align\"),'\" class=\"fr-enable-accessibility fr-command fr-table-right-align\" data-param1=\"right\" data-cmd=\"tableAlign\" tabIndex=\"10\">').concat(Y.icon.create(\"rightTableAlign\"),'</button>\\n                  </div>\\n                </div>\\n              </div>\\n              <label>Table style</label>\\n              <div class=\"fr-table-style-container\">\\n                <div class=\"fr-input-line\">\\n                  <label class=\"fr-field-lable\">Style</label>\\n                  <div class= \"fr-buttons fr-table-style\"> ').concat(Y.button.build(\"tableStyle\",je.COMMANDS.tableStyle,!0),'</div>\\n                </div>\\n              </div>\\n            </div>\\n            <div class=\"fr-table-properties-buttons\">\\n              <button title=\"').concat(Y.language.translate(\"Cancel\"),'\" role=\"button\" type=\"button\" class=\"fr-enable-accessibility fr-command fr-cancel-button\" tabIndex=\"11\" data-cmd=\"onCancel\">Cancel</button>\\n              <button title=\"').concat(Y.language.translate(\"Save\"),'\" role=\"button\" type=\"button\" class=\"fr-enable-accessibility fr-command fr-save-button\" tabIndex=\"12\" data-cmd=\"applyTableProperties\">Save</button>\\n            </div>\\n          </div>\\n        ')},n=Y.popups.create(\"table.tableProperties\",e),t=function t(e,l,r){n.find(e).on(\"keydown\",function(t){var e=Z(t.target),a=t.which;a!==je.KEYCODE.ENTER&&a!==je.KEYCODE.ARROW_DOWN&&a!==je.KEYCODE.SPACE||e.hasClass(\"fr-active\")||!e.is(\"button\")||(l&&r&&Y.button.click(e),t.preventDefault(),t.stopPropagation()),setTimeout(function(){if(a===je.KEYCODE.TAB&&l&&r){var e=t.shiftKey?n.find(l):n.find(r);e&&e.length&&e.focus(),t.preventDefault(),t.stopPropagation()}},10)})};return t(\".fr-border-style > button\",\".fr-btn-table-bg-color\",\"#fr-table-border-color\"),t(\".fr-border-style > .fr-dropdown-menu li\",\".fr-btn-table-bg-color\",\"#fr-table-border-color\"),t(\".fr-table-style > button\",\".fr-table-right-align\",\".fr-cancel-button\"),t(\".fr-table-style > .fr-dropdown-menu li\",\".fr-table-right-align\",\".fr-cancel-button\"),t(\".fr-save-button\",\".fr-cancel-button\",\"#fr-table-bg\"),n}function t(){p=!1}function we(e,t){var a=e.find(\"colgroup\");0===a.length&&(a=Z(Y.doc.createElement(\"colgroup\")),e.prepend(a));var l=a.find(\"col\").length;if(l<t)for(var r=l;r<t;r++)a.append(Z(Y.doc.createElement(\"col\")));else t<l&&a.find(\"col\").slice(t).remove();return Ee(a,ye(e)),e.find(\"th, td\").each(function(){Z(this).css(\"width\",\"\")}),a}function ye(e){var t=[];return e.find(\"colgroup\").find(\"col\").each(function(){var e=Math.round(Z(this).width())||0;t.push(e)}),t}function Ee(e,t){var a=e.find(\"col\"),l=t.reduce(function(e,t){return e+t},0);if(.01<Math.abs(l-100)){var r=100/l;t=t.map(function(e){return e*r})}a.each(function(e){e<t.length&&Z(this).css(\"width\",t[e].toFixed(4)+\"%\")})}function Te(e){var t=function f(e){var t=e.target,l=e.clientY;if(\"OL\"===t.tagName||\"UL\"===t.tagName){var a=Z(t).find(\"li\"),r=null,n=Infinity;return a.each(function(){var e=this.getBoundingClientRect(),t=e.top+e.height/2,a=Math.abs(l-t);a<n&&(n=a,r=this)}),r||t}var o=Z(t).closest(\"li\")[0];if(o)return o;return function i(e){var t=e;for(;t&&t!==Y.$el[0];){if(Y.node.isBlock(t))return t;t=t.parentElement}return null}(t)}(e);if(t){var a=t.getBoundingClientRect(),l=e.clientY,r=parseFloat(Z(t).css(\"margin-top\"))||0,n=parseFloat(Z(t).css(\"margin-bottom\"))||0,o=l<a.top+a.height/2,i=o?-r:n,s=(o?a.top:a.bottom)-Y.$box.offset().top+Y.helpers.scrollTop()+i/2,c=a.x-Y.$wp.offset().left;u||(u=Z(Y.doc.createElement(\"div\")).addClass(\"fr-table-drop-indicator\").html('<div class=\"fr-table-drop-indicator-line\"></div>'),Y.$box.append(u)),Y.opts.iframe&&(s+=Y.$iframe.offset().top,c+=Y.$iframe.offset().left),u.css({top:s+\"px\",left:c,width:a.width+\"px\"}).attr(\"data-position\",o?\"above\":\"below\").data(\"target-element\",t),u.show()}}function Re(e,t){e.css(\"height\",\"\");var a=e.height(),l=e.find(\"tr\"),r=(t-a)/l.length;l.each(function(){var e=Z(this),t=e.outerHeight(),a=Math.max(t+r,Y.opts.tableResizingLimit);e.css(\"height\",a+\"px\")}),e.css(\"height\",\"\".concat(t,\"px\"))}return{_init:function xe(){if(!Y.$wp)return!1;if(Y.helpers.isMobile()&&(Y.events.$on(Y.$el,\"mousedown\",z),Y.events.$on(Y.$win,\"mouseup\",K)),!Y.helpers.isMobile()){h=p=b=!1,Y.events.$on(Y.$el,\"mousedown\",z),Y.popups.onShow(\"image.edit\",function(){V(),p=b=!1}),Y.popups.onShow(\"link.edit\",function(){V(),p=b=!1}),Y.events.$on(Y.$el,\"mouseover\",\"th, td\",G),Y.events.$on(Y.$win,\"mouseup\",K),Y.opts.iframe&&Y.events.$on(Z(Y.o_win),\"mouseup\",K),Y.events.$on(Y.$win,\"mousemove\",pe),Y.events.$on(Z(Y.o_win),\"scroll\",ce),Y.events.on(\"contentChanged\",function(){ne(),0<ge().length&&!Y.popups.isVisible(\"table.tableProperties\")&&(C(),Y.$el.find(\"img\").on(\"load.selected-cells\",function(){Z(this).off(\"load.selected-cells\"),0<ge().length&&C()}))}),Y.events.$on(Z(Y.o_win),\"resize\",function(){V()}),Y.events.on(\"toolbar.esc\",function(){if(0<ge().length)return Y.events.disableBlur(),Y.events.focus(),!1},!0),Y.events.$on(Z(Y.o_win),\"keydown\",function(){b&&p&&(p=b=!1,Y.$el.removeClass(\"fr-no-selection\"),Y.edit.on(),Y.selection.setAtEnd(Y.$el.find(\".fr-selected-cell\").last().get(0)),Y.selection.restore(),V())}),Y.events.$on(Y.$el,\"keydown\",function(e){e.shiftKey?!1===function o(e){var t=ge();if(null!=t&&0<t.length){var a,l=j(),r=e.which,n=P(1==t.length?a=t[0]:(a=Y.el.querySelector(\".fr-cell-fixed\"),Y.el.querySelector(\".fr-cell-handler\")),l);if(je.KEYCODE.ARROW_RIGHT==r){if(n.col<l[0].length-1)return I(a,l[n.row][n.col+1]),!1}else if(je.KEYCODE.ARROW_DOWN==r){if(n.row<l.length-1)return I(a,l[n.row+1][n.col]),!1}else if(je.KEYCODE.ARROW_LEFT==r){if(0<n.col)return I(a,l[n.row][n.col-1]),!1}else if(je.KEYCODE.ARROW_UP==r&&0<n.row)return I(a,l[n.row-1][n.col]),!1}}(e)&&setTimeout(function(){C()},0):J(e)}),Y.events.on(\"keydown\",function(e){if(!1===function v(e){if(e.which==je.KEYCODE.TAB){var t;if(0<ge().length)t=Y.$el.find(\".fr-selected-cell\").last();else{var a=Y.selection.element();\"TD\"==a.tagName||\"TH\"==a.tagName?t=Z(a):a!=Y.el&&(0<Z(a).parentsUntil(Y.$el,\"td\").length?t=Z(a).parents(\"td\").first():0<Z(a).parentsUntil(Y.$el,\"th\").length&&(t=Z(a).parents(\"th\").first()))}if(t)return e.preventDefault(),!!(0===Y.selection.get().focusOffset&&0<Z(Y.selection.element()).parentsUntil(Y.$el,\"ol, ul\").length&&(0<Z(Y.selection.element()).closest(\"li\").prev().length||Z(Y.selection.element()).is(\"li\")&&0<Z(Y.selection.element()).prev().length))||(F(),e.shiftKey?0<t.prev().length?be(t.prev()):0<t.closest(\"tr\").length&&0<t.closest(\"tr\").prev().length?be(t.closest(\"tr\").prev().find(\"td\").last()):0<t.closest(\"tbody\").length&&0<t.closest(\"table\").find(\"thead tr\").length&&be(t.closest(\"table\").find(\"thead tr th\").last()):0<t.next().length?be(t.next()):0<t.closest(\"tr\").length&&0<t.closest(\"tr\").next().length?be(t.closest(\"tr\").next().find(\"td\").first()):0<t.closest(\"thead\").length&&0<t.closest(\"table\").find(\"tbody tr\").length?be(t.closest(\"table\").find(\"tbody tr td\").first()):(t.addClass(\"fr-selected-cell\"),A(\"below\"),V(),be(t.closest(\"tr\").next().find(\"td\").first())),Y.selection.restore(),!1)}}(e))return!1;var t=function t(){V(),oe(),e.preventDefault(),e.stopPropagation()},a=Y.$el.find(\"table.fr-table-selected\"),l=e.which;if(a.length&&!Y.keys.isArrow(e.which)&&l!==je.KEYCODE.TAB&&l!==je.KEYCODE.ALT&&l!==je.KEYCODE.ESC){if(e.ctrlKey||e.metaKey||l===je.KEYCODE.SHIFT)return!0;x(),Y.undo.saveStep(),t();var r=Y.html.defaultTag();if(l===je.KEYCODE.ENTER||Y.keys.isCharacter(l)&&!e.ctrlKey&&!e.metaKey){var n,o=l===je.KEYCODE.ENTER;n=r?o?\"<\".concat(r,' id=\"cursor-marker\"></').concat(r,\">\"):\"<\".concat(r,' id=\"cursor-marker\"> ').concat(l===je.KEYCODE.SPACE?\"&nbsp;\":e.key,\"</\").concat(r,\">\"):o?'<br id=\"cursor-marker\">':\"\".concat(l===je.KEYCODE.SPACE?\"&nbsp;\":e.key,' <br id=\"cursor-marker\">'),Y.html.insert(n,!0,!0);var i=Y.$el.find(\"#cursor-marker\").get(0);i&&i.parentNode&&setTimeout(function(){var e=Y.doc.createRange();e.setStart(i,o?0:1),e.setEnd(i,o?0:1),e.collapse(!0);var t=Y.selection.get();t.removeAllRanges(),t.addRange(e),Y.$el.focus()},0),i&&i.removeAttribute(\"id\")}return!1}if(a.length&&Y.keys.isArrow(e.which)){var s=e.which===je.KEYCODE.ARROW_DOWN||e.which===je.KEYCODE.ARROW_RIGHT,c=e.which===je.KEYCODE.ARROW_UP||e.which===je.KEYCODE.ARROW_LEFT;if(s||c){var f=s?a.next():a.prev();if(f&&f.length&&f[0].nodeType===Node.ELEMENT_NODE){var d=f[0];if(\"UL\"===d.tagName||\"OL\"===d.tagName){var p=d.querySelectorAll(\"li\");0<p.length&&(d=p[p.length-1])}(0===d.childNodes.length||1===d.childNodes.length&&\"BR\"===d.firstChild.nodeName)&&(d.innerHTML=\"\",d.appendChild(document.createTextNode(\"\\u200b\")));var b=Y.doc.createRange();s?b.setStartBefore(f[0]):(b.selectNodeContents(d),b.collapse(!1));var h=Y.selection.get();h.removeAllRanges(),h.addRange(b),setTimeout(function(){Y.events.disableBlur(),Y.$el[0].focus(),Y.events.enableBlur()},0)}}return t(),!1}!(e.ctrlKey||e.metaKey)&&a.length&&(V(),oe()),ne();var u=ge();if(0<u.length){if(0<u.length&&Y.keys.ctrlKey(e)&&e.which==je.KEYCODE.A)return V(),Y.popups.isVisible(\"table.edit\")&&Y.popups.hide(\"table.edit\"),u=[],!0;if(e.which==je.KEYCODE.ESC&&Y.popups.isVisible(\"table.edit\"))return V(),Y.popups.hide(\"table.edit\"),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!(u=[]);if(1<u.length&&(e.which==je.KEYCODE.BACKSPACE||e.which==je.KEYCODE.DELETE)){Y.undo.saveStep();for(var g=0;g<u.length;g++)Z(u[g]).html(\"<br>\"),g==u.length-1&&Z(u[g]).prepend(je.MARKERS);return Y.selection.restore(),Y.undo.saveStep(),!(u=[])}if(1<u.length&&e.which!=je.KEYCODE.F10&&!Y.keys.isBrowserAction(e))return e.preventDefault(),!(u=[])}else if(!(u=[])===function m(e){if(e.altKey&&e.which==je.KEYCODE.SPACE){var t,a=Y.selection.element();if(\"TD\"==a.tagName||\"TH\"==a.tagName?t=a:0<Z(a).closest(\"td\").length?t=Z(a).closest(\"td\").get(0):0<Z(a).closest(\"th\").length&&(t=Z(a).closest(\"th\").get(0)),t)return e.preventDefault(),I(t,t),C(),!1}}(e))return!1},!0);var t=null,a=[];Y.events.on(\"html.beforeGet\",function(){a=ge();for(var e=0;e<a.length;e++)a[e].className=(a[e].className||\"\").replace(/fr-selected-cell/g,\"\");(t=Y.$el.find(\"table.fr-table-selected\"))&&t.length&&re(t,\"fr-table-selected\")}),Y.events.on(\"html.afterGet\",function(){for(var e=0;e<a.length;e++)a[e].className=(a[e].className?a[e].className.trim()+\" \":\"\")+\"fr-selected-cell\";a=[],t&&t.length&&t.addClass(\"fr-table-selected\")});var f=!1,d=[\"applytextColor\",\"bold\",\"italic\",\"underline\",\"strikeThrough\",\"subscript\",\"superscript\",\"fontFamily\",\"fontSize\",\"applybackgroundColor\",\"inlineClass\",\"inlineStyle\",\"alignLeft\",\"alignCenter\",\"formatOLSimple\",\"alignRight\",\"alignJustify\",\"formatOL\",\"formatUL\",\"paragraphFormat\",\"paragraphStyle\",\"lineHeight\",\"outdent\",\"indent\",\"quote\",\"clearFormatting\"];Y.events.on(\"commands.before\",function(e,t){if(!f&&1<ge().length&&-1!==d.indexOf(e)){Y.undo.saveStep(),Y.selection.save(),Y.$el.find(\".fr-marker\").removeClass(\"fr-marker\").addClass(\"fr-marker-placeholder\");var a=je.COMMANDS[e].undo;je.COMMANDS[e].undo=!1,f=!0;for(var l={},r=0;r<ge().length;r++){var n=ge()[r],o=n.closest(\"tr\").rowIndex;l[o]||(l[o]=[]),l[o].push(n)}for(var i in l){var s=l[i];Y.selection.get().removeAllRanges();var c=Y.doc.createRange();c.setStartBefore(s[0]),c.setEndAfter(s[s.length-1]),Y.selection.get().addRange(c),Y.commands.exec(e,[t])}return Y.$el.find(\".fr-marker-placeholder\").addClass(\"fr-marker\").removeClass(\"fr-marker-placeholder\"),Y.selection.restore(),Y.undo.saveStep(),je.COMMANDS[e].undo=a,f=!1}}),Y.events.on(\"dragover\",function(e){if(F(),i){e.preventDefault(),e.stopPropagation();var t=Y.$el.find(\"table.fr-table-selected\"),a=e.target;if(t.is(a)||t.contains(a))return u&&u.hide(),void t.addClass(\"not-drop\");Y.$el.is(a)?t.addClass(\"not-drop\"):t.removeClass(\"not-drop\"),Te(e.originalEvent)}}),Y.events.on(\"element.dropped\",function(e){F(),p=b=!1;var t=B({target:e.get(0)});t&&(I(t,t),C())}),Y.el.addEventListener(\"copy\",function(e){var t=function d(){var e=ge();if(!e||0===e.length)return null;var t=e[0],a=e[e.length-1],l=t.parentElement,r=a.parentElement,n=l.closest(\"table\"),o=Array.from(n.rows),i=o.indexOf(l),s=o.indexOf(r),c=Array.from(l.cells).indexOf(t),f=Array.from(r.cells).indexOf(a);return{rows:o.slice(i,s+1).map(function(e){return Array.from(e.cells).slice(c,f+1)})}}();if(t){var a=t.rows.map(function(e){return\"<tr>\"+e.map(function(e){var t=e.tagName.toLowerCase(),a=e.getAttribute(\"style\");return\"<\".concat(t).concat(a?' style=\"'.concat(a,'\"'):\"\",\">\").concat(e.innerHTML,\"</\").concat(t,\">\")}).join(\"\")+\"</tr>\"}).join(\"\"),l=t.rows.map(function(e){return e.map(function(e){return e.textContent.trim()}).join(\"\\t\")}).join(\"\\n\"),r=\"<table>\".concat(a,\"</table>\");Y.paste.saveCopiedText(r,l),e.clipboardData.setData(\"text/html\",r),e.preventDefault()}}),Y.events.on(\"commands.after\",function(e){if(\"applyTableProperties\"===e){var t=Y.$el.find(\".fr-selected-cell\").closest(\"table\"),a=!!t.length&&parseFloat(t[0].style.height);a&&Re(t,a)}}),n(!0),o(!0),e()}Y.events.on(\"destroy\",ue)},insert:function Ae(e,t){var a=function d(){var e={startTag:\"\",closeTag:\"\"};if(Y.opts.keepTextFormatOnTable){var t=Z(Y.selection.element().firstChild).parentsUntil(Y.$el);e=R(t)}return{startTag:e.startTag,closeTag:e.closeTag}}(),l=[];Y.opts.tableDefaultWidth&&l.push(\"width: \"+Y.opts.tableDefaultWidth+\";\"),Y.opts.tableDefaultHeight&&l.push(\"height: \"+Y.opts.tableDefaultHeight+\";\"),l.push(\"margin: auto;\"),\"left\"===Y.opts.tableDefaultAlign?l.push(\"float: left;\"):\"right\"===Y.opts.tableDefaultAlign&&l.push(\"float: right;\"),Y.opts.tableDefaultBorderColor&&l.push(\"border-color: \"+Y.opts.tableDefaultBorderColor+\";\"),Y.opts.tableDefaultBorderWidth&&l.push(\"border-width: \"+Y.opts.tableDefaultBorderWidth+\";\"),Y.opts.tableDefaultBorderStyle&&l.push(\"border-style: \"+Y.opts.tableDefaultBorderStyle+\";\"),Y.opts.tableDefaultBGColor&&l.push(\"background-color: \"+Y.opts.tableDefaultBorderStyle+\";\");var r,n,o=l.join(\" \"),i=\"<table \"+(o?'style=\"'+o+'\"':\"\")+' class=\"fr-inserted-table\">',s=100/t;for(i+=\"<colgroup>\",n=0;n<t;n++)i+=\"<col\"+(Y.opts.tableDefaultWidth?' style=\"width: '+s.toFixed(4)+'%;\"':\"\")+\">\";for(i+=\"</colgroup>\",i+=\"<tbody>\",r=0;r<e;r++){for(i+=\"<tr>\",n=0;n<t;n++)i+=\"<td>\"+a.startTag,0===r&&0===n&&(i+=je.MARKERS),i+=\"<br>\"+a.closeTag+\"</td>\";i+=\"</tr>\"}if(i+=\"</tbody></table>\",Y.opts.trackChangesEnabled){Y.edit.on(),Y.events.focus(!0),Y.selection.restore(),Y.undo.saveStep(),Y.markers.insert(),Y.html.wrap();var c=Y.$el.find(\".fr-marker\");Y.node.isLastSibling(c)&&c.parent().hasClass(\"fr-deletable\")&&c.insertAfter(c.parent()),c.replaceWith(i),Y.selection.clear()}else g=!0,Y.html.insert(i);Y.selection.restore();var f=Y.$el.find(\".fr-inserted-table\");re(f,\"fr-inserted-table\"),Y.events.trigger(\"table.inserted\",[f.get(0)])},remove:x,insertRow:A,deleteRow:function Oe(){var e=ve();if(0<e.length){var t,a,l,r=j(),n=L(r);if(null==n)return;if(0===n.min_i&&n.max_i==r.length-1)x();else{for(t=n.max_i;t>=n.min_i;t--){for(l=Z(e.find(\"tr\").not(e.find(\"> table tr\")).get(t)),a=0;a<r[t].length;a++)if(0===a||r[t][a]!=r[t][a-1]){var o=Z(r[t][a]);if(1<parseInt(o.attr(\"rowspan\"),10)){var i=parseInt(o.attr(\"rowspan\"),10)-1;1==i?o.removeAttr(\"rowspan\"):o.attr(\"rowspan\",i)}if(t<r.length-1&&r[t][a]==r[t+1][a]&&(0===t||r[t][a]!=r[t-1][a])){for(var s=r[t][a],c=a;0<c&&r[t][c]==r[t][c-1];)c--;0===c?Z(e.find(\"tr\").not(e.find(\"> table tr\")).get(t+1)).prepend(s):Z(r[t+1][c-1])[0].parentNode&&Z(r[t+1][c-1])[0].insertAdjacentElement(\"afterend\",s)}}var f=l.parent();l.remove(),0===f.find(\"tr\").length&&f.remove(),r=j(e)}$(0,r.length-1,0,r[0].length-1,e),0<n.min_i?Y.selection.setAtEnd(r[n.min_i-1][0]):Y.selection.setAtEnd(r[0][0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")}}},insertColumn:function He(d){var e=ve();if(0<e.length){var p=j(),t=L(p),b=\"before\"==d?t.min_j:t.max_j;we(e,p[0].length);var a=ye(e);a=function i(e){var t=e.reduce(function(e,t){return e+t},0);if(0<t)return e.map(function(e){return e/t*100});var a=100/e.length;return new Array(e.length).fill(a)}(a);var l,r=100/(p[0].length+1),n=(100-r)/100,o=a.map(function(e){return e*n});e.find(\"th, td\").each(function(){(l=Z(this)).data(\"old-width\",l.outerWidth()/e.outerWidth()*100)}),function c(e,t,a,l,r){var n=e.find(\"colgroup\"),o=n.find(\"col\"),i=\"before\"===t?a:a+1,s=Z(Y.doc.createElement(\"col\"));return s.css(\"width\",l.toFixed(4)+\"%\"),i<o.length?o.eq(i).before(s):n.append(s),o.each(function(e){var t=r[e]||l;Z(this).css(\"width\",t.toFixed(4)+\"%\")}),n}(e,d,b,r,o),e.find(\"tr\").not(e.find(\"> table tr\")).each(function(e){for(var t,a=Z(this),l=0,r=0;l-1<b;){if(!(t=a.find(\"> th, > td\").get(r))){t=null;break}t==p[e][l]?(l+=parseInt(Z(t).attr(\"colspan\"),10)||1,r++):(l+=parseInt(Z(p[e][l]).attr(\"colspan\"),10)||1,\"after\"==d&&(t=0===r?-1:a.find(\"> th, > td\").get(r-1)))}var n=Z(t);if(\"after\"==d&&b<l-1||\"before\"==d&&0<b&&p[e][b]==p[e][b-1]){if(0===e||0<e&&p[e][b]!=p[e-1][b]){var o=parseInt(n.attr(\"colspan\"),10)+1;n.attr(\"colspan\",o),n.removeData(\"old-width\")}}else{var i,s=(n.get(0)||\"\").tagName;if(0<a.find(\"th\").length&&\"TH\"===s)i=\"<th><br></th>\";else{var c=E(p[e][b]),f=n.attr(\"style\")||\"\";i=\"<td\".concat(f?' style=\"'.concat(f,'\"'):\"\",\">\")+c.startTag+\"<br>\"+c.closeTag+\"</td>\"}Z(i).append(\"<br>\"),-1==t?a.prepend(i):null==t?a.append(i):\"before\"==d?n.before(i):\"after\"==d&&n.after(i)}}),e.find(\"th, td\").each(function(){Z(this).removeData(\"old-width\")}),Y.popups.isVisible(\"table.edit\")&&C()}},deleteColumn:function Me(){var e=ve();if(0<e.length){var t,a,l,r=j();we(e,r[0].length);var n=L(r);if(null==n)return;if(0===n.min_j&&n.max_j==r[0].length-1)x();else{var o=ye(e);for(a=n.max_j;a>=n.min_j;a--)for(t=0;t<r.length;t++)if(0===t||r[t][a]!=r[t-1][a])if(l=Z(r[t][a]),1<(parseInt(l.attr(\"colspan\"),10)||1)){var i=parseInt(l.attr(\"colspan\"),10)-1;1==i?l.removeAttr(\"colspan\"):l.attr(\"colspan\",i),l.removeData(\"old-width\")}else{var s=Z(l.parent().get(0));l.remove(),0===s.find(\"> th, > td\").length&&(0===s.prev().length||0===s.next().length||s.prev().find(\"> th[rowspan], > td[rowspan]\").length<s.prev().find(\"> th, > td\").length)&&s.remove()}$(0,r.length-1,0,r[0].length-1,e),function d(e,t,a,l){var r=l.length-(a-t+1);if(0<r){for(var n=we(e,r),o=0,i=0;i<l.length;i++)(i<t||a<i)&&(o+=l[i]);for(var s=[],c=0;c<l.length;c++)if(c<t||a<c){var f=100*l[c]/o;s.push(f)}Ee(n,s)}}(e,n.min_j,n.max_j,o),0<n.min_j?Y.selection.setAtEnd(r[n.min_i][n.min_j-1]):Y.selection.setAtEnd(r[n.min_i][0]),Y.selection.restore(),Y.popups.hide(\"table.edit\")}}},mergeCells:function $e(){if(1<ge().length&&(0===Y.$el.find(\"th.fr-selected-cell\").length||0===Y.$el.find(\"td.fr-selected-cell\").length)){S();var e,t,a=j(),l=L(a);if(null==l)return;var r=Y.$el.find(\".fr-selected-cell\"),n=Z(r[0]),o=n.closest(\"table\"),i=n.html(),s=ye(o);for(l.min_j<l.max_j&&n.attr(\"colspan\",l.max_j-l.min_j+1),l.min_i<l.max_i&&n.attr(\"rowspan\",l.max_i-l.min_i+1),e=1;e<r.length;e++)\"<br>\"!=(t=Z(r[e])).html()&&\"\"!==t.html()&&(i+=\"<br>\".concat(t.html())),t.remove();n.html(i),Y.selection.setAtEnd(n.get(0)),Y.selection.restore(),Y.toolbar.enable(),H(l.min_i,l.max_i,o);var c=o.find(\"tr:empty\");for(e=c.length-1;0<=e;e--)Z(c[e]).remove();O(l.min_j,l.max_j,o);var f=j(o),d=f[0]?f[0].length:0;if(a[0].length>d){var p=o.find(\"colgroup\"),b=a[0].map(function(e,t){return Z(e).is(\".fr-selected-cell\")?t:null}).filter(function(e){return null!==e}),h=b.reduce(function(e,t){return e+s[t]},0);Ee(p,[].concat(Ge(s.slice(0,Math.min.apply(Math,Ge(b)))),[h],Ge(s.slice(Math.max.apply(Math,Ge(b))+1))))}we(o,d),C()}},splitCellVertically:function De(){if(1==ge().length){var e=Y.$el.find(\".fr-selected-cell\"),t=parseInt(e.attr(\"colspan\"),10)||1,a=e.parent().outerWidth(),l=e.outerWidth(),r=e.parents(\"table\"),n=0,o=e.clone().html(\"<br>\"),i=j(),s=P(e.get(0),i);if(1<t)n=Math.ceil(t/2),l=function p(e,t,a){var l,r=0;for(l=e;l<=t;l++)r+=fe(l,a);return r}(s.col,s.col+n-1,i)/a*100,1<n?e.attr(\"colspan\",n):e.removeAttr(\"colspan\"),1<t-n?o.attr(\"colspan\",t-n):o.removeAttr(\"colspan\");else{var c;for(c=0;c<i.length;c++)if(0===c||i[c][s.col]!=i[c-1][s.col]){var f=Z(i[c][s.col]);if(!f.is(e)){var d=(parseInt(f.attr(\"colspan\"),10)||1)+1;f.attr(\"colspan\",d)}}l=l/a*100/2}e[0].parentNode&&e[0].insertAdjacentElement(\"afterend\",o[0]),function b(e,t,a,l,r){var n=e.find(\"colgroup\");0===n.length&&(n=we(e,r[0].length));var o=n.find(\"col\");if(1<a){var i=ye(e);Ee(n,i)}else{var s=l,c=o.eq(t.col);c.length&&c.css(\"width\",s.toFixed(4)+\"%\");var f=Z(Y.doc.createElement(\"col\"));f.css(\"width\",s.toFixed(4)+\"%\"),t.col+1<o.length?o.eq(t.col+1).before(f):n.append(f)}}(r,s,t,l,i),V(),Y.popups.hide(\"table.edit\")}},splitCellHorizontally:function Se(){if(1==ge().length){var e=Y.$el.find(\".fr-selected-cell\"),t=e.parent(),a=e.closest(\"table\"),l=parseInt(e.attr(\"rowspan\"),10),r=j(),n=P(e.get(0),r),o=e.clone().html(\"<br>\");if(1<l){var i=Math.ceil(l/2);1<i?e.attr(\"rowspan\",i):e.removeAttr(\"rowspan\"),1<l-i?o.attr(\"rowspan\",l-i):o.removeAttr(\"rowspan\");for(var s=n.row+i,c=0===n.col?n.col:n.col-1;0<=c&&(r[s][c]==r[s][c-1]||0<s&&r[s][c]==r[s-1][c]);)c--;-1==c?Z(a.find(\"tr\").not(a.find(\"> table tr\")).get(s)).prepend(o):Z(r[s][c])[0].parentNode&&Z(r[s][c])[0].insertAdjacentElement(\"afterend\",o[0])}else{var f,d=Z(document.createElement(\"tr\")).append(o);for(f=0;f<r[0].length;f++)if(0===f||r[n.row][f]!=r[n.row][f-1]){var p=Z(r[n.row][f]);p.is(e)||p.attr(\"rowspan\",(parseInt(p.attr(\"rowspan\"),10)||1)+1)}t[0].parentNode&&t[0].insertAdjacentElement(\"afterend\",d[0])}V(),Y.popups.hide(\"table.edit\")}},addHeader:function Ve(){var e=ve();if(0<e.length&&0===e.find(\"> th\").length){var t,a=\"<thead><tr>\",l=0;for(l=e.find(\"tr\").first().find(\"> th\").length,e.find(\"tr\").first().find(\"> td\").each(function(){var e=Z(this);l+=parseInt(e.attr(\"colspan\"),10)||1}),t=0;t<l;t++)a+=\"<th><br></th>\";a+=\"</tr></thead>\",e.prepend(a),C()}},addFooter:function Ne(){var e=ve();if(0<e.length&&0===e.find(\"tfoot\").length){var t=\"<tfoot><tr>\",a=0,l=e.find(\"thead tr\").first();0===l.length&&(l=e.find(\"tbody tr\").first()),l.find(\"th, td\").each(function(){a+=parseInt(Z(this).attr(\"colspan\"),10)||1});for(var r=0;r<a;r++)t+=\"<td><br></td>\";t+=\"</tr></tfoot>\",e.append(t),C()}},removeHeader:function Le(){var e=ve(),t=e.find(\"> thead\");if(0<(t=Z(t)).length)if(0===e.find(\"tbody tr\").length)x();else if(t.remove(),0<ge().length)C();else{Y.popups.hide(\"table.edit\");var a=e.find(\"tbody tr\").first().find(\"td\").first().get(0);a&&(Y.selection.setAtEnd(a),Y.selection.restore())}},removeFooter:function _e(){var e=ve(),t=e.find(\"tfoot\");if(0<t.length)if(0===e.find(\"tbody tr\").length)x();else if(t.remove(),0<ge().length)C();else{Y.popups.hide(\"table.edit\");var a=e.find(\"tbody tr\").first().find(\"td\").first().get(0);a&&(Y.selection.setAtEnd(a),Y.selection.restore())}},setBackground:function a(e){var t=Y.$el.find(\".fr-selected-cell\");\"REMOVE\"!=e?t.css(\"background-color\",Y.helpers.HEXtoRGB(e)):t.css(\"background-color\",\"\")},showInsertPopup:function Ie(){var e=Y.$tb.find('.fr-command[data-cmd=\"insertTable\"]'),t=Y.popups.get(\"table.insert\");if(t||(t=n()),!t.hasClass(\"fr-active\")){Y.popups.refresh(\"table.insert\"),Y.popups.setContainer(\"table.insert\",Y.$tb);var a=Y.button.getPosition(e),l=a.left,r=a.top;Y.popups.show(\"table.insert\",l,r,e.outerHeight())}},showEditPopup:C,showColorsPopup:function Pe(e){var t=j();if(t){var a=Y.popups.get(\"table.colors\");a||(a=function i(){var e=\"\",t=0;0<Y.opts.tableColorsButtons.length&&(e='<div class=\"fr-buttons fr-colors-buttons fr-tabs\">'.concat(Y.button.buildList(Y.opts.tableColorsButtons),\"</div>\"));var a=\"\";Y.opts.colorsHEXInput&&(a='<div class=\"fr-color-hex-layer fr-table-colors-hex-layer fr-active fr-layer\" id=\"fr-table-colors-hex-layer-'.concat(Y.id,'\">\\n        <div class=\"fr-input-line\">\\n        <input maxlength=\"7\" id=\"fr-table-colors-hex-layer-text\" tabIndex=\"').concat(++t,'\" type=\"text\" placeholder=\"').concat(Y.language.translate(\"HEX Color\"),'\" aria-required=\"true\">\\n        </div>\\n        <div class=\"fr-action-buttons\">\\n        <button type=\"button\" class=\"fr-command fr-submit\" tabIndex=\"').concat(++t,'\" data-cmd=\"applyCustomColor\" role=\"button\">\\n        ').concat(Y.language.translate(\"OK\"),\"\\n        </button>\\n        </div>\\n        </div>\"));var l={buttons:e,colors:function n(){for(var e='<div class=\"fr-color-set fr-table-colors\">',t=0;t<Y.opts.tableColors.length;t++)0!==t&&t%Y.opts.tableColorsStep==0&&(e+=\"<br>\"),\"REMOVE\"!=Y.opts.tableColors[t]?e+='<span class=\"fr-command fr-select-color\" style=\"background: '.concat(Y.opts.tableColors[t],';\" tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\\'onSelectColor\\' data-param1=\"').concat(Y.opts.tableColors[t],'\"><span class=\"fr-sr-only\">').concat(Y.language.translate(\"Color\"),\" \").concat(Y.opts.tableColors[t],\"&nbsp;&nbsp;&nbsp;</span></span>\"):e+='<span class=\"fr-command fr-select-color\" data-cmd=\\'onColorClear\\' tabIndex=\"-1\" role=\"button\" title=\"'.concat(Y.language.translate(\"Clear Formatting\"),'\">').concat(Y.icon.create(\"tableColorRemove\"),'<span class=\"fr-sr-only\">').concat(Y.language.translate(\"Clear Formatting\"),\"</span></span>\");return e+=\"</div>\"}(),custom_color:a},r=Y.popups.create(\"table.colors\",l);return function o(m){Y.events.on(\"popup.tab\",function(e){var t=Z(e.currentTarget);if(!Y.popups.isVisible(\"table.colors\")||!t.is(\"span, input, button\"))return!0;var a,l,r=e.which,n=!0;if(je.KEYCODE.TAB==r){var o=m.find(\"span.fr-select-color\");if(t.is(o.first())&&e.shiftKey||t.is(m.find(\"span.fr-submit\"))&&!e.shiftKey){var i=m.find(\".fr-buttons\");n=!Y.accessibility.focusToolbar(i,!!e.shiftKey)}if(!1!==n){var s=m.find(\"span.fr-select-color\");s.add(m.find(\"input\")),s.add(m.find(\"button.fr-submit\")),a=s.index(t),a=e.shiftKey?((a-1)%s.length+s.length)%s.length:(a+1)%s.length,l=s.get(a),Y.events.disableBlur(),l.focus(),n=!1}}else if(je.KEYCODE.ARROW_UP==r||je.KEYCODE.ARROW_DOWN==r||je.KEYCODE.ARROW_LEFT==r||je.KEYCODE.ARROW_RIGHT==r){var c=t.parent().find(\"span.fr-command\"),f=c.index(t),d=Y.opts.colorsStep,p=Math.floor(c.length/d),b=f%d,h=Math.floor(f/d),u=h*d+b,g=p*d;je.KEYCODE.ARROW_UP==r?u=((u-d)%g+g)%g:je.KEYCODE.ARROW_DOWN==r?u=(u+d)%g:je.KEYCODE.ARROW_LEFT==r?u=((u-1)%g+g)%g:je.KEYCODE.ARROW_RIGHT==r&&(u=(u+1)%g);var v=Z(c.get(u));Y.events.disableBlur(),v.focus(),n=!1}else je.KEYCODE.ENTER==r&&(Y.button.exec(t),n=!1);return!1===n&&(e.preventDefault(),e.stopPropagation()),n},!0)}(r),r}()),a.data(\"type\",e),Y.popups.setContainer(\"table.colors\",Y.$sc);var l=_(t),r=(l.left+l.right)/2,n=l.bottom;!function o(){var e=Y.popups.get(\"table.colors\"),t=Y.$el.find(\".fr-selected-cell\").first(),a=Y.helpers.RGBToHex(t.css(\"background-color\")),l=e.find(\".fr-table-colors-hex-layer input\");e.find(\".fr-selected-color\").removeClass(\"fr-selected-color fr-active-item\"),e.find('span[data-param1=\"'.concat(a,'\"]')).addClass(\"fr-selected-color fr-active-item\"),l.val(\"\")}(),Y.popups.show(\"table.colors\",r,n,l.bottom-l.top,!0)}},showTableProperties:function ke(){var e=j();if(e){var n=Y.popups.get(\"table.tableProperties\");n||(n=Ce());var t=ve();n.data(\"tableStyle\",{}),n.data(\"borderStyle\",\"\");var a=t[0],l=a&&a.getAttribute(\"style\")||\"\",r=!!l,o=r&&/background(-color)?\\s*:/i.test(l)?t.css(\"background-color\"):\"\",i=r&&/border(-color)?\\s*:/i.test(l)?t.css(\"border-color\"):\"\",s=r&&/border(-style)?\\s*:/i.test(l)?t.css(\"border-style\"):\"\",c=r&&/border(-width)?\\s*:/i.test(l)?t[0].style.borderWidth:\"\",f=r&&/(^|\\s|;)width\\s*:/i.test(l)&&a?a.style.width:\"\",d=r&&/(^|\\s|;)height\\s*:/i.test(l)&&a?a.style.height:\"\",p=r?/\\bfloat\\s*:\\s*right\\b/i.test(l)?\"right\":/\\bfloat\\s*:\\s*left\\b/i.test(l)?\"left\":/\\bmargin\\s*:\\s*auto\\b/i.test(l)?\"center\":\"left\":\"left\",b=\"\",h={};if(t.is(\"[class]\")){var u=t.attr(\"class\").split(/\\s+/),g=Y.opts.tableStyles;h=u.reduce(function(e,t){return g.hasOwnProperty(t)&&(e[t]=g[t]),e},{}),b=Object.values(h).join(\", \")}var v=function v(e,t,a,l){var r=Y.helpers.isRGBColor(l)?Y.helpers.RGBToHex(l):l;n.find(e).val(r),T(n.find(t),n.find(a),r)},m=n.find(\".fr-border-style\").find(\".fr-dropdown\"),C=n.find(\".fr-table-style\").find(\".fr-dropdown\");v(\"#fr-table-bg\",\".fr-color-preview\",\".fr-color-preview-indicator\",o),v(\"#fr-table-border-color\",\".fr-border-color-preview\",\".fr-border-color-preview-indicator\",i),m.find(\"> span\").text(s),C.find(\"> span\").text(b||\" \"),me(p),setTimeout(function(){c&&n.find(\"#fr-table-border-width\").val(c).focus(),i&&n.find(\"#fr-table-border-color\").focus(),f&&n.find(\"#fr-table-width\").val(f).focus(),d&&n.find(\"#fr-table-height\").val(d).focus(),s&&n.data(\"borderStyle\",s),h&&n.data(\"tableStyle\",h),n.find(\"#fr-table-bg\").focus()},10),Y.popups.setContainer(\"table.tableProperties\",Y.$sc);var w=_(e),y=(w.left+w.right)/2,E=w.bottom;Y.popups.show(\"table.tableProperties\",y,E,w.bottom-w.top,!0)}},hideTableProperties:function Be(){Y.popups.hide(\"table.tableProperties\")},updateTableAlign:me,back:function Fe(e){if(e&&Y.popups.isVisible(\"table.colors\")){Y.popups.hide(\"table.colors\");var t=j();if(t){var a=\"table\"===e||\"border\"===e,l=a?\"table.tableProperties\":\"table.cellProperties\",r=Y.popups.get(l);r||(r=a?Ce():m()),Y.popups.setContainer(l,Y.$sc);var n,o=_(t),i=o.left+(o.right-o.left)/2,s=o.bottom;Y.popups.show(l,i,s,o.bottom-o.top,!0),n=\"table\"===e?\".fr-btn-table-bg-color\":\"border\"===e?\".fr-btn-table-border-bg-color\":\".fr-btn-cell-bg-color\",r.find(n).focus()}}else 0<ge().length?C():(Y.popups.hide(\"table.insert\"),Y.toolbar.showInline())},verticalAlign:function ze(e){Y.$el.find(\".fr-selected-cell\").css(\"vertical-align\",e)},horizontalAlign:function Ke(e){var t=Y.$el.find(\".fr-selected-cell\");t.css(\"text-align\",e),t.children().css(\"text-align\",\"\")},applyStyle:function Ye(e,t,a,l){if(0<t.length){if(Y.opts.useClasses||(\"TABLE\"===t.get(0).tagName?function n(e,t){var a=e.childNodes;if(0<a.length)for(var l=0;l<a.length;l++)\"TD\"===a[l].tagName?\"fr-dashed-borders\"===t||\"fr-highlighted\"===t||\"fr-thick\"===t?D(a[l]):\"fr-alternate-rows\"===t&&a[l].style.removeProperty(\"background-color\"):n(a[l],t)}(t.get(0),e):D(t.get(0))),!a){var r=Object.keys(l);r.splice(r.indexOf(e),1),t.removeClass(r.join(\" \"))}t.toggleClass(e)}},selectedTable:ve,selectedCells:ge,customColor:function We(){var e=Y.popups.get(\"table.colors\").find(\".fr-table-colors-hex-layer input\"),t=e.val(),a=t;t&&t.length&&(0!==t.indexOf(\"#\")&&(a=\"#\"+t),v(a)),e.val(\"\")},selectCells:I,resetAll:w,showCellPropertiesPopup:function Ze(){var e=j();if(e){var t=Y.popups.get(\"table.cellProperties\")||m();t.find(\"#fr-cell-bg, #fr-cell-width, #fr-cell-height, #fr-cell-padding\").val(\"\"),w(),T(t.find(\".fr-color-preview\"),t.find(\".fr-color-preview-indicator\"),\"\");var a=Y.table.selectedCells();if(a.length){var s=null,c=!0,f=null,d=!0,p=null,b=!0,h=null,u=!0,n=function n(e){return\"rgba(0, 100, 255, 0.15)\"===e};Array.from(a).forEach(function(e,t){var a,l=Z(e),r=l.css(\"background-color\");r&&\"rgba(0, 0, 0, 0)\"!==r&&\"transparent\"!==r&&(a=Y.helpers.RGBToHex(r));var n=l.attr(\"data-cell-width\"),o=l.attr(\"data-cell-height\"),i=l.attr(\"data-cell-padding\");0===t?(f=n||null,p=o||null,h=i||null,s=a||null):(n!==f&&(d=!1),o!==p&&(b=!1),i!==h&&(u=!1),a!==s&&(c=!1))});var l=\"\";if(1===a.length){var r=Z(a[0]),o=r.css(\"background-color\");!(r[0]&&r[0].hasAttribute(\"style\")&&/background(-color)?:/i.test(r.attr(\"style\")))&&n(o)||(l=Y.helpers.isRGBColor(o)?Y.helpers.RGBToHex(o):o)}else c&&s&&Array.from(a).every(function(e){var t=Z(e),a=e.getAttribute(\"style\")||\"\",l=/background(-color)?:/i.test(a),r=t.css(\"background-color\");return l||!n(r)})&&(l=Y.helpers.isRGBColor(s)?Y.helpers.RGBToHex(s):s);t.find(\"#fr-cell-bg\").val(l),T(t.find(\".fr-color-preview\"),t.find(\".fr-color-preview-indicator\"),l),d&&f&&t.find(\"#fr-cell-width\").val(f),b&&p&&t.find(\"#fr-cell-height\").val(p),u&&h&&t.find(\"#fr-cell-padding\").val(h),Y.popups.setContainer(\"table.cellProperties\",Y.$sc);var i=_(e),g=i.left+(i.right-i.left)/2,v=i.bottom;Y.popups.show(\"table.cellProperties\",g,v,i.bottom-i.top,!0)}}},updateSelectedColor:v}},je.RegisterCommand(\"tableProperties\",{title:\"Table Properties\",icon:\"tablePropertiesIcon\",undo:!1,focus:!1,popup:!0,callback:function(){this.table.showTableProperties()}}),je.RegisterCommand(\"openColorPicker\",{title:\"Select color\",focus:!1,popup:!0,callback:function(e,t){this.table.showColorsPopup(t)}}),je.RegisterCommand(\"onCancel\",{title:\"Cancel\",callback:function(){this.popups.hide(\"table.tableProperties\"),this.popups.hide(\"table.cellProperties\"),this.table.showEditPopup()}}),je.RegisterCommand(\"applyCustomColor\",{title:\"OK\",undo:!0,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e.data(\"type\")),this.table.customColor()}}),je.RegisterCommand(\"onSelectColor\",{undo:!0,focus:!1,callback:function(e,t){var a=this.popups.get(\"table.colors\");this.table.back(a.data(\"type\")),this.table.updateSelectedColor(t)}}),je.RegisterCommand(\"tableAlign\",{title:\"Table Align\",undo:!0,callback:function(e,t){this.table.updateTableAlign(t)}}),je.RegisterCommand(\"tableBorderStyle\",{title:\"\",type:\"dropdown\",focus:!0,undo:!0,refreshAfterCallback:!0,displaySelection:function(e){return e.opts.tableBorderStyle},html:function(){for(var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableBorderStyle,a=0;a<t.length;a++)e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableBorderStyle\" data-param1=\"'.concat(t[a],'\" title=\"').concat(t[a],'\">').concat(t[a],\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){var a=this.popups.get(\"table.tableProperties\"),l=a.find(\".fr-border-style\").find(\".fr-dropdown\");l.find(\"> span\").text(t),a.data(\"borderStyle\",t),l.focus()},refreshOnShow:function(e,t){var a=this.popups.get(\"table.tableProperties\").data(\"borderStyle\");t.find(\".fr-command.fr-active\").removeClass(\"fr-active\").attr(\"aria-selected\",!1),t.find('.fr-command[data-param1=\"'.concat(a,'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.RegisterCommand(\"tableStyle\",{title:\"\",type:\"dropdown\",focus:!0,undo:!0,displaySelectionWidth:\"300\",refreshAfterCallback:!0,displaySelection:function(e){return e.opts.tableStyles},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableStyles;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableStyle\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){var a=this.popups.get(\"table.tableProperties\"),l=a.find(\".fr-table-style\").find(\".fr-dropdown\"),r=this.opts.tableStyles,n=a.data(\"tableStyle\")||{};n[t]?delete n[t]:n[t]=r[t],a.data(\"tableStyle\",n);var o=Object.keys(n).length?Object.values(n).join(\", \"):\" \";l.find(\"> span\").text(o),l.focus()},refreshOnShow:function(e,t){var r=this,a=this.$el.find(\".fr-selected-cell\").closest(\"table\"),n=this.popups.get(\"table.tableProperties\");a&&t.find(\".fr-command\").each(function(e,t){var a=r.$(t).data(\"param1\"),l=n.data(\"tableStyle\")&&n.data(\"tableStyle\")[a];l&&r.$(t).toggleClass(\"fr-active\",l).attr(\"aria-selected\",l)})}}),je.RegisterCommand(\"onColorClear\",{undo:!0,focus:!1,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e.data(\"type\")),e.find(\"#fr-table-colors-hex-layer-text\").val(\"\"),this.table.updateSelectedColor(\"\")}}),je.RegisterCommand(\"applyTableProperties\",{title:\"Apply Table Properties\",undo:!0,focus:!0,callback:function(){var e=this.popups.get(\"table.tableProperties\"),t=e.find(\"#fr-table-bg\").val(),a=e.find(\"#fr-table-border-color\").val(),l=this.table.selectedTable(),r=e.find(\"#fr-table-width\").val(),n=e.find(\"#fr-table-height\").val(),o=e.find(\"#fr-table-border-width\").val(),i=e.data(\"borderStyle\"),s=e.data(\"tableAlign\"),c=e.data(\"tableStyle\"),f=!t||\"REMOVE\"===t||\"transparent\"===t||\"rgba(0, 0, 0, 0)\"===t;l.css(\"background-color\",f?\"\":t);var d=!a||\"REMOVE\"===a||\"transparent\"===a||\"rgba(0, 0, 0, 0)\"===a;l.css(\"border-color\",d?\"\":a);var p=function p(e){if(\"\"===e)return!0;var t=e.trim();return/^-?\\d+(\\.\\d+)?$/.test(t)&&(t+=\"px\"),/^-?\\d+(\\.\\d+)?(px|%)$/.test(t)?t:null};if(r&&p(r)?l.css(\"width\",p(r)):l.css(\"width\",\"\"),n&&p(n)?l.css(\"height\",p(n)):l.css(\"height\",\"\"),o&&p(o)?l.css(\"border-width\",p(o)):l.css(\"border-width\",\"\"),i&&l.css(\"border-style\",i),\"center\"===s?(l.css(\"margin\",\"auto\"),l.css(\"float\",\"\")):(l.parent().is(\"li\")&&l.parent().css(\"display\",\"list-item flow-root\"),l.css(\"float\",s),l.css(\"margin\",\"\")),l.removeAttr(\"class\"),c&&0<Object.keys(c).length)for(var b in c)c.hasOwnProperty(b)&&l.addClass(b);this.popups.hide(\"table.tableProperties\")}}),je.RegisterCommand(\"tableCellProperties\",{title:\"Cell Properties\",icon:\"tableCellProperties\",undo:!1,focus:!1,popup:!0,callback:function(){this.table.showCellPropertiesPopup()},refresh:function(e){var t=0<this.table.selectedCells().length;e.toggleClass(\"fr-disabled\",!t).attr(\"aria-disabled\",!t)}}),je.RegisterCommand(\"applyCellProperties\",{title:\"Apply Cell Properties\",undo:!0,focus:!1,callback:function(){var n=this.$,e=this.popups.get(\"table.cellProperties\"),o=function o(e,t,a,l){var r=n(e);a?(l&&r.attr(l,a),a!==r[0].style[t]&&([\"width\",\"height\"].includes(t)&&r.removeAttr(t),r.css(t,a))):(r.css(t,\"\"),l&&r.removeAttr(l),[\"width\",\"height\"].includes(t)&&r.removeAttr(t))},r=e.find(\"#fr-cell-bg\").val(),i=e.find(\"#fr-cell-width\").val(),s=e.find(\"#fr-cell-height\").val(),c=e.find(\"#fr-cell-padding\").val(),f=!0===e.data(\"bg-modified\"),d=!0===e.data(\"width-modified\"),p=!0===e.data(\"height-modified\"),b=!0===e.data(\"padding-modified\");this.table.selectedCells().forEach(function(e){var t=n(e);if(f){var a=!r||\"REMOVE\"===r||\"transparent\"===r||\"rgba(0, 0, 0, 0)\"===r;t.css(\"background-color\",a?\"\":r)}var l=function l(e){if(\"\"===e)return!0;var t=e.trim();return/^-?\\d+(\\.\\d+)?$/.test(t)&&(t+=\"px\"),/^-?\\d+(\\.\\d+)?(px|%)$/.test(t)?t:null};d&&l(i)&&o(e,\"width\",i,\"data-cell-width\"),p&&l(s)&&o(e,\"height\",s,\"data-cell-height\"),b&&l(c)&&o(e,\"padding\",c,\"data-cell-padding\")}),this.table.resetAll(),this.popups.hide(\"table.cellProperties\")}}),je.DefineIcon(\"insertTable\",{NAME:\"table\",SVG_KEY:\"insertTable\"}),je.RegisterCommand(\"insertTable\",{title:\"Insert Table\",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"table.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"table.insert\")):this.table.showInsertPopup()},plugin:\"table\"}),je.RegisterCommand(\"tableInsert\",{callback:function(e,t,a){this.table.insert(t,a),this.popups.hide(\"table.insert\")}}),je.DefineIcon(\"tableHeader\",{NAME:\"header\",FA5NAME:\"heading\",SVG_KEY:\"tableHeader\"}),je.RegisterCommand(\"tableHeader\",{title:\"Table Header\",focus:!1,toggle:!0,callback:function(){this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableHeader\"]').hasClass(\"fr-active\")?this.table.removeHeader():this.table.addHeader()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find(\"> thead\").length?e.removeClass(\"fr-active\").attr(\"aria-pressed\",!1):e.addClass(\"fr-active\").attr(\"aria-pressed\",!0))}}),je.DefineIcon(\"tableFooter\",{NAME:\"table\",FA5NAME:\"table\",SVG_KEY:\"tableFooter\"}),je.RegisterCommand(\"tableFooter\",{title:\"Table Footer\",focus:!1,toggle:!0,callback:function(){this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableFooter\"]').hasClass(\"fr-active\")?this.table.removeFooter():this.table.addFooter()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find(\"tfoot\").length?e.removeClass(\"fr-active\").attr(\"aria-pressed\",!1):e.addClass(\"fr-active\").attr(\"aria-pressed\",!0))}}),je.DefineIcon(\"tableRows\",{NAME:\"bars\",SVG_KEY:\"row\"}),je.RegisterCommand(\"tableRows\",{type:\"dropdown\",focus:!1,title:\"Row\",options:{above:\"Insert row above\",below:\"Insert row below\",\"delete\":\"Delete row\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableRows.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableRows\" data-param1=\"'+a+'\" title=\"'+this.language.translate(t[a])+'\">'+this.language.translate(t[a])+\"</a></li>\");return e+=\"</ul>\"},callback:function(e,t){\"above\"==t||\"below\"==t?this.table.insertRow(t):this.table.deleteRow()}}),je.DefineIcon(\"tableColumns\",{NAME:\"bars fa-rotate-90\",SVG_KEY:\"columns\"}),je.RegisterCommand(\"tableColumns\",{type:\"dropdown\",focus:!1,title:\"Column\",options:{before:\"Insert column before\",after:\"Insert column after\",\"delete\":\"Delete column\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableColumns.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableColumns\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){\"before\"==t||\"after\"==t?this.table.insertColumn(t):this.table.deleteColumn()}}),je.DefineIcon(\"tableCells\",{NAME:\"square-o\",FA5NAME:\"square\",SVG_KEY:\"cellOptions\"}),je.RegisterCommand(\"tableCells\",{type:\"dropdown\",focus:!1,title:\"Cell\",options:{merge:\"Merge cells\",\"vertical-split\":\"Vertical split\",\"horizontal-split\":\"Horizontal split\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCells.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCells\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){\"merge\"==t?this.table.mergeCells():\"vertical-split\"==t?this.table.splitCellVertically():this.table.splitCellHorizontally()},refreshOnShow:function(e,t){1<this.$el.find(\".fr-selected-cell\").length?(t.find('a[data-param1=\"vertical-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"horizontal-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"merge\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1)):(t.find('a[data-param1=\"merge\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\",!0),t.find('a[data-param1=\"vertical-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1),t.find('a[data-param1=\"horizontal-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\",!1))}}),je.DefineIcon(\"tableRemove\",{NAME:\"trash\",SVG_KEY:\"removeTable\"}),je.RegisterCommand(\"tableRemove\",{title:\"Remove Table\",focus:!1,callback:function(){this.table.remove()}}),je.DefineIcon(\"tableBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),je.RegisterCommand(\"tableBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){var e=this.popups.get(\"table.colors\");this.table.back(e&&e.length?e.data(\"type\"):null)}}),je.DefineIcon(\"tableCellVerticalAlign\",{NAME:\"arrows-v\",FA5NAME:\"arrows-alt-v\",SVG_KEY:\"verticalAlignMiddle\"}),je.RegisterCommand(\"tableCellVerticalAlign\",{type:\"dropdown\",focus:!1,title:\"Vertical Align\",options:{Top:\"Align Top\",Middle:\"Align Middle\",Bottom:\"Align Bottom\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCellVerticalAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellVerticalAlign\" data-param1=\"'.concat(a.toLowerCase(),'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(a),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.verticalAlign(t)},refreshOnShow:function(e,t){t.find('.fr-command[data-param1=\"'+this.$el.find(\".fr-selected-cell\").css(\"vertical-align\")+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.DefineIcon(\"tableCellHorizontalAlign\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),je.DefineIcon(\"align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),je.DefineIcon(\"align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),je.DefineIcon(\"align-center\",{NAME:\"align-center\",SVG_KEY:\"alignCenter\"}),je.DefineIcon(\"align-justify\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),je.RegisterCommand(\"tableCellHorizontalAlign\",{type:\"dropdown\",focus:!1,title:\"Horizontal Align\",options:{left:\"Align Left\",center:\"Align Center\",right:\"Align Right\",justify:\"Align Justify\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=je.COMMANDS.tableCellHorizontalAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellHorizontalAlign\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.icon.create(\"align-\".concat(a)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.horizontalAlign(t)},refresh:function(e){var t=this.table.selectedCells(),a=this.$;t.length&&e.find(\"> *\").first().replaceWith(this.icon.create(\"align-\".concat(this.helpers.getAlignment(a(t[0])))))},refreshOnShow:function(e,t){t.find('.fr-command[data-param1=\"'+this.helpers.getAlignment(this.$el.find(\".fr-selected-cell\").first())+'\"]').addClass(\"fr-active\").attr(\"aria-selected\",!0)}}),je.DefineIcon(\"tableCellStyle\",{NAME:\"magic\",SVG_KEY:\"cellStyle\"}),je.RegisterCommand(\"tableCellStyle\",{title:\"Cell Style\",type:\"dropdown\",focus:!1,html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=this.opts.tableCellStyles;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellStyle\" data-param1=\"'.concat(a,'\" title=\"').concat(this.language.translate(t[a]),'\">').concat(this.language.translate(t[a]),\"</a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(\".fr-selected-cell\"),this.opts.tableCellMultipleStyles,this.opts.tableCellStyles)},refreshOnShow:function(e,t){var a=this.$,l=this.$el.find(\".fr-selected-cell\").first();l&&t.find(\".fr-command\").each(function(){var e=a(this).data(\"param1\"),t=l.hasClass(e);a(this).toggleClass(\"fr-active\",t).attr(\"aria-selected\",t)})}}),je.DefineIcon(\"tableColorRemove\",{NAME:\"eraser\",SVG_KEY:\"remove\"}),je.DefineIcon(\"tableCellProperties\",{template:\"svgMultiplePath\",PATHS:'\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.513 3.25C20.9736 3.25 22.1577 4.43408 22.1577 5.89471V12.6517L22.1546 12.6526C21.8784 12.4577 21.6084 12.2933 21.3448 12.1593C21.1821 12.0767 21.0123 11.9963 20.8353 11.9183V8.53928H15.546V12.2584C15.3417 12.3719 15.1339 12.5033 14.9223 12.6526L12.7375 11.9949L11.6254 13.8287H8.93418V16.4735H12.9027C12.893 16.6127 12.8882 16.7519 12.8882 16.891C12.8882 17.1927 12.911 17.4943 12.9565 17.7959H3.64471C2.18408 17.7959 1 16.6118 1 15.1512V5.89471C1 4.43408 2.18408 3.25 3.64471 3.25H19.513ZM19.513 4.57235H15.546V7.21692H20.8353V5.89471C20.8353 5.16439 20.2433 4.57235 19.513 4.57235ZM8.93418 4.57235H14.2236V7.21692H8.93418V4.57235ZM3.64471 4.57235H7.61183V7.21692H2.32235V5.89471C2.32235 5.16439 2.91439 4.57235 3.64471 4.57235ZM2.32235 12.5063V8.53928H7.61183V12.5063H2.32235ZM2.32235 15.1512V13.8287H7.61183V16.4735H3.64471C2.91439 16.4735 2.32235 15.8815 2.32235 15.1512Z\" fill=\"#333333\"/>\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.102 20.6423L17.4335 22.25H19.6434L19.9749 20.6423C20.1959 20.553 20.4031 20.4592 20.5964 20.361C20.7898 20.2627 20.9878 20.1421 21.1903 19.9992L22.7925 20.4815L23.8974 18.6595L22.6268 17.5877C22.6636 17.3555 22.682 17.1232 22.682 16.891C22.682 16.6588 22.6636 16.4266 22.6268 16.1944L23.8974 15.1226L22.7925 13.3005L21.1903 13.7828C20.9878 13.6399 20.7898 13.5193 20.5964 13.4211C20.4031 13.3228 20.1959 13.2291 19.9749 13.1397L19.6434 11.5321H17.4335L17.102 13.1397C16.881 13.2291 16.6739 13.3228 16.4805 13.4211C16.2871 13.5193 16.0892 13.6399 15.8866 13.7828L14.2844 13.3005L13.1795 15.1226L14.4502 16.1944C14.4133  16.4266 14.3949 16.6588 14.3949 16.891C14.3949 17.1232 14.4133 17.3555 14.4502 17.5877L13.1795 18.6595L14.2844 20.4815L15.8866 19.9992C16.0892 20.1421 16.2871 20.2627 16.4805 20.361C16.6739 20.4592 16.881 20.553 17.102 20.6423ZM20.0992 18.4049C19.6664 18.8247 19.1462 19.0346 18.5385 19.0346C17.9307  19.0346 17.4105 18.8247 16.9777 18.4049C16.545 17.9851 16.3286 17.4805 16.3286 16.891C16.3286 16.3015 16.545 15.7969 16.9777 15.3771C17.4105 14.9573 17.9307 14.7474 18.5385 14.7474C19.1462 14.7474 19.6664 14.9573 20.0992 15.3771C20.532 15.7969 20.7483 16.3015 20.7483 16.891C20.7483 17.4805 20.532 17.9851 20.0992 18.4049Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"tablePropertiesIcon\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.1577 5.89471C22.1577 4.43408 20.9736 3.25 19.513 3.25H3.64471C2.18408 3.25 1 4.43408 1 5.89471V15.1512C1 16.6118 2.18408 17.7959 3.64471 17.7959H12.9565C12.911 17.4943 12.8882 17.1927 12.8882 16.891C12.8882 16.7519 12.893 16.6127 12.9027 16.4735H8.93418V13.8287H11.6254L12.4273 12.5063H8.93418V8.53928H14.2236V12.4422L14.9223 12.6526C15.1339 12.5033 15.3417 12.3719 15.546 12.2584V8.53928H20.8353V11.9183C21.0123 11.9963 21.1821 12.0767 21.3448 12.1593C21.6084 12.2933 21.8784 12.4577 22.1546 12.6526L22.1577 12.6517V5.89471ZM15.546 4.57235H19.513C20.2433 4.57235 20.8353 5.16439 20.8353 5.89471V7.21692H15.546V4.57235ZM14.2236 4.57235H8.93418V7.21692H14.2236V4.57235ZM7.61183 4.57235H3.64471C2.91439 4.57235 2.32235 5.16439 2.32235 5.89471V7.21692H7.61183V4.57235ZM2.32235 8.53928V12.5063H7.61183V8.53928H2.32235ZM2.32235 13.8287V15.1512C2.32235 15.8815 2.91439 16.4735 3.64471 16.4735H7.61183V13.8287H2.32235Z\" fill=\"#333333\"/>\\n    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.102 20.6423L17.4335 22.25H19.6434L19.9749 20.6423C20.1959 20.553 20.4031 20.4592 20.5964 20.361C20.7898 20.2627 20.9878 20.1421 21.1903 19.9992L22.7925 20.4815L23.8974 18.6595L22.6268 17.5877C22.6636 17.3555 22.682 17.1232 22.682 16.891C22.682 16.6588 22.6636 16.4266 22.6268 16.1944L23.8974 15.1226L22.7925 13.3005L21.1903 13.7828C20.9878 13.6399 20.7898 13.5193 20.5964 13.4211C20.4031 13.3228 20.1959 13.2291 19.9749 13.1397L19.6434 11.5321H17.4335L17.102 13.1397C16.881 13.2291 16.6739 13.3228 16.4805 13.4211C16.2871 13.5193 16.0892 13.6399 15.8866 13.7828L14.2844 13.3005L13.1795 15.1226L14.4502 16.1944C14.4133 16.4266 14.3949 16.6588 14.3949 16.891C14.3949 17.1232 14.4133 17.3555 14.4502 17.5877L13.1795 18.6595L14.2844 20.4815L15.8866 19.9992C16.0892 20.1421 16.2871 20.2627 16.4805 20.361C16.6739 20.4592 16.881 20.553 17.102 20.6423ZM20.0992 18.4049C19.6664 18.8247 19.1462 19.0346 18.5385 19.0346C17.9307 19.0346 17.4105 18.8247 16.9777 18.4049C16.545 17.9851 16.3286 17.4805 16.3286 16.891C16.3286 16.3015 16.545 15.7969 16.9777 15.3771C17.4105 14.9573 17.9307 14.7474 18.5385 14.7474C19.1462 14.7474 19.6664 14.9573 20.0992 15.3771C20.532 15.7969 20.7483 16.3015 20.7483 16.891C20.7483 17.4805 20.532 17.9851 20.0992 18.4049Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"leftTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 6.45801V7.79134H13V6.45801H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 9.12467V10.458H13V9.12467H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 11.7913V13.1247H13V11.7913H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M10.3333 12.3333V13.6667H2.33333V12.3333H10.3333ZM10.3333 7H2.33333V13.6667C1.6431 13.6667 1.07495 13.1422 1.00651 12.4701L1 12.3333V7C1 6.26362 1.59695 5.66667 2.33333 5.66667H10.3333C11.0697 5.66667 11.6667 6.26362 11.6667 7V12.3333L11.6602 12.4701C11.5917 13.1422 11.0236 13.6667 10.3333 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"leftTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 6.95801V8.29134H13.5V6.95801H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 9.62467V10.958H13.5V9.62467H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 12.2913V13.6247H13.5V12.2913H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M10.8333 12.8333V14.1667H2.83333V12.8333H10.8333ZM10.8333 7.5H2.83333V14.1667C2.1431 14.1667 1.57495 13.6422 1.50651 12.9701L1.5 12.8333V7.5C1.5 6.76362 2.09695 6.16667 2.83333 6.16667H10.8333C11.5697 6.16667 12.1667 6.76362 12.1667 7.5V12.8333L12.1602 12.9701C12.0917 13.6422 11.5236 14.1667 10.8333 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n  '}),je.DefineIcon(\"centerTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M13 12.3333V13.6667H6.33333V12.3333H13ZM13 7H6.33333V13.6667L6.19661 13.6602C5.56938 13.5963 5.07038 13.0973 5.00651 12.4701L5 12.3333V7C5 6.26362 5.59695 5.66667 6.33333 5.66667H13C13.7364 5.66667 14.3333 6.26362 14.3333 7V12.3333L14.3268 12.4701C14.263 13.0973 13.764 13.5963 13.1367 13.6602L13 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"centerTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M13.5 12.8333V14.1667H6.83333V12.8333H13.5ZM13.5 7.5H6.83333V14.1667L6.69661 14.1602C6.06938 14.0963 5.57038 13.5973 5.50651 12.9701L5.5 12.8333V7.5C5.5 6.76362 6.09695 6.16667 6.83333 6.16667H13.5C14.2364 6.16667 14.8333 6.76362 14.8333 7.5V12.8333L14.8268 12.9701C14.763 13.5973 14.264 14.0963 13.6367 14.1602L13.5 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n '}),je.DefineIcon(\"rightTableAlignActive\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.8333 3.5V4.83333H1.5V3.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M18.8333 15.5V16.8333H1.5V15.5H18.8333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 6.95801V8.29134H1.5V6.95801H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 9.62467V10.958H1.5V9.62467H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M6.83333 12.2913V13.6247H1.5V12.2913H6.83333Z\" fill=\"#90B7FF\"/>\\n    <path d=\"M17.5 12.8333V14.1667H9.5V12.8333H17.5ZM17.5 7.5H9.5V14.1667C8.80976 14.1667 8.24162 13.6422 8.17318 12.9701L8.16667 12.8333V7.5C8.16667 6.76362 8.76362 6.16667 9.5 6.16667H17.5C18.2364 6.16667 18.8333 6.76362 18.8333 7.5V12.8333L18.8268 12.9701C18.7584 13.6422 18.1902 14.1667 17.5 14.1667V7.5Z\" fill=\"#2A77FF\"/>\\n  '}),je.DefineIcon(\"rightTableAlign\",{template:\"svgMultiplePath\",viewBox:\"0 0 24 24\",PATHS:'\\n    <path d=\"M18.3333 3V4.33333H1V3H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M18.3333 15V16.3333H1V15H18.3333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 6.45801V7.79134H1V6.45801H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 9.12468V10.458H1V9.12468H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M6.33333 11.7913V13.1247H1V11.7913H6.33333Z\" fill=\"#999998\"/>\\n    <path d=\"M17 12.3333V13.6667H9V12.3333H17ZM17 7H9V13.6667C8.30976 13.6667 7.74162 13.1422 7.67318 12.4701L7.66667 12.3333V7C7.66667 6.26362 8.26362 5.66667 9 5.66667H17C17.7364 5.66667 18.3333 6.26362 18.3333 7V12.3333L18.3268 12.4701C18.2584 13.1422 17.6902 13.6667 17 13.6667V7Z\" fill=\"#333333\"/>\\n  '}),je.DefineIcon(\"tableSelectorIcon\",{template:\"svgMultiplePath\",VIEWBOX:\"1 1 14 14\",PATHS:'<mask id=\"mask0_85_21\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"16\" height=\"16\"><rect width=\"16\" height=\"16\" fill=\"white\"/></mask>\\n          <g mask=\"url(#mask0_85_21)\"><path d=\"M3.33333 14C2.96667 14 2.65278 13.8694 2.39167 13.6083C2.13056 13.3472 2 13.0333 2 12.6667V10H3.33333V12.6667H6V14H3.33333ZM10 \\n          14V12.6667H12.6667V10H14V12.6667C14 13.0333 13.8694 13.3472 13.6083 13.6083C13.3472 13.8694 13.0333 14 12.6667 14H10ZM2 6V3.33333C2 2.96667 2.13056 2.65278 2.39167 \\n          2.39167C2.65278 2.13056 2.96667 2 3.33333 2H6V3.33333H3.33333V6H2ZM12.6667 6V3.33333H10V2H12.6667C13.0333 2 13.3472 2.13056 13.6083 2.39167C13.8694 2.65278 14 2.96667 \\n          14 3.33333V6H12.6667Z\" fill=\"white\"/> <rect opacity=\"0.4\" x=\"4\" y=\"4\" width=\"8\" height=\"8\" fill=\"white\"/></g>'})});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(r){\"use strict\";(r=r&&r.hasOwnProperty(\"default\")?r[\"default\"]:r).URLRegEx=\"(^| |\\\\u00A0)(\".concat(r.LinkRegEx,\"|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\\\.[a-z0-9+-_]{1,}))$\"),r.PLUGINS.url=function(u){var c=u.$,o=null;function t(e,t,n){for(var r=\"\";n.length&&\".\"==n[n.length-1];)r+=\".\",n=n.substring(0,n.length-1);var a=n;if(u.opts.linkConvertEmailAddress)u.helpers.isEmail(a)&&!/^mailto:.*/i.test(a)&&(a=\"mailto:\".concat(a));else if(u.helpers.isEmail(a))return t+n;return/^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\\:)/i.test(a)||(a=\"//\".concat(a)),(t||\"\")+\"<a\".concat(u.opts.linkAlwaysBlank?' target=\"_blank\"':\"\").concat(o?' rel=\"'.concat(o,'\"'):\"\",' data-fr-linked=\"true\" href=\"').concat(a,'\">').concat(n.replace(/&amp;/g,\"&\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"),\"</a>\").concat(r)}var d=function d(){return new RegExp(r.URLRegEx,\"gi\")};function g(e){return u.opts.linkAlwaysNoFollow&&(o=\"nofollow\"),u.opts.linkAlwaysBlank&&(u.opts.linkNoOpener&&(o?o+=\" noopener\":o=\"noopener\"),u.opts.linkNoReferrer&&(o?o+=\" noreferrer\":o=\"noreferrer\")),e.replace(d(),t)}function h(e){var t=e.split(\" \");return t[t.length-1]}function n(){var e=u.selection.ranges(0),t=e.startContainer;if(t.nodeType!==Node.TEXT_NODE)return!1;if(!t||e.startOffset!==(t.textContent||\"\").length){u.markers.insert();var n=u.$el.find(\".fr-marker\"),r=t.textContent.match(/(^| |\\u00A0)(((([a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))|((ftp|http|https):\\/\\/[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})|(www\\.[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}\\.[a-z0-9-]{2,24})|((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}))((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;\\/~+#-\\'*-_{}]*)|())|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$/gi);if(n.remove(),!r)return!1}if(function p(e){return!!e&&(\"A\"===e.tagName||!(!e.parentNode||e.parentNode==u.el)&&p(e.parentNode))}(t))return!1;if(d().test(h(t.textContent))){var a,o=t.textContent.length;if(0<o&&\",\"===t.textContent.charAt(o-1)){c(t).before(g(t.textContent.substring(0,o-1))),(a=c(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"),t.textContent=\",\";var i=u.win.getSelection().getRangeAt(0);i.setStart(t,1),i.setEnd(t,1)}else c(t).before(g(t.textContent)),(a=c(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"),t.parentNode.removeChild(t);u.events.trigger(\"url.linked\",[a.get(0)])}else if(t.textContent.split(\" \").length<=2&&t.previousSibling&&\"A\"===t.previousSibling.tagName){var l=t.previousSibling.innerText+t.textContent,f=t.textContent.length;if(d().test(h(l))&&\",\"!==t.textContent.charAt(f-1)){var s=(new DOMParser).parseFromString(g(l),\"text/html\").body.childNodes;t.parentNode.replaceChild(s[0],t.previousSibling),s.length&&c(t).before(s[0]),t.parentNode.removeChild(t)}}}return{_init:function e(){u.events.on(\"keypress\",function(e){!u.selection.isCollapsed()||\")\"!=e.key&&\"(\"!=e.key||n()},!0),u.events.on(\"keydown\",function(e){var t=e.which;!u.selection.isCollapsed()||t!=r.KEYCODE.ENTER&&t!=r.KEYCODE.SPACE||n()},!0),u.events.on(\"paste.beforeCleanup\",function(e){if(u.helpers.isURL(e)&&!u.$el[0].getAttribute(\"plainpaste\")){var t=null;return u.opts.linkAlwaysBlank&&(u.opts.linkNoOpener&&(t?t+=\" noopener\":t=\"noopener\"),u.opts.linkNoReferrer&&(t?t+=\" noreferrer\":t=\"noreferrer\")),\"<a\".concat(u.opts.linkAlwaysBlank?' target=\"_blank\"':\"\").concat(t?' rel=\"'.concat(t,'\"'):\"\",' href=\"').concat(e,'\" >').concat(e,\"</a>\")}if(u.$el[0].getAttribute(\"plainpaste\"))return function n(e){if(\"string\"==typeof e)return(e=e.replace(/&amp;/g,\"&\")).replace(/(?:https?|ftp|file):\\/\\/(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$'\\u2019\"`()[\\]{}\\\\])|www\\.(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.'\\u2019\"`()[\\]{}\\\\]*\\)|[-A-Z0-9+&@#\\/%=~_|$'\\u2019\"`()[\\]{}\\\\])|(?:[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\\.[a-zA-Z]{2,})|(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z]{2,}(?:\\/[^\\s<]*)?/gim,g)}(e)})}}}});","/*!\n * froala_editor v4.6.2 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(require(\"froala-editor\")):\"function\"==typeof define&&define.amd?define([\"froala-editor\"],t):t(e.FroalaEditor)}(this,function(we){\"use strict\";we=we&&we.hasOwnProperty(\"default\")?we[\"default\"]:we,Object.assign(we.POPUP_TEMPLATES,{\"video.insert\":\"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]\",\"video.edit\":\"[_BUTTONS_]\",\"video.size\":\"[_BUTTONS_][_SIZE_LAYER_]\"}),Object.assign(we.DEFAULTS,{videoAllowedTypes:[\"mp4\",\"webm\",\"ogg\",\"mp3\",\"mpeg\",\"url\"],videoAllowedProviders:[\".*\"],videoDefaultAlign:\"center\",videoDefaultDisplay:\"block\",videoDefaultWidth:600,videoEditButtons:[\"videoReplace\",\"videoRemove\",\"videoDisplay\",\"videoAlign\",\"videoSize\",\"autoplay\"],videoInsertButtons:[\"videoBack\",\"|\",\"videoByURL\",\"videoEmbed\",\"videoUpload\"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:[\"videoBack\",\"|\"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:\"POST\",videoUploadParam:\"file\",videoUploadParams:{},videoUploadToS3:!1,videoUploadToAzure:!1,videoUploadURL:null}),we.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\/?((shorts\\/)|(v=))?([^#\\&\\?]*).*/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/|shorts\\/)?([0-9a-zA-Z_\\-]+)(.*)?/g,url_text:\"https://www.youtube.com/embed/$1?$2\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}&wmode=opaque&rel=0\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"youtube\"},{test_regex:/^.*(?:vimeo.com)\\/(?:channels(\\/\\w+\\/)?|groups\\/*\\/videos\\/\\u200b\\d+\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/,url_regex:/(?:https?:\\/\\/)?(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?(\\/[a-zA-Z0-9_\\-]+)?/i,url_text:\"https://player.vimeo.com/video/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"vimeo\"},{test_regex:/^.+(dailymotion.com|dai.ly)\\/(video|hub)?\\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:dailymotion\\.com|dai\\.ly)\\/(?:video|hub)?\\/?(.+)/g,url_text:\"https://www.dailymotion.com/embed/video/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"dailymotion\"},{test_regex:/^.+(screen.yahoo.com)\\/[^_&]+/,url_regex:\"\",url_text:\"\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}?format=embed\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',provider:\"yahoo\"},{test_regex:/^.+(rutube.ru)\\/[^_&]+/,url_regex:/(?:https?:\\/\\/)?(?:www\\.)?(?:rutube\\.ru)\\/(?:video)?\\/?(.+)/g,url_text:\"https://rutube.ru/play/embed/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',provider:\"rutube\"},{test_regex:/^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/g,url_text:\"https://play.vidyard.com/$1\",html:'<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',provider:\"vidyard\"}],we.VIDEO_EMBED_REGEX=/^\\W*(<div[^>]*>\\s*<iframe[^>]*>.*?<\\/iframe>\\s*<\\/div>(\\s*<script[^>]*>.*?<\\/script>)?|<iframe[^>]*>.*?<\\/iframe>|<embed(.|\\n)*>)\\W*$/i,we.PLUGINS.video=function(w){var s,f,p,E,i,o,A=w.$,C=\"https://i.froala.com/upload\",c=2,v=3,u=4,S=5,U=6,a={};function g(){var e=w.popups.get(\"video.insert\");e.find(\".fr-video-by-url-layer input\").val(\"\").trigger(\"change\");var t=e.find(\".fr-video-embed-layer textarea\");t.val(\"\").trigger(\"change\"),(t=e.find(\".fr-video-upload-layer input\")).val(\"\").trigger(\"change\")}function r(){var e=w.popups.get(\"video.edit\");if(e||(e=function n(){var e=\"\";if(0<w.opts.videoEditButtons.length){w.opts.videoResponsive&&(-1<w.opts.videoEditButtons.indexOf(\"videoSize\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoSize\"),1),-1<w.opts.videoEditButtons.indexOf(\"videoDisplay\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoDisplay\"),1),-1<w.opts.videoEditButtons.indexOf(\"videoAlign\")&&w.opts.videoEditButtons.splice(w.opts.videoEditButtons.indexOf(\"videoAlign\"),1));var t={buttons:e+='<div class=\"fr-buttons\"> \\n      '.concat(w.button.buildList(w.opts.videoEditButtons),\" \\n      </div>\")},o=w.popups.create(\"video.edit\",t);return w.events.$on(w.$wp,\"scroll.video-edit\",function(){E&&w.popups.isVisible(\"video.edit\")&&(w.events.disableBlur(),l(E))}),o}return!1}()),e){w.popups.setContainer(\"video.edit\",w.$sc),w.popups.refresh(\"video.edit\");var t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),o=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight(),a=t.get(0).src?t.get(0).src:t.get(0).currentSrc,r=!(!(a=(a=a.split(\".\"))[a.length-1]).includes(\"pdf\")&&!a.includes(\"txt\"));t.hasClass(\"fr-file\")||r||E.find(\"audio\").get(0)?(document.getElementById(\"autoplay-\".concat(w.id))&&(document.getElementById(\"autoplay-\".concat(w.id)).style.display=\"none\"),document.getElementById(\"videoReplace-\".concat(w.id))&&(document.getElementById(\"videoReplace-\".concat(w.id)).style.display=\"none\")):(document.getElementById(\"autoplay-\".concat(w.id))&&(document.getElementById(\"autoplay-\".concat(w.id)).style.display=\"\"),document.getElementById(\"videoReplace-\".concat(w.id))&&(document.getElementById(\"videoReplace-\".concat(w.id)).style.display=\"\")),w.popups.show(\"video.edit\",o,i,t.outerHeight(),!0)}}function n(e){if(e)return w.popups.onRefresh(\"video.insert\",g),w.popups.onHide(\"video.insert\",J),!0;var t=\"\";w.opts.videoUpload||-1===w.opts.videoInsertButtons.indexOf(\"videoUpload\")||w.opts.videoInsertButtons.splice(w.opts.videoInsertButtons.indexOf(\"videoUpload\"),1);var o=w.button.buildList(w.opts.videoInsertButtons);\"\"!==o&&(t='<div class=\"fr-buttons\">'+o+\"</div>\");var i,a=\"\",r=w.opts.videoInsertButtons.indexOf(\"videoUpload\"),n=w.opts.videoInsertButtons.indexOf(\"videoByURL\"),s=w.opts.videoInsertButtons.indexOf(\"videoEmbed\");if(0<=n){i=\" fr-active\",(r<n&&0<=r||s<n&&0<=s)&&(i=\"\");a='<div class=\"fr-video-by-url-layer fr-layer'.concat(i,'\" id=\"fr-video-by-url-layer-').concat(w.id,'\"><div class=\"fr-input-line\"><input id=\"fr-video-by-url-layer-text-').concat(w.id,'\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Paste in a video URL\"),'\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><span style=\\'float:left\\'><div class=\"fr-checkbox-line fr-autoplay-margin\"><span class=\"fr-checkbox\"> <input id=\\'videoPluginAutoplay\\' data-checked=\"_blank\" type=\"checkbox\" aria-label=\"').concat(w.language.translate(\"Autoplay\"),'\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>','</span></span> <label id=\"fr-label-target-').concat(w.id,'\">').concat(w.language.translate(\"Autoplay\"),'</label></div> </span><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"),\"</button></div></div>\")}var d=\"\";0<=s&&(i=\" fr-active\",(r<s&&0<=r||n<s&&0<=n)&&(i=\"\"),d='<div class=\"fr-video-embed-layer fr-layer'.concat(i,'\" id=\"fr-video-embed-layer-').concat(w.id,'\"><div class=\"fr-input-line\"><textarea id=\"fr-video-embed-layer-text').concat(w.id,'\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Embedded Code\"),'\" tabIndex=\"1\" aria-required=\"true\" rows=\"5\"></textarea></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertEmbed\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"),\"</button></div></div>\"));var l=\"\";0<=r&&(i=\" fr-active\",(s<r&&0<=s||n<r&&0<=n)&&(i=\"\"),l='<div class=\"fr-video-upload-layer fr-layer'.concat(i,'\" id=\"fr-video-upload-layer-').concat(w.id,'\"><strong>').concat(w.language.translate(\"Drop video\"),\"</strong><br>(\").concat(w.language.translate(\"or click\"),')<div class=\"fr-form\"><input type=\"file\" accept=\"video/').concat(w.opts.videoAllowedTypes.join(\", video/\").toLowerCase(),'\" tabIndex=\"-1\" aria-labelledby=\"fr-video-upload-layer-').concat(w.id,'\" role=\"button\"></div></div>'));var f={buttons:t,by_url_layer:a,embed_layer:d,upload_layer:l,progress_bar:'<div class=\"fr-video-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"videoDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'},p=w.popups.create(\"video.insert\",f);return function c(i){w.events.$on(i,\"dragover dragenter\",\".fr-video-upload-layer\",function(){return A(this).addClass(\"fr-drop\"),!1},!0),w.events.$on(i,\"dragleave dragend\",\".fr-video-upload-layer\",function(){return A(this).removeClass(\"fr-drop\"),!1},!0),w.events.$on(i,\"drop\",\".fr-video-upload-layer\",function(e){e.preventDefault(),e.stopPropagation(),A(this).removeClass(\"fr-drop\");var t=e.originalEvent.dataTransfer;if(t&&t.files){var o=i.data(\"instance\")||w;o.events.disableBlur(),o.video.upload(t.files),o.events.enableBlur()}},!0),w.helpers.isIOS()&&w.events.$on(i,\"touchstart\",'.fr-video-upload-layer input[type=\"file\"]',function(){A(this).trigger(\"click\")},!0);w.events.$on(i,\"change\",'.fr-video-upload-layer input[type=\"file\"]',function(){if(this.files){var e=i.data(\"instance\")||w;e.events.disableBlur(),i.find(\"input:focus\").blur(),e.events.enableBlur(),e.video.upload(this.files)}A(this).val(\"\")},!0)}(p),p}function h(e){w.events.focus(!0),w.selection.restore();var t=!1;if(E&&(q(),t=!0),w.opts.trackChangesEnabled){w.edit.on(),w.events.focus(!0),w.selection.restore(),w.undo.saveStep(),w.markers.insert(),w.html.wrap();var o=w.$el.find(\".fr-marker\");w.node.isLastSibling(o)&&o.parent().hasClass(\"fr-deletable\")&&o.insertAfter(o.parent()),o.replaceWith('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e,\"</span>\")),w.selection.clear()}else w.html.insert('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e,\"</span>\"),!1,w.opts.videoSplitHTML);w.popups.hide(\"video.insert\");var i=w.$el.find(\".fr-jiv\");i.removeClass(\"fr-jiv\"),i.toggleClass(\"fr-rv\",w.opts.videoResponsive),Z(i,w.opts.videoDefaultDisplay,w.opts.videoDefaultAlign),i.toggleClass(\"fr-draggable\",w.opts.videoMove),w.events.trigger(t?\"video.replaced\":\"video.inserted\",[i])}function m(){var e=A(this);w.popups.hide(\"video.insert\"),e.removeClass(\"fr-uploading\"),e.parent().next().is(\"br\")&&e.parent().next().remove(),l(e.parent()),w.events.trigger(\"video.loaded\",[e.parent()])}function x(s,e,d,l,f,p){w.edit.off(),b(\"Loading video\"),e&&(s=w.helpers.sanitizeURL(s));var c=function c(){var e,t;if(l){w.undo.canDo()||l.find(\"video\").hasClass(\"fr-uploading\")||w.undo.saveStep();var o=l.find(\"video\").data(\"fr-old-src\"),i=l.data(\"fr-replaced\");if(l.data(\"fr-replaced\",!1),0<l.find(\"iframe\").length)l.remove(),e=I(s,d,m);else{w.$wp?((e=l.clone(!0)).find(\"video\").removeData(\"fr-old-src\").removeClass(\"fr-uploading\"),e.find(\"video\").off(\"canplay\"),o&&l.find(\"video\").attr(\"src\",o),l.replaceWith(e)):e=l;for(var a=e.find(\"video\").get(0).attributes,r=0;r<a.length;r++){var n=a[r];0===n.nodeName.indexOf(\"data-\")&&e.find(\"video\").removeAttr(n.nodeName)}if(void 0!==d)for(t in d)d.hasOwnProperty(t)&&\"link\"!=t&&e.find(\"video\").attr(\"data-\".concat(t),d[t]);e.find(\"video\").on(\"canplay\",m),e.find(\"video\").attr(\"src\",s)}w.edit.on(),O(),w.undo.saveStep(),w.$el.blur(),w.events.trigger(i?\"video.replaced\":\"video.inserted\",[e,f])}else e=I(s,d,m,p),O(),w.undo.saveStep(),w.events.trigger(\"video.inserted\",[e,f])};R(\"Loading video\"),c()}function R(e){var t=w.popups.get(\"video.insert\");if(t||(t=n()),t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"),t.find(\".fr-video-progress-bar-layer\").addClass(\"fr-active\"),t.find(\".fr-buttons\").hide(),E){var o=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));w.popups.setContainer(\"video.insert\",w.$sc);var i=o.offset().left,a=o.offset().top+o.height();w.popups.show(\"video.insert\",i,a,o.outerHeight())}void 0===e&&b(w.language.translate(\"Uploading\"),0)}function d(e){var t=w.popups.get(\"video.insert\");if(t&&(t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"),t.find(\".fr-video-progress-bar-layer\").removeClass(\"fr-active\"),t.find(\".fr-buttons\").show(),e||w.$el.find(\"video.fr-error\").length)){if(w.events.focus(),w.$el.find(\"video.fr-error\").length&&(w.$el.find(\"video.fr-error\").parent().remove(),w.undo.saveStep(),w.undo.run(),w.undo.dropRedo()),!w.$wp&&E){var o=E;V(!0),w.selection.setAfter(o.find(\"video\").get(0)),w.selection.restore()}w.popups.hide(\"video.insert\")}}function b(e,t){var o=w.popups.get(\"video.insert\");if(o){var i=o.find(\".fr-video-progress-bar-layer\");i.find(\"h3\").text(e+(t?\" \".concat(t,\"%\"):\"\")),i.removeClass(\"fr-error\"),t?(i.find(\"div\").removeClass(\"fr-indeterminate\"),i.find(\"div > span\").css(\"width\",\"\".concat(t,\"%\"))):i.find(\"div\").addClass(\"fr-indeterminate\")}}function y(e){R();var t=w.popups.get(\"video.insert\").find(\".fr-video-progress-bar-layer\");t.addClass(\"fr-error\");var o=t.find(\"h3\");o.text(e),w.events.disableBlur(),o.focus()}function l(e){t.call(e.get(0))}function _(e,t,o){b(\"Loading video\");var i=this.status,a=this.response,r=this.responseXML,n=this.responseText;try{if(w.opts.videoUploadToS3||w.opts.videoUploadToAzure)if(201==i){var s;if(w.opts.videoUploadToAzure){if(!1===w.events.trigger(\"video.uploadedToAzure\",[this.responseURL,o,a],!0))return w.edit.on(),!1;s=t}else s=function l(e){try{var t=A(e).find(\"Location\").text(),o=A(e).find(\"Key\").text();return!1===w.events.trigger(\"video.uploadedToS3\",[t,o,e],!0)?(w.edit.on(),!1):t}catch(i){return F(u,e),!1}}(r);s&&x(s,!1,[],e,a||r)}else F(u,a||r);else if(200<=i&&i<300){var d=function f(e){try{if(!1===w.events.trigger(\"video.uploaded\",[e],!0))return w.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(F(c,e),!1)}catch(o){return F(u,e),!1}}(n);d&&x(d.link,!1,d,e,a||n)}else F(v,a||n)}catch(p){F(u,a||n)}}function B(){F(u,this.response||this.responseText||this.responseXML)}function D(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;b(w.language.translate(\"Uploading\"),t)}}function k(){w.edit.on(),d(!0)}function I(e,t,o,i){var a,r,n=\"\";if(t&&void 0!==t)for(a in t)t.hasOwnProperty(a)&&\"link\"!=a&&(n+=\" \".concat(a,'=\"').concat(t[a],'\"'));var s=w.opts.videoDefaultWidth;s&&\"auto\"!=s&&(s=\"\".concat(s,\"px\")),w.helpers.isMobile()&&w.browser.safari&&(n+=\" autoplay playsinline\"),(r=\"audio\"==i?A(document.createElement(\"span\")).attr(\"contenteditable\",\"false\").attr(\"draggable\",\"true\").attr(\"class\",\"fr-video fr-dv\"+w.opts.videoDefaultDisplay[0]+(\"center\"!=w.opts.videoDefaultAlign?\" fr-fv\"+w.opts.videoDefaultAlign[0]:\"\")).html('<audio src=\"'+e+'\" '+n+\" controls>\"+w.language.translate(\"Your browser does not support HTML5 video.\")+\"</audio>\"):A(document.createElement(\"span\")).attr(\"contenteditable\",\"false\").attr(\"draggable\",\"true\").attr(\"class\",\"fr-video fr-dv\"+w.opts.videoDefaultDisplay[0]+(\"center\"!=w.opts.videoDefaultAlign?\" fr-fv\"+w.opts.videoDefaultAlign[0]:\"\")).html('<video src=\"'+e+'\" '+n+(s?' style=\"width: '+s+';\" ':\"\")+\" controls>\"+w.language.translate(\"Your browser does not support HTML5 video.\")+\"</video>\")).toggleClass(\"fr-draggable\",w.opts.videoMove),w.edit.on(),w.events.focus(!0),w.selection.restore(),w.undo.saveStep(),w.opts.videoSplitHTML?w.markers.split():(w.cursor.enter(),w.markers.insert()),w.html.wrap();var d=w.$el.find(\".fr-marker\");return w.node.isLastSibling(d)&&d.parent().hasClass(\"fr-deletable\")&&d.insertAfter(d.parent()),d.replaceWith(r),w.selection.clear(),\"audio\"!==i&&(r.find(\"video\").get(0).readyState>r.find(\"video\").get(0).HAVE_FUTURE_DATA||w.helpers.isIOS()?o.call(r.find(\"video\").get(0)):r.find(\"video\").on(\"canplaythrough load\",o)),r}function T(e){if(!w.core.sameInstance(p))return!0;e.preventDefault(),e.stopPropagation();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!o)return!1;if(\"mousedown\"==e.type){var i=w.$oel.get(0).ownerDocument,a=i.defaultView||i.parentWindow,r=!1;try{r=a.location!=a.parent.location&&!(a.$&&a.$.FE)}catch(n){}r&&a.frameElement&&(t+=w.helpers.getPX(A(a.frameElement).offset().left)+a.frameElement.clientLeft,o=e.clientY+w.helpers.getPX(A(a.frameElement).offset().top)+a.frameElement.clientTop)}w.undo.canDo()||w.undo.saveStep(),(f=A(this)).data(\"start-x\",t),f.data(\"start-y\",o),s.show(),w.popups.hideAll(),Y()}function z(e){if(!w.core.sameInstance(p))return!0;if(f){e.preventDefault();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!o)return!1;var i=f.data(\"start-x\"),a=f.data(\"start-y\");f.data(\"start-x\",t),f.data(\"start-y\",o);var r=t-i,n=o-a,s=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),d=s.width(),l=s.height();(f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hsw\"))&&(r=0-r),(f.hasClass(\"fr-hnw\")||f.hasClass(\"fr-hne\"))&&(n=0-n),s.css(\"width\",d+r),s.css(\"height\",l+n),s.removeAttr(\"width\"),s.removeAttr(\"height\"),M()}}function P(e){if(!w.core.sameInstance(p))return!0;f&&E&&(e&&e.stopPropagation(),f=null,s.hide(),M(),r(),w.undo.saveStep())}function $(e){return'<div class=\"fr-handler fr-h'.concat(e,'\"></div>')}function L(e,t,o,i){return e.pageX=t,e.pageY=t,T.call(this,e),e.pageX=e.pageX+o*Math.floor(Math.pow(1.1,i)),e.pageY=e.pageY+o*Math.floor(Math.pow(1.1,i)),z.call(this,e),P.call(this,e),++i}function O(){var e,t=Array.prototype.slice.call(w.el.querySelectorAll(\"video, .fr-video > *\")),o=[];for(e=0;e<t.length;e++)o.push(t[e].getAttribute(\"src\")),A(t[e]).toggleClass(\"fr-draggable\",w.opts.videoMove),\"\"===t[e].getAttribute(\"class\")&&t[e].removeAttribute(\"class\"),\"\"===t[e].getAttribute(\"style\")&&t[e].removeAttribute(\"style\");if(i)for(e=0;e<i.length;e++)o.indexOf(i[e].getAttribute(\"src\"))<0&&w.events.trigger(\"video.removed\",[A(i[e])]);i=t}function M(){p||function n(){var e;if(w.shared.$video_resizer?(p=w.shared.$video_resizer,s=w.shared.$vid_overlay,w.events.on(\"destroy\",function(){A(\"body\").first().append(p.removeClass(\"fr-active\"))},!0)):(w.shared.$video_resizer=A(document.createElement(\"div\")).attr(\"class\",\"fr-video-resizer\"),p=w.shared.$video_resizer,w.events.$on(p,\"mousedown\",function(e){e.stopPropagation()},!0),w.opts.videoResize&&(p.append($(\"nw\")+$(\"ne\")+$(\"sw\")+$(\"se\")),w.shared.$vid_overlay=A(document.createElement(\"div\")).attr(\"class\",\"fr-video-overlay\"),s=w.shared.$vid_overlay,e=p.get(0).ownerDocument,A(e).find(\"body\").first().append(s))),w.events.on(\"shared.destroy\",function(){p.html(\"\").removeData().remove(),p=null,w.opts.videoResize&&(s.remove(),s=null)},!0),w.helpers.isMobile()||w.events.$on(A(w.o_win),\"resize.video\",function(){V(!0)}),w.opts.videoResize){e=p.get(0).ownerDocument,w.events.$on(p,w._mousedown,\".fr-handler\",T),w.events.$on(A(e),w._mousemove,z),w.events.$on(A(e.defaultView||e.parentWindow),w._mouseup,P),w.events.$on(s,\"mouseleave\",P);var i=1,a=null,r=0;w.events.on(\"keydown\",function(e){if(E){var t=-1!=navigator.userAgent.indexOf(\"Mac OS X\")?e.metaKey:e.ctrlKey,o=e.which;(o!==a||200<e.timeStamp-r)&&(i=1),(o==we.KEYCODE.EQUALS||w.browser.mozilla&&o==we.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=L.call(this,e,1,1,i):(o==we.KEYCODE.HYPHEN||w.browser.mozilla&&o==we.KEYCODE.FF_HYPHEN)&&t&&!e.altKey&&(i=L.call(this,e,2,-1,i)),a=o,r=e.timeStamp}}),w.events.on(\"keyup\",function(){i=1})}}(),(w.$wp||w.$sc).append(p),p.data(\"instance\",w);var e=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),t=0,o=0;w.opts.iframe&&(o=w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-top\")),t=w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-left\"))),p.css(\"top\",(w.opts.iframe?e.offset().top+o-1:e.offset().top-w.$wp.offset().top-1)+w.$wp.scrollTop()).css(\"left\",(w.opts.iframe?e.offset().left+t-1:e.offset().left-w.$wp.offset().left-1)+w.$wp.scrollLeft()).css(\"width\",e.get(0).getBoundingClientRect().width).css(\"height\",e.get(0).getBoundingClientRect().height).addClass(\"fr-active\")}function t(e){if(e&&\"touchend\"==e.type&&o)return!0;if(e&&w.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;if(w.edit.isDisabled())return!1;for(var t=0;t<we.INSTANCES.length;t++)we.INSTANCES[t]!=w&&we.INSTANCES[t].events.trigger(\"video.hideResizer\");w.toolbar.disable(),w.helpers.isMobile()&&(w.events.disableBlur(),w.$el.blur(),w.events.enableBlur()),w.$el.find(\".fr-video.fr-active\").removeClass(\"fr-active\"),(E=A(this)).addClass(\"fr-active\"),w.opts.iframe&&w.size.syncIframe(),te(),M(),r(),w.selection.clear(),w.button.bulkRefresh(),w.events.trigger(\"image.hideResizer\")}function V(e){E&&(function t(){return w.shared.vid_exit_flag}()||!0===e)&&(p.removeClass(\"fr-active\"),w.toolbar.enable(),E.removeClass(\"fr-active\"),E=null,Y())}function N(){w.shared.vid_exit_flag=!0}function Y(){w.shared.vid_exit_flag=!1}function H(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var o=t.files[0];if(o&&o.type&&-1!==o.type.indexOf(\"video\")){if(!w.opts.videoUpload)return e.preventDefault(),e.stopPropagation(),!1;w.markers.remove(),w.markers.insertAtPoint(e.originalEvent),w.$el.find(\".fr-marker\").replaceWith(we.MARKERS),w.popups.hideAll();var i=w.popups.get(\"video.insert\");return i||(i=n()),w.popups.setContainer(\"video.insert\",w.$sc),w.popups.show(\"video.insert\",e.originalEvent.pageX,e.originalEvent.pageY),R(),0<=w.opts.videoAllowedTypes.indexOf(o.type.replace(/video\\//g,\"\"))?K(t.files):F(U),e.preventDefault(),e.stopPropagation(),!1}}}function K(e){if(void 0!==e&&0<e.length){if(!1===w.events.trigger(\"video.beforeUpload\",[e]))return!1;var t,o=e[0];if(!(null!==w.opts.videoUploadURL&&w.opts.videoUploadURL!=C||w.opts.videoUploadToS3||w.opts.videoUploadToAzure))return function y(i){E&&E.find(\"iframe\")&&E.find(\"iframe\").length&&q();var a=new FileReader;a.onload=function(){a.result;for(var e=atob(a.result.split(\",\")[1]),t=[],o=0;o<e.length;o++)t.push(e.charCodeAt(o));x(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:i.type})),!1,null,E)},R(),a.readAsDataURL(i)}(o),!1;if(o.size>w.opts.videoMaxSize)return F(S),!1;if(w.opts.videoAllowedTypes.indexOf(o.type.replace(/video\\//g,\"\"))<0)return F(U),!1;if(w.drag_support.formdata&&(t=w.drag_support.formdata?new FormData:null),t){var i;if(!1!==w.opts.videoUploadToS3)for(i in t.append(\"key\",w.opts.videoUploadToS3.keyStart+(new Date).getTime()+\"-\"+(o.name||\"untitled\")),t.append(\"success_action_status\",\"201\"),t.append(\"X-Requested-With\",\"xhr\"),t.append(\"Content-Type\",o.type),w.opts.videoUploadToS3.params)w.opts.videoUploadToS3.params.hasOwnProperty(i)&&t.append(i,w.opts.videoUploadToS3.params[i]);for(i in w.opts.videoUploadParams)w.opts.videoUploadParams.hasOwnProperty(i)&&t.append(i,w.opts.videoUploadParams[i]);t.append(w.opts.videoUploadParam,o);var a,r,n=w.opts.videoUploadURL;w.opts.videoUploadToS3&&(n=w.opts.videoUploadToS3.uploadURL?w.opts.videoUploadToS3.uploadURL:\"https://\".concat(w.opts.videoUploadToS3.region,\".amazonaws.com/\").concat(w.opts.videoUploadToS3.bucket));var s=w.opts.videoUploadMethod;w.opts.videoUploadToAzure&&(n=w.opts.videoUploadToAzure.uploadURL?\"\".concat(w.opts.videoUploadToAzure.uploadURL,\"/\").concat(o.name):encodeURI(\"https://\".concat(w.opts.videoUploadToAzure.account,\".blob.core.windows.net/\").concat(w.opts.videoUploadToAzure.container,\"/\").concat(o.name)),a=n,w.opts.videoUploadToAzure.SASToken&&(n+=w.opts.videoUploadToAzure.SASToken),s=\"PUT\");var d=w.core.getXHR(n,s);if(w.opts.videoUploadToAzure){var l=(new Date).toUTCString();if(!w.opts.videoUploadToAzure.SASToken&&w.opts.videoUploadToAzure.accessKey){var f=w.opts.videoUploadToAzure.account,p=w.opts.videoUploadToAzure.container;if(w.opts.videoUploadToAzure.uploadURL){var c=w.opts.videoUploadToAzure.uploadURL.split(\"/\");p=c.pop(),f=c.pop().split(\".\")[0]}var v=\"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(l,\"\\nx-ms-version:2019-07-07\"),u=encodeURI(\"/\"+f+\"/\"+p+\"/\"+o.name),g=s+\"\\n\\n\\n\"+o.size+\"\\n\\n\"+o.type+\"\\n\\n\\n\\n\\n\\n\\n\"+v+\"\\n\"+u,h=w.cryptoJSPlugin.cryptoJS.HmacSHA256(g,w.cryptoJSPlugin.cryptoJS.enc.Base64.parse(w.opts.videoUploadToAzure.accessKey)).toString(w.cryptoJSPlugin.cryptoJS.enc.Base64),m=\"SharedKey \"+f+\":\"+h;r=h,d.setRequestHeader(\"Authorization\",m)}for(i in d.setRequestHeader(\"x-ms-version\",\"2019-07-07\"),d.setRequestHeader(\"x-ms-date\",l),d.setRequestHeader(\"Content-Type\",o.type),d.setRequestHeader(\"x-ms-blob-type\",\"BlockBlob\"),w.opts.videoUploadParams)w.opts.videoUploadParams.hasOwnProperty(i)&&d.setRequestHeader(i,w.opts.videoUploadParams[i]);for(i in w.opts.videoUploadToAzure.params)w.opts.videoUploadToAzure.params.hasOwnProperty(i)&&d.setRequestHeader(i,w.opts.videoUploadToAzure.params[i])}d.onload=function(){_.call(d,E,a,r)},d.onerror=B,d.upload.onprogress=D,d.onabort=k,R(),w.events.disableBlur(),w.edit.off(),w.events.enableBlur();var b=w.popups.get(\"video.insert\");b&&A(b.off(\"abortUpload\")).on(\"abortUpload\",function(){4!=d.readyState&&d.abort()}),d.send(w.opts.videoUploadToAzure?o:t)}}}function F(e,t){w.edit.on(),E&&E.find(\"video\").addClass(\"fr-error\"),y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.error\",[{code:e,message:a[e]},t])}function X(){if(E){var e=w.popups.get(\"video.size\"),t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));e.find('input[name=\"width\"]').val(t.get(0).style.width||t.attr(\"width\")).trigger(\"change\"),e.find('input[name=\"height\"]').val(t.get(0).style.height||t.attr(\"height\")).trigger(\"change\")}}function G(e){if(e)return w.popups.onRefresh(\"video.size\",X),!0;var t={buttons:'<div class=\"fr-buttons fr-tabs\">'.concat(w.button.buildList(w.opts.videoSizeButtons),\"</div>\"),size_layer:'<div class=\"fr-video-size-layer fr-layer fr-active\" id=\"fr-video-size-layer-'.concat(w.id,'\"><div class=\"fr-video-group\"><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-width-').concat(w.id,'\" type=\"text\" name=\"width\" placeholder=\"').concat(w.language.translate(\"Width\"),'\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-height-').concat(w.id,'\" type=\"text\" name=\"height\" placeholder=\"').concat(w.language.translate(\"Height\"),'\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoSetSize\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Update\"),\"</button></div></div>\")},o=w.popups.create(\"video.size\",t);return w.events.$on(w.$wp,\"scroll\",function(){E&&w.popups.isVisible(\"video.size\")&&(w.events.disableBlur(),l(E))}),o}function j(e){if(void 0===e&&(e=E),e){if(e.hasClass(\"fr-fvl\"))return\"left\";if(e.hasClass(\"fr-fvr\"))return\"right\";if(e.hasClass(\"fr-dvb\")||e.hasClass(\"fr-dvi\"))return\"center\";if(\"block\"==e.css(\"display\")){if(\"left\"==e.css(\"text-algin\"))return\"left\";if(\"right\"==e.css(\"text-align\"))return\"right\"}else{if(\"left\"==e.css(\"float\"))return\"left\";if(\"right\"==e.css(\"float\"))return\"right\"}}return\"center\"}function W(e){void 0===e&&(e=E);var t=e.css(\"float\");return e.css(\"float\",\"none\"),\"block\"==e.css(\"display\")?(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"block\"):(e.css(\"float\",\"\"),e.css(\"float\")!=t&&e.css(\"float\",t),\"inline\")}function q(){if(E&&!1!==w.events.trigger(\"video.beforeRemove\",[E])){var e=E;if(w.popups.hideAll(),V(!0),w.opts.trackChangesEnabled&&(!e[0].parentNode||\"SPAN\"!==e[0].parentNode.tagName||!e[0].parentNode.hasAttribute(\"data-tracking\")))return void w.track_changes.removeSpecialItem(e);w.selection.setBefore(e.get(0))||w.selection.setAfter(e.get(0)),e.remove(),w.selection.restore(),w.html.fillEmptyBlocks()}}function J(){d()}function Z(e,t,o){!w.opts.htmlUntouched&&w.opts.useClasses?(e.removeClass(\"fr-fvl fr-fvr fr-dvb fr-dvi\"),e.addClass(\"fr-fv\".concat(o[0],\" fr-dv\").concat(t[0]))):\"inline\"==t?(e.css({display:\"inline-block\"}),\"center\"==o?e.css({\"float\":\"none\"}):\"left\"==o?e.css({\"float\":\"left\"}):e.css({\"float\":\"right\"})):(e.css({display:\"block\",clear:\"both\"}),\"left\"==o?e.css({textAlign:\"left\"}):\"right\"==o?e.css({textAlign:\"right\"}):e.css({textAlign:\"center\"}))}function Q(){var e=w.$el.find(\"video\").filter(function(){return 0===A(this).parents(\"span.fr-video\").length});if(0!=e.length){e.wrap(A(document.createElement(\"span\")).attr(\"class\",\"fr-video fr-deletable\").attr(\"contenteditable\",\"false\")),w.$el.find(\"embed, iframe\").filter(function(){if(w.browser.safari&&this.getAttribute(\"src\")&&this.setAttribute(\"src\",this.src),0<A(this).parents(\"span.fr-video\").length)return!1;for(var e=A(this).attr(\"src\"),t=0;t<we.VIDEO_PROVIDERS.length;t++){var o=we.VIDEO_PROVIDERS[t];if(o.test_regex.test(e)&&new RegExp(w.opts.videoAllowedProviders.join(\"|\")).test(o.provider))return!0}return!1}).map(function(){return 0===A(this).parents(\"object\").length?this:A(this).parents(\"object\").get(0)}).wrap(A(document.createElement(\"span\")).attr(\"class\",\"fr-video\").attr(\"contenteditable\",\"false\"));for(var t,o,i,a,r=w.$el.find(\"span.fr-video, video\"),n=0;n<r.length;n++){var s=A(r[n]);!w.opts.htmlUntouched&&w.opts.useClasses?((a=s).hasClass(\"fr-dvi\")||a.hasClass(\"fr-dvb\")||(a.addClass(\"fr-fv\".concat(j(a)[0])),a.addClass(\"fr-dv\".concat(W(a)[0]))),w.opts.videoTextNear||s.removeClass(\"fr-dvi\").addClass(\"fr-dvb\")):w.opts.htmlUntouched||w.opts.useClasses||(void 0,o=(t=s).hasClass(\"fr-dvb\")?\"block\":t.hasClass(\"fr-dvi\")?\"inline\":null,i=t.hasClass(\"fr-fvl\")?\"left\":t.hasClass(\"fr-fvr\")?\"right\":j(t),Z(t,o,i),t.removeClass(\"fr-dvb fr-dvi fr-fvr fr-fvl\"))}r.toggleClass(\"fr-draggable\",w.opts.videoMove)}}function ee(e){document.getElementById(\"autoplay-\".concat(w.id)).style.cssText=\"background:\".concat(e)}function te(){if(E){w.selection.clear();var e=w.doc.createRange();e.selectNode(E.get(0)),w.selection.get().addRange(e)}}return a[1]=\"Video cannot be loaded from the passed link.\",a[c]=\"No link in upload response.\",a[v]=\"Error during file upload.\",a[u]=\"Parsing response failed.\",a[S]=\"File is too large.\",a[U]=\"Video file type is invalid.\",a[7]=\"Files can be uploaded only to same domain in IE 8 and IE 9.\",w.shared.vid_exit_flag=!1,{_init:function oe(){w.opts.videoResponsive&&(w.opts.videoResize=!1),function e(){w.events.on(\"drop\",H,!0),w.events.on(\"mousedown window.mousedown\",N),w.events.on(\"window.touchmove\",Y),w.events.on(\"mouseup window.mouseup\",V),w.events.on(\"commands.mousedown\",function(e){0<e.parents(\".fr-toolbar\").length&&V()}),w.events.on(\"video.hideResizer commands.undo commands.redo element.dropped\",function(){V(!0)}),w.events.on(\"filestack-init-video\",function(){n()})}(),w.helpers.isMobile()&&(w.events.$on(w.$el,\"touchstart\",\"span.fr-video\",function(){o=!1}),w.events.$on(w.$el,\"touchmove\",function(){o=!0})),w.events.on(\"html.set\",Q),Q(),w.events.$on(w.$el,\"mousedown\",\"span.fr-video\",function(e){e.stopPropagation(),(w.browser.msie||w.browser.edge)&&(e.target.innerText||(e.target.dragDrop(),t.call(this,e)))}),w.events.$on(w.$el,\"click touchend\",\"span.fr-video\",function(e){if(e.target.innerText.length||\"false\"==A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\"))return!0;t.call(this,e)}),w.events.on(\"keydown\",function(e){var t=e.which;return!E||t!=we.KEYCODE.BACKSPACE&&t!=we.KEYCODE.DELETE?E&&t==we.KEYCODE.ESC?(V(!0),e.preventDefault(),!1):E&&t!=we.KEYCODE.F10&&!w.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),q(),w.undo.saveStep(),!1)},!0),w.events.on(\"toolbar.esc\",function(){if(E)return w.events.disableBlur(),w.events.focus(),!1},!0),w.events.on(\"toolbar.focusEditor\",function(){if(E)return!1},!0),w.events.on(\"keydown\",function(){w.$el.find(\"span.fr-video:empty\").remove()}),w.$wp&&(O(),w.events.on(\"contentChanged\",O)),n(!0),G(!0)},showInsertPopup:function ie(){var e=w.$tb.find('.fr-command[data-cmd=\"insertVideo\"]'),t=w.popups.get(\"video.insert\");if(t||(t=n()),d(),!t.hasClass(\"fr-active\"))if(w.popups.refresh(\"video.insert\"),w.popups.setContainer(\"video.insert\",w.$tb),e.isVisible()){var o=w.button.getPosition(e),i=o.left,a=o.top;w.popups.show(\"video.insert\",i,a,e.outerHeight())}else w.position.forSelection(t),w.popups.show(\"video.insert\")},showLayer:function ae(e){var t,o,i=w.popups.get(\"video.insert\");if(!E&&!w.opts.toolbarInline){var a=w.$tb.find('.fr-command[data-cmd=\"insertVideo\"]');t=a.offset().left,o=a.offset().top+(w.opts.toolbarBottom?10:a.outerHeight()-10)}w.opts.toolbarInline&&(o=i.offset().top-w.helpers.getPX(i.css(\"margin-top\")),i.hasClass(\"fr-above\")&&(o+=i.outerHeight())),i.find(\".fr-layer\").removeClass(\"fr-active\"),i.find(\".fr-\".concat(e,\"-layer\")).addClass(\"fr-active\"),w.popups.show(\"video.insert\",t,o,0),w.accessibility.focusPopup(i)},refreshByURLButton:function re(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-by-url-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshEmbedButton:function ne(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-embed-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},refreshUploadButton:function se(e){var t=w.popups.get(\"video.insert\");t&&t.find(\".fr-video-upload-layer\").hasClass(\"fr-active\")&&e.addClass(\"fr-active\").attr(\"aria-pressed\",!0)},upload:K,insertByURL:function de(e){var t=!!document.getElementById(\"videoPluginAutoplay\")&&document.getElementById(\"videoPluginAutoplay\").checked;if(void 0===e){var o=(e=(w.popups.get(\"video.insert\").find('.fr-video-by-url-layer input[type=\"text\"]').val()||\"\").trim()).match(/(https?:\\/\\/)?(www\\.)?(player\\.)?vimeo\\.com\\/?(showcase\\/)*([0-9))([a-z]*\\/)*([0-9]{6,11})[?]?.*/);if(o&&7==o.length){var i=o[6],a=e.substring(0,e.lastIndexOf(\"/\")),r=e.substring(e.lastIndexOf(\"/\")+1,e.length);e=r.includes(\"?h=\")||r.includes(\"?v=\")||i===r?(\"\".concat(a,\"/\").concat(r)||\"\").trim():(\"\".concat(a,\"?h=\").concat(r)||\"\").trim()}}var n=null;if(/^http/.test(e)||(e=\"https://\".concat(e)),w.helpers.isURL(e))for(var s=0;s<we.VIDEO_PROVIDERS.length;s++){var d=we.VIDEO_PROVIDERS[s],l=\"autoplay=1&mute=1\";if(d.html.includes(\"autoplay=1\")&&document.getElementById(\"videoPluginAutoplay\").checked)d.html=d.html,document.getElementById(\"videoPluginAutoplay\").checked=!1;else if(t){var f=d.html.indexOf(\"{url}\")+5;d.html=[d.html.slice(0,f),l,d.html.slice(f)].join(\"\"),t=!1,document.getElementById(\"videoPluginAutoplay\").checked=!1}else(d=we.VIDEO_PROVIDERS[s]).html=d.html.replace(l,\"\");if(d.test_regex.test(e)&&new RegExp(w.opts.videoAllowedProviders.join(\"|\")).test(d.provider)){n=e.replace(d.url_regex,d.url_text),n=d.html.replace(/\\{url\\}/,n);break}}n?h(n):(y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.linkError\",[e]))},insertEmbed:function le(e){void 0===e&&(e=w.popups.get(\"video.insert\").find(\".fr-video-embed-layer textarea\").val()||\"\"),0!==e.length&&we.VIDEO_EMBED_REGEX.test(e)?h(e):(y(w.language.translate(\"Something went wrong. Please try again.\")),w.events.trigger(\"video.codeError\",[e]))},insert:h,align:function fe(e){E.removeClass(\"fr-fvr fr-fvl\"),!w.opts.htmlUntouched&&w.opts.useClasses?\"left\"==e?E.addClass(\"fr-fvl\"):\"right\"==e&&E.addClass(\"fr-fvr\"):Z(E,W(),e),te(),M(),r(),w.selection.clear()},refreshAlign:function pe(e){if(!E)return!1;e.find(\">*\").first().replaceWith(w.icon.create(\"video-align-\".concat(j())))},refreshAlignOnShow:function ce(e,t){E&&t.find('.fr-command[data-param1=\"'.concat(j(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},display:function ve(e){E.removeClass(\"fr-dvi fr-dvb\"),!w.opts.htmlUntouched&&w.opts.useClasses?\"inline\"==e?E.addClass(\"fr-dvi\"):\"block\"==e&&E.addClass(\"fr-dvb\"):Z(E,e,j()),te(),M(),r(),w.selection.clear()},refreshDisplayOnShow:function ue(e,t){E&&t.find('.fr-command[data-param1=\"'.concat(W(),'\"]')).addClass(\"fr-active\").attr(\"aria-selected\",!0)},remove:q,hideProgressBar:d,showSizePopup:function ge(){var e=w.popups.get(\"video.size\");e||(e=G()),d(),w.popups.refresh(\"video.size\"),w.popups.setContainer(\"video.size\",w.$sc);var t=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\")),o=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.height();w.popups.show(\"video.size\",o,i,t.height(),!0)},replace:function he(){var e=w.popups.get(\"video.insert\");e||(e=n()),w.popups.isVisible(\"video.insert\")||(d(),w.popups.refresh(\"video.insert\"),w.popups.setContainer(\"video.insert\",w.$sc));var t=E.offset().left+E.outerWidth()/2,o=E.offset().top+E.height();w.popups.show(\"video.insert\",t,o,E.outerHeight(),!0)},back:function e(){E?(w.events.disableBlur(),E[0].click()):(w.events.disableBlur(),w.selection.restore(),w.events.enableBlur(),w.popups.hide(\"video.insert\"),w.toolbar.showInline())},setSize:function me(e,t){if(E){var o=w.popups.get(\"video.size\"),i=E.find(\"iframe, embed, \".concat(E.find(\"iframe, embed, audio\").get(0)?\"audio\":\"video\"));i.css(\"width\",e||o.find('input[name=\"width\"]').val()),i.css(\"height\",t||o.find('input[name=\"height\"]').val()),i.get(0).style.width&&i.removeAttr(\"width\"),i.get(0).style.height&&i.removeAttr(\"height\"),o.find(\"input:focus\").blur(),setTimeout(function(){E.trigger(\"click\")},w.helpers.isAndroid()?50:0)}},get:function be(){return E},showProgressBar:R,_editVideo:l,setAutoplay:function ye(){var e;if(E.find(\"iframe, embed, audio\").get(0))(e=E.find(\"iframe, embed, audio\")).get(0).src.includes(\"autoplay=1\")?(ee(\"#FFFFFF\"),e.get(0).src=e.get(0).src.replace(\"&autoplay=1\",\"\")):(ee(\"#D6D6D6\"),e.get(0).src=e.get(0).src+\"&autoplay=1\");else if((e=E.find(\"iframe, embed, video\")).get(0).outerHTML.includes(\"autoplay\"))ee(\"#FFFFFF\"),e.get(0).outerHTML=e.get(0).outerHTML.replace(\"autoplay\",\"\");else{ee(\"#D6D6D6\");var t=e.get(0).outerHTML.indexOf(\"class\")-1;e.get(0).outerHTML=[e.get(0).outerHTML.slice(0,t),\"autoplay\",e.get(0).outerHTML.slice(t)].join(\"\")}},insertHtmlVideo:x}},we.RegisterCommand(\"insertVideo\",{title:\"Insert Video\",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible(\"video.insert\")?(this.$el.find(\".fr-marker\").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide(\"video.insert\")):this.video.showInsertPopup()},plugin:\"video\"}),we.DefineIcon(\"insertVideo\",{NAME:\"video-camera\",FA5NAME:\"camera\",SVG_KEY:\"insertVideo\"}),we.DefineIcon(\"videoByURL\",{NAME:\"link\",SVG_KEY:\"insertLink\"}),we.RegisterCommand(\"videoByURL\",{title:\"By URL\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-by-url\")},refresh:function(e){this.video.refreshByURLButton(e)}}),we.DefineIcon(\"videoEmbed\",{NAME:\"code\",SVG_KEY:\"codeView\"}),we.RegisterCommand(\"videoEmbed\",{title:\"Embedded Code\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-embed\")},refresh:function(e){this.video.refreshEmbedButton(e)}}),we.DefineIcon(\"videoUpload\",{NAME:\"upload\",SVG_KEY:\"upload\"}),we.RegisterCommand(\"videoUpload\",{title:\"Upload Video\",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer(\"video-upload\")},refresh:function(e){this.video.refreshUploadButton(e)}}),we.RegisterCommand(\"videoInsertByURL\",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),we.RegisterCommand(\"videoInsertEmbed\",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),we.DefineIcon(\"videoDisplay\",{NAME:\"star\",SVG_KEY:\"star\"}),we.RegisterCommand(\"videoDisplay\",{title:\"Display\",type:\"dropdown\",options:{inline:\"Inline\",block:\"Break Text\"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass(\"fr-hidden\")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),we.DefineIcon(\"video-align\",{NAME:\"align-left\",SVG_KEY:\"align Left\"}),we.DefineIcon(\"video-align-left\",{NAME:\"align-left\",SVG_KEY:\"alignLeft\"}),we.DefineIcon(\"video-align-right\",{NAME:\"align-right\",SVG_KEY:\"alignRight\"}),we.DefineIcon(\"video-align-center\",{NAME:\"align-justify\",SVG_KEY:\"alignJustify\"}),we.DefineIcon(\"videoAlign\",{NAME:\"align-center\",SVG_KEY:\"alignCenter\"}),we.RegisterCommand(\"videoAlign\",{type:\"dropdown\",title:\"Align\",options:{left:\"Align Left\",center:\"None\",right:\"Align Right\"},html:function(){var e='<ul class=\"fr-dropdown-list\" role=\"presentation\">',t=we.COMMANDS.videoAlign.options;for(var o in t)t.hasOwnProperty(o)&&(e+='<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"videoAlign\" data-param1=\"'.concat(o,'\" title=\"').concat(this.language.translate(t[o]),'\">').concat(this.icon.create(\"video-align-\".concat(o)),'<span class=\"fr-sr-only\">').concat(this.language.translate(t[o]),\"</span></a></li>\"));return e+=\"</ul>\"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),we.DefineIcon(\"videoReplace\",{NAME:\"exchange\",FA5NAME:\"exchange-alt\",SVG_KEY:\"replaceImage\"}),we.RegisterCommand(\"videoReplace\",{title:\"Replace\",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),we.DefineIcon(\"videoRemove\",{NAME:\"trash\",SVG_KEY:\"remove\"}),we.RegisterCommand(\"videoRemove\",{title:\"Remove\",callback:function(){this.video.remove()}}),we.DefineIcon(\"autoplay\",{NAME:\"autoplay\",SVG_KEY:\"autoplay\"}),we.RegisterCommand(\"autoplay\",{undo:!1,focus:!1,popup:!0,title:\"Autoplay\",callback:function(){this.video.setAutoplay()}}),we.DefineIcon(\"videoSize\",{NAME:\"arrows-alt\",SVG_KEY:\"imageSize\"}),we.RegisterCommand(\"videoSize\",{undo:!1,focus:!1,popup:!0,title:\"Change Size\",callback:function(){this.video.showSizePopup()}}),we.DefineIcon(\"videoBack\",{NAME:\"arrow-left\",SVG_KEY:\"back\"}),we.RegisterCommand(\"videoBack\",{title:\"Back\",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.get()||this.opts.toolbarInline?(e.removeClass(\"fr-hidden\"),e.next().hasClass(\"fr-separator\")&&e.next().removeClass(\"fr-hidden\")):(e.addClass(\"fr-hidden\"),e.next().hasClass(\"fr-separator\")&&e.next().addClass(\"fr-hidden\"))}}),we.RegisterCommand(\"videoDismissError\",{title:\"OK\",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),we.RegisterCommand(\"videoSetSize\",{undo:!0,focus:!1,title:\"Update\",refreshAfterCallback:!1,callback:function(){this.video.setSize()}})});","var currentNonce;\nexport var setNonce = function (nonce) {\n    currentNonce = nonce;\n};\nexport var getNonce = function () {\n    if (currentNonce) {\n        return currentNonce;\n    }\n    if (typeof __webpack_nonce__ !== 'undefined') {\n        return __webpack_nonce__;\n    }\n    return undefined;\n};\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\n","'use strict';\n\nfunction checkDCE() {\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n  if (\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n  ) {\n    return;\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // This branch is unreachable because this function is only called\n    // in production, but the condition is true only in development.\n    // Therefore if the branch is still here, dead code elimination wasn't\n    // properly applied.\n    // Don't change the message. React DevTools relies on it. Also make sure\n    // this message doesn't occur elsewhere in this function, or it will cause\n    // a false positive.\n    throw new Error('^_^');\n  }\n  try {\n    // Verify that the code above has been dead code eliminated (DCE'd).\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n  } catch (err) {\n    // DevTools shouldn't crash React, no matter what.\n    // We should still report in case we break this code.\n    console.error(err);\n  }\n}\n\nif (process.env.NODE_ENV === 'production') {\n  // DCE check should happen before ReactDOM bundle executes so that\n  // DevTools can report bad minification during injection.\n  checkDCE();\n  module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n  module.exports = require('./cjs/react-dom.development.js');\n}\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n    var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    return \"\\n  .\".concat(noScrollbarsClassName, \" {\\n   overflow: hidden \").concat(important, \";\\n   padding-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  body[\").concat(lockAttribute, \"] {\\n    overflow: hidden \").concat(important, \";\\n    overscroll-behavior: contain;\\n    \").concat([\n        allowRelative && \"position: relative \".concat(important, \";\"),\n        gapMode === 'margin' &&\n            \"\\n    padding-left: \".concat(left, \"px;\\n    padding-top: \").concat(top, \"px;\\n    padding-right: \").concat(right, \"px;\\n    margin-left:0;\\n    margin-top:0;\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n    \"),\n        gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n    ]\n        .filter(Boolean)\n        .join(''), \"\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" {\\n    right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" {\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n    right: 0 \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n    margin-right: 0 \").concat(important, \";\\n  }\\n  \\n  body[\").concat(lockAttribute, \"] {\\n    \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n  }\\n\");\n};\nvar getCurrentUseCounter = function () {\n    var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n    return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n    React.useEffect(function () {\n        document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n        return function () {\n            var newCounter = getCurrentUseCounter() - 1;\n            if (newCounter <= 0) {\n                document.body.removeAttribute(lockAttribute);\n            }\n            else {\n                document.body.setAttribute(lockAttribute, newCounter.toString());\n            }\n        };\n    }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n    var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n    useLockAttribute();\n    /*\n     gap will be measured on every component mount\n     however it will be used only by the \"first\" invocation\n     due to singleton nature of <Style\n     */\n    var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n    return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","export var zeroGap = {\n    left: 0,\n    top: 0,\n    right: 0,\n    gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n    var cs = window.getComputedStyle(document.body);\n    var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n    var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n    var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n    return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    if (typeof window === 'undefined') {\n        return zeroGap;\n    }\n    var offsets = getOffset(gapMode);\n    var documentWidth = document.documentElement.clientWidth;\n    var windowWidth = window.innerWidth;\n    return {\n        left: offsets[0],\n        top: offsets[1],\n        right: offsets[2],\n        gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n    };\n};\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n    return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n    return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n  .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n  .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n    var shouldPreventQueue = React.useRef([]);\n    var touchStartRef = React.useRef([0, 0]);\n    var activeAxis = React.useRef();\n    var id = React.useState(idCounter++)[0];\n    var Style = React.useState(styleSingleton)[0];\n    var lastProps = React.useRef(props);\n    React.useEffect(function () {\n        lastProps.current = props;\n    }, [props]);\n    React.useEffect(function () {\n        if (props.inert) {\n            document.body.classList.add(\"block-interactivity-\".concat(id));\n            var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n            allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n            return function () {\n                document.body.classList.remove(\"block-interactivity-\".concat(id));\n                allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n            };\n        }\n        return;\n    }, [props.inert, props.lockRef.current, props.shards]);\n    var shouldCancelEvent = React.useCallback(function (event, parent) {\n        if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n            return !lastProps.current.allowPinchZoom;\n        }\n        var touch = getTouchXY(event);\n        var touchStart = touchStartRef.current;\n        var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n        var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n        var currentAxis;\n        var target = event.target;\n        var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n        // allow horizontal touch move on Range inputs. They will not cause any scroll\n        if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n            return false;\n        }\n        var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n        if (!canBeScrolledInMainDirection) {\n            return true;\n        }\n        if (canBeScrolledInMainDirection) {\n            currentAxis = moveDirection;\n        }\n        else {\n            currentAxis = moveDirection === 'v' ? 'h' : 'v';\n            canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n            // other axis might be not scrollable\n        }\n        if (!canBeScrolledInMainDirection) {\n            return false;\n        }\n        if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n            activeAxis.current = currentAxis;\n        }\n        if (!currentAxis) {\n            return true;\n        }\n        var cancelingAxis = activeAxis.current || currentAxis;\n        return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n    }, []);\n    var shouldPrevent = React.useCallback(function (_event) {\n        var event = _event;\n        if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n            // not the last active\n            return;\n        }\n        var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n        var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n        // self event, and should be canceled\n        if (sourceEvent && sourceEvent.should) {\n            if (event.cancelable) {\n                event.preventDefault();\n            }\n            return;\n        }\n        // outside or shard event\n        if (!sourceEvent) {\n            var shardNodes = (lastProps.current.shards || [])\n                .map(extractRef)\n                .filter(Boolean)\n                .filter(function (node) { return node.contains(event.target); });\n            var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n            if (shouldStop) {\n                if (event.cancelable) {\n                    event.preventDefault();\n                }\n            }\n        }\n    }, []);\n    var shouldCancel = React.useCallback(function (name, delta, target, should) {\n        var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n        shouldPreventQueue.current.push(event);\n        setTimeout(function () {\n            shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n        }, 1);\n    }, []);\n    var scrollTouchStart = React.useCallback(function (event) {\n        touchStartRef.current = getTouchXY(event);\n        activeAxis.current = undefined;\n    }, []);\n    var scrollWheel = React.useCallback(function (event) {\n        shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    var scrollTouchMove = React.useCallback(function (event) {\n        shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    React.useEffect(function () {\n        lockStack.push(Style);\n        props.setCallbacks({\n            onScrollCapture: scrollWheel,\n            onWheelCapture: scrollWheel,\n            onTouchMoveCapture: scrollTouchMove,\n        });\n        document.addEventListener('wheel', shouldPrevent, nonPassive);\n        document.addEventListener('touchmove', shouldPrevent, nonPassive);\n        document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n        return function () {\n            lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n            document.removeEventListener('wheel', shouldPrevent, nonPassive);\n            document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n            document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n        };\n    }, []);\n    var removeScrollBar = props.removeScrollBar, inert = props.inert;\n    return (React.createElement(React.Fragment, null,\n        inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n        removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n    var shadowParent = null;\n    while (node !== null) {\n        if (node instanceof ShadowRoot) {\n            shadowParent = node.host;\n            node = node.host;\n        }\n        node = node.parentNode;\n    }\n    return shadowParent;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n    return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n    var ref = React.useRef(null);\n    var _a = React.useState({\n        onScrollCapture: nothing,\n        onWheelCapture: nothing,\n        onTouchMoveCapture: nothing,\n    }), callbacks = _a[0], setCallbacks = _a[1];\n    var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n    var SideCar = sideCar;\n    var containerRef = useMergeRefs([ref, parentRef]);\n    var containerProps = __assign(__assign({}, rest), callbacks);\n    return (React.createElement(React.Fragment, null,\n        enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n        forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n    enabled: true,\n    removeScrollBar: true,\n    inert: false,\n};\nRemoveScroll.classNames = {\n    fullWidth: fullWidthClassName,\n    zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n    try {\n        var options = Object.defineProperty({}, 'passive', {\n            get: function () {\n                passiveSupported = true;\n                return true;\n            },\n        });\n        // @ts-ignore\n        window.addEventListener('test', options, options);\n        // @ts-ignore\n        window.removeEventListener('test', options, options);\n    }\n    catch (err) {\n        passiveSupported = false;\n    }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n    // textarea will always _contain_ scroll inside self. It only can be hidden\n    return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n    if (!(node instanceof Element)) {\n        return false;\n    }\n    var styles = window.getComputedStyle(node);\n    return (\n    // not-not-scrollable\n    styles[overflow] !== 'hidden' &&\n        // contains scroll inside self\n        !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n    var ownerDocument = node.ownerDocument;\n    var current = node;\n    do {\n        // Skip over shadow root\n        if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n            current = current.host;\n        }\n        var isScrollable = elementCouldBeScrolled(axis, current);\n        if (isScrollable) {\n            var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n            if (scrollHeight > clientHeight) {\n                return true;\n            }\n        }\n        current = current.parentNode;\n    } while (current && current !== ownerDocument.body);\n    return false;\n};\nvar getVScrollVariables = function (_a) {\n    var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n    return [\n        scrollTop,\n        scrollHeight,\n        clientHeight,\n    ];\n};\nvar getHScrollVariables = function (_a) {\n    var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n    return [\n        scrollLeft,\n        scrollWidth,\n        clientWidth,\n    ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n    return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n    return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n    /**\n     * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n     * and then increasingly negative as you scroll towards the end of the content.\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n     */\n    return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n    var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n    var delta = directionFactor * sourceDelta;\n    // find scrollable target\n    var target = event.target;\n    var targetInLock = endTarget.contains(target);\n    var shouldCancelScroll = false;\n    var isDeltaPositive = delta > 0;\n    var availableScroll = 0;\n    var availableScrollTop = 0;\n    do {\n        var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n        var elementScroll = scroll_1 - capacity - directionFactor * position;\n        if (position || elementScroll) {\n            if (elementCouldBeScrolled(axis, target)) {\n                availableScroll += elementScroll;\n                availableScrollTop += position;\n            }\n        }\n        if (target instanceof ShadowRoot) {\n            target = target.host;\n        }\n        else {\n            target = target.parentNode;\n        }\n    } while (\n    // portaled content\n    (!targetInLock && target !== document.body) ||\n        // self content\n        (targetInLock && (endTarget.contains(target) || endTarget === target)));\n    // handle epsilon around 0 (non standard zoom levels)\n    if (isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n        shouldCancelScroll = true;\n    }\n    return shouldCancelScroll;\n};\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n    var useStyle = styleHookSingleton();\n    var Sheet = function (_a) {\n        var styles = _a.styles, dynamic = _a.dynamic;\n        useStyle(styles, dynamic);\n        return null;\n    };\n    return Sheet;\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n    var sheet = stylesheetSingleton();\n    return function (styles, isDynamic) {\n        React.useEffect(function () {\n            sheet.add(styles);\n            return function () {\n                sheet.remove();\n            };\n        }, [styles && isDynamic]);\n    };\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n    if (!document)\n        return null;\n    var tag = document.createElement('style');\n    tag.type = 'text/css';\n    var nonce = getNonce();\n    if (nonce) {\n        tag.setAttribute('nonce', nonce);\n    }\n    return tag;\n}\nfunction injectStyles(tag, css) {\n    // @ts-ignore\n    if (tag.styleSheet) {\n        // @ts-ignore\n        tag.styleSheet.cssText = css;\n    }\n    else {\n        tag.appendChild(document.createTextNode(css));\n    }\n}\nfunction insertStyleTag(tag) {\n    var head = document.head || document.getElementsByTagName('head')[0];\n    head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n    var counter = 0;\n    var stylesheet = null;\n    return {\n        add: function (style) {\n            if (counter == 0) {\n                if ((stylesheet = makeStyleTag())) {\n                    injectStyles(stylesheet, style);\n                    insertStyleTag(stylesheet);\n                }\n            }\n            counter++;\n        },\n        remove: function () {\n            counter--;\n            if (!counter && stylesheet) {\n                stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n                stylesheet = null;\n            }\n        },\n    };\n};\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).Tribute=t()}(this,(function(){\"use strict\";function e(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function t(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function n(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e)))return;var n=[],i=!0,r=!1,o=void 0;try{for(var u,l=e[Symbol.iterator]();!(i=(u=l.next()).done)&&(n.push(u.value),!t||n.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw o}}return n}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}if(Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError(\"Array.prototype.find called on null or undefined\");if(\"function\"!=typeof e)throw new TypeError(\"predicate must be a function\");for(var t,n=Object(this),i=n.length>>>0,r=arguments[1],o=0;o<i;o++)if(t=n[o],e.call(r,t,o,n))return t}),window&&\"function\"!=typeof window.CustomEvent){var r=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n};void 0!==window.Event&&(r.prototype=window.Event.prototype),window.CustomEvent=r}var o=function(){function t(n){e(this,t),this.tribute=n,this.tribute.events=this}return n(t,[{key:\"bind\",value:function(e){e.boundKeydown=this.keydown.bind(e,this),e.boundKeyup=this.keyup.bind(e,this),e.boundInput=this.input.bind(e,this),e.addEventListener(\"keydown\",e.boundKeydown,!1),e.addEventListener(\"keyup\",e.boundKeyup,!1),e.addEventListener(\"input\",e.boundInput,!1)}},{key:\"unbind\",value:function(e){e.removeEventListener(\"keydown\",e.boundKeydown,!1),e.removeEventListener(\"keyup\",e.boundKeyup,!1),e.removeEventListener(\"input\",e.boundInput,!1),delete e.boundKeydown,delete e.boundKeyup,delete e.boundInput}},{key:\"keydown\",value:function(e,n){e.shouldDeactivate(n)&&(e.tribute.isActive=!1,e.tribute.hideMenu());var i=this;e.commandEvent=!1,t.keys().forEach((function(t){t.key===n.keyCode&&(e.commandEvent=!0,e.callbacks()[t.value.toLowerCase()](n,i))}))}},{key:\"input\",value:function(e,t){e.inputEvent=!0,e.keyup.call(this,e,t)}},{key:\"click\",value:function(e,t){var n=e.tribute;if(n.menu&&n.menu.contains(t.target)){var i=t.target;for(t.preventDefault(),t.stopPropagation();\"li\"!==i.nodeName.toLowerCase();)if(!(i=i.parentNode)||i===n.menu)throw new Error(\"cannot find the <li> container for the click\");n.selectItemAtIndex(i.getAttribute(\"data-index\"),t),n.hideMenu()}else n.current.element&&!n.current.externalTrigger&&(n.current.externalTrigger=!1,setTimeout((function(){return n.hideMenu()})))}},{key:\"keyup\",value:function(e,t){if(e.inputEvent&&(e.inputEvent=!1),e.updateSelection(this),27!==t.keyCode){if(!e.tribute.allowSpaces&&e.tribute.hasTrailingSpace)return e.tribute.hasTrailingSpace=!1,e.commandEvent=!0,void e.callbacks().space(t,this);if(!e.tribute.isActive)if(e.tribute.autocompleteMode)e.callbacks().triggerChar(t,this,\"\");else{var n=e.getKeyCode(e,this,t);if(isNaN(n)||!n)return;var i=e.tribute.triggers().find((function(e){return e.charCodeAt(0)===n}));void 0!==i&&e.callbacks().triggerChar(t,this,i)}e.tribute.current.mentionText.length<e.tribute.current.collection.menuShowMinLength||((e.tribute.current.trigger||e.tribute.autocompleteMode)&&!1===e.commandEvent||e.tribute.isActive&&8===t.keyCode)&&e.tribute.showMenuFor(this,!0)}}},{key:\"shouldDeactivate\",value:function(e){if(!this.tribute.isActive)return!1;if(0===this.tribute.current.mentionText.length){var n=!1;return t.keys().forEach((function(t){e.keyCode===t.key&&(n=!0)})),!n}return!1}},{key:\"getKeyCode\",value:function(e,t,n){var i=e.tribute,r=i.range.getTriggerInfo(!1,i.hasTrailingSpace,!0,i.allowSpaces,i.autocompleteMode);return!!r&&r.mentionTriggerChar.charCodeAt(0)}},{key:\"updateSelection\",value:function(e){this.tribute.current.element=e;var t=this.tribute.range.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);t&&(this.tribute.current.selectedPath=t.mentionSelectedPath,this.tribute.current.mentionText=t.mentionText,this.tribute.current.selectedOffset=t.mentionSelectedOffset)}},{key:\"callbacks\",value:function(){var e=this;return{triggerChar:function(t,n,i){var r=e.tribute;r.current.trigger=i;var o=r.collection.find((function(e){return e.trigger===i}));r.current.collection=o,r.current.mentionText.length>=r.current.collection.menuShowMinLength&&r.inputEvent&&r.showMenuFor(n,!0)},enter:function(t,n){e.tribute.isActive&&e.tribute.current.filteredItems&&(t.preventDefault(),t.stopPropagation(),setTimeout((function(){e.tribute.selectItemAtIndex(e.tribute.menuSelected,t),e.tribute.hideMenu()}),0))},escape:function(t,n){e.tribute.isActive&&(t.preventDefault(),t.stopPropagation(),e.tribute.isActive=!1,e.tribute.hideMenu())},tab:function(t,n){e.callbacks().enter(t,n)},space:function(t,n){e.tribute.isActive&&(e.tribute.spaceSelectsMatch?e.callbacks().enter(t,n):e.tribute.allowSpaces||(t.stopPropagation(),setTimeout((function(){e.tribute.hideMenu(),e.tribute.isActive=!1}),0)))},up:function(t,n){if(e.tribute.isActive&&e.tribute.current.filteredItems){t.preventDefault(),t.stopPropagation();var i=e.tribute.current.filteredItems.length,r=e.tribute.menuSelected;i>r&&r>0?(e.tribute.menuSelected--,e.setActiveLi()):0===r&&(e.tribute.menuSelected=i-1,e.setActiveLi(),e.tribute.menu.scrollTop=e.tribute.menu.scrollHeight)}},down:function(t,n){if(e.tribute.isActive&&e.tribute.current.filteredItems){t.preventDefault(),t.stopPropagation();var i=e.tribute.current.filteredItems.length-1,r=e.tribute.menuSelected;i>r?(e.tribute.menuSelected++,e.setActiveLi()):i===r&&(e.tribute.menuSelected=0,e.setActiveLi(),e.tribute.menu.scrollTop=0)}},delete:function(t,n){e.tribute.isActive&&e.tribute.current.mentionText.length<1?e.tribute.hideMenu():e.tribute.isActive&&e.tribute.showMenuFor(n)}}}},{key:\"setActiveLi\",value:function(e){var t=this.tribute.menu.querySelectorAll(\"li\"),n=t.length>>>0;e&&(this.tribute.menuSelected=parseInt(e));for(var i=0;i<n;i++){var r=t[i];if(i===this.tribute.menuSelected){r.classList.add(this.tribute.current.collection.selectClass);var o=r.getBoundingClientRect(),u=this.tribute.menu.getBoundingClientRect();if(o.bottom>u.bottom){var l=o.bottom-u.bottom;this.tribute.menu.scrollTop+=l}else if(o.top<u.top){var s=u.top-o.top;this.tribute.menu.scrollTop-=s}}else r.classList.remove(this.tribute.current.collection.selectClass)}}},{key:\"getFullHeight\",value:function(e,t){var n=e.getBoundingClientRect().height;if(t){var i=e.currentStyle||window.getComputedStyle(e);return n+parseFloat(i.marginTop)+parseFloat(i.marginBottom)}return n}}],[{key:\"keys\",value:function(){return[{key:9,value:\"TAB\"},{key:8,value:\"DELETE\"},{key:13,value:\"ENTER\"},{key:27,value:\"ESCAPE\"},{key:32,value:\"SPACE\"},{key:38,value:\"UP\"},{key:40,value:\"DOWN\"}]}}]),t}(),u=function(){function t(n){e(this,t),this.tribute=n,this.tribute.menuEvents=this,this.menu=this.tribute.menu}return n(t,[{key:\"bind\",value:function(e){var t=this;this.menuClickEvent=this.tribute.events.click.bind(null,this),this.menuContainerScrollEvent=this.debounce((function(){t.tribute.isActive&&t.tribute.showMenuFor(t.tribute.current.element,!1)}),300,!1),this.windowResizeEvent=this.debounce((function(){t.tribute.isActive&&t.tribute.range.positionMenuAtCaret(!0)}),300,!1),this.tribute.range.getDocument().addEventListener(\"MSPointerDown\",this.menuClickEvent,!1),this.tribute.range.getDocument().addEventListener(\"mousedown\",this.menuClickEvent,!1),window.addEventListener(\"resize\",this.windowResizeEvent),this.menuContainer?this.menuContainer.addEventListener(\"scroll\",this.menuContainerScrollEvent,!1):window.addEventListener(\"scroll\",this.menuContainerScrollEvent)}},{key:\"unbind\",value:function(e){this.tribute.range.getDocument().removeEventListener(\"mousedown\",this.menuClickEvent,!1),this.tribute.range.getDocument().removeEventListener(\"MSPointerDown\",this.menuClickEvent,!1),window.removeEventListener(\"resize\",this.windowResizeEvent),this.menuContainer?this.menuContainer.removeEventListener(\"scroll\",this.menuContainerScrollEvent,!1):window.removeEventListener(\"scroll\",this.menuContainerScrollEvent)}},{key:\"debounce\",value:function(e,t,n){var i,r=arguments,o=this;return function(){var u=o,l=r,s=n&&!i;clearTimeout(i),i=setTimeout((function(){i=null,n||e.apply(u,l)}),t),s&&e.apply(u,l)}}}]),t}(),l=function(){function t(n){e(this,t),this.tribute=n,this.tribute.range=this}return n(t,[{key:\"getDocument\",value:function(){var e;return this.tribute.current.collection&&(e=this.tribute.current.collection.iframe),e?e.contentWindow.document:document}},{key:\"positionMenuAtCaret\",value:function(e){var t,n=this,i=this.tribute.current,r=this.getTriggerInfo(!1,this.tribute.hasTrailingSpace,!0,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==r){if(!this.tribute.positionMenu)return void(this.tribute.menu.style.cssText=\"display: block;\");t=this.isContentEditable(i.element)?this.getContentEditableCaretPosition(r.mentionPosition):this.getTextAreaOrInputUnderlinePosition(this.tribute.current.element,r.mentionPosition),this.tribute.menu.style.cssText=\"top: \".concat(t.top,\"px;\\n                                     left: \").concat(t.left,\"px;\\n                                     right: \").concat(t.right,\"px;\\n                                     bottom: \").concat(t.bottom,\"px;\\n                                     position: absolute;\\n                                     display: block;\"),\"auto\"===t.left&&(this.tribute.menu.style.left=\"auto\"),\"auto\"===t.top&&(this.tribute.menu.style.top=\"auto\"),e&&this.scrollIntoView(),window.setTimeout((function(){var i={width:n.tribute.menu.offsetWidth,height:n.tribute.menu.offsetHeight},r=n.isMenuOffScreen(t,i),o=window.innerWidth>i.width&&(r.left||r.right),u=window.innerHeight>i.height&&(r.top||r.bottom);(o||u)&&(n.tribute.menu.style.cssText=\"display: none\",n.positionMenuAtCaret(e))}),0)}else this.tribute.menu.style.cssText=\"display: none\"}},{key:\"selectElement\",value:function(e,t,n){var i,r=e;if(t)for(var o=0;o<t.length;o++){if(void 0===(r=r.childNodes[t[o]]))return;for(;r.length<n;)n-=r.length,r=r.nextSibling;0!==r.childNodes.length||r.length||(r=r.previousSibling)}var u=this.getWindowSelection();(i=this.getDocument().createRange()).setStart(r,n),i.setEnd(r,n),i.collapse(!0);try{u.removeAllRanges()}catch(e){}u.addRange(i),e.focus()}},{key:\"replaceTriggerText\",value:function(e,t,n,i,r){var o=this.getTriggerInfo(!0,n,t,this.tribute.allowSpaces,this.tribute.autocompleteMode);if(void 0!==o){var u=this.tribute.current,l=new CustomEvent(\"tribute-replaced\",{detail:{item:r,instance:u,context:o,event:i}});if(this.isContentEditable(u.element)){e+=\"string\"==typeof this.tribute.replaceTextSuffix?this.tribute.replaceTextSuffix:\" \";var s=o.mentionPosition+o.mentionText.length;this.tribute.autocompleteMode||(s+=o.mentionTriggerChar.length),this.pasteHtml(e,o.mentionPosition,s)}else{var a=this.tribute.current.element,c=\"string\"==typeof this.tribute.replaceTextSuffix?this.tribute.replaceTextSuffix:\" \";e+=c;var h=o.mentionPosition,d=o.mentionPosition+o.mentionText.length+c.length;this.tribute.autocompleteMode||(d+=o.mentionTriggerChar.length-1),a.value=a.value.substring(0,h)+e+a.value.substring(d,a.value.length),a.selectionStart=h+e.length,a.selectionEnd=h+e.length}u.element.dispatchEvent(new CustomEvent(\"input\",{bubbles:!0})),u.element.dispatchEvent(l)}}},{key:\"pasteHtml\",value:function(e,t,n){var i,r;r=this.getWindowSelection(),(i=this.getDocument().createRange()).setStart(r.anchorNode,t),i.setEnd(r.anchorNode,n),i.deleteContents();var o=this.getDocument().createElement(\"div\");o.innerHTML=e;for(var u,l,s=this.getDocument().createDocumentFragment();u=o.firstChild;)l=s.appendChild(u);i.insertNode(s),l&&((i=i.cloneRange()).setStartAfter(l),i.collapse(!0),r.removeAllRanges(),r.addRange(i))}},{key:\"getWindowSelection\",value:function(){return this.tribute.collection.iframe?this.tribute.collection.iframe.contentWindow.getSelection():window.getSelection()}},{key:\"getNodePositionInParent\",value:function(e){if(null===e.parentNode)return 0;for(var t=0;t<e.parentNode.childNodes.length;t++){if(e.parentNode.childNodes[t]===e)return t}}},{key:\"getContentEditableSelectedPath\",value:function(e){var t=this.getWindowSelection(),n=t.anchorNode,i=[];if(null!=n){for(var r,o=n.contentEditable;null!==n&&\"true\"!==o;)r=this.getNodePositionInParent(n),i.push(r),null!==(n=n.parentNode)&&(o=n.contentEditable);return i.reverse(),{selected:n,path:i,offset:t.getRangeAt(0).startOffset}}}},{key:\"getTextPrecedingCurrentSelection\",value:function(){var e=this.tribute.current,t=\"\";if(this.isContentEditable(e.element)){var n=this.getWindowSelection().anchorNode;if(null!=n){var i=n.textContent,r=this.getWindowSelection().getRangeAt(0).startOffset;i&&r>=0&&(t=i.substring(0,r))}}else{var o=this.tribute.current.element;if(o){var u=o.selectionStart;o.value&&u>=0&&(t=o.value.substring(0,u))}}return t}},{key:\"getLastWordInText\",value:function(e){var t=(e=e.replace(/\\u00A0/g,\" \")).split(/\\s+/);return t[t.length-1].trim()}},{key:\"getTriggerInfo\",value:function(e,t,n,i,r){var o,u,l,s=this,a=this.tribute.current;if(this.isContentEditable(a.element)){var c=this.getContentEditableSelectedPath(a);c&&(o=c.selected,u=c.path,l=c.offset)}else o=this.tribute.current.element;var h=this.getTextPrecedingCurrentSelection(),d=this.getLastWordInText(h);if(r)return{mentionPosition:h.length-d.length,mentionText:d,mentionSelectedElement:o,mentionSelectedPath:u,mentionSelectedOffset:l};if(null!=h){var f,m=-1;if(this.tribute.collection.forEach((function(e){var t=e.trigger,i=e.requireLeadingSpace?s.lastIndexWithLeadingSpace(h,t):h.lastIndexOf(t);i>m&&(m=i,f=t,n=e.requireLeadingSpace)})),m>=0&&(0===m||!n||/[\\xA0\\s]/g.test(h.substring(m-1,m)))){var p=h.substring(m+f.length,h.length);f=h.substring(m,m+f.length);var v=p.substring(0,1),g=p.length>0&&(\" \"===v||\" \"===v);t&&(p=p.trim());var b=i?/[^\\S ]/g:/[\\xA0\\s]/g;if(this.tribute.hasTrailingSpace=b.test(p),!g&&(e||!b.test(p)))return{mentionPosition:m,mentionText:p,mentionSelectedElement:o,mentionSelectedPath:u,mentionSelectedOffset:l,mentionTriggerChar:f}}}}},{key:\"lastIndexWithLeadingSpace\",value:function(e,t){for(var n=e.split(\"\").reverse().join(\"\"),i=-1,r=0,o=e.length;r<o;r++){for(var u=r===e.length-1,l=/\\s/.test(n[r+1]),s=!0,a=t.length-1;a>=0;a--)if(t[a]!==n[r-a]){s=!1;break}if(s&&(u||l)){i=e.length-1-r;break}}return i}},{key:\"isContentEditable\",value:function(e){return\"INPUT\"!==e.nodeName&&\"TEXTAREA\"!==e.nodeName}},{key:\"isMenuOffScreen\",value:function(e,t){var n=window.innerWidth,i=window.innerHeight,r=document.documentElement,o=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),u=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),l=\"number\"==typeof e.top?e.top:u+i-e.bottom-t.height,s=\"number\"==typeof e.right?e.right:e.left+t.width,a=\"number\"==typeof e.bottom?e.bottom:e.top+t.height,c=\"number\"==typeof e.left?e.left:o+n-e.right-t.width;return{top:l<Math.floor(u),right:s>Math.ceil(o+n),bottom:a>Math.ceil(u+i),left:c<Math.floor(o)}}},{key:\"getMenuDimensions\",value:function(){var e={width:null,height:null};return this.tribute.menu.style.cssText=\"top: 0px;\\n                                 left: 0px;\\n                                 position: fixed;\\n                                 display: block;\\n                                 visibility; hidden;\",e.width=this.tribute.menu.offsetWidth,e.height=this.tribute.menu.offsetHeight,this.tribute.menu.style.cssText=\"display: none;\",e}},{key:\"getTextAreaOrInputUnderlinePosition\",value:function(e,t,n){var i=null!==window.mozInnerScreenX,r=this.getDocument().createElement(\"div\");r.id=\"input-textarea-caret-position-mirror-div\",this.getDocument().body.appendChild(r);var o=r.style,u=window.getComputedStyle?getComputedStyle(e):e.currentStyle;o.whiteSpace=\"pre-wrap\",\"INPUT\"!==e.nodeName&&(o.wordWrap=\"break-word\"),o.position=\"absolute\",o.visibility=\"hidden\",[\"direction\",\"boxSizing\",\"width\",\"height\",\"overflowX\",\"overflowY\",\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\",\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"fontStretch\",\"fontSize\",\"fontSizeAdjust\",\"lineHeight\",\"fontFamily\",\"textAlign\",\"textTransform\",\"textIndent\",\"textDecoration\",\"letterSpacing\",\"wordSpacing\"].forEach((function(e){o[e]=u[e]})),i?(o.width=\"\".concat(parseInt(u.width)-2,\"px\"),e.scrollHeight>parseInt(u.height)&&(o.overflowY=\"scroll\")):o.overflow=\"hidden\",r.textContent=e.value.substring(0,t),\"INPUT\"===e.nodeName&&(r.textContent=r.textContent.replace(/\\s/g,\" \"));var l=this.getDocument().createElement(\"span\");l.textContent=e.value.substring(t)||\".\",r.appendChild(l);var s=e.getBoundingClientRect(),a=document.documentElement,c=(window.pageXOffset||a.scrollLeft)-(a.clientLeft||0),h=(window.pageYOffset||a.scrollTop)-(a.clientTop||0),d=0,f=0;this.menuContainerIsBody&&(d=s.top,f=s.left);var m={top:d+h+l.offsetTop+parseInt(u.borderTopWidth)+parseInt(u.fontSize)-e.scrollTop,left:f+c+l.offsetLeft+parseInt(u.borderLeftWidth)},p=window.innerWidth,v=window.innerHeight,g=this.getMenuDimensions(),b=this.isMenuOffScreen(m,g);b.right&&(m.right=p-m.left,m.left=\"auto\");var y=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(b.bottom){var w=y-(v-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);m.bottom=w+(v-s.top-l.offsetTop),m.top=\"auto\"}return(b=this.isMenuOffScreen(m,g)).left&&(m.left=p>g.width?c+p-g.width:c,delete m.right),b.top&&(m.top=v>g.height?h+v-g.height:h,delete m.bottom),this.getDocument().body.removeChild(r),m}},{key:\"getContentEditableCaretPosition\",value:function(e){var t,n=this.getWindowSelection();(t=this.getDocument().createRange()).setStart(n.anchorNode,e),t.setEnd(n.anchorNode,e),t.collapse(!1);var i=t.getBoundingClientRect(),r=document.documentElement,o=(window.pageXOffset||r.scrollLeft)-(r.clientLeft||0),u=(window.pageYOffset||r.scrollTop)-(r.clientTop||0),l={left:i.left+o,top:i.top+i.height+u},s=window.innerWidth,a=window.innerHeight,c=this.getMenuDimensions(),h=this.isMenuOffScreen(l,c);h.right&&(l.left=\"auto\",l.right=s-i.left-o);var d=this.tribute.menuContainer?this.tribute.menuContainer.offsetHeight:this.getDocument().body.offsetHeight;if(h.bottom){var f=d-(a-(this.tribute.menuContainer?this.tribute.menuContainer.getBoundingClientRect():this.getDocument().body.getBoundingClientRect()).top);l.top=\"auto\",l.bottom=f+(a-i.top)}return(h=this.isMenuOffScreen(l,c)).left&&(l.left=s>c.width?o+s-c.width:o,delete l.right),h.top&&(l.top=a>c.height?u+a-c.height:u,delete l.bottom),this.menuContainerIsBody||(l.left=l.left?l.left-this.tribute.menuContainer.offsetLeft:l.left,l.top=l.top?l.top-this.tribute.menuContainer.offsetTop:l.top),l}},{key:\"scrollIntoView\",value:function(e){var t,n=this.menu;if(void 0!==n){for(;void 0===t||0===t.height;)if(0===(t=n.getBoundingClientRect()).height&&(void 0===(n=n.childNodes[0])||!n.getBoundingClientRect))return;var i=t.top,r=i+t.height;if(i<0)window.scrollTo(0,window.pageYOffset+t.top-20);else if(r>window.innerHeight){var o=window.pageYOffset+t.top-20;o-window.pageYOffset>100&&(o=window.pageYOffset+100);var u=window.pageYOffset-(window.innerHeight-r);u>o&&(u=o),window.scrollTo(0,u)}}}},{key:\"menuContainerIsBody\",get:function(){return this.tribute.menuContainer===document.body||!this.tribute.menuContainer}}]),t}(),s=function(){function t(n){e(this,t),this.tribute=n,this.tribute.search=this}return n(t,[{key:\"simpleFilter\",value:function(e,t){var n=this;return t.filter((function(t){return n.test(e,t)}))}},{key:\"test\",value:function(e,t){return null!==this.match(e,t)}},{key:\"match\",value:function(e,t,n){n=n||{};t.length;var i=n.pre||\"\",r=n.post||\"\",o=n.caseSensitive&&t||t.toLowerCase();if(n.skip)return{rendered:t,score:0};e=n.caseSensitive&&e||e.toLowerCase();var u=this.traverse(o,e,0,0,[]);return u?{rendered:this.render(t,u.cache,i,r),score:u.score}:null}},{key:\"traverse\",value:function(e,t,n,i,r){if(t.length===i)return{score:this.calculateScore(r),cache:r.slice()};if(!(e.length===n||t.length-i>e.length-n)){for(var o,u,l=t[i],s=e.indexOf(l,n);s>-1;){if(r.push(s),u=this.traverse(e,t,s+1,i+1,r),r.pop(),!u)return o;(!o||o.score<u.score)&&(o=u),s=e.indexOf(l,s+1)}return o}}},{key:\"calculateScore\",value:function(e){var t=0,n=1;return e.forEach((function(i,r){r>0&&(e[r-1]+1===i?n+=n+1:n=1),t+=n})),t}},{key:\"render\",value:function(e,t,n,i){var r=e.substring(0,t[0]);return t.forEach((function(o,u){r+=n+e[o]+i+e.substring(o+1,t[u+1]?t[u+1]:e.length)})),r}},{key:\"filter\",value:function(e,t,n){var i=this;return n=n||{},t.reduce((function(t,r,o,u){var l=r;n.extract&&((l=n.extract(r))||(l=\"\"));var s=i.match(e,l,n);return null!=s&&(t[t.length]={string:s.rendered,score:s.score,index:o,original:r}),t}),[]).sort((function(e,t){var n=t.score-e.score;return n||e.index-t.index}))}}]),t}();return function(){function t(n){var i,r=this,a=n.values,c=void 0===a?null:a,h=n.iframe,d=void 0===h?null:h,f=n.selectClass,m=void 0===f?\"highlight\":f,p=n.containerClass,v=void 0===p?\"tribute-container\":p,g=n.itemClass,b=void 0===g?\"\":g,y=n.trigger,w=void 0===y?\"@\":y,T=n.autocompleteMode,C=void 0!==T&&T,S=n.selectTemplate,E=void 0===S?null:S,k=n.menuItemTemplate,x=void 0===k?null:k,M=n.lookup,A=void 0===M?\"key\":M,L=n.fillAttr,I=void 0===L?\"value\":L,N=n.collection,O=void 0===N?null:N,D=n.menuContainer,P=void 0===D?null:D,R=n.noMatchTemplate,W=void 0===R?null:R,H=n.requireLeadingSpace,B=void 0===H||H,F=n.allowSpaces,_=void 0!==F&&F,j=n.replaceTextSuffix,Y=void 0===j?null:j,z=n.positionMenu,K=void 0===z||z,q=n.spaceSelectsMatch,U=void 0!==q&&q,X=n.searchOpts,Q=void 0===X?{}:X,V=n.menuItemLimit,G=void 0===V?null:V,J=n.menuShowMinLength,Z=void 0===J?0:J;if(e(this,t),this.autocompleteMode=C,this.menuSelected=0,this.current={},this.inputEvent=!1,this.isActive=!1,this.menuContainer=P,this.allowSpaces=_,this.replaceTextSuffix=Y,this.positionMenu=K,this.hasTrailingSpace=!1,this.spaceSelectsMatch=U,this.autocompleteMode&&(w=\"\",_=!1),c)this.collection=[{trigger:w,iframe:d,selectClass:m,containerClass:v,itemClass:b,selectTemplate:(E||t.defaultSelectTemplate).bind(this),menuItemTemplate:(x||t.defaultMenuItemTemplate).bind(this),noMatchTemplate:(i=W,\"string\"==typeof i?\"\"===i.trim()?null:i:\"function\"==typeof i?i.bind(r):W||function(){return\"<li>No Match Found!</li>\"}.bind(r)),lookup:A,fillAttr:I,values:c,requireLeadingSpace:B,searchOpts:Q,menuItemLimit:G,menuShowMinLength:Z}];else{if(!O)throw new Error(\"[Tribute] No collection specified.\");this.autocompleteMode&&console.warn(\"Tribute in autocomplete mode does not work for collections\"),this.collection=O.map((function(e){return{trigger:e.trigger||w,iframe:e.iframe||d,selectClass:e.selectClass||m,containerClass:e.containerClass||v,itemClass:e.itemClass||b,selectTemplate:(e.selectTemplate||t.defaultSelectTemplate).bind(r),menuItemTemplate:(e.menuItemTemplate||t.defaultMenuItemTemplate).bind(r),noMatchTemplate:function(e){return\"string\"==typeof e?\"\"===e.trim()?null:e:\"function\"==typeof e?e.bind(r):W||function(){return\"<li>No Match Found!</li>\"}.bind(r)}(W),lookup:e.lookup||A,fillAttr:e.fillAttr||I,values:e.values,requireLeadingSpace:e.requireLeadingSpace,searchOpts:e.searchOpts||Q,menuItemLimit:e.menuItemLimit||G,menuShowMinLength:e.menuShowMinLength||Z}}))}new l(this),new o(this),new u(this),new s(this)}return n(t,[{key:\"triggers\",value:function(){return this.collection.map((function(e){return e.trigger}))}},{key:\"attach\",value:function(e){if(!e)throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");if(\"undefined\"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n<t;++n)this._attach(e[n]);else this._attach(e)}},{key:\"_attach\",value:function(e){e.hasAttribute(\"data-tribute\")&&console.warn(\"Tribute was already bound to \"+e.nodeName),this.ensureEditable(e),this.events.bind(e),e.setAttribute(\"data-tribute\",!0)}},{key:\"ensureEditable\",value:function(e){if(-1===t.inputTypes().indexOf(e.nodeName)){if(!e.contentEditable)throw new Error(\"[Tribute] Cannot bind to \"+e.nodeName);e.contentEditable=!0}}},{key:\"createMenu\",value:function(e){var t=this.range.getDocument().createElement(\"div\"),n=this.range.getDocument().createElement(\"ul\");return t.className=e,t.appendChild(n),this.menuContainer?this.menuContainer.appendChild(t):this.range.getDocument().body.appendChild(t)}},{key:\"showMenuFor\",value:function(e,t){var n=this;if(!this.isActive||this.current.element!==e||this.current.mentionText!==this.currentMentionTextSnapshot){this.currentMentionTextSnapshot=this.current.mentionText,this.menu||(this.menu=this.createMenu(this.current.collection.containerClass),e.tributeMenu=this.menu,this.menuEvents.bind(this.menu)),this.isActive=!0,this.menuSelected=0,this.current.mentionText||(this.current.mentionText=\"\");var r=function(e){if(n.isActive){var r=n.search.filter(n.current.mentionText,e,{pre:n.current.collection.searchOpts.pre||\"<span>\",post:n.current.collection.searchOpts.post||\"</span>\",skip:n.current.collection.searchOpts.skip,extract:function(e){if(\"string\"==typeof n.current.collection.lookup)return e[n.current.collection.lookup];if(\"function\"==typeof n.current.collection.lookup)return n.current.collection.lookup(e,n.current.mentionText);throw new Error(\"Invalid lookup attribute, lookup must be string or function.\")}});n.current.collection.menuItemLimit&&(r=r.slice(0,n.current.collection.menuItemLimit)),n.current.filteredItems=r;var o=n.menu.querySelector(\"ul\");if(n.range.positionMenuAtCaret(t),!r.length){var u=new CustomEvent(\"tribute-no-match\",{detail:n.menu});return n.current.element.dispatchEvent(u),void(\"function\"==typeof n.current.collection.noMatchTemplate&&!n.current.collection.noMatchTemplate()||!n.current.collection.noMatchTemplate?n.hideMenu():\"function\"==typeof n.current.collection.noMatchTemplate?o.innerHTML=n.current.collection.noMatchTemplate():o.innerHTML=n.current.collection.noMatchTemplate)}o.innerHTML=\"\";var l=n.range.getDocument().createDocumentFragment();r.forEach((function(e,t){var r=n.range.getDocument().createElement(\"li\");r.setAttribute(\"data-index\",t),r.className=n.current.collection.itemClass,r.addEventListener(\"mousemove\",(function(e){var t=i(n._findLiTarget(e.target),2),r=(t[0],t[1]);0!==e.movementY&&n.events.setActiveLi(r)})),n.menuSelected===t&&r.classList.add(n.current.collection.selectClass),r.innerHTML=n.current.collection.menuItemTemplate(e),l.appendChild(r)})),o.appendChild(l)}};\"function\"==typeof this.current.collection.values?this.current.collection.values(this.current.mentionText,r):r(this.current.collection.values)}}},{key:\"_findLiTarget\",value:function(e){if(!e)return[];var t=e.getAttribute(\"data-index\");return t?[e,t]:this._findLiTarget(e.parentNode)}},{key:\"showMenuForCollection\",value:function(e,t){e!==document.activeElement&&this.placeCaretAtEnd(e),this.current.collection=this.collection[t||0],this.current.externalTrigger=!0,this.current.element=e,e.isContentEditable?this.insertTextAtCursor(this.current.collection.trigger):this.insertAtCaret(e,this.current.collection.trigger),this.showMenuFor(e)}},{key:\"placeCaretAtEnd\",value:function(e){if(e.focus(),void 0!==window.getSelection&&void 0!==document.createRange){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var n=window.getSelection();n.removeAllRanges(),n.addRange(t)}else if(void 0!==document.body.createTextRange){var i=document.body.createTextRange();i.moveToElementText(e),i.collapse(!1),i.select()}}},{key:\"insertTextAtCursor\",value:function(e){var t,n;(n=(t=window.getSelection()).getRangeAt(0)).deleteContents();var i=document.createTextNode(e);n.insertNode(i),n.selectNodeContents(i),n.collapse(!1),t.removeAllRanges(),t.addRange(n)}},{key:\"insertAtCaret\",value:function(e,t){var n=e.scrollTop,i=e.selectionStart,r=e.value.substring(0,i),o=e.value.substring(e.selectionEnd,e.value.length);e.value=r+t+o,i+=t.length,e.selectionStart=i,e.selectionEnd=i,e.focus(),e.scrollTop=n}},{key:\"hideMenu\",value:function(){this.menu&&(this.menu.style.cssText=\"display: none;\",this.isActive=!1,this.menuSelected=0,this.current={})}},{key:\"selectItemAtIndex\",value:function(e,t){if(\"number\"==typeof(e=parseInt(e))&&!isNaN(e)){var n=this.current.filteredItems[e],i=this.current.collection.selectTemplate(n);null!==i&&this.replaceText(i,t,n)}}},{key:\"replaceText\",value:function(e,t,n){this.range.replaceTriggerText(e,!0,!0,t,n)}},{key:\"_append\",value:function(e,t,n){if(\"function\"==typeof e.values)throw new Error(\"Unable to append to values, as it is a function.\");e.values=n?t:e.values.concat(t)}},{key:\"append\",value:function(e,t,n){var i=parseInt(e);if(\"number\"!=typeof i)throw new Error(\"please provide an index for the collection to update.\");var r=this.collection[i];this._append(r,t,n)}},{key:\"appendCurrent\",value:function(e,t){if(!this.isActive)throw new Error(\"No active state. Please use append instead and pass an index.\");this._append(this.current.collection,e,t)}},{key:\"detach\",value:function(e){if(!e)throw new Error(\"[Tribute] Must pass in a DOM node or NodeList.\");if(\"undefined\"!=typeof jQuery&&e instanceof jQuery&&(e=e.get()),e.constructor===NodeList||e.constructor===HTMLCollection||e.constructor===Array)for(var t=e.length,n=0;n<t;++n)this._detach(e[n]);else this._detach(e)}},{key:\"_detach\",value:function(e){var t=this;this.events.unbind(e),e.tributeMenu&&this.menuEvents.unbind(e.tributeMenu),setTimeout((function(){e.removeAttribute(\"data-tribute\"),t.isActive=!1,e.tributeMenu&&e.tributeMenu.remove()}))}},{key:\"isActive\",get:function(){return this._isActive},set:function(e){if(this._isActive!=e&&(this._isActive=e,this.current.element)){var t=new CustomEvent(\"tribute-active-\".concat(e));this.current.element.dispatchEvent(t)}}}],[{key:\"defaultSelectTemplate\",value:function(e){return void 0===e?\"\".concat(this.current.collection.trigger).concat(this.current.mentionText):this.range.isContentEditable(this.current.element)?'<span class=\"tribute-mention\">'+(this.current.collection.trigger+e.original[this.current.collection.fillAttr])+\"</span>\":this.current.collection.trigger+e.original[this.current.collection.fillAttr]}},{key:\"defaultMenuItemTemplate\",value:function(e){return e.string}},{key:\"inputTypes\",value:function(){return[\"TEXTAREA\",\"INPUT\"]}}]),t}()}));\n//# sourceMappingURL=tribute.min.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.instanceOf = exports.select = exports.ANONYMOUS_SELECT_KEY = exports.not = exports.when = void 0;\nconst symbols = require(\"./symbols\");\nconst when = (predicate) => ({\n    [symbols.PatternKind]: symbols.Guard,\n    [symbols.Guard]: predicate,\n});\nexports.when = when;\nconst not = (pattern) => ({\n    [symbols.PatternKind]: symbols.Not,\n    [symbols.Not]: pattern,\n});\nexports.not = not;\nexports.ANONYMOUS_SELECT_KEY = '@ts-pattern/__anonymous-select-key';\nfunction select(key) {\n    return key === undefined\n        ? {\n            [symbols.PatternKind]: symbols.AnonymousSelect,\n        }\n        : {\n            [symbols.PatternKind]: symbols.NamedSelect,\n            [symbols.NamedSelect]: key,\n        };\n}\nexports.select = select;\nfunction isInstanceOf(classConstructor) {\n    return (val) => val instanceof classConstructor;\n}\nconst instanceOf = (classConstructor) => (0, exports.when)(isInstanceOf(classConstructor));\nexports.instanceOf = instanceOf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMatching = exports.match = exports.instanceOf = exports.select = exports.not = exports.when = exports.__ = void 0;\nconst symbols = require(\"./symbols\");\nconst guards_1 = require(\"./guards\");\nObject.defineProperty(exports, \"when\", { enumerable: true, get: function () { return guards_1.when; } });\nObject.defineProperty(exports, \"not\", { enumerable: true, get: function () { return guards_1.not; } });\nObject.defineProperty(exports, \"select\", { enumerable: true, get: function () { return guards_1.select; } });\nObject.defineProperty(exports, \"instanceOf\", { enumerable: true, get: function () { return guards_1.instanceOf; } });\nconst wildcards_1 = require(\"./wildcards\");\nObject.defineProperty(exports, \"__\", { enumerable: true, get: function () { return wildcards_1.__; } });\n/**\n * #### match\n *\n * Entry point to create a pattern matching expression.\n *\n * It returns a `Match` builder, on which you can chain\n * several `.with(pattern, handler)` clauses.\n */\nconst match = (value) => builder(value, []);\nexports.match = match;\n/**\n * ### builder\n * This is the implementation of our pattern matching, using the\n * builder pattern.\n */\nconst builder = (value, cases) => {\n    const run = () => {\n        const entry = cases.find(({ test }) => test(value));\n        if (!entry) {\n            let displayedValue;\n            try {\n                displayedValue = JSON.stringify(value);\n            }\n            catch (e) {\n                displayedValue = value;\n            }\n            throw new Error(`Pattern matching error: no pattern matches value ${displayedValue}`);\n        }\n        return entry.handler(entry.select(value), value);\n    };\n    return {\n        with(...args) {\n            const handler = args[args.length - 1];\n            const patterns = [];\n            const predicates = [];\n            for (let i = 0; i < args.length - 1; i++) {\n                const arg = args[i];\n                if (typeof arg === 'function') {\n                    predicates.push(arg);\n                }\n                else {\n                    patterns.push(arg);\n                }\n            }\n            let selected = {};\n            const doesMatch = (value) => Boolean(patterns.some((pattern) => matchPattern(pattern, value, (key, value) => {\n                selected[key] = value;\n            })) && predicates.every((predicate) => predicate(value)));\n            return builder(value, cases.concat([\n                {\n                    test: doesMatch,\n                    handler,\n                    select: (value) => Object.keys(selected).length\n                        ? selected[guards_1.ANONYMOUS_SELECT_KEY] !== undefined\n                            ? selected[guards_1.ANONYMOUS_SELECT_KEY]\n                            : selected\n                        : value,\n                },\n            ]));\n        },\n        when: (predicate, handler) => builder(value, cases.concat([\n            {\n                test: predicate,\n                handler,\n                select: (value) => value,\n            },\n        ])),\n        otherwise: (handler) => builder(value, cases.concat([\n            {\n                test: () => true,\n                handler,\n                select: (value) => value,\n            },\n        ])).run(),\n        exhaustive: () => run(),\n        run,\n    };\n};\nconst isObject = (value) => Boolean(value && typeof value === 'object');\nconst isGuardPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.Guard;\n};\nconst isNotPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.Not;\n};\nconst isNamedSelectPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.NamedSelect;\n};\nconst isAnonymousSelectPattern = (x) => {\n    const pattern = x;\n    return pattern && pattern[symbols.PatternKind] === symbols.AnonymousSelect;\n};\n// tells us if the value matches a given pattern.\nconst matchPattern = (pattern, value, select) => {\n    if (isObject(pattern)) {\n        if (isGuardPattern(pattern))\n            return Boolean(pattern[symbols.Guard](value));\n        if (isNamedSelectPattern(pattern)) {\n            select(pattern[symbols.NamedSelect], value);\n            return true;\n        }\n        if (isAnonymousSelectPattern(pattern)) {\n            select(guards_1.ANONYMOUS_SELECT_KEY, value);\n            return true;\n        }\n        if (isNotPattern(pattern))\n            return !matchPattern(pattern[symbols.Not], value, select);\n        if (!isObject(value))\n            return false;\n        if (Array.isArray(pattern)) {\n            if (!Array.isArray(value))\n                return false;\n            // List pattern\n            if (pattern.length === 1) {\n                const selected = {};\n                const listSelect = (key, value) => {\n                    selected[key] = (selected[key] || []).concat([value]);\n                };\n                const doesMatch = value.every((v) => matchPattern(pattern[0], v, listSelect));\n                if (doesMatch) {\n                    Object.keys(selected).forEach((key) => select(key, selected[key]));\n                }\n                return doesMatch;\n            }\n            // Tuple pattern\n            return pattern.length === value.length\n                ? pattern.every((subPattern, i) => matchPattern(subPattern, value[i], select))\n                : false;\n        }\n        if (pattern instanceof Map) {\n            if (!(value instanceof Map))\n                return false;\n            return [...pattern.keys()].every((key) => matchPattern(pattern.get(key), value.get(key), select));\n        }\n        if (pattern instanceof Set) {\n            if (!(value instanceof Set))\n                return false;\n            if (pattern.size === 0)\n                return value.size === 0;\n            if (pattern.size === 1) {\n                const [subPattern] = [...pattern.values()];\n                return Object.values(wildcards_1.__).includes(subPattern)\n                    ? matchPattern([subPattern], [...value.values()], select)\n                    : value.has(subPattern);\n            }\n            return [...pattern.values()].every((subPattern) => value.has(subPattern));\n        }\n        return Object.keys(pattern).every((k) => k in value &&\n            matchPattern(\n            // @ts-ignore\n            pattern[k], \n            // @ts-ignore\n            value[k], select));\n    }\n    return value === pattern;\n};\nfunction isMatching(...args) {\n    if (args.length === 1) {\n        const [pattern] = args;\n        return (value) => matchPattern(pattern, value, () => { });\n    }\n    if (args.length === 2) {\n        const [pattern, value] = args;\n        return matchPattern(pattern, value, () => { });\n    }\n    throw new Error(`isMatching wasn't given enough arguments: expected 1 or 2, received ${args.length}.`);\n}\nexports.isMatching = isMatching;\n","\"use strict\";\n/**\n * Symbols used internally within ts-pattern to construct and discriminate\n * Guard, Not, and Select, and AnonymousSelect patterns\n *\n * Symbols have the advantage of not appearing in auto-complete suggestions in\n * user defined patterns, and eliminate the admittedly unlikely risk of property\n * overlap between ts-pattern internals and user defined patterns.\n *\n * These symbols have to be visible to tsc for type inference to work, but\n * users should not import them\n * @module\n * @private\n * @internal\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AnonymousSelect = exports.NamedSelect = exports.Not = exports.Guard = exports.PatternKind = void 0;\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.PatternKind = Symbol('@ts-pattern/pattern-kind');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.Guard = Symbol('@ts-pattern/guard');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.Not = Symbol('@ts-pattern/not');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.NamedSelect = Symbol('@ts-pattern/named-select');\n/** @internal This symbol should only be used by ts-pattern's internals. */\nexports.AnonymousSelect = Symbol('@ts-pattern/anonymous-select');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.__ = void 0;\nconst guards_1 = require(\"./guards\");\nfunction isUnknown(x) {\n    return true;\n}\nfunction isNumber(x) {\n    return typeof x === 'number';\n}\nfunction numberIsNaN(x) {\n    return Number.isNaN(x);\n}\nfunction isString(x) {\n    return typeof x === 'string';\n}\nfunction isBoolean(x) {\n    return typeof x === 'boolean';\n}\nfunction isNullish(x) {\n    return x === null || x === undefined;\n}\nconst unknownGuard = (0, guards_1.when)(isUnknown);\nconst stringGuard = (0, guards_1.when)(isString);\nconst numberGuard = (0, guards_1.when)(isNumber);\nconst NaNGuard = (0, guards_1.when)(numberIsNaN);\nconst booleanGuard = (0, guards_1.when)(isBoolean);\nconst nullishGuard = (0, guards_1.when)(isNullish);\n/**\n * ### Catch All wildcard\n * `__` is wildcard pattern, matching **any value**.\n *\n * `__.string` is wildcard pattern matching any **string**.\n *\n * `__.number` is wildcard pattern matching any **number**.\n *\n * `__.NaN` is wildcard pattern matching **NaN**\n *\n * `__.boolean` is wildcard pattern matching any **boolean**.\n *\n * `__.nullish` is wildcard pattern matching **null** or **undefined**.\n * @example\n *  match(value)\n *   .with(__, () => 'will always match')\n *   .with(__.string, () => 'will match on strings only')\n *   .with(__.number, () => 'will match on numbers only')\n *   .with(__.NaN, () => 'will match on NaN')\n *   .with(__.boolean, () => 'will match on booleans only')\n *   .with(__.nullish, () => 'will match on null or undefined only')\n */\nexports.__ = Object.assign(unknownGuard, {\n    string: stringGuard,\n    number: numberGuard,\n    NaN: NaNGuard,\n    boolean: booleanGuard,\n    nullish: nullishGuard,\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    if (typeof b !== \"function\" && b !== null)\r\n        throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n        if (ar || !(i in from)) {\r\n            if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n            ar[i] = from[i];\r\n        }\r\n    }\r\n    return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n    o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n    __setModuleDefault(result, mod);\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n    return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n    if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n    if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n    if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n    return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n    if (typeof ref === 'function') {\n        ref(value);\n    }\n    else if (ref) {\n        ref.current = value;\n    }\n    return ref;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n *   const ownRef = useRef();\n *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n *   return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n    var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n        return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n    });\n    // handle refs changes - added or removed\n    useIsomorphicLayoutEffect(function () {\n        var oldValue = currentValues.get(callbackRef);\n        if (oldValue) {\n            var prevRefs_1 = new Set(oldValue);\n            var nextRefs_1 = new Set(refs);\n            var current_1 = callbackRef.current;\n            prevRefs_1.forEach(function (ref) {\n                if (!nextRefs_1.has(ref)) {\n                    assignRef(ref, null);\n                }\n            });\n            nextRefs_1.forEach(function (ref) {\n                if (!prevRefs_1.has(ref)) {\n                    assignRef(ref, current_1);\n                }\n            });\n        }\n        currentValues.set(callbackRef, refs);\n    }, [refs]);\n    return callbackRef;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n    var ref = useState(function () { return ({\n        // value\n        value: initialValue,\n        // last callback\n        callback: callback,\n        // \"memoized\" public interface\n        facade: {\n            get current() {\n                return ref.value;\n            },\n            set current(value) {\n                var last = ref.value;\n                if (last !== value) {\n                    ref.value = value;\n                    ref.callback(value, last);\n                }\n            },\n        },\n    }); })[0];\n    // update callback\n    ref.callback = callback;\n    return ref.facade;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n    var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n    if (!sideCar) {\n        throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n    }\n    var Target = sideCar.read();\n    if (!Target) {\n        throw new Error('Sidecar medium not found');\n    }\n    return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n    medium.useMedium(exported);\n    return SideCar;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n    return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    var buffer = [];\n    var assigned = false;\n    var medium = {\n        read: function () {\n            if (assigned) {\n                throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n            }\n            if (buffer.length) {\n                return buffer[buffer.length - 1];\n            }\n            return defaults;\n        },\n        useMedium: function (data) {\n            var item = middleware(data, assigned);\n            buffer.push(item);\n            return function () {\n                buffer = buffer.filter(function (x) { return x !== item; });\n            };\n        },\n        assignSyncMedium: function (cb) {\n            assigned = true;\n            while (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n            }\n            buffer = {\n                push: function (x) { return cb(x); },\n                filter: function () { return buffer; },\n            };\n        },\n        assignMedium: function (cb) {\n            assigned = true;\n            var pendingQueue = [];\n            if (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n                pendingQueue = buffer;\n            }\n            var executeQueue = function () {\n                var cbs = pendingQueue;\n                pendingQueue = [];\n                cbs.forEach(cb);\n            };\n            var cycle = function () { return Promise.resolve().then(executeQueue); };\n            cycle();\n            buffer = {\n                push: function (x) {\n                    pendingQueue.push(x);\n                    cycle();\n                },\n                filter: function (filter) {\n                    pendingQueue = pendingQueue.filter(filter);\n                    return buffer;\n                },\n            };\n        },\n    };\n    return medium;\n}\nexport function createMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n    if (options === void 0) { options = {}; }\n    var medium = innerCreateMedium(null);\n    medium.options = __assign({ async: true, ssr: false }, options);\n    return medium;\n}\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","var Kr=Object.defineProperty,Wd=Object.defineProperties;var Kd=Object.getOwnPropertyDescriptors;var $t=Object.getOwnPropertySymbols;var Ur=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable;var Wr=(e,t,o)=>t in e?Kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,i=(e,t)=>{for(var o in t||(t={}))Ur.call(t,o)&&Wr(e,o,t[o]);if($t)for(var o of $t(t))$r.call(t,o)&&Wr(e,o,t[o]);return e},c=(e,t)=>Wd(e,Kd(t));var d=(e,t)=>{var o={};for(var n in e)Ur.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(e!=null&&$t)for(var n of $t(e))t.indexOf(n)<0&&$r.call(e,n)&&(o[n]=e[n]);return o};var v=(e,t)=>()=>(e&&(t=e(e=0)),t);var qr=(e,t)=>{for(var o in t)Kr(e,o,{get:t[o],enumerable:!0})};var Zr=(e,t,o)=>new Promise((n,r)=>{var a=p=>{try{s(o.next(p))}catch(u){r(u)}},l=p=>{try{s(o.throw(p))}catch(u){r(u)}},s=p=>p.done?n(p.value):Promise.resolve(p.value).then(a,l);s((o=o.apply(e,t)).next())});var Uo,Xr=v(()=>{\"use strict\";Uo=(e,t=2)=>{if(!+e)return\"0 Bytes\";let o=1024,n=t<0?0:t,r=[\"Bytes\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],a=Math.floor(Math.log(e)/Math.log(o));return`${parseFloat((e/Math.pow(o,a)).toFixed(n))} ${r[a]}`}});function np(){let e=0,t,o,n=\"\";for(;e<arguments.length;)(t=arguments[e++])&&(o=tn(t))&&(n&&(n+=\" \"),n+=o);return n}function Qr(e,...t){let o,n,r,a=l;function l(p){let u=t.reduce((m,g)=>g(m),e());return o=tp(u),n=o.cache.get,r=o.cache.set,a=s,s(p)}function s(p){let u=n(p);if(u)return u;let m=rp(p,o);return r(p,m),m}return function(){return a(np.apply(null,arguments))}}var Zo,qd,jr,Yr,Zd,Xd,qo,Jr,Yd,Jd,Qd,en,jd,ep,tp,op,rp,tn,J,on,ap,lp,ip,sp,cp,dp,pp,Ve,Ae,st,$o,Nt,up,z,ze,mp,fp,wp,gp,hp,vp,kt,ct,bp,rn,xp,Sp,qt,yp,Lt,Rp,Vp,nn,an=v(()=>{\"use strict\";Zo=\"-\",qd=e=>{let t=Xd(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:l=>{let s=l.split(Zo);return s[0]===\"\"&&s.length!==1&&s.shift(),jr(s,t)||Zd(l)},getConflictingClassGroupIds:(l,s)=>{let p=o[l]||[];return s&&n[l]?[...p,...n[l]]:p}}},jr=(e,t)=>{var l;if(e.length===0)return t.classGroupId;let o=e[0],n=t.nextPart.get(o),r=n?jr(e.slice(1),n):void 0;if(r)return r;if(t.validators.length===0)return;let a=e.join(Zo);return(l=t.validators.find(({validator:s})=>s(a)))==null?void 0:l.classGroupId},Yr=/^\\[(.+)\\]$/,Zd=e=>{if(Yr.test(e)){let t=Yr.exec(e)[1],o=t==null?void 0:t.substring(0,t.indexOf(\":\"));if(o)return\"arbitrary..\"+o}},Xd=e=>{let{theme:t,prefix:o}=e,n={nextPart:new Map,validators:[]};return Jd(Object.entries(e.classGroups),o).forEach(([a,l])=>{qo(l,n,a,t)}),n},qo=(e,t,o,n)=>{e.forEach(r=>{if(typeof r==\"string\"){let a=r===\"\"?t:Jr(t,r);a.classGroupId=o;return}if(typeof r==\"function\"){if(Yd(r)){qo(r(n),t,o,n);return}t.validators.push({validator:r,classGroupId:o});return}Object.entries(r).forEach(([a,l])=>{qo(l,Jr(t,a),o,n)})})},Jr=(e,t)=>{let o=e;return t.split(Zo).forEach(n=>{o.nextPart.has(n)||o.nextPart.set(n,{nextPart:new Map,validators:[]}),o=o.nextPart.get(n)}),o},Yd=e=>e.isThemeGetter,Jd=(e,t)=>t?e.map(([o,n])=>{let r=n.map(a=>typeof a==\"string\"?t+a:typeof a==\"object\"?Object.fromEntries(Object.entries(a).map(([l,s])=>[t+l,s])):a);return[o,r]}):e,Qd=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=new Map,n=new Map,r=(a,l)=>{o.set(a,l),t++,t>e&&(t=0,n=o,o=new Map)};return{get(a){let l=o.get(a);if(l!==void 0)return l;if((l=n.get(a))!==void 0)return r(a,l),l},set(a,l){o.has(a)?o.set(a,l):r(a,l)}}},en=\"!\",jd=e=>{let{separator:t,experimentalParseClassName:o}=e,n=t.length===1,r=t[0],a=t.length,l=s=>{let p=[],u=0,m=0,g;for(let S=0;S<s.length;S++){let x=s[S];if(u===0){if(x===r&&(n||s.slice(S,S+a)===t)){p.push(s.slice(m,S)),m=S+a;continue}if(x===\"/\"){g=S;continue}}x===\"[\"?u++:x===\"]\"&&u--}let b=p.length===0?s:s.substring(m),f=b.startsWith(en),h=f?b.substring(1):b,y=g&&g>m?g-m:void 0;return{modifiers:p,hasImportantModifier:f,baseClassName:h,maybePostfixModifierPosition:y}};return o?s=>o({className:s,parseClassName:l}):l},ep=e=>{if(e.length<=1)return e;let t=[],o=[];return e.forEach(n=>{n[0]===\"[\"?(t.push(...o.sort(),n),o=[]):o.push(n)}),t.push(...o.sort()),t},tp=e=>i({cache:Qd(e.cacheSize),parseClassName:jd(e)},qd(e)),op=/\\s+/,rp=(e,t)=>{let{parseClassName:o,getClassGroupId:n,getConflictingClassGroupIds:r}=t,a=[],l=e.trim().split(op),s=\"\";for(let p=l.length-1;p>=0;p-=1){let u=l[p],{modifiers:m,hasImportantModifier:g,baseClassName:b,maybePostfixModifierPosition:f}=o(u),h=!!f,y=n(h?b.substring(0,f):b);if(!y){if(!h){s=u+(s.length>0?\" \"+s:s);continue}if(y=n(b),!y){s=u+(s.length>0?\" \"+s:s);continue}h=!1}let S=ep(m).join(\":\"),x=g?S+en:S,C=x+y;if(a.includes(C))continue;a.push(C);let M=r(y,h);for(let T=0;T<M.length;++T){let G=M[T];a.push(x+G)}s=u+(s.length>0?\" \"+s:s)}return s};tn=e=>{if(typeof e==\"string\")return e;let t,o=\"\";for(let n=0;n<e.length;n++)e[n]&&(t=tn(e[n]))&&(o&&(o+=\" \"),o+=t);return o};J=e=>{let t=o=>o[e]||[];return t.isThemeGetter=!0,t},on=/^\\[(?:([a-z-]+):)?(.+)\\]$/i,ap=/^\\d+\\/\\d+$/,lp=new Set([\"px\",\"full\",\"screen\"]),ip=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,sp=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,cp=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/,dp=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,pp=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,Ve=e=>st(e)||lp.has(e)||ap.test(e),Ae=e=>ct(e,\"length\",bp),st=e=>!!e&&!Number.isNaN(Number(e)),$o=e=>ct(e,\"number\",st),Nt=e=>!!e&&Number.isInteger(Number(e)),up=e=>e.endsWith(\"%\")&&st(e.slice(0,-1)),z=e=>on.test(e),ze=e=>ip.test(e),mp=new Set([\"length\",\"size\",\"percentage\"]),fp=e=>ct(e,mp,rn),wp=e=>ct(e,\"position\",rn),gp=new Set([\"image\",\"url\"]),hp=e=>ct(e,gp,Sp),vp=e=>ct(e,\"\",xp),kt=()=>!0,ct=(e,t,o)=>{let n=on.exec(e);return n?n[1]?typeof t==\"string\"?n[1]===t:t.has(n[1]):o(n[2]):!1},bp=e=>sp.test(e)&&!cp.test(e),rn=()=>!1,xp=e=>dp.test(e),Sp=e=>pp.test(e),qt=()=>{let e=J(\"colors\"),t=J(\"spacing\"),o=J(\"blur\"),n=J(\"brightness\"),r=J(\"borderColor\"),a=J(\"borderRadius\"),l=J(\"borderSpacing\"),s=J(\"borderWidth\"),p=J(\"contrast\"),u=J(\"grayscale\"),m=J(\"hueRotate\"),g=J(\"invert\"),b=J(\"gap\"),f=J(\"gradientColorStops\"),h=J(\"gradientColorStopPositions\"),y=J(\"inset\"),S=J(\"margin\"),x=J(\"opacity\"),C=J(\"padding\"),M=J(\"saturate\"),T=J(\"scale\"),G=J(\"sepia\"),N=J(\"skew\"),A=J(\"space\"),F=J(\"translate\"),P=()=>[\"auto\",\"contain\",\"none\"],I=()=>[\"auto\",\"hidden\",\"clip\",\"visible\",\"scroll\"],E=()=>[\"auto\",z,t],R=()=>[z,t],O=()=>[\"\",Ve,Ae],Z=()=>[\"auto\",st,z],U=()=>[\"bottom\",\"center\",\"left\",\"left-bottom\",\"left-top\",\"right\",\"right-bottom\",\"right-top\",\"top\"],V=()=>[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],X=()=>[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],Y=()=>[\"start\",\"end\",\"center\",\"between\",\"around\",\"evenly\",\"stretch\"],H=()=>[\"\",\"0\",z],$=()=>[\"auto\",\"avoid\",\"all\",\"avoid-page\",\"page\",\"left\",\"right\",\"column\"],_=()=>[st,z];return{cacheSize:500,separator:\":\",theme:{colors:[kt],spacing:[Ve,Ae],blur:[\"none\",\"\",ze,z],brightness:_(),borderColor:[e],borderRadius:[\"none\",\"\",\"full\",ze,z],borderSpacing:R(),borderWidth:O(),contrast:_(),grayscale:H(),hueRotate:_(),invert:H(),gap:R(),gradientColorStops:[e],gradientColorStopPositions:[up,Ae],inset:E(),margin:E(),opacity:_(),padding:R(),saturate:_(),scale:_(),sepia:H(),skew:_(),space:R(),translate:R()},classGroups:{aspect:[{aspect:[\"auto\",\"square\",\"video\",z]}],container:[\"container\"],columns:[{columns:[ze]}],\"break-after\":[{\"break-after\":$()}],\"break-before\":[{\"break-before\":$()}],\"break-inside\":[{\"break-inside\":[\"auto\",\"avoid\",\"avoid-page\",\"avoid-column\"]}],\"box-decoration\":[{\"box-decoration\":[\"slice\",\"clone\"]}],box:[{box:[\"border\",\"content\"]}],display:[\"block\",\"inline-block\",\"inline\",\"flex\",\"inline-flex\",\"table\",\"inline-table\",\"table-caption\",\"table-cell\",\"table-column\",\"table-column-group\",\"table-footer-group\",\"table-header-group\",\"table-row-group\",\"table-row\",\"flow-root\",\"grid\",\"inline-grid\",\"contents\",\"list-item\",\"hidden\"],float:[{float:[\"right\",\"left\",\"none\",\"start\",\"end\"]}],clear:[{clear:[\"left\",\"right\",\"both\",\"none\",\"start\",\"end\"]}],isolation:[\"isolate\",\"isolation-auto\"],\"object-fit\":[{object:[\"contain\",\"cover\",\"fill\",\"none\",\"scale-down\"]}],\"object-position\":[{object:[...U(),z]}],overflow:[{overflow:I()}],\"overflow-x\":[{\"overflow-x\":I()}],\"overflow-y\":[{\"overflow-y\":I()}],overscroll:[{overscroll:P()}],\"overscroll-x\":[{\"overscroll-x\":P()}],\"overscroll-y\":[{\"overscroll-y\":P()}],position:[\"static\",\"fixed\",\"absolute\",\"relative\",\"sticky\"],inset:[{inset:[y]}],\"inset-x\":[{\"inset-x\":[y]}],\"inset-y\":[{\"inset-y\":[y]}],start:[{start:[y]}],end:[{end:[y]}],top:[{top:[y]}],right:[{right:[y]}],bottom:[{bottom:[y]}],left:[{left:[y]}],visibility:[\"visible\",\"invisible\",\"collapse\"],z:[{z:[\"auto\",Nt,z]}],basis:[{basis:E()}],\"flex-direction\":[{flex:[\"row\",\"row-reverse\",\"col\",\"col-reverse\"]}],\"flex-wrap\":[{flex:[\"wrap\",\"wrap-reverse\",\"nowrap\"]}],flex:[{flex:[\"1\",\"auto\",\"initial\",\"none\",z]}],grow:[{grow:H()}],shrink:[{shrink:H()}],order:[{order:[\"first\",\"last\",\"none\",Nt,z]}],\"grid-cols\":[{\"grid-cols\":[kt]}],\"col-start-end\":[{col:[\"auto\",{span:[\"full\",Nt,z]},z]}],\"col-start\":[{\"col-start\":Z()}],\"col-end\":[{\"col-end\":Z()}],\"grid-rows\":[{\"grid-rows\":[kt]}],\"row-start-end\":[{row:[\"auto\",{span:[Nt,z]},z]}],\"row-start\":[{\"row-start\":Z()}],\"row-end\":[{\"row-end\":Z()}],\"grid-flow\":[{\"grid-flow\":[\"row\",\"col\",\"dense\",\"row-dense\",\"col-dense\"]}],\"auto-cols\":[{\"auto-cols\":[\"auto\",\"min\",\"max\",\"fr\",z]}],\"auto-rows\":[{\"auto-rows\":[\"auto\",\"min\",\"max\",\"fr\",z]}],gap:[{gap:[b]}],\"gap-x\":[{\"gap-x\":[b]}],\"gap-y\":[{\"gap-y\":[b]}],\"justify-content\":[{justify:[\"normal\",...Y()]}],\"justify-items\":[{\"justify-items\":[\"start\",\"end\",\"center\",\"stretch\"]}],\"justify-self\":[{\"justify-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],\"align-content\":[{content:[\"normal\",...Y(),\"baseline\"]}],\"align-items\":[{items:[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"align-self\":[{self:[\"auto\",\"start\",\"end\",\"center\",\"stretch\",\"baseline\"]}],\"place-content\":[{\"place-content\":[...Y(),\"baseline\"]}],\"place-items\":[{\"place-items\":[\"start\",\"end\",\"center\",\"baseline\",\"stretch\"]}],\"place-self\":[{\"place-self\":[\"auto\",\"start\",\"end\",\"center\",\"stretch\"]}],p:[{p:[C]}],px:[{px:[C]}],py:[{py:[C]}],ps:[{ps:[C]}],pe:[{pe:[C]}],pt:[{pt:[C]}],pr:[{pr:[C]}],pb:[{pb:[C]}],pl:[{pl:[C]}],m:[{m:[S]}],mx:[{mx:[S]}],my:[{my:[S]}],ms:[{ms:[S]}],me:[{me:[S]}],mt:[{mt:[S]}],mr:[{mr:[S]}],mb:[{mb:[S]}],ml:[{ml:[S]}],\"space-x\":[{\"space-x\":[A]}],\"space-x-reverse\":[\"space-x-reverse\"],\"space-y\":[{\"space-y\":[A]}],\"space-y-reverse\":[\"space-y-reverse\"],w:[{w:[\"auto\",\"min\",\"max\",\"fit\",\"svw\",\"lvw\",\"dvw\",z,t]}],\"min-w\":[{\"min-w\":[z,t,\"min\",\"max\",\"fit\"]}],\"max-w\":[{\"max-w\":[z,t,\"none\",\"full\",\"min\",\"max\",\"fit\",\"prose\",{screen:[ze]},ze]}],h:[{h:[z,t,\"auto\",\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"min-h\":[{\"min-h\":[z,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],\"max-h\":[{\"max-h\":[z,t,\"min\",\"max\",\"fit\",\"svh\",\"lvh\",\"dvh\"]}],size:[{size:[z,t,\"auto\",\"min\",\"max\",\"fit\"]}],\"font-size\":[{text:[\"base\",ze,Ae]}],\"font-smoothing\":[\"antialiased\",\"subpixel-antialiased\"],\"font-style\":[\"italic\",\"not-italic\"],\"font-weight\":[{font:[\"thin\",\"extralight\",\"light\",\"normal\",\"medium\",\"semibold\",\"bold\",\"extrabold\",\"black\",$o]}],\"font-family\":[{font:[kt]}],\"fvn-normal\":[\"normal-nums\"],\"fvn-ordinal\":[\"ordinal\"],\"fvn-slashed-zero\":[\"slashed-zero\"],\"fvn-figure\":[\"lining-nums\",\"oldstyle-nums\"],\"fvn-spacing\":[\"proportional-nums\",\"tabular-nums\"],\"fvn-fraction\":[\"diagonal-fractions\",\"stacked-fractions\"],tracking:[{tracking:[\"tighter\",\"tight\",\"normal\",\"wide\",\"wider\",\"widest\",z]}],\"line-clamp\":[{\"line-clamp\":[\"none\",st,$o]}],leading:[{leading:[\"none\",\"tight\",\"snug\",\"normal\",\"relaxed\",\"loose\",Ve,z]}],\"list-image\":[{\"list-image\":[\"none\",z]}],\"list-style-type\":[{list:[\"none\",\"disc\",\"decimal\",z]}],\"list-style-position\":[{list:[\"inside\",\"outside\"]}],\"placeholder-color\":[{placeholder:[e]}],\"placeholder-opacity\":[{\"placeholder-opacity\":[x]}],\"text-alignment\":[{text:[\"left\",\"center\",\"right\",\"justify\",\"start\",\"end\"]}],\"text-color\":[{text:[e]}],\"text-opacity\":[{\"text-opacity\":[x]}],\"text-decoration\":[\"underline\",\"overline\",\"line-through\",\"no-underline\"],\"text-decoration-style\":[{decoration:[...V(),\"wavy\"]}],\"text-decoration-thickness\":[{decoration:[\"auto\",\"from-font\",Ve,Ae]}],\"underline-offset\":[{\"underline-offset\":[\"auto\",Ve,z]}],\"text-decoration-color\":[{decoration:[e]}],\"text-transform\":[\"uppercase\",\"lowercase\",\"capitalize\",\"normal-case\"],\"text-overflow\":[\"truncate\",\"text-ellipsis\",\"text-clip\"],\"text-wrap\":[{text:[\"wrap\",\"nowrap\",\"balance\",\"pretty\"]}],indent:[{indent:R()}],\"vertical-align\":[{align:[\"baseline\",\"top\",\"middle\",\"bottom\",\"text-top\",\"text-bottom\",\"sub\",\"super\",z]}],whitespace:[{whitespace:[\"normal\",\"nowrap\",\"pre\",\"pre-line\",\"pre-wrap\",\"break-spaces\"]}],break:[{break:[\"normal\",\"words\",\"all\",\"keep\"]}],hyphens:[{hyphens:[\"none\",\"manual\",\"auto\"]}],content:[{content:[\"none\",z]}],\"bg-attachment\":[{bg:[\"fixed\",\"local\",\"scroll\"]}],\"bg-clip\":[{\"bg-clip\":[\"border\",\"padding\",\"content\",\"text\"]}],\"bg-opacity\":[{\"bg-opacity\":[x]}],\"bg-origin\":[{\"bg-origin\":[\"border\",\"padding\",\"content\"]}],\"bg-position\":[{bg:[...U(),wp]}],\"bg-repeat\":[{bg:[\"no-repeat\",{repeat:[\"\",\"x\",\"y\",\"round\",\"space\"]}]}],\"bg-size\":[{bg:[\"auto\",\"cover\",\"contain\",fp]}],\"bg-image\":[{bg:[\"none\",{\"gradient-to\":[\"t\",\"tr\",\"r\",\"br\",\"b\",\"bl\",\"l\",\"tl\"]},hp]}],\"bg-color\":[{bg:[e]}],\"gradient-from-pos\":[{from:[h]}],\"gradient-via-pos\":[{via:[h]}],\"gradient-to-pos\":[{to:[h]}],\"gradient-from\":[{from:[f]}],\"gradient-via\":[{via:[f]}],\"gradient-to\":[{to:[f]}],rounded:[{rounded:[a]}],\"rounded-s\":[{\"rounded-s\":[a]}],\"rounded-e\":[{\"rounded-e\":[a]}],\"rounded-t\":[{\"rounded-t\":[a]}],\"rounded-r\":[{\"rounded-r\":[a]}],\"rounded-b\":[{\"rounded-b\":[a]}],\"rounded-l\":[{\"rounded-l\":[a]}],\"rounded-ss\":[{\"rounded-ss\":[a]}],\"rounded-se\":[{\"rounded-se\":[a]}],\"rounded-ee\":[{\"rounded-ee\":[a]}],\"rounded-es\":[{\"rounded-es\":[a]}],\"rounded-tl\":[{\"rounded-tl\":[a]}],\"rounded-tr\":[{\"rounded-tr\":[a]}],\"rounded-br\":[{\"rounded-br\":[a]}],\"rounded-bl\":[{\"rounded-bl\":[a]}],\"border-w\":[{border:[s]}],\"border-w-x\":[{\"border-x\":[s]}],\"border-w-y\":[{\"border-y\":[s]}],\"border-w-s\":[{\"border-s\":[s]}],\"border-w-e\":[{\"border-e\":[s]}],\"border-w-t\":[{\"border-t\":[s]}],\"border-w-r\":[{\"border-r\":[s]}],\"border-w-b\":[{\"border-b\":[s]}],\"border-w-l\":[{\"border-l\":[s]}],\"border-opacity\":[{\"border-opacity\":[x]}],\"border-style\":[{border:[...V(),\"hidden\"]}],\"divide-x\":[{\"divide-x\":[s]}],\"divide-x-reverse\":[\"divide-x-reverse\"],\"divide-y\":[{\"divide-y\":[s]}],\"divide-y-reverse\":[\"divide-y-reverse\"],\"divide-opacity\":[{\"divide-opacity\":[x]}],\"divide-style\":[{divide:V()}],\"border-color\":[{border:[r]}],\"border-color-x\":[{\"border-x\":[r]}],\"border-color-y\":[{\"border-y\":[r]}],\"border-color-s\":[{\"border-s\":[r]}],\"border-color-e\":[{\"border-e\":[r]}],\"border-color-t\":[{\"border-t\":[r]}],\"border-color-r\":[{\"border-r\":[r]}],\"border-color-b\":[{\"border-b\":[r]}],\"border-color-l\":[{\"border-l\":[r]}],\"divide-color\":[{divide:[r]}],\"outline-style\":[{outline:[\"\",...V()]}],\"outline-offset\":[{\"outline-offset\":[Ve,z]}],\"outline-w\":[{outline:[Ve,Ae]}],\"outline-color\":[{outline:[e]}],\"ring-w\":[{ring:O()}],\"ring-w-inset\":[\"ring-inset\"],\"ring-color\":[{ring:[e]}],\"ring-opacity\":[{\"ring-opacity\":[x]}],\"ring-offset-w\":[{\"ring-offset\":[Ve,Ae]}],\"ring-offset-color\":[{\"ring-offset\":[e]}],shadow:[{shadow:[\"\",\"inner\",\"none\",ze,vp]}],\"shadow-color\":[{shadow:[kt]}],opacity:[{opacity:[x]}],\"mix-blend\":[{\"mix-blend\":[...X(),\"plus-lighter\",\"plus-darker\"]}],\"bg-blend\":[{\"bg-blend\":X()}],filter:[{filter:[\"\",\"none\"]}],blur:[{blur:[o]}],brightness:[{brightness:[n]}],contrast:[{contrast:[p]}],\"drop-shadow\":[{\"drop-shadow\":[\"\",\"none\",ze,z]}],grayscale:[{grayscale:[u]}],\"hue-rotate\":[{\"hue-rotate\":[m]}],invert:[{invert:[g]}],saturate:[{saturate:[M]}],sepia:[{sepia:[G]}],\"backdrop-filter\":[{\"backdrop-filter\":[\"\",\"none\"]}],\"backdrop-blur\":[{\"backdrop-blur\":[o]}],\"backdrop-brightness\":[{\"backdrop-brightness\":[n]}],\"backdrop-contrast\":[{\"backdrop-contrast\":[p]}],\"backdrop-grayscale\":[{\"backdrop-grayscale\":[u]}],\"backdrop-hue-rotate\":[{\"backdrop-hue-rotate\":[m]}],\"backdrop-invert\":[{\"backdrop-invert\":[g]}],\"backdrop-opacity\":[{\"backdrop-opacity\":[x]}],\"backdrop-saturate\":[{\"backdrop-saturate\":[M]}],\"backdrop-sepia\":[{\"backdrop-sepia\":[G]}],\"border-collapse\":[{border:[\"collapse\",\"separate\"]}],\"border-spacing\":[{\"border-spacing\":[l]}],\"border-spacing-x\":[{\"border-spacing-x\":[l]}],\"border-spacing-y\":[{\"border-spacing-y\":[l]}],\"table-layout\":[{table:[\"auto\",\"fixed\"]}],caption:[{caption:[\"top\",\"bottom\"]}],transition:[{transition:[\"none\",\"all\",\"\",\"colors\",\"opacity\",\"shadow\",\"transform\",z]}],duration:[{duration:_()}],ease:[{ease:[\"linear\",\"in\",\"out\",\"in-out\",z]}],delay:[{delay:_()}],animate:[{animate:[\"none\",\"spin\",\"ping\",\"pulse\",\"bounce\",z]}],transform:[{transform:[\"\",\"gpu\",\"none\"]}],scale:[{scale:[T]}],\"scale-x\":[{\"scale-x\":[T]}],\"scale-y\":[{\"scale-y\":[T]}],rotate:[{rotate:[Nt,z]}],\"translate-x\":[{\"translate-x\":[F]}],\"translate-y\":[{\"translate-y\":[F]}],\"skew-x\":[{\"skew-x\":[N]}],\"skew-y\":[{\"skew-y\":[N]}],\"transform-origin\":[{origin:[\"center\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",z]}],accent:[{accent:[\"auto\",e]}],appearance:[{appearance:[\"none\",\"auto\"]}],cursor:[{cursor:[\"auto\",\"default\",\"pointer\",\"wait\",\"text\",\"move\",\"help\",\"not-allowed\",\"none\",\"context-menu\",\"progress\",\"cell\",\"crosshair\",\"vertical-text\",\"alias\",\"copy\",\"no-drop\",\"grab\",\"grabbing\",\"all-scroll\",\"col-resize\",\"row-resize\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"ew-resize\",\"ns-resize\",\"nesw-resize\",\"nwse-resize\",\"zoom-in\",\"zoom-out\",z]}],\"caret-color\":[{caret:[e]}],\"pointer-events\":[{\"pointer-events\":[\"none\",\"auto\"]}],resize:[{resize:[\"none\",\"y\",\"x\",\"\"]}],\"scroll-behavior\":[{scroll:[\"auto\",\"smooth\"]}],\"scroll-m\":[{\"scroll-m\":R()}],\"scroll-mx\":[{\"scroll-mx\":R()}],\"scroll-my\":[{\"scroll-my\":R()}],\"scroll-ms\":[{\"scroll-ms\":R()}],\"scroll-me\":[{\"scroll-me\":R()}],\"scroll-mt\":[{\"scroll-mt\":R()}],\"scroll-mr\":[{\"scroll-mr\":R()}],\"scroll-mb\":[{\"scroll-mb\":R()}],\"scroll-ml\":[{\"scroll-ml\":R()}],\"scroll-p\":[{\"scroll-p\":R()}],\"scroll-px\":[{\"scroll-px\":R()}],\"scroll-py\":[{\"scroll-py\":R()}],\"scroll-ps\":[{\"scroll-ps\":R()}],\"scroll-pe\":[{\"scroll-pe\":R()}],\"scroll-pt\":[{\"scroll-pt\":R()}],\"scroll-pr\":[{\"scroll-pr\":R()}],\"scroll-pb\":[{\"scroll-pb\":R()}],\"scroll-pl\":[{\"scroll-pl\":R()}],\"snap-align\":[{snap:[\"start\",\"end\",\"center\",\"align-none\"]}],\"snap-stop\":[{snap:[\"normal\",\"always\"]}],\"snap-type\":[{snap:[\"none\",\"x\",\"y\",\"both\"]}],\"snap-strictness\":[{snap:[\"mandatory\",\"proximity\"]}],touch:[{touch:[\"auto\",\"none\",\"manipulation\"]}],\"touch-x\":[{\"touch-pan\":[\"x\",\"left\",\"right\"]}],\"touch-y\":[{\"touch-pan\":[\"y\",\"up\",\"down\"]}],\"touch-pz\":[\"touch-pinch-zoom\"],select:[{select:[\"none\",\"text\",\"all\",\"auto\"]}],\"will-change\":[{\"will-change\":[\"auto\",\"scroll\",\"contents\",\"transform\",z]}],fill:[{fill:[e,\"none\"]}],\"stroke-w\":[{stroke:[Ve,Ae,$o]}],stroke:[{stroke:[e,\"none\"]}],sr:[\"sr-only\",\"not-sr-only\"],\"forced-color-adjust\":[{\"forced-color-adjust\":[\"auto\",\"none\"]}]},conflictingClassGroups:{overflow:[\"overflow-x\",\"overflow-y\"],overscroll:[\"overscroll-x\",\"overscroll-y\"],inset:[\"inset-x\",\"inset-y\",\"start\",\"end\",\"top\",\"right\",\"bottom\",\"left\"],\"inset-x\":[\"right\",\"left\"],\"inset-y\":[\"top\",\"bottom\"],flex:[\"basis\",\"grow\",\"shrink\"],gap:[\"gap-x\",\"gap-y\"],p:[\"px\",\"py\",\"ps\",\"pe\",\"pt\",\"pr\",\"pb\",\"pl\"],px:[\"pr\",\"pl\"],py:[\"pt\",\"pb\"],m:[\"mx\",\"my\",\"ms\",\"me\",\"mt\",\"mr\",\"mb\",\"ml\"],mx:[\"mr\",\"ml\"],my:[\"mt\",\"mb\"],size:[\"w\",\"h\"],\"font-size\":[\"leading\"],\"fvn-normal\":[\"fvn-ordinal\",\"fvn-slashed-zero\",\"fvn-figure\",\"fvn-spacing\",\"fvn-fraction\"],\"fvn-ordinal\":[\"fvn-normal\"],\"fvn-slashed-zero\":[\"fvn-normal\"],\"fvn-figure\":[\"fvn-normal\"],\"fvn-spacing\":[\"fvn-normal\"],\"fvn-fraction\":[\"fvn-normal\"],\"line-clamp\":[\"display\",\"overflow\"],rounded:[\"rounded-s\",\"rounded-e\",\"rounded-t\",\"rounded-r\",\"rounded-b\",\"rounded-l\",\"rounded-ss\",\"rounded-se\",\"rounded-ee\",\"rounded-es\",\"rounded-tl\",\"rounded-tr\",\"rounded-br\",\"rounded-bl\"],\"rounded-s\":[\"rounded-ss\",\"rounded-es\"],\"rounded-e\":[\"rounded-se\",\"rounded-ee\"],\"rounded-t\":[\"rounded-tl\",\"rounded-tr\"],\"rounded-r\":[\"rounded-tr\",\"rounded-br\"],\"rounded-b\":[\"rounded-br\",\"rounded-bl\"],\"rounded-l\":[\"rounded-tl\",\"rounded-bl\"],\"border-spacing\":[\"border-spacing-x\",\"border-spacing-y\"],\"border-w\":[\"border-w-s\",\"border-w-e\",\"border-w-t\",\"border-w-r\",\"border-w-b\",\"border-w-l\"],\"border-w-x\":[\"border-w-r\",\"border-w-l\"],\"border-w-y\":[\"border-w-t\",\"border-w-b\"],\"border-color\":[\"border-color-s\",\"border-color-e\",\"border-color-t\",\"border-color-r\",\"border-color-b\",\"border-color-l\"],\"border-color-x\":[\"border-color-r\",\"border-color-l\"],\"border-color-y\":[\"border-color-t\",\"border-color-b\"],\"scroll-m\":[\"scroll-mx\",\"scroll-my\",\"scroll-ms\",\"scroll-me\",\"scroll-mt\",\"scroll-mr\",\"scroll-mb\",\"scroll-ml\"],\"scroll-mx\":[\"scroll-mr\",\"scroll-ml\"],\"scroll-my\":[\"scroll-mt\",\"scroll-mb\"],\"scroll-p\":[\"scroll-px\",\"scroll-py\",\"scroll-ps\",\"scroll-pe\",\"scroll-pt\",\"scroll-pr\",\"scroll-pb\",\"scroll-pl\"],\"scroll-px\":[\"scroll-pr\",\"scroll-pl\"],\"scroll-py\":[\"scroll-pt\",\"scroll-pb\"],touch:[\"touch-x\",\"touch-y\",\"touch-pz\"],\"touch-x\":[\"touch\"],\"touch-y\":[\"touch\"],\"touch-pz\":[\"touch\"]},conflictingClassGroupModifiers:{\"font-size\":[\"leading\"]}}},yp=(e,{cacheSize:t,prefix:o,separator:n,experimentalParseClassName:r,extend:a={},override:l={}})=>{Lt(e,\"cacheSize\",t),Lt(e,\"prefix\",o),Lt(e,\"separator\",n),Lt(e,\"experimentalParseClassName\",r);for(let s in l)Rp(e[s],l[s]);for(let s in a)Vp(e[s],a[s]);return e},Lt=(e,t,o)=>{o!==void 0&&(e[t]=o)},Rp=(e,t)=>{if(t)for(let o in t)Lt(e,o,t[o])},Vp=(e,t)=>{if(t)for(let o in t){let n=t[o];n!==void 0&&(e[o]=(e[o]||[]).concat(n))}},nn=(e,...t)=>typeof e==\"function\"?Qr(qt,e,...t):Qr(()=>yp(qt(),e),...t)});var Pp,w,ln=v(()=>{\"use strict\";an();Pp=qt(),w=nn(()=>c(i({},Pp),{prefix:\"tw-\"}))});var k=v(()=>{\"use strict\";Xr();ln()});import{jsx as sn,jsxs as Cp}from\"react/jsx-runtime\";var Gp,cn,dn=v(()=>{\"use strict\";Gp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Cp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?sn(\"title\",{id:t,children:e}):null,sn(\"path\",{fillRule:\"evenodd\",d:\"M12.068 3.002a1 1 0 0 1 .902.755l3.25 13 2.852-7.128a1 1 0 0 1 1.76-.184l2 3a1 1 0 1 1-1.664 1.11l-.945-1.418-3.294 8.234a1 1 0 0 1-1.9-.128l-3.249-13-2.851 7.128A1 1 0 0 1 7.2 14.6L5 11.667 2.8 14.6a1 1 0 1 1-1.6-1.2l3-4a1 1 0 0 1 1.6 0l1.932 2.576 3.34-8.347a1 1 0 0 1 .996-.627\",clipRule:\"evenodd\"})]}))},cn=Gp});import{jsx as Xo,jsxs as Ep}from\"react/jsx-runtime\";var Ip,pn,un=v(()=>{\"use strict\";Ip=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ep(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 43 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Xo(\"title\",{id:t,children:e}):null,Xo(\"path\",{fillRule:\"evenodd\",d:\"M9.43 3.359c-.333-.844-1.527-.844-1.86 0L6.538 5.975a1 1 0 0 1-.563.563L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.032a1 1 0 0 1 .563.563l1.032 2.616c.333.844 1.527.844 1.86 0l1.032-2.616a1 1 0 0 1 .563-.563l2.616-1.032c.844-.333.844-1.527 0-1.86l-2.616-1.032a1 1 0 0 1-.563-.563zm8.5 10c-.333-.844-1.527-.845-1.86 0l-.608 1.54a1 1 0 0 1-.563.563l-1.54.608c-.844.333-.845 1.527 0 1.86l1.54.608a1 1 0 0 1 .563.563l.608 1.54c.333.844 1.527.844 1.86 0l.608-1.54a1 1 0 0 1 .563-.563l1.54-.608c.844-.333.844-1.527 0-1.86l-1.54-.608a1 1 0 0 1-.563-.563z\",clipRule:\"evenodd\"}),Xo(\"path\",{d:\"M30.385 6 26 17.424h2.064l1.073-3.024h4.558l1.073 3.024h2.144L32.512 6zM38 6v11.424h2V6zm-6.592 1.969h.047l1.713 4.912H29.68z\"})]}))},pn=Ip});import{jsx as mn,jsxs as Tp}from\"react/jsx-runtime\";var Mp,fn,wn=v(()=>{\"use strict\";Mp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Tp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 20 20\",\"aria-labelledby\":t},o),{children:[e?mn(\"title\",{id:t,children:e}):null,mn(\"path\",{fillRule:\"evenodd\",d:\"M18 16.75H2v-1.5h16zM5.035 3.316a.5.5 0 0 1 .93 0l.973 2.464a.5.5 0 0 0 .28.282l2.466.97a.5.5 0 0 1 0 .93l-2.465.973a.5.5 0 0 0-.281.28l-.973 2.464a.5.5 0 0 1-.93 0l-.972-2.463a.5.5 0 0 0-.282-.281l-2.465-.972a.5.5 0 0 1 0-.93l2.465-.971a.5.5 0 0 0 .282-.282zM18 10.75h-6v-1.5h6zm0-5h-6v-1.5h6z\",clipRule:\"evenodd\"})]}))},fn=Mp});import{jsx as gn,jsxs as kp}from\"react/jsx-runtime\";var Np,hn,vn=v(()=>{\"use strict\";Np=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return kp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?gn(\"title\",{id:t,children:e}):null,gn(\"path\",{fillRule:\"evenodd\",d:\"M11 17.586V4a1 1 0 1 1 2 0v13.586l5.293-5.293a1 1 0 0 1 1.414 1.414l-7 7a1 1 0 0 1-1.414 0l-7-7a1 1 0 1 1 1.414-1.414z\",clipRule:\"evenodd\"})]}))},hn=Np});import{jsx as bn,jsxs as Ap}from\"react/jsx-runtime\";var Lp,xn,Sn=v(()=>{\"use strict\";Lp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ap(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?bn(\"title\",{id:t,children:e}):null,bn(\"path\",{fillRule:\"evenodd\",d:\"m9.414 16 8.293-8.293a1 1 0 0 0-1.414-1.414L8 14.586V7a1 1 0 0 0-2 0v10a1 1 0 0 0 1 1h10a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},xn=Lp});import{jsx as yn,jsxs as Op}from\"react/jsx-runtime\";var zp,Zt,Rn=v(()=>{\"use strict\";zp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Op(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?yn(\"title\",{id:t,children:e}):null,yn(\"path\",{fillRule:\"evenodd\",d:\"M11.707 5.707a1 1 0 0 0-1.414-1.414l-7 7a1 1 0 0 0 0 1.414l7 7a1 1 0 0 0 1.414-1.414L6.414 13H20a1 1 0 1 0 0-2H6.414z\",clipRule:\"evenodd\"})]}))},Zt=zp});import{jsx as Vn,jsxs as Fp}from\"react/jsx-runtime\";var Bp,Pn,Gn=v(()=>{\"use strict\";Bp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Fp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Vn(\"title\",{id:t,children:e}):null,Vn(\"path\",{fillRule:\"evenodd\",d:\"M7 6a1 1 0 0 0-1 1v10a1 1 0 1 0 2 0V9.414l8.293 8.293a1 1 0 0 0 1.414-1.414L9.414 8H17a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},Pn=Bp});import{jsx as Cn,jsxs as Hp}from\"react/jsx-runtime\";var Dp,In,En=v(()=>{\"use strict\";Dp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Hp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Cn(\"title\",{id:t,children:e}):null,Cn(\"path\",{fillRule:\"evenodd\",d:\"M6.293 7.707a1 1 0 0 1 1.414-1.414L16 14.586V7a1 1 0 1 1 2 0v10a1 1 0 0 1-1 1H7a1 1 0 1 1 0-2h7.586z\",clipRule:\"evenodd\"})]}))},In=Dp});import{jsx as Mn,jsxs as Wp}from\"react/jsx-runtime\";var _p,Tn,Nn=v(()=>{\"use strict\";_p=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Wp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Mn(\"title\",{id:t,children:e}):null,Mn(\"path\",{fillRule:\"evenodd\",d:\"M12.293 5.707a1 1 0 0 1 1.414-1.414l7 7a1 1 0 0 1 0 1.414l-7 7a1 1 0 0 1-1.414-1.414L17.586 13H4a1 1 0 1 1 0-2h13.586z\",clipRule:\"evenodd\"})]}))},Tn=_p});import{jsx as kn,jsxs as Up}from\"react/jsx-runtime\";var Kp,Ln,An=v(()=>{\"use strict\";Kp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Up(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?kn(\"title\",{id:t,children:e}):null,kn(\"path\",{fillRule:\"evenodd\",d:\"M17.924 6.617a1 1 0 0 0-.215-.322l-.004-.004A1 1 0 0 0 17 6H7a1 1 0 0 0 0 2h7.586l-8.293 8.293a1 1 0 1 0 1.414 1.414L16 9.414V17a1 1 0 1 0 2 0V6.997a1 1 0 0 0-.076-.38\",clipRule:\"evenodd\"})]}))},Ln=Kp});import{jsx as zn,jsxs as qp}from\"react/jsx-runtime\";var $p,On,Bn=v(()=>{\"use strict\";$p=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return qp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?zn(\"title\",{id:t,children:e}):null,zn(\"path\",{fillRule:\"evenodd\",d:\"M5.707 11.707a1 1 0 0 1-1.414-1.414l7-7a1 1 0 0 1 1.414 0l7 7a1 1 0 0 1-1.414 1.414L13 6.414V20a1 1 0 1 1-2 0V6.414z\",clipRule:\"evenodd\"})]}))},On=$p});import{jsx as Fn,jsxs as Xp}from\"react/jsx-runtime\";var Zp,Dn,Hn=v(()=>{\"use strict\";Zp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Xp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Fn(\"title\",{id:t,children:e}):null,Fn(\"path\",{fillRule:\"evenodd\",d:\"M7 9a5 5 0 0 1 10 0v1.93a3 3 0 0 0 1.336 2.496l.949.633a1.606 1.606 0 0 1-.89 2.941H5.604a1.606 1.606 0 0 1-.89-2.941l.95-.633A3 3 0 0 0 7 10.93zm5-7a7 7 0 0 0-7 7v1.93a1 1 0 0 1-.445.832l-.95.632a3.606 3.606 0 0 0 2 6.606H8c0 .15.034.304.106.448a4.8 4.8 0 0 0 1.608 1.848A4.1 4.1 0 0 0 12 22c.813 0 1.602-.248 2.286-.704a4.8 4.8 0 0 0 1.608-1.848A1 1 0 0 0 16 19h2.394a3.606 3.606 0 0 0 2-6.606l-.949-.632A1 1 0 0 1 19 10.93V9a7 7 0 0 0-7-7m1.832 17h-3.664c.19.258.413.47.656.632.37.246.774.368 1.176.368s.807-.122 1.176-.368c.243-.161.466-.374.656-.632\",clipRule:\"evenodd\"})]}))},Dn=Zp});import{jsx as _n,jsxs as Jp}from\"react/jsx-runtime\";var Yp,Wn,Kn=v(()=>{\"use strict\";Yp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Jp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?_n(\"title\",{id:t,children:e}):null,_n(\"path\",{d:\"M18 2a2 2 0 0 1 2 2v12a1 1 0 0 1-.927.996 2.86 2.86 0 0 0-.323 1.317c0 .48.12 1.032.398 1.699A1 1 0 0 1 19 22H6.5A3.5 3.5 0 0 1 3 18.5V6a4 4 0 0 1 4-4zM6.5 17a1.5 1.5 0 0 0 0 3h10.52a5.8 5.8 0 0 1-.27-1.687c0-.456.065-.892.186-1.313zm.25-12.982A2 2 0 0 0 5 6v9.336A3.5 3.5 0 0 1 6.5 15h.25zM8.25 15H18V4H8.25z\"})]}))},Wn=Yp});import{jsx as Un,jsxs as jp}from\"react/jsx-runtime\";var Qp,$n,qn=v(()=>{\"use strict\";Qp=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return jp(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Un(\"title\",{id:t,children:e}):null,Un(\"path\",{fillRule:\"evenodd\",d:\"M4 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v15.114c0 1.898-2.397 2.729-3.571 1.237L12 15.727l1.571-1.237L18 20.114V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v15.114l4.429-5.624a2 2 0 0 1 3.142 0L12 15.727l-4.429 5.624C6.397 22.843 4 22.012 4 20.114z\",clipRule:\"evenodd\"})]}))},$n=Qp});import{jsx as Zn,jsxs as tu}from\"react/jsx-runtime\";var eu,Xn,Yn=v(()=>{\"use strict\";eu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return tu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Zn(\"title\",{id:t,children:e}):null,Zn(\"path\",{fillRule:\"evenodd\",d:\"M5 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0m0 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0m-1 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M8 6a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2zm-1 6a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1m1 4a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},Xn=eu});import{jsx as Jn,jsxs as ru}from\"react/jsx-runtime\";var ou,Qn,jn=v(()=>{\"use strict\";ou=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ru(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Jn(\"title\",{id:t,children:e}):null,Jn(\"path\",{fillRule:\"evenodd\",d:\"M8 1a1 1 0 0 1 1 1v1h6V2a1 1 0 1 1 2 0v1h2a3 3 0 0 1 3 3v13a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h2V2a1 1 0 0 1 1-1m8 4H5a1 1 0 0 0-1 1v1h16V6a1 1 0 0 0-1-1zM4 9v10a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V9z\",clipRule:\"evenodd\"})]}))},Qn=ou});import{jsx as ea,jsxs as au}from\"react/jsx-runtime\";var nu,ta,oa=v(()=>{\"use strict\";nu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return au(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ea(\"title\",{id:t,children:e}):null,ea(\"path\",{fillRule:\"evenodd\",d:\"M5 2a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm12-3a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-1 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1zm-2 11a3 3 0 0 1 3-3h3a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3h-3a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1zM5 13a3 3 0 0 0-3 3v3a3 3 0 0 0 3 3h3a3 3 0 0 0 3-3v-3a3 3 0 0 0-3-3zm-1 3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},ta=nu});import{jsx as ra,jsxs as iu}from\"react/jsx-runtime\";var lu,na,aa=v(()=>{\"use strict\";lu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return iu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ra(\"title\",{id:t,children:e}):null,ra(\"path\",{fillRule:\"evenodd\",d:\"M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-11C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m4.768 8.64a1 1 0 1 0-1.536-1.28l-4.3 5.159-2.225-2.226a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.475-.067z\",clipRule:\"evenodd\"})]}))},na=lu});import{jsx as la,jsxs as cu}from\"react/jsx-runtime\";var su,dt,ia=v(()=>{\"use strict\";su=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return cu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?la(\"title\",{id:t,children:e}):null,la(\"path\",{fillRule:\"evenodd\",d:\"M20.61 5.207a1 1 0 0 1 .183 1.403l-10 13a1 1 0 0 1-1.5.097l-5-5a1 1 0 0 1 1.414-1.414l4.195 4.195L19.207 5.39a1 1 0 0 1 1.403-.183\",clipRule:\"evenodd\"})]}))},dt=su});import{jsx as sa,jsxs as pu}from\"react/jsx-runtime\";var du,ca,da=v(()=>{\"use strict\";du=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return pu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?sa(\"title\",{id:t,children:e}):null,sa(\"path\",{fillRule:\"evenodd\",d:\"M7.707 5.293a1 1 0 0 0-1.414 0L5 6.586l-.293-.293a1 1 0 0 0-1.414 1.414l1 1a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0 0-1.414m0 5a1 1 0 0 0-1.414 0L5 11.586l-.293-.293a1 1 0 0 0-1.414 1.414l1 1a1 1 0 0 0 1.414 0l2-2a1 1 0 0 0 0-1.414m-1.414 5a1 1 0 0 1 1.414 1.414l-2 2a1 1 0 0 1-1.414 0l-1-1a1 1 0 1 1 1.414-1.414l.293.293zM11 6a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2zm0 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2zm0 5a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},ca=du});import{jsx as pa,jsxs as mu}from\"react/jsx-runtime\";var uu,Xt,ua=v(()=>{\"use strict\";uu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return mu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 16 16\",\"aria-labelledby\":t},o),{children:[e?pa(\"title\",{id:t,children:e}):null,pa(\"path\",{fillRule:\"evenodd\",d:\"M12.682 4.269a1 1 0 0 1 .05 1.413l-5.6 6a1 1 0 0 1-1.416.047l-2.4-2.25A1 1 0 0 1 4.684 8.02l1.669 1.565 4.916-5.267a1 1 0 0 1 1.413-.049\",clipRule:\"evenodd\"})]}))},Xt=uu});import{jsx as ma,jsxs as wu}from\"react/jsx-runtime\";var fu,fa,wa=v(()=>{\"use strict\";fu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return wu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ma(\"title\",{id:t,children:e}):null,ma(\"path\",{fillRule:\"evenodd\",d:\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3zm3-1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\",clipRule:\"evenodd\"})]}))},fa=fu});import{jsx as ga,jsxs as hu}from\"react/jsx-runtime\";var gu,Oe,ha=v(()=>{\"use strict\";gu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return hu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ga(\"title\",{id:t,children:e}):null,ga(\"path\",{fillRule:\"evenodd\",d:\"M7.293 9.293a1 1 0 0 1 1.414 0L12 12.586l3.293-3.293a1 1 0 1 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 0-1.414\",clipRule:\"evenodd\"})]}))},Oe=gu});import{jsx as va,jsxs as bu}from\"react/jsx-runtime\";var vu,Yt,ba=v(()=>{\"use strict\";vu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return bu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?va(\"title\",{id:t,children:e}):null,va(\"path\",{fillRule:\"evenodd\",d:\"M12.707 2.293a1 1 0 0 0-1.414 0l-5 5a1 1 0 0 0 1.414 1.414L12 4.414l4.293 4.293a1 1 0 1 0 1.414-1.414zm5 14.414-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 1 1 1.414-1.414L12 19.586l4.293-4.293a1 1 0 0 1 1.414 1.414\",clipRule:\"evenodd\"})]}))},Yt=vu});import{jsx as xa,jsxs as Su}from\"react/jsx-runtime\";var xu,Sa,ya=v(()=>{\"use strict\";xu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Su(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?xa(\"title\",{id:t,children:e}):null,xa(\"path\",{fillRule:\"evenodd\",d:\"M14.707 7.293a1 1 0 0 1 0 1.414L11.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0\",clipRule:\"evenodd\"})]}))},Sa=xu});import{jsx as Ra,jsxs as Ru}from\"react/jsx-runtime\";var yu,pt,Va=v(()=>{\"use strict\";yu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ru(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ra(\"title\",{id:t,children:e}):null,Ra(\"path\",{fillRule:\"evenodd\",d:\"M9.293 16.707a1 1 0 0 1 0-1.414L12.586 12 9.293 8.707a1 1 0 0 1 1.414-1.414l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414 0\",clipRule:\"evenodd\"})]}))},pt=yu});import{jsx as Pa,jsxs as Pu}from\"react/jsx-runtime\";var Vu,Ga,Ca=v(()=>{\"use strict\";Vu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Pu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Pa(\"title\",{id:t,children:e}):null,Pa(\"path\",{fillRule:\"evenodd\",d:\"m17.707 4.707-5 5a1 1 0 0 1-1.414 0l-5-5a1 1 0 0 1 1.414-1.414L12 7.586l4.293-4.293a1 1 0 1 1 1.414 1.414m0 14.586-5-5a1 1 0 0 0-1.414 0l-5 5a1 1 0 1 0 1.414 1.414L12 16.414l4.293 4.293a1 1 0 0 0 1.414-1.414\",clipRule:\"evenodd\"})]}))},Ga=Vu});import{jsx as Ia,jsxs as Cu}from\"react/jsx-runtime\";var Gu,Ea,Ma=v(()=>{\"use strict\";Gu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Cu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ia(\"title\",{id:t,children:e}):null,Ia(\"path\",{d:\"M8 7a1 1 0 0 0-.707 1.707L10.586 12l-3.293 3.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 0-1.414l-4-4A1 1 0 0 0 8 7m7 0a1 1 0 0 0-1 1v8a1 1 0 1 0 2 0V8a1 1 0 0 0-1-1\"})]}))},Ea=Gu});import{jsx as Ta,jsxs as Eu}from\"react/jsx-runtime\";var Iu,Na,ka=v(()=>{\"use strict\";Iu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Eu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ta(\"title\",{id:t,children:e}):null,Ta(\"path\",{fillRule:\"evenodd\",d:\"M16.707 7.293a1 1 0 0 1 0 1.414L13.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0M9 7a1 1 0 0 1 1 1v8a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1\",clipRule:\"evenodd\"})]}))},Na=Iu});import{jsx as La,jsxs as Tu}from\"react/jsx-runtime\";var Mu,Jt,Aa=v(()=>{\"use strict\";Mu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Tu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?La(\"title\",{id:t,children:e}):null,La(\"path\",{fillRule:\"evenodd\",d:\"M11.293 9.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1-1.414 1.414L12 11.414l-3.293 3.293a1 1 0 0 1-1.414-1.414z\",clipRule:\"evenodd\"})]}))},Jt=Mu});import{jsx as za,jsxs as ku}from\"react/jsx-runtime\";var Nu,Oa,Ba=v(()=>{\"use strict\";Nu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ku(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?za(\"title\",{id:t,children:e}):null,za(\"path\",{fillRule:\"evenodd\",d:\"M13.014 4.4c1.155-1.154 2.833-1.14 3.754-.218s.936 2.6-.219 3.754l-6.734 6.735c-.411.41-.933.347-1.17.11-.238-.239-.302-.76.11-1.17l6.902-6.903a1 1 0 0 0-1.415-1.415L7.34 12.196c-1.077 1.077-1.239 2.87-.11 3.998 1.13 1.13 2.922.968 4-.109l6.733-6.734c1.821-1.821 2.032-4.77.22-6.583s-4.763-1.602-6.583.219L2.845 11.74c-1.82 1.82-2.032 4.77-.22 6.583 1.21 1.21 2.95 1.518 4.491 1.046a1 1 0 0 0-.585-1.912c-.924.282-1.868.075-2.49-.548-.922-.921-.937-2.6.218-3.755zm4.28 17.307a1 1 0 0 1 0-1.414L18.585 19H13a1 1 0 1 1 0-2h5.586l-1.293-1.293a1 1 0 0 1 1.414-1.414l3 3a1 1 0 0 1 0 1.414l-3 3a1 1 0 0 1-1.414 0Z\",clipRule:\"evenodd\"})]}))},Oa=Nu});import{jsx as Fa,jsxs as Au}from\"react/jsx-runtime\";var Lu,Da,Ha=v(()=>{\"use strict\";Lu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Au(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Fa(\"title\",{id:t,children:e}):null,Fa(\"path\",{d:\"M16.887 2.09a5.3 5.3 0 0 0-3.608 1.558L3.65 13.28c-1.995 1.996-2.118 5.222-.134 7.205 1.326 1.326 3.221 1.712 4.916 1.223a1 1 0 0 0-.555-1.922c-1.055.305-2.18.053-2.947-.715-1.141-1.14-1.143-3.1.134-4.377l9.63-9.629c1.277-1.277 3.237-1.275 4.378-.134 1.141 1.14 1.143 3.1-.134 4.377l-7.409 7.408c-.459.459-1.122.426-1.482.066s-.39-1.023.068-1.482l7.592-7.592a1 1 0 1 0-1.414-1.414l-7.592 7.592c-1.177 1.177-1.27 3.108-.068 4.31 1.202 1.203 3.133 1.111 4.31-.066l7.409-7.408c1.995-1.996 2.118-5.222.134-7.205a4.88 4.88 0 0 0-3.6-1.426z\"})]}))},Da=Lu});import{jsx as _a,jsxs as Ou}from\"react/jsx-runtime\";var zu,Wa,Ka=v(()=>{\"use strict\";zu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ou(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?_a(\"title\",{id:t,children:e}):null,_a(\"path\",{d:\"M13 2c-5.387 0-9.78 4.26-9.992 9.594l-1.301-1.301a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.281 1.281A8 8 0 1 1 13 20a7.98 7.98 0 0 1-5.963-2.666 1 1 0 0 0-1.49 1.332A9.98 9.98 0 0 0 13 22c5.523 0 10-4.477 10-10S18.523 2 13 2m0 4a1 1 0 0 0-1 1v4.586A2 2 0 0 0 12.586 13l2.707 2.707a1 1 0 1 0 1.414-1.414L14 11.586V7a1 1 0 0 0-1-1\"})]}))},Wa=zu});import{jsx as Ua,jsxs as Fu}from\"react/jsx-runtime\";var Bu,$a,qa=v(()=>{\"use strict\";Bu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Fu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ua(\"title\",{id:t,children:e}):null,Ua(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 3a1 1 0 0 0-1 1v4.586A2 2 0 0 0 11.586 13l2.707 2.707a1 1 0 1 0 1.414-1.414L13 11.586V7a1 1 0 0 0-1-1\"})]}))},$a=Bu});import{jsx as Za,jsxs as Hu}from\"react/jsx-runtime\";var Du,Xa,Ya=v(()=>{\"use strict\";Du=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Hu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Za(\"title\",{id:t,children:e}):null,Za(\"path\",{fillRule:\"evenodd\",d:\"M14.868 2.957c-.865-2.83-4.871-2.83-5.737 0L8.59 4.73a1 1 0 0 1-1.181.682l-1.805-.417C2.719 4.33.717 7.798 2.734 9.963l1.263 1.355a1 1 0 0 1 0 1.364l-1.263 1.355c-2.017 2.165-.015 5.634 2.869 4.969l1.805-.416a1 1 0 0 1 1.181.681l.542 1.772c.866 2.83 4.872 2.83 5.737 0l.543-1.772a1 1 0 0 1 1.18-.681l1.806.416c2.883.665 4.886-2.804 2.868-4.969l-1.263-1.355a1 1 0 0 1 0-1.364l1.263-1.355c2.018-2.165.015-5.634-2.868-4.969l-1.805.417a1 1 0 0 1-1.181-.682zm-3.825.585c.29-.943 1.624-.943 1.913 0l.542 1.772a3 3 0 0 0 3.543 2.045l1.805-.416c.961-.222 1.629.935.956 1.656L18.54 9.955a3 3 0 0 0 0 4.09l1.263 1.356c.673.721.005 1.878-.956 1.656l-1.805-.416a3 3 0 0 0-3.543 2.045l-.542 1.772c-.289.943-1.624.943-1.912 0l-.543-1.772a3 3 0 0 0-3.542-2.045l-1.806.416c-.96.222-1.628-.935-.956-1.656l1.263-1.355a3 3 0 0 0 0-4.091L4.197 8.599c-.672-.721-.005-1.878.956-1.656l1.806.416A3 3 0 0 0 10.5 5.314zM10 12a2 2 0 1 1 4 0 2 2 0 0 1-4 0m2-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8\",clipRule:\"evenodd\"})]}))},Xa=Du});import{jsx as Ja,jsxs as Wu}from\"react/jsx-runtime\";var _u,Qa,ja=v(()=>{\"use strict\";_u=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Wu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ja(\"title\",{id:t,children:e}):null,Ja(\"path\",{d:\"M4 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2z\"})]}))},Qa=_u});import{jsx as el,jsxs as Uu}from\"react/jsx-runtime\";var Ku,tl,ol=v(()=>{\"use strict\";Ku=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Uu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?el(\"title\",{id:t,children:e}):null,el(\"path\",{fillRule:\"evenodd\",d:\"M9 2a3 3 0 0 0-3 3v1H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm9 14h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v1h7a3 3 0 0 1 3 3zM4 9a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},tl=Ku});import{jsx as rl,jsxs as qu}from\"react/jsx-runtime\";var $u,nl,al=v(()=>{\"use strict\";$u=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return qu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?rl(\"title\",{id:t,children:e}):null,rl(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm2 3a1 1 0 0 1 1-1h8a1 1 0 1 1 0 2H8a1 1 0 0 1-1-1m1 3a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},nl=$u});import{jsx as ll,jsxs as Xu}from\"react/jsx-runtime\";var Zu,il,sl=v(()=>{\"use strict\";Zu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Xu(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ll(\"title\",{id:t,children:e}):null,ll(\"path\",{d:\"M12 2a1 1 0 0 0-1 1v10.586l-3.293-3.293a1 1 0 1 0-1.414 1.414l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414L13 13.586V3a1 1 0 0 0-1-1M3 14a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a1 1 0 1 0-2 0v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4a1 1 0 0 0-1-1\"})]}))},il=Zu});import{jsx as cl,jsxs as Ju}from\"react/jsx-runtime\";var Yu,dl,pl=v(()=>{\"use strict\";Yu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Ju(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?cl(\"title\",{id:t,children:e}):null,cl(\"path\",{d:\"M4 9a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm0 4a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2z\"})]}))},dl=Yu});import{jsx as ul,jsxs as ju}from\"react/jsx-runtime\";var Qu,ml,fl=v(()=>{\"use strict\";Qu=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ju(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ul(\"title\",{id:t,children:e}):null,ul(\"path\",{d:\"M9.5 5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-5 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m-5 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3\"})]}))},ml=Qu});import{jsx as wl,jsxs as tm}from\"react/jsx-runtime\";var em,gl,hl=v(()=>{\"use strict\";em=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return tm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?wl(\"title\",{id:t,children:e}):null,wl(\"path\",{d:\"M5 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4\"})]}))},gl=em});import{jsx as vl,jsxs as rm}from\"react/jsx-runtime\";var om,bl,xl=v(()=>{\"use strict\";om=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return rm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?vl(\"title\",{id:t,children:e}):null,vl(\"path\",{d:\"M12 3a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4m0 7a2 2 0 1 0 0 4 2 2 0 0 0 0-4\"})]}))},bl=om});import{jsx as Sl,jsxs as am}from\"react/jsx-runtime\";var nm,yl,Rl=v(()=>{\"use strict\";nm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return am(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Sl(\"title\",{id:t,children:e}):null,Sl(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18M9 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2m6 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-7.043 5.168a.832.832 0 0 0-.623 1.332v.002h.002l.002.004.006.008.02.025.068.082c.056.067.136.16.24.268.207.215.509.5.9.785.78.567 1.948 1.16 3.428 1.16s2.648-.593 3.428-1.16a7 7 0 0 0 .9-.785q.156-.165.24-.268l.069-.082.02-.025.005-.008.002-.004h.002V14.5a.832.832 0 0 0-1.33-1.002l-.002.002-.004.006-.037.045a5 5 0 0 1-.846.775c-.595.433-1.427.84-2.447.84s-1.852-.407-2.447-.84a5 5 0 0 1-.846-.775l-.037-.045-.006-.008a.83.83 0 0 0-.707-.33\"})]}))},yl=nm});import{jsx as Vl,jsxs as im}from\"react/jsx-runtime\";var lm,Pl,Gl=v(()=>{\"use strict\";lm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return im(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Vl(\"title\",{id:t,children:e}):null,Vl(\"path\",{fillRule:\"evenodd\",d:\"M4 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h16a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM3 6a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v.52l-8.375 6.7a1 1 0 0 1-1.25 0L3 6.52zm0 3.08V18a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V9.08l-7.126 5.701a3 3 0 0 1-3.748 0z\",clipRule:\"evenodd\"})]}))},Pl=lm});import{jsx as Cl,jsxs as cm}from\"react/jsx-runtime\";var sm,Qt,Il=v(()=>{\"use strict\";sm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return cm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Cl(\"title\",{id:t,children:e}):null,Cl(\"path\",{fillRule:\"evenodd\",d:\"M3 12a9 9 0 0 1 14.618-7.032l-12.65 12.65A8.96 8.96 0 0 1 3 12m3.382 7.032a9 9 0 0 0 12.65-12.65zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1\",clipRule:\"evenodd\"})]}))},Qt=sm});import{jsx as El,jsxs as pm}from\"react/jsx-runtime\";var dm,Be,Ml=v(()=>{\"use strict\";dm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return pm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?El(\"title\",{id:t,children:e}):null,El(\"path\",{fillRule:\"evenodd\",d:\"M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1m0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2\",clipRule:\"evenodd\"})]}))},Be=dm});import{jsx as Tl,jsxs as mm}from\"react/jsx-runtime\";var um,Nl,kl=v(()=>{\"use strict\";um=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return mm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Tl(\"title\",{id:t,children:e}):null,Tl(\"path\",{fillRule:\"evenodd\",d:\"M12.866 4.49a1 1 0 0 0-1.731 0L3.604 17.5a1 1 0 0 0 .865 1.5h15.063a1 1 0 0 0 .865-1.501zm-3.462-1c1.156-1.996 4.037-1.996 5.193 0l7.53 13.008c1.159 2-.284 4.503-2.595 4.503H4.469c-2.31 0-3.754-2.503-2.596-4.503zM12 8a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V9a1 1 0 0 1 1-1m0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2\",clipRule:\"evenodd\"})]}))},Nl=um});import{jsx as Ll,jsxs as wm}from\"react/jsx-runtime\";var fm,Al,zl=v(()=>{\"use strict\";fm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return wm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ll(\"title\",{id:t,children:e}):null,Ll(\"path\",{d:\"M14 3a1 1 0 1 0 0 2h3.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L19 6.414V10a1 1 0 1 0 2 0V3.996a1 1 0 0 0-.291-.701l-.004-.004A1 1 0 0 0 20 3zM4 13a1 1 0 0 0-1 1v6.004a1 1 0 0 0 .291.701l.004.004c.18.18.43.291.705.291h6a1 1 0 1 0 0-2H6.414l4.293-4.293a1 1 0 1 0-1.414-1.414L5 17.586V14a1 1 0 0 0-1-1\"})]}))},Al=fm});import{jsx as Ol,jsxs as hm}from\"react/jsx-runtime\";var gm,Bl,Fl=v(()=>{\"use strict\";gm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return hm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ol(\"title\",{id:t,children:e}):null,Ol(\"path\",{d:\"M12 2a1 1 0 0 0-.707.293l-5 5a1 1 0 1 0 1.414 1.414L11 5.414V16a1 1 0 1 0 2 0V5.414l3.293 3.293a1 1 0 1 0 1.414-1.414l-5-5A1 1 0 0 0 12 2M3 14a1 1 0 0 0-1 1v4a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-4a1 1 0 1 0-2 0v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-4a1 1 0 0 0-1-1\"})]}))},Bl=gm});import{jsx as Dl,jsxs as bm}from\"react/jsx-runtime\";var vm,Hl,_l=v(()=>{\"use strict\";vm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return bm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Dl(\"title\",{id:t,children:e}):null,Dl(\"path\",{d:\"M15 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1h3.586l-9.293 9.293a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L20 5.414V9a1 1 0 0 0 1 1 1 1 0 0 0 1-1V3a1 1 0 0 0-.293-.707 1 1 0 0 0-.414 0A1 1 0 0 0 21 2ZM5 5C3.355 5 2 6.355 2 8v11c0 1.645 1.355 3 3 3h11c1.645 0 3-1.355 3-3v-6a1 1 0 0 0-1-1 1 1 0 0 0-1 1v6c0 .564-.436 1-1 1H5c-.564 0-1-.436-1-1V8c0-.564.436-1 1-1h6a1 1 0 0 0 1-1 1 1 0 0 0-1-1Z\"})]}))},Hl=vm});import{jsx as Wl,jsxs as Sm}from\"react/jsx-runtime\";var xm,Kl,Ul=v(()=>{\"use strict\";xm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Sm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Wl(\"title\",{id:t,children:e}):null,Wl(\"path\",{d:\"M12 4C5.848 4 2.554 8.882 1.512 10.752a2.55 2.55 0 0 0 0 2.496C2.554 15.118 5.848 20 12 20s9.444-4.882 10.486-6.752a2.55 2.55 0 0 0 0-2.496C21.444 8.882 18.152 4 12 4m0 2c4.98 0 7.761 3.97 8.74 5.727a.55.55 0 0 1 0 .546C19.761 14.03 16.98 18 12 18s-7.761-3.97-8.74-5.727a.55.55 0 0 1 0-.546C4.239 9.97 7.02 6 12 6m0 2a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"})]}))},Kl=xm});import{jsx as $l,jsxs as Rm}from\"react/jsx-runtime\";var ym,ql,Zl=v(()=>{\"use strict\";ym=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Rm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?$l(\"title\",{id:t,children:e}):null,$l(\"path\",{fillRule:\"evenodd\",d:\"M8.707 1.879A3 3 0 0 1 10.828 1H18a3 3 0 0 1 3 3v16a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V8.828a3 3 0 0 1 .879-2.12l4.828-4.83ZM5.414 8 10 3.414V7a1 1 0 0 1-1 1zM5 20V10h4a3 3 0 0 0 3-3V3h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1m12.78-6.375a1 1 0 1 0-1.56-1.25l-3.303 4.128-1.21-1.21a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.488-.082z\",clipRule:\"evenodd\"})]}))},ql=ym});import{jsx as Xl,jsxs as Pm}from\"react/jsx-runtime\";var Vm,Yl,Jl=v(()=>{\"use strict\";Vm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Pm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Xl(\"title\",{id:t,children:e}):null,Xl(\"path\",{fillRule:\"evenodd\",d:\"M12 3h3a1 1 0 1 0 0-2h-4.172a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a1 1 0 1 0-2 0v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V10h4a3 3 0 0 0 3-3zM5.414 8H9a1 1 0 0 0 1-1V3.414zm12.879-1.879a1 1 0 0 1 1.414 0l.172.172a1 1 0 0 1 0 1.414L19 8.586 17.414 7zM16 8.414l-5.148 5.148-1.057 2.643 2.643-1.057L17.586 10zm5.121-3.707a3 3 0 0 0-4.242 0l-7.586 7.586a1 1 0 0 0-.221.336l-2 5a1 1 0 0 0 1.3 1.3l5-2a1 1 0 0 0 .335-.222l7.586-7.586a3 3 0 0 0 0-4.242z\",clipRule:\"evenodd\"})]}))},Yl=Vm});import{jsx as Ql,jsxs as Cm}from\"react/jsx-runtime\";var Gm,jl,ei=v(()=>{\"use strict\";Gm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Cm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ql(\"title\",{id:t,children:e}):null,Ql(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3z\",clipRule:\"evenodd\"})]}))},jl=Gm});import{jsx as ti,jsxs as Em}from\"react/jsx-runtime\";var Im,oi,ri=v(()=>{\"use strict\";Im=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Em(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ti(\"title\",{id:t,children:e}):null,ti(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm9 2a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2a1 1 0 0 1 1-1\",clipRule:\"evenodd\"})]}))},oi=Im});import{jsx as ni,jsxs as Tm}from\"react/jsx-runtime\";var Mm,ai,li=v(()=>{\"use strict\";Mm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Tm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ni(\"title\",{id:t,children:e}):null,ni(\"path\",{fillRule:\"evenodd\",d:\"M10.828 1a3 3 0 0 0-2.12.879l-4.83 4.828A3 3 0 0 0 3 8.828V20a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zM10 3.414 5.414 8H9a1 1 0 0 0 1-1zM5 10v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-6v4a3 3 0 0 1-3 3zm5.293 2.293a1 1 0 0 1 1.414 0l1.793 1.793 1.793-1.793a1 1 0 0 1 1.414 1.414L14.914 15.5l1.793 1.793a1 1 0 0 1-1.414 1.414L13.5 16.914l-1.793 1.793a1 1 0 0 1-1.414-1.414l1.793-1.793-1.793-1.793a1 1 0 0 1 0-1.414\",clipRule:\"evenodd\"})]}))},ai=Mm});import{jsx as ii,jsxs as km}from\"react/jsx-runtime\";var Nm,si,ci=v(()=>{\"use strict\";Nm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return km(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ii(\"title\",{id:t,children:e}):null,ii(\"path\",{d:\"M4 6a1 1 0 0 0 0 2h16a1 1 0 1 0 0-2zm3 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2zm3 5a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"})]}))},si=Nm});import{jsx as di,jsxs as Am}from\"react/jsx-runtime\";var Lm,pi,ui=v(()=>{\"use strict\";Lm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Am(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?di(\"title\",{id:t,children:e}):null,di(\"path\",{fillRule:\"evenodd\",d:\"M11.17 3.473c.36-.381.64-.473.83-.473s.47.091.83.473c.363.384.736.992 1.07 1.827.581 1.454.986 3.443 1.08 5.7H9.02c.094-2.257.499-4.246 1.08-5.7.334-.835.707-1.443 1.07-1.827M7.019 11c.094-2.467.534-4.718 1.224-6.442q.192-.48.416-.918A9.01 9.01 0 0 0 3.055 11zm-3.964 2h3.964c.094 2.467.534 4.718 1.224 6.442q.192.48.416.918A9.01 9.01 0 0 1 3.055 13m5.966 0h5.958c-.093 2.257-.498 4.246-1.079 5.7-.334.835-.707 1.444-1.07 1.827-.36.381-.641.473-.83.473s-.47-.091-.83-.473c-.363-.384-.736-.992-1.07-1.827-.581-1.454-.986-3.443-1.08-5.7Zm7.96 0c-.094 2.467-.534 4.718-1.224 6.442q-.192.48-.416.918A9.01 9.01 0 0 0 20.945 13zm3.964-2a9.01 9.01 0 0 0-5.604-7.36q.224.436.416.918c.69 1.724 1.13 3.975 1.224 6.442zM23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11\",clipRule:\"evenodd\"})]}))},pi=Lm});import{jsx as mi,jsxs as Om}from\"react/jsx-runtime\";var zm,fi,wi=v(()=>{\"use strict\";zm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Om(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?mi(\"title\",{id:t,children:e}):null,mi(\"path\",{d:\"M12 2a1 1 0 0 0-1 1v14a1 1 0 1 0 2 0V3a1 1 0 0 0-1-1M8 6a1 1 0 0 0-1 1v10a1 1 0 1 0 2 0V7a1 1 0 0 0-1-1m8 3a1 1 0 0 0-1 1v7a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1M4 11a1 1 0 0 0-1 1v5a1 1 0 1 0 2 0v-5a1 1 0 0 0-1-1m16 2a1 1 0 0 0-1 1v3a1 1 0 1 0 2 0v-3a1 1 0 0 0-1-1M3 20a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2z\"})]}))},fi=zm});import{jsx as gi,jsxs as Fm}from\"react/jsx-runtime\";var Bm,hi,vi=v(()=>{\"use strict\";Bm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Fm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?gi(\"title\",{id:t,children:e}):null,gi(\"path\",{d:\"M11.295 4.11a1 1 0 0 1 1.41 0l7 6.954a1 1 0 0 1 .295.71V19a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-7.226a1 1 0 0 1 .295-.71Zm2.82-1.42a3 3 0 0 0-4.23.001l-7 6.954A3 3 0 0 0 2 11.774V19a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-7.226a3 3 0 0 0-.886-2.129ZM10 14a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v6h2v-6a3 3 0 0 0-3-3h-2a3 3 0 0 0-3 3v6h2z\"})]}))},hi=Bm});import{jsx as bi,jsxs as Hm}from\"react/jsx-runtime\";var Dm,xi,Si=v(()=>{\"use strict\";Dm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Hm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?bi(\"title\",{id:t,children:e}):null,bi(\"path\",{d:\"M2 5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3Zm3-1a1 1 0 0 0-1 1v8.586L6.586 11a2 2 0 0 1 2.828 0L13 14.586 14.586 13a2 2 0 0 1 2.828 0L20 15.586V5a1 1 0 0 0-1-1Zm15 14.414-4-4L14.414 16a2 2 0 0 1-2.828 0L8 12.414l-4 4V19a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1zM17 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0\"})]}))},xi=Dm});import{jsx as yi,jsxs as Wm}from\"react/jsx-runtime\";var _m,Ri,Vi=v(()=>{\"use strict\";_m=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Wm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?yi(\"title\",{id:t,children:e}):null,yi(\"path\",{fillRule:\"evenodd\",d:\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM4 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8h-4c-1.152 0-1.856.924-2.11 1.655a2.001 2.001 0 0 1-3.78 0C9.855 13.924 9.152 13 8 13H4zm0 10v4a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4h-3.997a.2.2 0 0 0-.054.037.7.7 0 0 0-.168.272 4.001 4.001 0 0 1-7.562 0 .7.7 0 0 0-.168-.272.2.2 0 0 0-.054-.037zm3.997 0h-.004zm8.01 0h-.004z\",clipRule:\"evenodd\"})]}))},Ri=_m});import{jsx as Pi,jsxs as Um}from\"react/jsx-runtime\";var Km,jt,Gi=v(()=>{\"use strict\";Km=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Um(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Pi(\"title\",{id:t,children:e}):null,Pi(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-1 3a1 1 0 1 0 0 2v6a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1z\"})]}))},jt=Km});import{jsx as Ci,jsxs as qm}from\"react/jsx-runtime\";var $m,Ii,Ei=v(()=>{\"use strict\";$m=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return qm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-hidden\":\"true\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ci(\"title\",{id:t,children:e}):null,Ci(\"path\",{d:\"M1.4 8.305c2.35-2.602 5.839-3.253 9.363-1.547l.341.173q.136-.072.272-.136L12.59 8.25q-.289.111-.575.257v10.649c2.54-.81 4.974-.496 6.974.134V12.29h1.82v9.704c-2.426-1.213-6.065-2.426-9.704-.486l-.341-.173c-3.524-1.691-7.013-.516-9.363.659Zm8.794.204C7.484 7.105 5 7.454 3.22 9.056v10.235c2-.63 4.434-.945 6.975-.134Zm7.624-6.918a.606.606 0 0 1 1.128 0L20 4.265c.062.156.186.28.342.342l2.674 1.054a.606.606 0 0 1 0 1.128l-2.674 1.055a.6.6 0 0 0-.342.341l-1.054 2.674a.606.606 0 0 1-1.128 0l-1.055-2.674a.6.6 0 0 0-.341-.34l-2.674-1.056a.606.606 0 0 1 0-1.128l2.674-1.054a.6.6 0 0 0 .34-.342z\"})]}))},Ii=$m});import{jsx as Mi,jsxs as Xm}from\"react/jsx-runtime\";var Zm,Ti,Ni=v(()=>{\"use strict\";Zm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Xm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid\",viewBox:\"0 0 1402 1402\",\"aria-labelledby\":t},o),{children:[e?Mi(\"title\",{id:t,children:e}):null,Mi(\"path\",{d:\"M336.763 1.66c-83.7 4.8-164.1 41.1-228.3 103.1-60.3 58.3-94.2 128.2-105 216.8-2.2 18.3-3.1 58-1.6 75 6.1 69.3 29.5 128.5 72 181.8 13.6 17.1 46.5 52.4 89.5 96l27 27.3-48.5 48.7c-26.7 26.8-52.3 53.4-56.9 59-46.7 57-71.8 115.1-81.6 188.4-2.4 18-2.9 62.2-1 80.5 6.8 64 27.9 119.2 65.9 172.2 50.9 71 119 118 200.7 138.6 67.2 16.9 137.3 16.2 198-2.2 42.1-12.7 82.2-34.5 117-63.7 18.4-15.3 57.2-51.9 97.2-91.5l19.7-19.5 45.3 45c55.4 54.9 70 67.7 98.2 86.3 67.9 44.7 155.3 65 239.6 55.5 76.8-8.7 149.9-44 208.9-100.9 68.7-66.3 104.6-150.5 107.8-253 2.5-81.7-21.7-155.6-72.6-221.2-9.9-12.8-23.4-27.2-73.4-78.3l-43.6-44.5 48.8-49c47-47.2 56.7-57.7 69.7-75 32.9-43.7 55.5-96 65.3-150.9 17.7-99-3.9-195-61.6-274.3-62.2-85.5-143.5-134-247.1-147.3-86.5-11.2-162.3 4.5-232 47.9-31.1 19.4-36.1 23.8-113 99l-40.3 39.4-47.2-47c-26-25.8-52.9-51.6-59.8-57.4-64.5-53.4-132.6-80.1-216.9-84.9-19.1-1.1-20.2-1.1-40.2.1m44 144.9c43.9 4.7 84.6 22.1 120.2 51.5 9.5 7.8 216.3 213.5 215.5 214.3-.2.2-16.5-.4-36.2-1.3-51-2.5-79.5-1.4-115.1 4.6-63.3 10.6-120.1 38.5-172.2 84.5-5.8 5.1-30.5 29.3-54.9 53.8l-44.4 44.4-25.1-24.4c-26.4-25.7-58.8-59.1-71.4-73.4-34.9-39.8-53.1-92.2-50.9-146.5 3-71.8 37-132.7 96.2-172 30.7-20.4 65.3-32.8 100-35.8 9.2-.8 29.2-.6 38.3.3m685.9 1.5c67.5 8.8 122.1 43.9 157.5 101.2 16 25.8 26.1 53.8 30.4 83.8 2.2 16.3 1.5 46.7-1.6 64.5-6.7 38.1-25.1 76-52 106.9-6.4 7.4-211.2 214-211.7 213.7-.1-.1.5-12.5 1.4-27.6 2.7-48.4 2.1-79.7-2.3-111.5-9.3-68.5-35.6-126-82.8-181.5-4.9-5.8-29.9-31.5-55.5-57.3l-46.6-46.7 42-42.1c23.1-23.1 47-46.4 53-51.6 33-28.6 71.2-45.8 115-51.7 13.8-1.9 38.9-1.9 53.2-.1m-331.1 381.9c54 11.3 99.1 46.5 122.9 96 23.4 48.7 22.8 106-1.7 153.8-25.6 50.1-72.3 84.5-127.3 93.8-11.4 2-15.5 2.2-33.5 1.7-15.5-.4-22.8-1-30.2-2.6-57.7-12.5-105.5-52.6-127.4-106.8-15.3-38-16.3-82.6-2.7-121.6 21.4-61.7 76.4-106.9 141.1-116.2 15.1-2.2 43.5-1.3 58.8 1.9m-324.3 187.7c-5 64.6-2.9 101.1 8.2 143.4 13.7 52.5 39.4 100.3 77.8 145 3.4 3.8 27.5 28.5 53.6 54.8l47.6 47.7-37 37.1c-40.9 40.9-60.1 59-73.6 69.1-28.5 21.5-62.9 35.1-100.4 39.8-21.4 2.7-53.5 1-75.5-4.1-21.7-5-50.5-17.1-68.5-28.9-30.3-19.9-56.4-49-74.3-83-34.4-65.2-31.4-143.6 7.9-208.7 14.4-23.7 16.7-26.3 129.8-139.5 58.6-58.7 106.6-106.6 106.8-106.5.1.2-.9 15.4-2.4 33.8m743.6 132.6c24.9 25.2 48.2 49.4 51.8 53.8 32.4 40.1 48.6 85.7 48.6 137 .1 56.6-20.4 108.2-58.7 148.3-35.1 36.7-84.1 60.9-134.1 66.3-13.2 1.4-38.6.7-53.8-1.6-32.2-4.8-67.5-19.7-95.9-40.4-14.9-10.9-35.6-31-137-132.3-92.2-92.2-92.8-92.8-89-92.8 2.1 0 19.1 1.2 37.8 2.6 61.5 4.7 99.5 2 142.4-10.2 34.8-9.9 67.1-24.8 97.6-45 29-19.3 45-33.4 99.4-87.9 23.9-23.9 43.9-43.5 44.5-43.5.5 0 21.4 20.6 46.4 45.7\"})]}))},Ti=Zm});import{jsx as ki,jsxs as Jm}from\"react/jsx-runtime\";var Ym,eo,Li=v(()=>{\"use strict\";Ym=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Jm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ki(\"title\",{id:t,children:e}):null,ki(\"path\",{d:\"M16.685 16.084C9.49 24.781 5.738 21.582 4.678 20.672c-1.481-1.26-2.682-2.279-.43-4.998 2.25-2.718 3.442-1.699 4.922-.44 1.481 1.26 2.602 1.28 4.843-1.439s2.172-3.718.56-5.078c-1.61-1.359-2.68-2.279-.43-4.997 2.252-2.72 3.452-1.7 4.933-.44 1.06.92 4.813 4.118-2.391 12.804\"})]}))},eo=Ym});import{jsx as Ai,jsxs as jm}from\"react/jsx-runtime\";var Qm,to,zi=v(()=>{\"use strict\";Qm=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return jm(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ai(\"title\",{id:t,children:e}):null,Ai(\"path\",{fillRule:\"evenodd\",d:\"M19 9.7a8.3 8.3 0 0 0-3.49-.7C11.37 9 8 11.92 8 15.5a5.8 5.8 0 0 0 .36 1.86 5.65 5.65 0 0 1-4 1.64.33.33 0 0 1-.26-.56 5.5 5.5 0 0 0 1.52-2.72A6.72 6.72 0 0 1 2 10c0-3.87 3.92-7 8.51-7S18.84 6 19 9.7M15.5 21c.659 0 1.294-.083 1.893-.237A5 5 0 0 0 20.7 22c.26 0 .4-.26.22-.42a4 4 0 0 1-1.218-1.883C21.108 18.686 22 17.181 22 15.5c0-3.038-2.91-5.5-6.5-5.5S9 12.462 9 15.5s2.91 5.5 6.5 5.5\",clipRule:\"evenodd\"})]}))},to=Qm});import{jsx as Oi,jsxs as tf}from\"react/jsx-runtime\";var ef,Bi,Fi=v(()=>{\"use strict\";ef=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return tf(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Oi(\"title\",{id:t,children:e}):null,Oi(\"path\",{d:\"m7 2-.258.008A5 5 0 0 0 2 7v10a5 5 0 0 0 5 5h5.77l-.463-2H7a3 3 0 0 1-3-3v-7h16v2.307l2 .463V7a5 5 0 0 0-4.744-4.992L17 2zm0 2h10a3 3 0 0 1 3 3v1H4V7a3 3 0 0 1 3-3m0 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2m3 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2m1.986 6.986 3.875 11.625 2.582-5.168 5.168-2.582zm2.371 2.371 5.344 1.782-2.152 1.076-.223.111-.111.223-1.076 2.152z\"})]}))},Bi=ef});import{jsx as Di,jsxs as rf}from\"react/jsx-runtime\";var of,oo,Hi=v(()=>{\"use strict\";of=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return rf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Di(\"title\",{id:t,children:e}):null,Di(\"path\",{d:\"M12 2C6.48 2 2 5.81 2 10.5a8.2 8.2 0 0 0 4.24 6.94 6.63 6.63 0 0 1-2.11 3.86c-.29.27-.06.7.35.7a8 8 0 0 0 6.26-3.07s.83.07 1.26.07c5.52 0 10-3.81 10-8.5S17.52 2 12 2\"})]}))},oo=of});import{jsx as _i,jsxs as af}from\"react/jsx-runtime\";var nf,Wi,Ki=v(()=>{\"use strict\";nf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return af(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?_i(\"title\",{id:t,children:e}):null,_i(\"path\",{d:\"M11.464 2.302a.627.627 0 0 1 1.072 0l2.971 4.915c.087.145.23.248.395.286l5.613 1.294c.46.106.64.66.331 1.015l-3.777 4.333a.62.62 0 0 0-.15.462l.497 5.716a.625.625 0 0 1-.866.627l-5.306-2.238a.63.63 0 0 0-.488 0L6.45 20.95a.625.625 0 0 1-.867-.627l.499-5.716a.62.62 0 0 0-.151-.462L2.154 9.812a.622.622 0 0 1 .33-1.015l5.614-1.294a.63.63 0 0 0 .395-.286z\"})]}))},Wi=nf});import{jsx as Ui,jsxs as sf}from\"react/jsx-runtime\";var lf,ro,$i=v(()=>{\"use strict\";lf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return sf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ui(\"title\",{id:t,children:e}):null,Ui(\"path\",{d:\"M8 3a4 4 0 0 0-4 4v11.5A2.61 2.61 0 0 0 6.71 21a.5.5 0 0 0 0-1 1.51 1.51 0 1 1 0-3H17.3a2.35 2.35 0 0 0 0 3h-3.8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1 1.51 1.51 0 1 1-.014-3q.095 0 .184-.031a.5.5 0 0 0 .287-.272A.5.5 0 0 0 20 16.5V4a1 1 0 0 0-1-1zm.5 15a.5.5 0 0 0-.5.5v4a.48.48 0 0 0 .32.46.4.4 0 0 0 .18 0 .48.48 0 0 0 .36-.16L10 21.63l1.14 1.21a.48.48 0 0 0 .54.12.5.5 0 0 0 .32-.46v-4a.5.5 0 0 0-.5-.5z\"})]}))},ro=lf});import{jsx as ut,jsxs as df}from\"react/jsx-runtime\";var cf,qi,Zi=v(()=>{\"use strict\";cf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return df(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 84 18\",\"aria-labelledby\":t},o),{children:[e?ut(\"title\",{id:t,children:e}):null,ut(\"g\",{clipPath:\"url(#kundo-logo-icon_svg__a)\",transform:\"translate(0 -.934)\",children:ut(\"path\",{d:\"M67.373 9.934c0-3.747 1.825-8.504 8.281-8.504 5.638 0 8.282 3.632 8.282 8.504s-2.644 8.503-8.282 8.503c-6.456 0-8.281-4.757-8.281-8.503m12.398 0c0-1.471-.187-5.378-4.117-5.378-2.128 0-4.093 1.126-4.093 5.378s1.964 5.378 4.093 5.378c3.93 0 4.117-4.022 4.117-5.378M57.805 1.89c1.567 0 7.953.184 7.953 8.02 0 7.838-5.661 8.068-8.305 8.068h-6.69V1.89Zm-3.182 12.962h2.456c3.018 0 4.515-1.54 4.515-4.872 0-4.459-2.667-4.964-4.28-4.964h-2.691Zm-17.381-6.94v10.066h-3.86V1.89h3.906l6.457 9.997h.07V1.89h3.86v16.087h-3.93L37.288 7.911zm-17.1-6.022v9.377c0 2.666.818 4.045 3.228 4.045s3.228-1.264 3.228-4.045V1.89h3.86v9.997c0 1.632-.257 6.55-7.088 6.55-6.83 0-7.088-4.803-7.088-6.55V1.89zm-10.013 0h4.82L8.375 8.555l7.065 9.423h-4.82l-4.912-6.941-1.848 1.838v5.102H0V1.89h3.86v6.55z\"})}),ut(\"defs\",{children:ut(\"clipPath\",{id:\"kundo-logo-icon_svg__a\",children:ut(\"path\",{d:\"M0 .295h83.935v19.41H0z\"})})})]}))},qi=cf});import{jsx as Xi,jsxs as uf}from\"react/jsx-runtime\";var pf,no,Yi=v(()=>{\"use strict\";pf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return uf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Xi(\"title\",{id:t,children:e}):null,Xi(\"path\",{fillRule:\"evenodd\",d:\"M12.01 13.503a.4.4 0 0 1-.21-.063L2 6h20l-9.78 7.44a.4.4 0 0 1-.21.063m-.02.997a1.5 1.5 0 0 0 .82-.26L22 7.27V18H2V7.27l9.21 6.99c.23.156.502.24.78.24\",clipRule:\"evenodd\"})]}))},no=pf});import{jsx as Ji,jsxs as ff}from\"react/jsx-runtime\";var mf,ao,Qi=v(()=>{\"use strict\";mf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ff(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Ji(\"title\",{id:t,children:e}):null,Ji(\"path\",{d:\"M12 2c-2.526.027-4.95.996-6.796 2.715a10.04 10.04 0 0 0-1.061 13.554A10.12 10.12 0 0 0 10.433 22v-7h-2.55v-2.94h2.55V9.84c0-2.52 1.497-3.91 3.786-3.91q1.131.015 2.249.2V8.6h-1.265a1.46 1.46 0 0 0-1.551.932 1.45 1.45 0 0 0-.086.638v1.89h2.791L15.906 15h-2.34v7a10.12 10.12 0 0 0 6.291-3.731 10.043 10.043 0 0 0-1.061-13.554A10.13 10.13 0 0 0 12 2\"})]}))},ao=mf});import{jsx as ji,jsxs as gf}from\"react/jsx-runtime\";var wf,lo,es=v(()=>{\"use strict\";wf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return gf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?ji(\"title\",{id:t,children:e}):null,ji(\"path\",{d:\"m19.94 5.28-5.27 15.08a1 1 0 0 1-1.79.07l-2.56-5.77a2 2 0 0 0-1-1l-5.75-2.54a1 1 0 0 1 .07-1.79l15.08-5.27a1 1 0 0 1 1.22 1.22\"})]}))},lo=wf});import{jsx as mt,jsxs as vf}from\"react/jsx-runtime\";var hf,io,ts=v(()=>{\"use strict\";hf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return vf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?mt(\"title\",{id:t,children:e}):null,mt(\"g\",{clipPath:\"url(#kundo-social-instagram-icon_svg__a)\",children:mt(\"path\",{fillRule:\"evenodd\",d:\"M12 3.8c2.67 0 3 0 4 .06a5.6 5.6 0 0 1 1.86.34 3.33 3.33 0 0 1 1.9 1.9 5.6 5.6 0 0 1 .38 1.9c.05 1 .06 1.37.06 4s0 3-.06 4a5.6 5.6 0 0 1-.34 1.86 3.33 3.33 0 0 1-1.9 1.9 5.6 5.6 0 0 1-1.86.34c-1 .05-1.37.06-4 .06s-3 0-4-.06a5.6 5.6 0 0 1-1.94-.3 3.33 3.33 0 0 1-1.9-1.9 5.6 5.6 0 0 1-.34-1.9c0-.381-.009-.671-.02-1.03-.017-.581-.04-1.343-.04-2.97 0-2.63 0-3 .06-4a5.6 5.6 0 0 1 .34-1.9 3.33 3.33 0 0 1 1.9-1.9A5.6 5.6 0 0 1 8 3.86c.381 0 .671-.009 1.03-.02.581-.017 1.343-.04 2.97-.04M12 2c-2.72 0-3.06 0-4.12.06a7.6 7.6 0 0 0-2.43.46 4.85 4.85 0 0 0-1.77 1.16 4.85 4.85 0 0 0-1.16 1.77 7.6 7.6 0 0 0-.46 2.43C2 8.94 2 9.28 2 12s0 3.06.06 4.12c.02.83.175 1.65.46 2.43a4.85 4.85 0 0 0 1.16 1.77 4.85 4.85 0 0 0 1.77 1.16c.78.285 1.6.44 2.43.46C8.94 22 9.28 22 12 22s3.06 0 4.12-.06a7.6 7.6 0 0 0 2.43-.46 5.2 5.2 0 0 0 2.93-2.93c.285-.78.44-1.6.46-2.43 0-.407.009-.708.02-1.079.017-.594.04-1.366.04-3.041 0-2.72 0-3.06-.06-4.12a7.6 7.6 0 0 0-.46-2.43 4.85 4.85 0 0 0-1.16-1.77 4.85 4.85 0 0 0-1.77-1.16 7.6 7.6 0 0 0-2.43-.46C15.06 2 14.72 2 12 2m0 4.86a5.14 5.14 0 1 0 0 10.28 5.14 5.14 0 0 0 0-10.28m0 8.47a3.33 3.33 0 1 1 0-6.66 3.33 3.33 0 0 1 0 6.66m6.54-8.67a1.2 1.2 0 1 1-2.4 0 1.2 1.2 0 0 1 2.4 0\",clipRule:\"evenodd\"})}),mt(\"defs\",{children:mt(\"clipPath\",{id:\"kundo-social-instagram-icon_svg__a\",children:mt(\"path\",{d:\"M0 0h24v24H0z\"})})})]}))},io=hf});import{jsx as os,jsxs as xf}from\"react/jsx-runtime\";var bf,so,rs=v(()=>{\"use strict\";bf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return xf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?os(\"title\",{id:t,children:e}):null,os(\"path\",{fillRule:\"evenodd\",d:\"M12.153 2.006a9.9 9.9 0 0 0-3.87.636 9.8 9.8 0 0 0-3.307 2.081 9.65 9.65 0 0 0-2.212 3.192 9.5 9.5 0 0 0-.763 3.791 9.3 9.3 0 0 0 .806 3.925 9.5 9.5 0 0 0 2.382 3.245.85.85 0 0 1 .274.57v1.78a.8.8 0 0 0 .384.652.83.83 0 0 0 .763.058l2.03-.88c.178-.06.37-.06.548 0a11.2 11.2 0 0 0 2.965.35 9.92 9.92 0 0 0 6.963-2.84A9.63 9.63 0 0 0 22 11.705a9.63 9.63 0 0 0-2.884-6.859 9.92 9.92 0 0 0-6.963-2.84m6.09 7.46-2.984 4.66a1.5 1.5 0 0 1-1.011.68 1.54 1.54 0 0 1-1.192-.28l-2.375-1.75a.615.615 0 0 0-.731 0l-3.208 2.4a.48.48 0 0 1-.6-.043.47.47 0 0 1-.08-.587l2.974-4.66a1.5 1.5 0 0 1 1.012-.68 1.54 1.54 0 0 1 1.191.28l2.376 1.75a.62.62 0 0 0 .73 0l3.208-2.4a.49.49 0 0 1 .59.055.48.48 0 0 1 .1.575\",clipRule:\"evenodd\"})]}))},so=bf});import{jsx as ns,jsxs as yf}from\"react/jsx-runtime\";var Sf,co,as=v(()=>{\"use strict\";Sf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return yf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 360 362\",\"aria-labelledby\":t},o),{children:[e?ns(\"title\",{id:t,children:e}):null,ns(\"path\",{fillRule:\"evenodd\",d:\"M307.546 52.566C273.709 18.684 228.706.017 180.756 0 81.951 0 1.538 80.404 1.504 179.235c-.017 31.594 8.242 62.432 23.928 89.609L0 361.736l95.024-24.925c26.179 14.285 55.659 21.805 85.655 21.814h.077c98.788 0 179.21-80.413 179.244-179.244.017-47.898-18.608-92.926-52.454-126.807zm-126.79 275.788h-.06c-26.73-.008-52.952-7.194-75.831-20.765l-5.44-3.231-56.391 14.791 15.05-54.981-3.542-5.638c-14.912-23.721-22.793-51.139-22.776-79.286.035-82.14 66.867-148.973 149.051-148.973 39.793.017 77.198 15.53 105.328 43.695 28.131 28.157 43.61 65.596 43.593 105.398-.035 82.149-66.867 148.982-148.982 148.982zm81.719-111.577c-4.478-2.243-26.497-13.073-30.606-14.568-4.108-1.496-7.09-2.243-10.073 2.243-2.982 4.487-11.568 14.577-14.181 17.559-2.613 2.991-5.226 3.361-9.704 1.117-4.477-2.243-18.908-6.97-36.02-22.226-13.313-11.878-22.304-26.54-24.916-31.027-2.613-4.486-.275-6.91 1.959-9.136 2.011-2.011 4.478-5.234 6.721-7.847s2.983-4.486 4.478-7.469c1.496-2.991.748-5.603-.369-7.847-1.118-2.243-10.073-24.289-13.812-33.253-3.636-8.732-7.331-7.546-10.073-7.692-2.613-.13-5.595-.155-8.586-.155s-7.839 1.118-11.947 5.604-15.677 15.324-15.677 37.361 16.047 43.344 18.29 46.335 31.585 48.225 76.51 67.632c10.684 4.615 19.029 7.374 25.535 9.437 10.727 3.412 20.49 2.931 28.208 1.779 8.604-1.289 26.498-10.838 30.228-21.298s3.73-19.433 2.613-21.298-4.108-2.991-8.586-5.234z\",clipRule:\"evenodd\"})]}))},co=Sf});import{jsx as ls,jsxs as Vf}from\"react/jsx-runtime\";var Rf,is,ss=v(()=>{\"use strict\";Rf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Vf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ls(\"title\",{id:t,children:e}):null,ls(\"path\",{d:\"M3 2a1 1 0 0 0-1 1v16a3 3 0 0 0 3 3h16a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1v-2.531l4.94-4.115 4.353 4.353a1 1 0 0 0 1.459-.049l7-8a.999.999 0 1 0-1.504-1.316l-6.297 7.195-4.244-4.244a1 1 0 0 0-1.348-.06L4 13.864V3a1 1 0 0 0-1-1\"})]}))},is=Rf});import{jsx as cs,jsxs as Gf}from\"react/jsx-runtime\";var Pf,ds,ps=v(()=>{\"use strict\";Pf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Gf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?cs(\"title\",{id:t,children:e}):null,cs(\"path\",{fillRule:\"evenodd\",d:\"M13 4a1 1 0 1 0 0 2 1 1 0 0 0 0-2m-3 1a3 3 0 1 1 5.708 1.293l1.999 2a3 3 0 1 1-1.414 1.414l-2-2a3 3 0 0 1-1.797.25l-4.84 5.647a3 3 0 1 1-1.468-1.36l4.535-5.29A3 3 0 0 1 10 5M4 15a1 1 0 1 1 2 0 1 1 0 0 1-2 0m-1 5a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2zm15-9a1 1 0 1 1 2 0 1 1 0 0 1-2 0\",clipRule:\"evenodd\"})]}))},ds=Pf});import{jsx as us,jsxs as If}from\"react/jsx-runtime\";var Cf,ms,fs=v(()=>{\"use strict\";Cf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return If(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?us(\"title\",{id:t,children:e}):null,us(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 1 1 8 0v2H8zm-2 2V8a6 6 0 1 1 12 0v2h1a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3zm-2 3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1z\",clipRule:\"evenodd\"})]}))},ms=Cf});import{jsx as ws,jsxs as Mf}from\"react/jsx-runtime\";var Ef,gs,hs=v(()=>{\"use strict\";Ef=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Mf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ws(\"title\",{id:t,children:e}):null,ws(\"path\",{d:\"M15 2a1 1 0 1 0 0 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4a1 1 0 1 0 0 2h4a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-5 4a1 1 0 0 0-.707 1.707L12.586 11H3a1 1 0 1 0 0 2h9.586l-3.293 3.293a1 1 0 1 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5A1 1 0 0 0 10 6\"})]}))},gs=Ef});import{jsx as vs,jsxs as Nf}from\"react/jsx-runtime\";var Tf,bs,xs=v(()=>{\"use strict\";Tf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Nf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?vs(\"title\",{id:t,children:e}):null,vs(\"path\",{d:\"M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h4a1 1 0 1 0 0-2H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h4a1 1 0 0 0 0-2zm11 4a1 1 0 0 0-.707 1.707L18.586 11H9a1 1 0 1 0 0 2h9.586l-3.293 3.293a1 1 0 1 0 1.414 1.414l5-5a1 1 0 0 0 0-1.414l-5-5A1 1 0 0 0 16 6\"})]}))},bs=Tf});import{jsx as Ss,jsxs as Lf}from\"react/jsx-runtime\";var kf,ys,Rs=v(()=>{\"use strict\";kf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Lf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ss(\"title\",{id:t,children:e}):null,Ss(\"path\",{d:\"M12 1c-4.47 0-9 3.375-9 9 0 3.879 2.206 7.116 4.271 9.31a24.7 24.7 0 0 0 2.868 2.592 22 22 0 0 0 1.224.877l.076.05.022.013.006.004.002.002L12 22l.531.848.002-.002.006-.004.022-.014.076-.049q.098-.063.273-.183c.232-.16.56-.392.951-.694a24.7 24.7 0 0 0 2.868-2.591C18.794 17.116 21 13.879 21 10c0-5.625-4.53-9-9-9m0 21-.53.848a1 1 0 0 0 1.06 0zm0-19c3.53 0 7 2.639 7 7 0 3.121-1.794 5.884-3.729 7.94A22.7 22.7 0 0 1 12 20.79a22.7 22.7 0 0 1-3.271-2.852C6.794 15.884 5 13.121 5 10c0-4.361 3.47-7 7-7m0 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4\"})]}))},ys=kf});import{jsx as Vs,jsxs as zf}from\"react/jsx-runtime\";var Af,Ps,Gs=v(()=>{\"use strict\";Af=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return zf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Vs(\"title\",{id:t,children:e}):null,Vs(\"path\",{d:\"M19.836 2.025c-.36.019-.718.138-1.035.375l-.022.016A12 12 0 0 1 11.025 5H5C3.355 5 2 6.355 2 8v4c0 1.645 1.355 3 3 3h.162c.193 2.45.955 4.824 2.438 6.8.55.734 1.342 1.157 2.117 1.221a3.05 3.05 0 0 0 2.084-.62 3.05 3.05 0 0 0 1.18-1.827c.154-.762-.03-1.641-.58-2.375-.7-.932-1.064-2.036-1.235-3.178 2.757-.037 5.448.85 7.613 2.563l.022.016C20.069 18.55 22 17.585 22 16V4c0-1.189-1.086-2.03-2.164-1.975m.184 1.96L20 4v12l.02.016A14 14 0 0 0 10.975 13H9V7h1.975a14 14 0 0 0 9.045-3.016M5 7h2v6H5c-.564 0-1-.436-1-1V8c0-.564.436-1 1-1m2.162 8h2c.18 1.583.676 3.116 1.639 4.4.25.334.264.554.219.776a1.1 1.1 0 0 1-.42.625 1.1 1.1 0 0 1-.717.228c-.225-.018-.434-.096-.684-.43C7.976 18.97 7.35 17.017 7.162 15\"})]}))},Ps=Af});import{jsx as Cs,jsxs as Bf}from\"react/jsx-runtime\";var Of,Is,Es=v(()=>{\"use strict\";Of=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Bf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?Cs(\"title\",{id:t,children:e}):null,Cs(\"path\",{fillRule:\"evenodd\",d:\"M3 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m0 6a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1m1 5a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2z\",clipRule:\"evenodd\"})]}))},Is=Of});import{jsx as Ms,jsxs as Df}from\"react/jsx-runtime\";var Ff,Ts,Ns=v(()=>{\"use strict\";Ff=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Df(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Ms(\"title\",{id:t,children:e}):null,Ms(\"path\",{d:\"M14 3a1 1 0 0 0-1 1v6c0 .275.111.524.291.705l.004.004a1 1 0 0 0 .701.291H20a1 1 0 1 0 0-2h-3.586l4.293-4.293a1 1 0 1 0-1.414-1.414L15 7.586V4a1 1 0 0 0-1-1M4 13a1 1 0 1 0 0 2h3.586l-4.293 4.293a1 1 0 1 0 1.414 1.414L9 16.414V20a1 1 0 1 0 2 0v-6.004a1 1 0 0 0-.291-.701l-.004-.004A1 1 0 0 0 10 13z\"})]}))},Ts=Ff});import{jsx as ks,jsxs as _f}from\"react/jsx-runtime\";var Hf,Ls,As=v(()=>{\"use strict\";Hf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return _f(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?ks(\"title\",{id:t,children:e}):null,ks(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m-4 8a1 1 0 1 0 0 2h8a1 1 0 1 0 0-2z\"})]}))},Ls=Hf});import{jsx as zs,jsxs as Kf}from\"react/jsx-runtime\";var Wf,Os,Bs=v(()=>{\"use strict\";Wf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Kf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?zs(\"title\",{id:t,children:e}):null,zs(\"path\",{fillRule:\"evenodd\",d:\"M4 12a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},Os=Wf});import{jsx as Fs,jsxs as $f}from\"react/jsx-runtime\";var Uf,po,Ds=v(()=>{\"use strict\";Uf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return $f(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 16 16\",\"aria-labelledby\":t},o),{children:[e?Fs(\"title\",{id:t,children:e}):null,Fs(\"rect\",{width:10,height:2,x:3,y:7,rx:1})]}))},po=Uf});import{jsx as Hs,jsxs as Zf}from\"react/jsx-runtime\";var qf,_s,Ws=v(()=>{\"use strict\";qf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Zf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Hs(\"title\",{id:t,children:e}):null,Hs(\"path\",{d:\"M12 1a1 1 0 0 0-.707.293l-3 3a1 1 0 1 0 1.414 1.414L11 4.414V11H4.414l1.293-1.293a1 1 0 1 0-1.414-1.414l-3 3a1 1 0 0 0 0 1.414l3 3a1 1 0 1 0 1.414-1.414L4.414 13H11v6.586l-1.293-1.293a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414L13 19.586V13h6.586l-1.293 1.293a1 1 0 1 0 1.414 1.414l3-3a1 1 0 0 0 0-1.414l-3-3a1 1 0 1 0-1.414 1.414L19.586 11H13V4.414l1.293 1.293a1 1 0 1 0 1.414-1.414l-3-3A1 1 0 0 0 12 1\"})]}))},_s=qf});import{jsx as Yo,jsxs as Yf}from\"react/jsx-runtime\";var Xf,uo,Ks=v(()=>{\"use strict\";Xf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Yf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",fillRule:\"evenodd\",viewBox:\"0 0 14 14\",\"aria-labelledby\":t},o),{children:[e?Yo(\"title\",{id:t,children:e}):null,Yo(\"path\",{d:\"M10 8a1 1 0 0 0-1 1v3H2V5h3a1 1 0 1 0 0-2H1a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1\"}),Yo(\"path\",{d:\"M13 0H8a1 1 0 1 0 0 2h2.586L4.293 8.293a.999.999 0 1 0 1.414 1.414L12 3.414V6a1 1 0 1 0 2 0V1a1 1 0 0 0-1-1\"})]}))},uo=Xf});import{jsx as Us,jsxs as Qf}from\"react/jsx-runtime\";var Jf,$s,qs=v(()=>{\"use strict\";Jf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Qf(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Us(\"title\",{id:t,children:e}):null,Us(\"path\",{fillRule:\"evenodd\",d:\"M22 13.207a3 3 0 0 1-.885 2.128l-5.825 5.792a3 3 0 0 1-2.115.873H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a3 3 0 0 1 3 3zM20 12h-5a3 3 0 0 0-3 3v5H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1zm-.379 2L14 19.59V15a1 1 0 0 1 1-1z\",clipRule:\"evenodd\"})]}))},$s=Jf});import{jsx as Zs,jsxs as ew}from\"react/jsx-runtime\";var jf,Xs,Ys=v(()=>{\"use strict\";jf=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ew(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Zs(\"title\",{id:t,children:e}):null,Zs(\"path\",{fillRule:\"evenodd\",d:\"M17.293 5.121a1 1 0 0 1 1.414 0l.172.172a1 1 0 0 1 0 1.414L18 7.586 16.414 6zM15 7.414l-8.148 8.148-1.057 2.643 2.643-1.057L16.586 9zm5.121-3.707a3 3 0 0 0-4.242 0L5.293 14.293a1 1 0 0 0-.221.336l-2 5a1 1 0 0 0 1.3 1.3l5-2a1 1 0 0 0 .335-.222L20.293 8.121a3 3 0 0 0 0-4.242z\",clipRule:\"evenodd\"})]}))},Xs=jf});import{jsx as Js,jsxs as ow}from\"react/jsx-runtime\";var tw,Qs,js=v(()=>{\"use strict\";tw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return ow(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",\"aria-labelledby\":t},o),{children:[e?Js(\"title\",{id:t,children:e}):null,Js(\"path\",{fillRule:\"evenodd\",d:\"M14.6 3.1c-.067-.267-.2-.467-.4-.667s-.4-.333-.6-.466c-.267-.067-.533-.134-.8-.134H11c-.4 0-.867.134-1.267.467a2 2 0 0 0-.666 1.133 5.8 5.8 0 0 1-.4 1.534c-.134.333-.134.666-.067 1.066s.267.667.533.934l.067.066c.2.2.267.467.133.734-.6.8-1.266 1.466-2.066 2.066-.267.2-.534.067-.734-.133l-.066-.067c-.267-.266-.6-.4-.934-.466C5.2 9.1 4.8 9.1 4.467 9.233c-.534.2-1 .334-1.534.4a1.83 1.83 0 0 0-1.2.667c-.266.267-.4.733-.4 1.2v1.8c0 .267.067.533.134.733.133.267.266.467.466.6.2.2.4.334.667.4.2.067.4.134.6.134h.2c1.933-.2 3.867-.867 5.467-1.934 1.533-1 2.866-2.266 3.8-3.8A12.5 12.5 0 0 0 14.6 3.9a1.6 1.6 0 0 0 0-.8m-3 5.6a11.8 11.8 0 0 1-3.4 3.4c-1.533.933-3.2 1.533-4.933 1.733h-.2c-.067 0-.134-.066-.2-.133-.067-.067-.067-.133-.134-.2-.066-.067-.066-.133-.066-.2v-1.8a.5.5 0 0 1 .133-.333c.067-.134.2-.2.333-.2C3.733 10.9 4.4 10.7 5 10.5c.067 0 .133-.067.2-.067h.133c.134 0 .2.067.267.134l.067.066c.666.667 1.666.8 2.4.267a11.4 11.4 0 0 0 2.4-2.333c.533-.734.4-1.734-.267-2.467-.2-.133-.2-.267-.267-.333v-.334c.2-.6.4-1.2.467-1.8 0-.133.067-.266.2-.333s.267-.133.4-.133h1.8c.067 0 .133 0 .2.066.067 0 .133.067.2.134.067.066.067.133.133.2v.2c-.2 1.733-.8 3.4-1.733 4.933\",clipRule:\"evenodd\"})]}))},Qs=tw});import{jsx as e1,jsxs as nw}from\"react/jsx-runtime\";var rw,t1,o1=v(()=>{\"use strict\";rw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return nw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?e1(\"title\",{id:t,children:e}):null,e1(\"path\",{fillRule:\"evenodd\",d:\"M21.3 2.9c.3.3.5.6.6 1q.15.6 0 1.2c-.3 3-1.3 5.8-2.9 8.3-1.4 2.3-3.4 4.2-5.7 5.7-2.4 1.6-5.3 2.6-8.2 2.9h-.3c-.3 0-.6-.1-.9-.2-.4-.1-.7-.3-1-.6-.3-.2-.5-.5-.7-.9-.1-.3-.2-.7-.2-1.1v-2.7c0-.7.2-1.4.6-1.8.5-.6 1.1-.9 1.8-1 .8-.1 1.5-.3 2.3-.6.5-.2 1.1-.2 1.6-.1s1 .3 1.4.7l.1.1c.3.3.7.5 1.1.2 1.2-.9 2.2-1.9 3.1-3.1.2-.4.1-.8-.2-1.1l-.1-.1c-.4-.4-.7-.8-.8-1.4s-.1-1.1.1-1.6c.3-.7.5-1.5.6-2.3.1-.6.5-1.3 1-1.7.6-.5 1.3-.7 1.9-.7h2.7c.4 0 .8.1 1.2.2.3.2.6.4.9.7m-9 14.5c2-1.3 3.8-3.1 5.1-5.1 1.4-2.3 2.3-4.8 2.6-7.4v-.3c-.05-.05-.075-.1-.1-.15a.5.5 0 0 0-.1-.15c-.1-.1-.2-.2-.3-.2-.1-.1-.2-.1-.3-.1h-2.7c-.2 0-.4.1-.6.2s-.3.3-.3.5c-.1.9-.4 1.8-.7 2.7v.5a.5.5 0 0 1 .082.13.85.85 0 0 0 .318.37c1 1.1 1.2 2.6.4 3.7-1 1.3-2.2 2.5-3.6 3.5-1.1.8-2.6.6-3.6-.4l-.1-.1c-.1-.1-.2-.2-.4-.2h-.2c-.05 0-.1.025-.15.05s-.1.05-.15.05c-.9.3-1.9.6-2.8.7-.2 0-.4.1-.5.3-.1.1-.2.3-.2.5v2.7c0 .1 0 .2.1.3.05.05.075.1.1.15s.05.1.1.15c.1.1.2.2.3.2h.3c2.6-.3 5.1-1.2 7.4-2.6M5 7H3c-.6 0-1-.4-1-1s.4-1 1-1h2V3c0-.6.4-1 1-1s1 .4 1 1v2h2c.6 0 1 .4 1 1s-.4 1-1 1H7v2c0 .6-.4 1-1 1s-1-.4-1-1z\",clipRule:\"evenodd\"})]}))},t1=rw});import{jsx as r1,jsxs as lw}from\"react/jsx-runtime\";var aw,n1,a1=v(()=>{\"use strict\";aw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return lw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?r1(\"title\",{id:t,children:e}):null,r1(\"path\",{fillRule:\"evenodd\",d:\"M11 3.055A9.001 9.001 0 0 0 12 21a8.97 8.97 0 0 0 6.14-2.42l-6.092-5.222A3 3 0 0 1 11 11.08zm8.442 14.007A9 9 0 0 0 13 3.055v8.025a1 1 0 0 0 .35.76zM12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1\",clipRule:\"evenodd\"})]}))},n1=aw});import{jsx as l1,jsxs as sw}from\"react/jsx-runtime\";var iw,i1,s1=v(()=>{\"use strict\";iw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return sw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?l1(\"title\",{id:t,children:e}):null,l1(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m0 4a1 1 0 0 0-1 1v3H8a1 1 0 1 0 0 2h3v3a1 1 0 1 0 2 0v-3h3a1 1 0 1 0 0-2h-3V8a1 1 0 0 0-1-1\"})]}))},i1=iw});import{jsx as c1,jsxs as dw}from\"react/jsx-runtime\";var cw,d1,p1=v(()=>{\"use strict\";cw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return dw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?c1(\"title\",{id:t,children:e}):null,c1(\"path\",{fillRule:\"evenodd\",d:\"M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6z\",clipRule:\"evenodd\"})]}))},d1=cw});import{jsx as u1,jsxs as uw}from\"react/jsx-runtime\";var pw,ft,m1=v(()=>{\"use strict\";pw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return uw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?u1(\"title\",{id:t,children:e}):null,u1(\"path\",{d:\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1m0 2a9 9 0 1 1 0 18 9 9 0 0 1 0-18m-.049 2a4.04 4.04 0 0 0-3.918 2.996 1 1 0 1 0 1.934.508A2.04 2.04 0 0 1 11.95 7C13.097 7 14 7.91 14 9c0 .637-.305 1.208-.791 1.578-.448.34-.995.781-1.43 1.313-.439.536-.828 1.243-.828 2.109v1a1 1 0 1 0 2 0v-1c0-.239.105-.51.377-.842.277-.338.66-.66 1.092-.988A3.98 3.98 0 0 0 16 9c0-2.224-1.828-4-4.049-4M12 17a1 1 0 1 0 0 2 1 1 0 0 0 0-2\"})]}))},ft=pw});import{jsx as f1,jsxs as fw}from\"react/jsx-runtime\";var mw,w1,g1=v(()=>{\"use strict\";mw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return fw(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?f1(\"title\",{id:t,children:e}):null,f1(\"path\",{d:\"M7.614 2.175A5.614 5.614 0 0 0 2 7.79v8.422l.005.29a5.615 5.615 0 0 0 5.321 5.315l.288.009h8.421v-2.106H7.614a3.51 3.51 0 0 1-3.509-3.508V7.789a3.51 3.51 0 0 1 3.509-3.508h8.421a3.51 3.51 0 0 1 3.509 3.508h2.105c0-3.1-2.513-5.614-5.614-5.614zm4.816 4.567c-.268.025-.526.15-.712.373L7.647 12l4.07 4.885a1.054 1.054 0 0 0 1.618-1.349l-2.07-2.483h3.367c2.912 0 4.017.797 4.558 1.798.308.57.497 1.311.598 2.27.1.958.107 2.05.107 3.3a1.053 1.053 0 0 0 2.105 0c0-1.232-.007-2.434-.12-3.52-.115-1.085-.342-2.139-.837-3.053-1.065-1.968-3.12-2.9-6.411-2.9h-3.367l2.07-2.484a1.054 1.054 0 0 0-.905-1.722\"})]}))},w1=mw});import{jsx as h1,jsxs as gw}from\"react/jsx-runtime\";var ww,v1,b1=v(()=>{\"use strict\";ww=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return gw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?h1(\"title\",{id:t,children:e}):null,h1(\"path\",{d:\"M13 2c-5.387 0-9.78 4.26-9.992 9.594l-1.301-1.301a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.281 1.281A8 8 0 1 1 13 20a7.98 7.98 0 0 1-5.963-2.666 1 1 0 0 0-1.49 1.332A9.98 9.98 0 0 0 13 22c5.523 0 10-4.477 10-10S18.523 2 13 2\"})]}))},v1=ww});import{jsx as x1,jsxs as vw}from\"react/jsx-runtime\";var hw,S1,y1=v(()=>{\"use strict\";hw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return vw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?x1(\"title\",{id:t,children:e}):null,x1(\"path\",{d:\"M11 2C5.477 2 1 6.477 1 12s4.477 10 10 10a9.98 9.98 0 0 0 7.453-3.334 1 1 0 0 0-1.49-1.332A7.98 7.98 0 0 1 11 20a8 8 0 1 1 7.988-8.426l-1.281-1.281a1 1 0 1 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 1 0-1.414-1.414l-1.3 1.3C20.778 6.26 16.386 2 11 2\"})]}))},S1=hw});import{jsx as R1,jsxs as xw}from\"react/jsx-runtime\";var bw,V1,P1=v(()=>{\"use strict\";bw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return xw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?R1(\"title\",{id:t,children:e}):null,R1(\"path\",{d:\"M7 8a1.5 1.5 0 0 1 .75 2.798V14H18a4 4 0 0 1 4 4v1a4 4 0 0 1-3.794 3.995L18 23H6l-.206-.005a4 4 0 0 1-3.79-3.789L2 19v-1a4 4 0 0 1 4-4h.25v-3.202A1.498 1.498 0 0 1 7 8m-1 8a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2zm3 1.75a.75.75 0 0 1 0 1.5H8a.75.75 0 0 1 0-1.5zm4 0a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1 0-1.5zM7 4a5 5 0 0 1 5 5 1 1 0 1 1-2 0 3 3 0 0 0-3-3 1 1 0 0 1 0-2m0-4a9 9 0 0 1 9 9 1 1 0 1 1-2 0 7 7 0 0 0-7-7 1 1 0 0 1 0-2\"})]}))},V1=bw});import{jsx as G1,jsxs as yw}from\"react/jsx-runtime\";var Sw,mo,C1=v(()=>{\"use strict\";Sw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return yw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?G1(\"title\",{id:t,children:e}):null,G1(\"path\",{fillRule:\"evenodd\",d:\"M4 11a7 7 0 1 1 14 0 7 7 0 0 1-14 0m7-9a9 9 0 1 0 5.618 16.032l3.675 3.675a1 1 0 0 0 1.414-1.414l-3.675-3.675A9 9 0 0 0 11 2\",clipRule:\"evenodd\"})]}))},mo=Sw});import{jsx as I1,jsxs as Vw}from\"react/jsx-runtime\";var Rw,E1,M1=v(()=>{\"use strict\";Rw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Vw(\"svg\",c(i({fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?I1(\"title\",{id:t,children:e}):null,I1(\"path\",{d:\"M12 1c3.208 2.2 9.625 3.3 9.625 3.3v8.36L21.62 13c-.122 3.495-2.128 6.635-5.236 8.02L12 23l-4.384-1.98c-3.108-1.386-5.114-4.526-5.236-8.021l-.005-.338V4.3S8.792 3.2 12 1m0 2.404c-1.745.934-3.824 1.608-5.47 2.06-.777.212-1.496.382-2.092.516v6.68c0 2.696 1.411 5.084 3.574 6.258l.443.218.01.005L12 20.736l3.536-1.595.009-.005c2.41-1.075 4.017-3.6 4.018-6.475V5.98a46 46 0 0 1-2.093-.518c-1.646-.451-3.725-1.125-5.47-2.06m3.396 5.117a1.031 1.031 0 1 1 1.458 1.458l-6.229 6.23-3.48-3.48a1.031 1.031 0 1 1 1.46-1.458l2.02 2.02z\"})]}))},E1=Rw});import{jsx as T1,jsxs as Gw}from\"react/jsx-runtime\";var Pw,N1,k1=v(()=>{\"use strict\";Pw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Gw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?T1(\"title\",{id:t,children:e}):null,T1(\"path\",{fillRule:\"evenodd\",d:\"M12 4c-5.19 0-9 3.33-9 7 0 1.916.995 3.941 2.617 5.213.009.007.343.38.441.674.106.318.142.714.048 1.184-.1.494-.34 1.066-.789 1.735l.269-.042c1.484-.248 2.948-.713 3.707-1.471A1 1 0 0 1 10 18h2c5.19 0 9-3.33 9-7s-3.81-7-9-7M2.076 21.383a1 1 0 0 1 .217-1.09c1.568-1.568 1.833-2.42 1.863-2.69C2.208 15.963 1 13.466 1 11c0-5.167 5.145-9 11-9s11 3.833 11 9-5.145 9-11 9h-1.615c-1.251 1.035-3.08 1.505-4.47 1.736a20 20 0 0 1-2.668.26c-.205.005-.961-.107-1.17-.613Z\",clipRule:\"evenodd\"})]}))},N1=Pw});import{jsx as L1,jsxs as Iw}from\"react/jsx-runtime\";var Cw,A1,z1=v(()=>{\"use strict\";Cw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Iw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?L1(\"title\",{id:t,children:e}):null,L1(\"path\",{fillRule:\"evenodd\",d:\"M3 9.111C3 5.96 6.37 3 11 3s8 2.959 8 6.111q-.002.712-.21 1.383A8.1 8.1 0 0 0 16 10c-3.434 0-6.601 2.182-6.965 5.29a1.6 1.6 0 0 0-.636.324c-.414.285-1.49.938-3.417 1.235.264-.488.5-1.058.608-1.67.177-.78-.23-1.372-.395-1.61l-.026-.04a1 1 0 0 0-.175-.197C3.759 12.265 3 10.668 3 9.112Zm6.244 8.34C8.276 18.05 6.258 19 2.9 19a1 1 0 0 1-.704-1.71v-.001l.007-.006.034-.036.141-.154a7 7 0 0 0 .46-.582c.356-.503.684-1.11.784-1.69l-.009-.017-.032-.051C1.997 13.332 1 11.24 1 9.11 1 4.441 5.73 1 11 1s10 3.441 10 8.111a6.7 6.7 0 0 1-.42 2.329c1.457 1.053 2.42 2.613 2.42 4.449 0 1.502-.66 2.977-1.724 4.01.078.3.249.621.446.908a5 5 0 0 0 .372.471l.02.022.002.001A1 1 0 0 1 21.4 23c-2.506 0-3.949-.792-4.57-1.222H16c-3.068 0-5.922-1.741-6.756-4.328ZM21 15.888C21 13.934 18.949 12 16 12s-5 1.934-5 3.889 2.051 3.889 5 3.889h.96c.36 0 .716.111.988.342.205.144.686.446 1.51.655a4 4 0 0 1-.18-.659c-.141-.66.196-1.16.307-1.326l.018-.026a1 1 0 0 1 .172-.2C20.532 17.89 21 16.875 21 15.89Z\",clipRule:\"evenodd\"})]}))},A1=Cw});import{jsx as O1,jsxs as Mw}from\"react/jsx-runtime\";var Ew,B1,F1=v(()=>{\"use strict\";Ew=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Mw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?O1(\"title\",{id:t,children:e}):null,O1(\"path\",{d:\"M12 3a1 1 0 0 0-.895.553l-6 12a1 1 0 0 0 .448 1.342 1 1 0 0 0 1.342-.448L8.617 13h6.766l1.722 3.447a1 1 0 0 0 1.342.448 1 1 0 0 0 .448-1.342l-6-12A1 1 0 0 0 12 3m0 3.236L14.383 11H9.617Zm9.293 11.057L18 20.586l-1.293-1.293a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0 0-1.414 1 1 0 0 0-1.414 0\"})]}))},B1=Ew});import{jsx as Jo,jsxs as Nw}from\"react/jsx-runtime\";var Tw,fo,D1=v(()=>{\"use strict\";Tw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Nw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Jo(\"title\",{id:t,children:e}):null,Jo(\"path\",{fill:\"#eee\",fillRule:\"evenodd\",d:\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14m0 3c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\",clipRule:\"evenodd\"}),Jo(\"path\",{fill:\"currentColor\",d:\"M2 12C2 6.477 6.477 2 12 2v3a7 7 0 0 0-7 7z\"})]}))},fo=Tw});import{jsx as H1,jsxs as Lw}from\"react/jsx-runtime\";var kw,_1,W1=v(()=>{\"use strict\";kw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Lw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?H1(\"title\",{id:t,children:e}):null,H1(\"path\",{fillRule:\"evenodd\",d:\"M13.794 3.374c-.734-1.486-2.854-1.486-3.587 0L8.246 7.346l-4.387.642c-1.64.24-2.293 2.255-1.106 3.411l3.173 3.09-.749 4.365c-.28 1.634 1.435 2.88 2.902 2.108L12 18.9l3.921 2.062c1.467.771 3.183-.474 2.902-2.108l-.748-4.365 3.172-3.09c1.188-1.156.534-3.172-1.106-3.411l-4.386-.642z\",clipRule:\"evenodd\"})]}))},_1=kw});import{jsx as K1,jsxs as zw}from\"react/jsx-runtime\";var Aw,U1,$1=v(()=>{\"use strict\";Aw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return zw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?K1(\"title\",{id:t,children:e}):null,K1(\"path\",{fillRule:\"evenodd\",d:\"M10.207 3.374c.733-1.486 2.853-1.486 3.587 0l1.96 3.972 4.387.642c1.64.24 2.294 2.255 1.106 3.411l-3.172 3.09.748 4.365c.28 1.634-1.435 2.88-2.902 2.108l-3.92-2.062-3.922 2.062c-1.467.771-3.182-.474-2.902-2.108l.749-4.365-3.173-3.09C1.566 10.243 2.22 8.227 3.86 7.988l4.387-.642zm3.754 4.858-1.96-3.973-1.962 3.973a2 2 0 0 1-1.504 1.093l-4.386.642 3.172 3.09a2 2 0 0 1 .576 1.77l-.749 4.365 3.921-2.062a2 2 0 0 1 1.862 0l3.921 2.062-.748-4.364a2 2 0 0 1 .575-1.771l3.173-3.09-4.387-.642a2 2 0 0 1-1.504-1.093\",clipRule:\"evenodd\"})]}))},U1=Aw});import{jsx as q1,jsxs as Bw}from\"react/jsx-runtime\";var Ow,Z1,X1=v(()=>{\"use strict\";Ow=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Bw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?q1(\"title\",{id:t,children:e}):null,q1(\"path\",{d:\"M18.229 2.865a1 1 0 0 1 1.543 1.271l-1.156 1.401a9.22 9.22 0 0 1 2.617 5.9l1.06-1.06a1 1 0 0 1 1.414 1.413l-2.75 2.75a1 1 0 0 1-1.414 0l-2.75-2.75a1 1 0 0 1 1.414-1.414l1.017 1.016a7.22 7.22 0 0 0-1.889-4.298L8.207 18.178A7.2 7.2 0 0 0 12 19.25a7.22 7.22 0 0 0 4.833-1.845 1 1 0 0 1 1.334 1.49A9.22 9.22 0 0 1 12 21.25a9.2 9.2 0 0 1-5.074-1.516l-1.154 1.402a1 1 0 0 1-1.543-1.271l1.154-1.403a9.22 9.22 0 0 1-2.615-5.898l-1.06 1.06A1 1 0 0 1 .292 12.21l2.75-2.75a1 1 0 0 1 1.414 0l2.75 2.75a1 1 0 0 1-1.414 1.414L4.777 12.61a7.22 7.22 0 0 0 1.887 4.298l9.128-11.085A7.2 7.2 0 0 0 12 4.75a7.2 7.2 0 0 0-4.556 1.61 1 1 0 0 1-1.258-1.554A9.2 9.2 0 0 1 12 2.75c1.874 0 3.617.558 5.073 1.516z\"})]}))},Z1=Ow});import{jsx as Y1,jsxs as Dw}from\"react/jsx-runtime\";var Fw,J1,Q1=v(()=>{\"use strict\";Fw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Dw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?Y1(\"title\",{id:t,children:e}):null,Y1(\"path\",{d:\"M17 1a1 1 0 0 0-.707 1.707L18.586 5H7a5 5 0 0 0-5 5v2a1 1 0 1 0 2 0v-2a3 3 0 0 1 3-3h11.586l-2.293 2.293a1 1 0 1 0 1.414 1.414l4-4a1 1 0 0 0 .291-.658L22 6l-4.293-4.707A1 1 0 0 0 17 1m4.924 4.617L22 5.99a1 1 0 0 0-.076-.373M21 11a1 1 0 0 0-1 1v2a3 3 0 0 1-3 3H5.414l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0-.217.322 1 1 0 0 0 0 .768 1 1 0 0 0 .217.324l4 4a1 1 0 1 0 1.414-1.414L5.414 19H17a5 5 0 0 0 5-5v-2a1 1 0 0 0-1-1\"})]}))},J1=Fw});import{jsx as j1,jsxs as _w}from\"react/jsx-runtime\";var Hw,e0,t0=v(()=>{\"use strict\";Hw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return _w(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?j1(\"title\",{id:t,children:e}):null,j1(\"path\",{d:\"M13.828 2a3 3 0 0 0-2.121.879l-9 9a3 3 0 0 0 0 4.242l5.172 5.172a3 3 0 0 0 4.242 0l9-9A3 3 0 0 0 22 10.172V5a3 3 0 0 0-3-3zm-.707 2.293A1 1 0 0 1 13.828 4H19a1 1 0 0 1 1 1v5.172a1 1 0 0 1-.293.707l-9 9a1 1 0 0 1-1.414 0L4.12 14.707a1 1 0 0 1 0-1.414zM17 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"})]}))},e0=Hw});import{jsx as o0,jsxs as Kw}from\"react/jsx-runtime\";var Ww,r0,n0=v(()=>{\"use strict\";Ww=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Kw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?o0(\"title\",{id:t,children:e}):null,o0(\"path\",{d:\"M7 3a1 1 0 0 0-1 1v13.586l-2.293-2.293a1 1 0 0 0-1.414 0 1 1 0 0 0 0 1.414l4 4A1 1 0 0 0 7 21a1 1 0 0 0 .707-.293l4-4a1 1 0 0 0 0-1.414 1 1 0 0 0-1.414 0L8 17.586V4a1 1 0 0 0-1-1m4 0a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 1 1 0 0 0-1-1Zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1 1 1 0 0 0-1-1Zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 1 1 0 0 0-1-1z\"})]}))},r0=Ww});import{jsx as a0,jsxs as $w}from\"react/jsx-runtime\";var Uw,l0,i0=v(()=>{\"use strict\";Uw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return $w(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?a0(\"title\",{id:t,children:e}):null,a0(\"path\",{d:\"M7 3a1 1 0 0 0-.707.293l-4 4a1 1 0 0 0 0 1.414 1 1 0 0 0 1.414 0L6 6.414V20a1 1 0 0 0 1 1 1 1 0 0 0 1-1V6.414l2.293 2.293a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414l-4-4A1 1 0 0 0 7 3m4 8a1 1 0 0 0-1 1 1 1 0 0 0 1 1h4a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1 1 1 0 0 0-1-1zm0 4a1 1 0 0 0-1 1 1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 1 1 0 0 0-1-1z\"})]}))},l0=Uw});import{jsx as s0,jsxs as Zw}from\"react/jsx-runtime\";var qw,c0,d0=v(()=>{\"use strict\";qw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Zw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?s0(\"title\",{id:t,children:e}):null,s0(\"path\",{fillRule:\"evenodd\",d:\"M11.798 21.598c1.004.473 2.05-.058 2.47-.899L17.618 14H19a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H6.64a3 3 0 0 0-2.942 2.412l-1.2 6A3 3 0 0 0 5.439 14H9v4c0 1.051.505 1.86 1.072 2.427.56.559 1.23.938 1.727 1.171ZM18 4h1a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-1zm-2 0v8.764l-3.48 6.961c-.358-.179-.74-.419-1.035-.713C11.163 18.69 11 18.362 11 18v-4a2 2 0 0 0-2-2H5.44a1 1 0 0 1-.981-1.196l1.2-6A1 1 0 0 1 6.639 4zm-3.48 15.725.129.063a.18.18 0 0 0-.137-.005c-.023.01-.03.02-.032.022z\",clipRule:\"evenodd\"})]}))},c0=qw});import{jsx as p0,jsxs as Yw}from\"react/jsx-runtime\";var Xw,u0,m0=v(()=>{\"use strict\";Xw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Yw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?p0(\"title\",{id:t,children:e}):null,p0(\"path\",{fillRule:\"evenodd\",d:\"M12.202 2.402c-1.004-.473-2.05.058-2.47.899L6.381 10H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h12.36a3 3 0 0 0 2.942-2.412l1.2-6A3 3 0 0 0 18.56 10H15V6c0-1.051-.504-1.86-1.071-2.427-.56-.559-1.23-.938-1.727-1.171M8 20h9.36a1 1 0 0 0 .981-.804l1.2-6a1 1 0 0 0-.98-1.196H15a2 2 0 0 1-2-2V6c0-.361-.163-.69-.485-1.012-.295-.295-.677-.534-1.034-.713l.04-.08c-.002.003-.01.013-.033.022a.18.18 0 0 1-.137-.005q.064.03.13.063L8 11.236zm-2 0v-8H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1z\",clipRule:\"evenodd\"})]}))},u0=Xw});import{jsx as f0,jsxs as Qw}from\"react/jsx-runtime\";var Jw,w0,g0=v(()=>{\"use strict\";Jw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return Qw(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?f0(\"title\",{id:t,children:e}):null,f0(\"path\",{d:\"M14.63 11.287c.655-1.717 3.085-1.717 3.74 0l3.565 9.358a1 1 0 0 1-1.869.712l-1.14-2.99h-4.852l-1.14 2.99a1 1 0 0 1-1.869-.712zm.206 5.08h3.329L16.5 12zM7.5 2a1 1 0 0 1 1 1v2H12a1 1 0 1 1 0 2h-1.094c-.287 1.61-1.22 3.15-2.339 4.41a14 14 0 0 0 2.835 1.675 1 1 0 1 1-.804 1.83 16 16 0 0 1-3.48-2.1c-1.231 1.03-2.608 1.822-3.864 2.152a1 1 0 1 1-.508-1.934c.851-.223 1.886-.787 2.877-1.579a10.8 10.8 0 0 1-1.486-1.95 1 1 0 0 1 1.726-1.009c.309.527.72 1.062 1.212 1.582C7.96 9.081 8.595 8.008 8.86 7H3a1 1 0 0 1 0-2h3.5V3a1 1 0 0 1 1-1\"})]}))},w0=Jw});import{jsx as h0,jsxs as e2}from\"react/jsx-runtime\";var jw,v0,b0=v(()=>{\"use strict\";jw=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return e2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?h0(\"title\",{id:t,children:e}):null,h0(\"path\",{fillRule:\"evenodd\",d:\"M9 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1H9zM7 6V5a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1h4a1 1 0 1 1 0 2h-1v11a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V8H3a1 1 0 0 1 0-2zM6 8h12v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm4 2a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1m5 1a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0z\",clipRule:\"evenodd\"})]}))},v0=jw});import{jsx as x0,jsxs as o2}from\"react/jsx-runtime\";var t2,S0,y0=v(()=>{\"use strict\";t2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return o2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?x0(\"title\",{id:t,children:e}):null,x0(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 0 1 7.668-1.6 1 1 0 1 0 1.832-.8A6.001 6.001 0 0 0 6 8v2H5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H8zm-1 4H5a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\",clipRule:\"evenodd\"})]}))},S0=t2});import{jsx as R0,jsxs as n2}from\"react/jsx-runtime\";var r2,V0,P0=v(()=>{\"use strict\";r2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return n2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?R0(\"title\",{id:t,children:e}):null,R0(\"path\",{fillRule:\"evenodd\",d:\"M12.707 1.293a1 1 0 0 0-1.414 0L8.879 3.707A1 1 0 0 1 8.172 4H5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3h-3.172a1 1 0 0 1-.707-.293zM10.293 5.12 12 3.414l1.707 1.707A3 3 0 0 0 15.828 6H19a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1c0-2.386-1.32-5.159-3.982-6.375a4 4 0 1 0-6.036 0C6.32 14.841 5 17.614 5 20a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h3.172a3 3 0 0 0 2.12-.879ZM7 20h10c0-2.339-1.684-5-5-5s-5 2.661-5 5m5-11a2 2 0 1 0 0 4 2 2 0 0 0 0-4\",clipRule:\"evenodd\"})]}))},V0=r2});import{jsx as G0,jsxs as l2}from\"react/jsx-runtime\";var a2,C0,I0=v(()=>{\"use strict\";a2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return l2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?G0(\"title\",{id:t,children:e}):null,G0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h8a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c2.074 0 3.96.701 5.377 1.832a1 1 0 0 0 1.248-1.564 10.3 10.3 0 0 0-2.854-1.6A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m11.082 12.004a1 1 0 0 0-.863.371l-3.301 4.127-1.211-1.209a1 1 0 1 0-1.414 1.414l2 2a.998.998 0 0 0 1.488-.082l4-5a1 1 0 0 0-.699-1.621\"})]}))},C0=a2});import{jsx as E0,jsxs as s2}from\"react/jsx-runtime\";var i2,M0,T0=v(()=>{\"use strict\";i2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return s2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?E0(\"title\",{id:t,children:e}):null,E0(\"path\",{d:\"M8 1C4.146 1 1 4.146 1 8s3.146 7 7 7a1 1 0 0 0 1-1 1 1 0 0 0-1-1c-2.773 0-5-2.227-5-5s2.227-5 5-5a4.994 4.994 0 0 1 4.932 4.166 1 1 0 0 0 1.15.82 1 1 0 0 0 .82-1.152A7.01 7.01 0 0 0 8 1m0 3a1 1 0 0 0-1 1v2.752c0 .424.169.831.469 1.13l1.824 1.825a1 1 0 0 0 1.414 0 1 1 0 0 0 0-1.414L9 7.586V5a1 1 0 0 0-1-1m8 5c-2.197 0-4 1.803-4 4 0 1.021.39 1.957 1.027 2.666a7.05 7.05 0 0 0-3.793 4.537 2.2 2.2 0 0 0 .504 2.018c.46.498 1.112.779 1.817.779h8.89c.705 0 1.357-.28 1.817-.78.46-.498.702-1.274.504-2.017a7.05 7.05 0 0 0-3.793-4.537A3.98 3.98 0 0 0 20 13c0-2.197-1.803-4-4-4m0 2c1.116 0 2 .884 2 2s-.884 2-2 2-2-.884-2-2 .884-2 2-2m0 6c2.311 0 4.264 1.59 4.832 3.719.023.087.017.083-.041.146a.5.5 0 0 1-.346.135h-8.89a.5.5 0 0 1-.346-.135c-.058-.063-.064-.06-.041-.146C11.736 18.589 13.688 17 16 17\",color:\"currentColor\"})]}))},M0=i2});import{jsx as N0,jsxs as d2}from\"react/jsx-runtime\";var c2,k0,L0=v(()=>{\"use strict\";c2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return d2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?N0(\"title\",{id:t,children:e}):null,N0(\"path\",{fillRule:\"evenodd\",d:\"M8 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0m4-6a6 6 0 0 0-3.77 10.668c-2.868 1.057-5.106 3.287-5.911 6.08a2.42 2.42 0 0 0 .554 2.338A2.89 2.89 0 0 0 5 22h14c.822 0 1.6-.338 2.127-.914a2.42 2.42 0 0 0 .555-2.337c-.805-2.794-3.044-5.024-5.912-6.081A6 6 0 0 0 12 2M4.24 19.303C5.097 16.33 8.204 14 12 14s6.904 2.33 7.76 5.303a.42.42 0 0 1-.108.433A.9.9 0 0 1 19 20H5a.9.9 0 0 1-.652-.264.42.42 0 0 1-.108-.433\",clipRule:\"evenodd\"})]}))},k0=c2});import{jsx as A0,jsxs as u2}from\"react/jsx-runtime\";var p2,z0,O0=v(()=>{\"use strict\";p2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return u2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?A0(\"title\",{id:t,children:e}):null,A0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h9a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c1.665 0 3.209.45 4.486 1.215a1.002 1.002 0 1 0 1.028-1.717 10.4 10.4 0 0 0-1.743-.83A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m8 11a1 1 0 0 0-1 1v2h-2a1 1 0 0 0 0 2h2v2a1 1 0 0 0 2 0v-2h2a1 1 0 1 0 0-2h-2v-2a1 1 0 0 0-1-1\"})]}))},z0=p2});import{jsx as B0,jsxs as f2}from\"react/jsx-runtime\";var m2,F0,D0=v(()=>{\"use strict\";m2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return f2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?B0(\"title\",{id:t,children:e}):null,B0(\"path\",{d:\"M11 2a6 6 0 0 0-3.77 10.668c-2.867 1.057-5.106 3.286-5.912 6.08a2.42 2.42 0 0 0 .555 2.338A2.9 2.9 0 0 0 4 22h9a1 1 0 0 0 0-2H4a.9.9 0 0 1-.652-.264.43.43 0 0 1-.108-.433C4.097 16.33 7.204 14 11 14c1.665 0 3.209.45 4.486 1.215a1.002 1.002 0 1 0 1.028-1.717 10.4 10.4 0 0 0-1.743-.83A6 6 0 0 0 11 2m0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8m6 12a1 1 0 0 0-.707 1.707l1.793 1.793-1.793 1.793a1 1 0 1 0 1.414 1.414l1.793-1.793 1.793 1.793a1 1 0 1 0 1.414-1.414L20.914 19.5l1.793-1.793a1 1 0 1 0-1.414-1.414L19.5 18.086l-1.793-1.793A1 1 0 0 0 17 16\"})]}))},F0=m2});import{jsx as H0,jsxs as g2}from\"react/jsx-runtime\";var w2,_0,W0=v(()=>{\"use strict\";w2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return g2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?H0(\"title\",{id:t,children:e}):null,H0(\"path\",{fillRule:\"evenodd\",d:\"M3 4a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},_0=w2});import{jsx as K0,jsxs as v2}from\"react/jsx-runtime\";var h2,U0,$0=v(()=>{\"use strict\";h2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return v2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?K0(\"title\",{id:t,children:e}):null,K0(\"path\",{fillRule:\"evenodd\",d:\"M3 20a1 1 0 0 1 1-1h16a1 1 0 1 1 0 2H4a1 1 0 0 1-1-1\",clipRule:\"evenodd\"})]}))},U0=h2});import{jsx as q0,jsxs as x2}from\"react/jsx-runtime\";var b2,wo,Z0=v(()=>{\"use strict\";b2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return x2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",fill:\"currentColor\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",\"aria-labelledby\":t},o),{children:[e?q0(\"title\",{id:t,children:e}):null,q0(\"path\",{d:\"M8.5 2.727a.98.98 0 0 0-.93.632L6.537 5.975a1 1 0 0 1-.562.562L3.359 7.57c-.844.333-.844 1.527 0 1.86l2.616 1.033c.257.101.46.305.562.562l1.033 2.616c.333.844 1.527.844 1.86 0l1.033-2.616a1 1 0 0 1 .562-.562l2.616-1.033c.844-.333.844-1.527 0-1.86l-2.616-1.033a1 1 0 0 1-.562-.562L9.43 3.359a.98.98 0 0 0-.93-.632m8.5 10a.98.98 0 0 0-.93.632l-.607 1.54a1 1 0 0 1-.565.564l-1.539.607c-.844.333-.844 1.527 0 1.86l1.54.607c.257.102.462.307.564.565l.607 1.539c.333.844 1.527.844 1.86 0l.607-1.54c.102-.257.307-.462.565-.564l1.539-.607c.844-.333.844-1.527 0-1.86l-1.54-.607a1 1 0 0 1-.564-.565l-.607-1.539a.98.98 0 0 0-.93-.632\"})]}))},wo=b2});import{jsx as X0,jsxs as y2}from\"react/jsx-runtime\";var S2,Fe,Y0=v(()=>{\"use strict\";S2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return y2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?X0(\"title\",{id:t,children:e}):null,X0(\"path\",{fillRule:\"evenodd\",d:\"M4.707 3.293a1 1 0 0 0-1.414 1.414L10.586 12l-7.293 7.293a1 1 0 1 0 1.414 1.414L12 13.414l7.293 7.293a1 1 0 0 0 1.414-1.414L13.414 12l7.293-7.293a1 1 0 0 0-1.414-1.414L12 10.586z\",clipRule:\"evenodd\"})]}))},Fe=S2});import{jsx as J0,jsxs as V2}from\"react/jsx-runtime\";var R2,Q0,j0=v(()=>{\"use strict\";R2=n=>{var r=n,{title:e,titleId:t}=r,o=d(r,[\"title\",\"titleId\"]);return V2(\"svg\",c(i({xmlns:\"http://www.w3.org/2000/svg\",width:\"1em\",height:\"1em\",fill:\"currentColor\",viewBox:\"0 0 24 24\",\"aria-labelledby\":t},o),{children:[e?J0(\"title\",{id:t,children:e}):null,J0(\"path\",{fillRule:\"evenodd\",d:\"M7.293 8.707a1 1 0 0 1 1.414-1.414L12 10.586l3.293-3.293a1 1 0 1 1 1.414 1.414L13.414 12l3.293 3.293a1 1 0 0 1-1.414 1.414L12 13.414l-3.293 3.293a1 1 0 0 1-1.414-1.414L10.586 12z\",clipRule:\"evenodd\"})]}))},Q0=R2});var j={};qr(j,{ActivityIcon:()=>cn,AiIcon:()=>pn,AiTwinkleText:()=>fn,ArrowDownIcon:()=>hn,ArrowLeftDownIcon:()=>xn,ArrowLeftIcon:()=>Zt,ArrowLeftUpIcon:()=>Pn,ArrowRightDownIcon:()=>In,ArrowRightIcon:()=>Tn,ArrowRightUpIcon:()=>Ln,ArrowUpIcon:()=>On,BellIcon:()=>Dn,BookIcon:()=>Wn,BookmarkIcon:()=>$n,BulletedListIcon:()=>Xn,CalendarIcon:()=>Qn,CategoryIcon:()=>ta,CheckCircleIcon:()=>na,CheckIcon:()=>dt,CheckListIcon:()=>ca,CheckSmallIcon:()=>Xt,CheckboxOutlineIcon:()=>fa,ChevronDownIcon:()=>Oe,ChevronExpandIcon:()=>Yt,ChevronLeftIcon:()=>Sa,ChevronRightIcon:()=>pt,ChevronShrinkIcon:()=>Ga,ChevronSkipEndIcon:()=>Ea,ChevronSkipStartIcon:()=>Na,ChevronUpIcon:()=>Jt,ClipsArrowRightIcon:()=>Oa,ClipsIcon:()=>Da,ClockHistoryIcon:()=>Wa,ClockIcon:()=>$a,CogIcon:()=>Xa,CommentIcon:()=>Qa,CopyIcon:()=>tl,DocumentIcon:()=>nl,DownloadIcon:()=>il,DragHandleIcon:()=>dl,DragIndicatorIcon:()=>ml,EllipsisHIcon:()=>gl,EllipsisVIcon:()=>bl,EmojiIcon:()=>yl,EnvelopeIcon:()=>Pl,ErrorIcon:()=>Qt,ExclamationCircleIcon:()=>Be,ExclamationTriangleIcon:()=>Nl,ExpandIcon:()=>Al,ExportIcon:()=>Bl,ExternalLinkIcon:()=>Hl,EyeIcon:()=>Kl,FileCheckIcon:()=>ql,FileEditIcon:()=>Yl,FileIcon:()=>jl,FilePlusIcon:()=>oi,FileXIcon:()=>ai,FilterIcon:()=>si,GlobeIcon:()=>pi,HistogramChartIcon:()=>fi,HouseIcon:()=>hi,ImageIcon:()=>xi,InboxIcon:()=>Ri,InfoCircleIcon:()=>jt,KundoAiKnowledgeIcon:()=>Ii,KundoAvatarShield:()=>Ti,KundoCallsIcon:()=>eo,KundoChatIcon:()=>to,KundoExternalSourceIcon:()=>Bi,KundoForumIcon:()=>oo,KundoHelpcenterIcon:()=>Wi,KundoKnowledgeIcon:()=>ro,KundoLogoIcon:()=>qi,KundoMailIcon:()=>no,KundoSocialFacebookIcon:()=>ao,KundoSocialInstagramDmIcon:()=>lo,KundoSocialInstagramIcon:()=>io,KundoSocialMessengerIcon:()=>so,KundoSocialWhatsappIcon:()=>co,LineChart1Icon:()=>is,LineChart2Icon:()=>ds,LockIcon:()=>ms,LogInIcon:()=>gs,LogOutIcon:()=>bs,MapPinIcon:()=>ys,MegaphoneIcon:()=>Ps,MenuIcon:()=>Is,MinimizeIcon:()=>Ts,MinusCircleIcon:()=>Ls,MinusIcon:()=>Os,MinusSmallIcon:()=>po,MoveIcon:()=>_s,NoExternalIcon:()=>uo,NoteIcon:()=>$s,PencilIcon:()=>Xs,PhoneIcon:()=>Qs,PhonePlusIcon:()=>t1,PieChartIcon:()=>n1,PlusCircleIcon:()=>i1,PlusIcon:()=>d1,QuestionCircleIcon:()=>ft,ReplyIcon:()=>w1,RotateLeftIcon:()=>v1,RotateRightIcon:()=>S1,RouterIcon:()=>V1,SearchIcon:()=>mo,Security:()=>E1,SpeechBubbleIcon:()=>N1,SpeechBubblesIcon:()=>A1,SpellCheckIcon:()=>B1,SpinnerIcon:()=>fo,StarFilledIcon:()=>_1,StarIcon:()=>U1,StopUpdatesIcon:()=>Z1,SwitchIcon:()=>J1,TagIcon:()=>e0,TextLongIcon:()=>r0,TextShortIcon:()=>l0,ThumbDownIcon:()=>c0,ThumbUpIcon:()=>u0,TranslateIcon:()=>w0,TrashCanIcon:()=>v0,UnlockIcon:()=>S0,UserAssignIcon:()=>V0,UserCheckIcon:()=>C0,UserClockIcon:()=>M0,UserIcon:()=>k0,UserPlusIcon:()=>z0,UserXIcon:()=>F0,WindowMaximizeIcon:()=>_0,WindowMinimizeIcon:()=>U0,WinkleIcon:()=>wo,XIcon:()=>Fe,XSmallIcon:()=>Q0});var D=v(()=>{\"use strict\";dn();un();wn();vn();Sn();Rn();Gn();En();Nn();An();Bn();Hn();Kn();qn();Yn();jn();oa();aa();ia();da();ua();wa();ha();ba();ya();Va();Ca();Ma();ka();Aa();Ba();Ha();Ka();qa();Ya();ja();ol();al();sl();pl();fl();hl();xl();Rl();Gl();Il();Ml();kl();zl();Fl();_l();Ul();Zl();Jl();ei();ri();li();ci();ui();wi();vi();Si();Vi();Gi();Ei();Ni();Li();zi();Fi();Hi();Ki();$i();Zi();Yi();Qi();es();ts();rs();as();ss();ps();fs();hs();xs();Rs();Gs();Es();Ns();As();Bs();Ds();Ws();Ks();qs();Ys();js();o1();a1();s1();p1();m1();g1();b1();y1();P1();C1();M1();k1();z1();F1();D1();W1();$1();X1();Q1();t0();n0();i0();d0();m0();g0();b0();y0();P0();I0();T0();L0();O0();D0();W0();$0();Z0();Y0();j0()});var sc={};qr(sc,{Helper:()=>ic,Tooltip:()=>At});import{useState as lc}from\"react\";import*as ge from\"@radix-ui/react-tooltip\";import{jsx as De,jsxs as ac}from\"react/jsx-runtime\";var At,ic,er=v(()=>{\"use strict\";k();D();At=({children:e,content:t,className:o,open:n=!1,onOpenChange:r,container:a,arrow:l=!1,contentSide:s=\"bottom\",contentAlign:p=\"center\",theme:u=\"light\",sideOffset:m=8,alignOffset:g=0})=>{let[b,f]=lc(n);return De(ge.Provider,{delayDuration:200,children:ac(ge.Root,{onOpenChange:h=>{f(h),r&&r(h)},open:b,children:[De(ge.Trigger,{asChild:!0,children:De(\"div\",{className:w(\"tw-inline-block\",o),\"aria-label\":b?t==null?void 0:t.toString():void 0,children:e})}),De(ge.Portal,{container:a||document.body,children:ac(ge.Content,{sideOffset:m,side:s,align:p,alignOffset:g,className:w(\"tw-flex tw-items-center\",\"tw-min-h-[28px] tw-w-full tw-max-w-[20rem]\",\"tw-px-3 tw-py-1.5\",\"tw-rounded\",\"tw-text-sm tw-font-normal\",u===\"dark\"?[\"tw-bg-primary-900 tw-text-white\"]:[\"tw-bg-white tw-text-gray-80\",\"tw-shadow-sm\"],\"tw-will-change-[opacity,transform]\",\"data-[side=top]:tw-animate-slideDownAndFade\",\"data-[side=right]:tw-animate-slideLeftAndFade\",\"data-[side=bottom]:tw-animate-slideUpAndFade\",\"data-[side=left]:tw-animate-slideRightAndFade\",\"tw-z-[1000]\"),children:[De(\"div\",{children:t}),l&&De(ge.Arrow,{width:\"20\",height:\"8\",className:w(\" -tw-mt-[1px]\",u===\"dark\"?[\"tw-fill-primary-900\"]:[\"tw-fill-white\"])})]})})]})})},ic=({className:e,tooltip:t,tooltipTheme:o=\"light\",sideOffset:n=8,alignOffset:r=4})=>{let[a,l]=lc(!1);return De(At,{content:t,open:a,theme:o,contentAlign:\"start\",className:w(\"*:tw-block *:tw-w-4 *:tw-h-4 *:tw-p-0 *:tw-m-0\",\"tw-text-gray-70 *:tw-text-gray-70 *tw-fill-current\",\"tw-cursor-help\",e),onOpenChange:s=>{l(s)},arrow:!1,alignOffset:r,sideOffset:n,children:De(ft,{role:\"presentation\",className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block tw-mb-1\"})})}});import{jsx as $d}from\"react/jsx-runtime\";var Ud=()=>$d(\"h1\",{className:\"tw-text-2xl tw-text-blue-500\",children:\"Headings\"});k();import{lazy as ec,Suspense as P2}from\"react\";import{Fragment as E2,jsx as wt}from\"react/jsx-runtime\";var G2=ec(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoLogoIcon}))),C2=ec(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoAvatarShield}))),I2=({id:e=\"kundo-logo\",className:t,asAvatar:o=!1})=>wt(\"div\",{id:e,className:w(\"tw-text-0\",t),children:wt(P2,{fallback:wt(E2,{}),children:o?wt(\"div\",{className:\"tw-flex tw-h-[34px] tw-w-[34px] tw-items-center tw-justify-center tw-rounded-md\",children:wt(C2,{className:\"tw-block tw-w-full tw-h-auto tw-text-primary-900 tw-fill-primary-900\"})}):wt(G2,{className:\"tw-inline-block tw-h-full tw-w-auto tw-object-contain tw-fill-current tw-select-none\"})})});var M2=(x=>(x.Chatflow=\"chatflow\",x.AIAssistant=\"ai_assistant\",x.Activity=\"activity\",x.FacebookMessenger=\"facebook_messenger\",x.WhatsApp=\"whatsapp\",x.FacebookPage=\"facebook_page\",x.Inbox=\"inbox\",x.Knowledgebase=\"knowledgebase\",x.Forum=\"forum\",x.InstagramComments=\"instagram_comments\",x.InstagramMessenger=\"instagram_messenger\",x.Calls=\"calls\",x.Chat=\"chat\",x.Email=\"email\",x.AIKnowledge=\"ai_knowledge\",x.ExternalSource=\"external_source\",x.WebSource=\"web_source\",x))(M2||{});D();k();import go,{useMemo as tc,createElement as T2}from\"react\";import{Fragment as k2,jsx as Ye,jsxs as Qo}from\"react/jsx-runtime\";var N2=(e,t)=>{switch(e){case\"small\":return[\"tw-h-[34px] tw-rounded-[17px] tw-px-5 tw-gap-x-1\",t&&\"tw-pl-2\"];case\"medium\":return[\"tw-h-[44px] tw-rounded-[22px] tw-text-md tw-px-6 tw-gap-x-1.5\",t&&\"tw-pl-3\"];default:case\"large\":return[\"tw-h-[48px] tw-rounded-[24px] tw-text-md tw-px-7 tw-gap-x-2\",t&&\"tw-pl-4\"]}},oc=e=>{switch(e){default:case\"primary\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-primary-700 tw-text-secondary-100\",\"hover:tw-bg-primary-900\",\"active:tw-bg-primary-900\",\"aria-disabled:tw-bg-gray-20 aria-disabled:tw-text-gray-50\"]);case\"secondary\":return w([\"tw-border tw-border-solid tw-border-gray-40\",\"tw-bg-white tw-text-primary-700\",\"hover:tw-bg-white hover:tw-text-primary-900 hover:tw-border-primary-900\",\"active:tw-bg-white active:tw-border-primary-900\",\"aria-disabled:tw-bg-gray-10 aria-disabled:tw-border-gray-30 aria-disabled:tw-text-gray-50\"]);case\"tertiary\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-transparent tw-text-gray-70\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"active:tw-bg-secondary-100 active:tw-text-primary-700\",\"aria-disabled:tw-bg-transparent aria-disabled:tw-border-gray-10 aria-disabled:tw-text-gray-50\"]);case\"danger\":return w([\"tw-border-0 tw-border-none\",\"tw-bg-error-700 tw-text-error-100\",\"hover:tw-bg-error-900\",\"active:tw-bg-error-900\",\"aria-disabled:tw-bg-gray-20 aria-disabled:tw-text-gray-50\"])}},rc=\"tw-relative tw-inline-flex tw-group tw-flex tw-items-center tw-cursor-pointer tw-leading-none disabled:tw-cursor-not-allowed tw-text-base tw-leading-5 tw-not-italic tw-font-semibold tw-duration-200\",nc=({variant:e})=>Ye(\"div\",{className:w(\"tw-absolute tw-top-0 tw-left-0 tw-w-full tw-h-full tw-m-0 tw-p-0\",\"tw-flex tw-justify-center tw-items-center\"),children:Qo(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",fill:\"none\",viewBox:\"0 0 24 24\",width:\"1em\",height:\"1em\",className:w(\"tw-inline-block tw-w-auto tw-object-contain tw-animate-spin tw-text-xl tw-text-white/30\",e===\"secondary\"||e===\"tertiary\"?\"tw-text-gray-30\":\"tw-text-white/30\"),children:[Ye(\"path\",{fill:\"currentColor\",fillRule:\"evenodd\",d:\"M12 19a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm0 3c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\",clipRule:\"evenodd\"}),Ye(\"path\",{fill:e===\"secondary\"||e===\"tertiary\"?\"#815064\":\"#ffffff\",d:\"M2 12C2 6.477 6.477 2 12 2v3a7 7 0 0 0-7 7H2Z\"})]})}),MV=go.forwardRef((e,t)=>{let f=e,{variant:o,size:n,label:r,icon:a,className:l,id:s,type:p=\"button\",loading:u=!1,disabled:m=!1}=f,g=d(f,[\"variant\",\"size\",\"label\",\"icon\",\"className\",\"id\",\"type\",\"loading\",\"disabled\"]),b=tc(()=>{let h=oc(o),y=N2(n,a);return w(rc,h,y,l)},[o,n,a,l]);return Qo(\"button\",c(i({id:s,type:p,className:b,\"aria-disabled\":m},g),{ref:t,children:[a&&go.cloneElement(a,{className:w(\"tw-text-lg tw-fill-current tw-select-none\",u&&\"tw-invisible\")}),r&&Ye(\"div\",{className:w(\"tw-select-none\",u&&\"tw-invisible\"),children:r}),u&&Ye(nc,{variant:o})]}))}),gt=go.forwardRef((e,t)=>{let x=e,{as:o=\"div\",variant:n,size:r,label:a,icon:l,className:s,iconClassName:p,disabled:u,onClick:m,href:g,loading:b=!1,children:f,type:h=\"button\"}=x,y=d(x,[\"as\",\"variant\",\"size\",\"label\",\"icon\",\"className\",\"iconClassName\",\"disabled\",\"onClick\",\"href\",\"loading\",\"children\",\"type\"]),S=tc(()=>{let C=oc(n);return w(rc,C,s)},[n,r,l,s]);return T2(o,i({role:\"button\",tabIndex:u?-1:0,\"aria-label\":a?String(a):void 0,\"aria-disabled\":u?!0:void 0,className:w(\"tw-relative tw-inline-flex tw-group tw-items-center tw-justify-center\",\"tw-rounded-full\",S,r===\"small\"&&\"tw-h-[34px] tw-w-[34px]\",r===\"medium\"&&\"tw-h-[44px] tw-w-[44px]\",r===\"large\"&&\"tw-h-[48px] tw-w-[48px]\",u?[\"tw-cursor-not-allowed\"]:[\"tw-cursor-pointer\"],s),ref:t,href:o===\"a\"&&g?String(g):void 0,onClick:m,type:o===\"button\"?h:void 0},y),Qo(k2,{children:[l&&go.cloneElement(l,{className:w(r===\"small\"&&\"tw-w-[20px] tw-h-[20px]\",r===\"medium\"&&\"tw-w-[20px] tw-h-[20px]\",r===\"large\"&&\"tw-w-[24px] tw-h-[24px]\",\"tw-fill-current tw-select-none\",b&&\"tw-invisible\",p),\"aria-hidden\":u?!0:void 0}),f&&Ye(\"div\",{className:w(b&&\"tw-invisible\"),children:f}),b&&Ye(nc,{variant:n})]}))});k();import*as ho from\"@radix-ui/react-switch\";import{forwardRef as L2,useMemo as A2}from\"react\";import{jsx as jo,jsxs as O2}from\"react/jsx-runtime\";var z2=L2(({id:e,checked:t,label:o,name:n,onChange:r,disabled:a,className:l},s)=>{let p=A2(()=>jo(ho.Root,{ref:s,className:w(\"tw-flex tw-items-center tw-justify-start tw-shrink-0\",\"tw-relative tw-w-[34px] tw-h-[20px] tw-px-0.5 tw-py-0 tw-rounded-full\",\"tw-bg-gray-50 hover:tw-bg-gray-60\",\"tw-transition-all tw-duration-200\",a?\"data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-bg-gray-30\":\"data-[state=checked]:tw-bg-success-700 data-[state=checked]:hover:tw-bg-success-600\",l),id:e,name:n,checked:t,onCheckedChange:r,tabIndex:0,disabled:a,children:jo(ho.Thumb,{className:w(\"tw-block tw-flex-initial tw-shrink-0 tw-w-4 tw-h-4\",\"tw-rounded-full\",a?\"tw-bg-gray-10\":\"tw-bg-white\",\"tw-transition-transform tw-will-change-transform tw-duration-200\",\"data-[state=unchecked]:tw-translate-x-0\",\"data-[state=checked]:tw-translate-x-[14px]\")})}),[t,a]);return o?O2(\"div\",{className:\"tw-flex tw-items-center\",children:[jo(\"label\",{className:w(\"tw-pr-1.5 tw-cursor-pointer tw-whitespace-nowrap tw-select-none\",a?\"tw-text-gray-50 tw-cursor-not-allowed\":\"tw-cursor-pointer\"),htmlFor:e,children:o}),p]}):p});k();import{useId as W2,forwardRef as K2,useState as U2}from\"react\";k();D();import{useState as D2,lazy as H2}from\"react\";k();import{Fragment as B2,jsx as vo,jsxs as F2}from\"react/jsx-runtime\";var bo=({children:e,className:t,id:o})=>vo(\"div\",{className:w(\"tw-flex tw-text-red-60 tw-space-x-1\",t),children:e&&F2(B2,{children:[vo(\"div\",{className:\"tw-h-4 tw-text-0\",children:vo(Be,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})}),vo(\"div\",{id:o,className:\"tw-text-sm tw-font-normal tw-mt-[1px]\",children:e})]})});import{jsx as ht,jsxs as cc}from\"react/jsx-runtime\";var _2=H2(()=>Promise.resolve().then(()=>(er(),sc)).then(e=>({default:e.Tooltip}))),Je=({children:e,id:t})=>ht(bo,{className:\"tw-mt-1 tw-grow\",id:t,children:e}),Qe=({children:e,id:t})=>ht(\"div\",{className:\"tw-mt-1 tw-text-sm tw-text-gray-60 tw-font-normal tw-grow\",id:t,children:e}),je=({children:e,label:t,id:o,tooltip:n,className:r,required:a,disabled:l})=>{let[s,p]=D2(!1);return cc(\"div\",{className:w(\"tw-flex tw-flex-col\",\"tw-text-gray-80\",r),children:[t&&cc(\"div\",{className:\"tw-w-full tw-align-middle tw-mb-1 tw-font-0\",children:[ht(\"label\",{htmlFor:o,className:w(\"tw-text-base tw-font-normal\",\"tw-m-0 tw-p-0 tw-inline-block tw-pr-1\",l?\"tw-text-gray-50\":\"tw-text-gray-80\"),children:a?`${t} *`:t}),n&&ht(_2,{content:n,onOpenChange:u=>{p(u)},open:s,className:w(\"tw-inline-block\",\"tw-text-gray-50 tw-h-5 tw-select-none tw-cursor-help\"),children:ht(ft,{role:\"presentation\",className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block tw-mb-1\"})})]}),e]})},xo=e=>{switch(e){case\"small\":return\"tw-rounded-[17px]\";case\"medium\":return\"tw-rounded-[22px]\";case\"large\":return\"tw-rounded-[24px]\";default:return\"tw-rounded-md\"}},vt=({children:e,focus:t,hasError:o,className:n,disabled:r,size:a,isTextArea:l=!1,rounded:s=!1})=>ht(\"div\",{className:w(\"tw-flex tw-items-center tw-box-border\",\"tw-border tw-border-solid tw-overflow-hidden\",\"tw-transition-[border, outline] tw-duration-200\",s?xo(a):\"tw-rounded-md\",!l&&\"*:tw-flex *:tw-items-center *:tw-truncate\",\"first:*:tw-box-border first:*:tw-bg-transparent first:focus:*:tw-bg-transparent\",\"first:*:tw-border-0 first:*:tw-border-none\",\"first:*:tw-ring-0 first:*:tw-ring-offset-0 first:*:tw-ring-transparent first:focus:*:tw-ring-0 first:focus:*:tw-ring-offset-0 first:focus:*:tw-ring-transparent\",\"first:*:tw-outline-0 first:*:tw-outline-transparent first:*:tw-outline-none first:focus:*:tw-outline-0 first:focus:*:tw-outline-transparent first:focus:*:tw-outline-none\",\"first:*:placeholder:tw-text-gray-50 first:*:placeholder:tw-font-normal first:*:tw-text-gray-70 first:*:tw-text-base first:*:tw-font-normal\",r?[\"tw-cursor-not-allowed \",\"tw-bg-gray-10 tw-border-gray-30\",\"first:*:tw-pointer-events-none\"]:[\"tw-bg-white\",o?[\"tw-border-red-60 hover:tw-border-red-80 active:tw-border-red-80\"]:[\"tw-border-gray-40 hover:tw-border-primary-500 active:tw-border-primary-500\"],t&&[o?\"tw-border-red-80\":[\"tw-border-primary-500 hover:tw-border-primary-500 \",\"tw-outline tw-outline-1 tw-outline-primary-500 tw-outline-offset-0\"]]],n),children:e}),So=e=>{switch(e){case\"small\":return[\"tw-h-[34px] tw-px-3\",xo(e)];case\"medium\":return[\"tw-h-[44px] tw-px-4\",xo(e)];default:case\"large\":return[\"tw-h-[48px] tw-px-5\",xo(e)]}};import{jsx as yo,jsxs as dc}from\"react/jsx-runtime\";var tr=K2((S,y)=>{var x=S,{label:e,type:t=\"text\",tooltip:o,hasError:n,errorText:r,className:a,optionalText:l,inputSize:s=\"medium\",onFocus:p,onBlur:u,action:m,required:g,disabled:b,rounded:f=!1}=x,h=d(x,[\"label\",\"type\",\"tooltip\",\"hasError\",\"errorText\",\"className\",\"optionalText\",\"inputSize\",\"onFocus\",\"onBlur\",\"action\",\"required\",\"disabled\",\"rounded\"]);let C=W2(),M=`${C}-error`,T=`${C}-optional`,[G,N]=U2(!1),A=(F,P)=>{let I=[];return F&&I.push(M),P&&I.push(T),I.join(\" \")};return dc(je,{id:C,label:e,tooltip:o,className:a,required:g,disabled:b,children:[dc(vt,{focus:G,hasError:n,className:\"w-full\",size:s,disabled:b,rounded:f,children:[yo(\"input\",i({ref:y,id:C,type:t,className:w(\"tw-grow tw-box-border\",So(s)),\"aria-label\":e,\"aria-invalid\":n,\"aria-describedby\":`${A(n,l)}`||void 0,\"aria-required\":g?\"true\":void 0,required:g||void 0,onFocus:F=>{N(!0),p&&p(F)},onBlur:F=>{N(!1),u&&u(F)},disabled:b},h)),m&&yo(\"div\",{className:\"tw-flex tw-items-center tw-shrink-0 tw-gap-2\",children:m})]}),l&&!n&&yo(Qe,{id:T,children:l}),n&&yo(Je,{id:M,children:r})]})});k();import{useId as $2,useState as q2,forwardRef as Z2}from\"react\";import{jsx as zt,jsxs as J2}from\"react/jsx-runtime\";var X2=e=>{switch(e){case\"small\":return[\"tw-pr-[32px]\",\"tw-py-0\"];case\"medium\":return[\"tw-pr-[44px]\",\"tw-py-0\"];default:case\"large\":return[\"tw-pr-[52px]\",\"tw-py-0\"]}},Y2=Z2((C,x)=>{var M=C,{id:e,name:t,label:o,className:n,options:r,onChange:a,onFocus:l,onBlur:s,value:p,required:u=!0,tooltip:m,hasError:g,errorText:b,optionalText:f,size:h=\"medium\",disabled:y}=M,S=d(M,[\"id\",\"name\",\"label\",\"className\",\"options\",\"onChange\",\"onFocus\",\"onBlur\",\"value\",\"required\",\"tooltip\",\"hasError\",\"errorText\",\"optionalText\",\"size\",\"disabled\"]);let T=e||$2(),G=`${T}-error`,N=`${T}-optional`,[A,F]=q2(!1);return J2(je,{id:T,label:o,tooltip:m,className:n,required:u,disabled:y,children:[zt(vt,{focus:A,hasError:g,disabled:y,className:\"w-full\",size:h,children:zt(\"select\",c(i({ref:x,id:T,name:t,title:o||void 0,\"aria-label\":o||void 0,\"aria-invalid\":g,\"aria-required\":u?\"true\":void 0,required:u||void 0,\"aria-describedby\":`${((I,E)=>{let R=[];return I&&R.push(G),E&&R.push(N),R.join(\" \")})(g,f)}`||void 0,className:w(\"tw-grow\",\"tw-appearance-none tw-bg-transparent tw-border-none tw-border-0\",So(h),X2(h),y&&\"tw-cursor-not-allowed\"),defaultValue:p,disabled:y,onFocus:I=>{F(!0),l&&l(I)},onBlur:I=>{F(!1),s&&s(I)},onChange:a&&(I=>a(I.target.value))},S),{children:r.map(I=>zt(\"option\",{value:I.value,children:I.label},I.value))}))}),f&&!g&&zt(Qe,{id:N,children:f}),g&&zt(Je,{id:G,children:b})]})});import{Fragment as z4,useState as nd}from\"react\";import*as He from\"react\";import{flushSync as og}from\"react-dom\";function et(e,t,o){var l;let n=(l=o.initialDeps)!=null?l:[],r;function a(){var s,p,u,m;let g;o.key&&((s=o.debug)!=null&&s.call(o))&&(g=Date.now());let b=e();if(!(b.length!==n.length||b.some((y,S)=>n[S]!==y)))return r;n=b;let h;if(o.key&&((p=o.debug)!=null&&p.call(o))&&(h=Date.now()),r=t(...b),o.key&&((u=o.debug)!=null&&u.call(o))){let y=Math.round((Date.now()-g)*100)/100,S=Math.round((Date.now()-h)*100)/100,x=S/16,C=(M,T)=>{for(M=String(M);M.length<T;)M=\" \"+M;return M};console.info(`%c\\u23F1 ${C(S,5)} /${C(y,5)} ms`,`\n            font-size: .6rem;\n            font-weight: bold;\n            color: hsl(${Math.max(0,Math.min(120-120*x,120))}deg 100% 31%);`,o==null?void 0:o.key)}return(m=o==null?void 0:o.onChange)==null||m.call(o,r),r}return a.updateDeps=s=>{n=s},a}function Ro(e,t){if(e===void 0)throw new Error(`Unexpected undefined${t?`: ${t}`:\"\"}`);return e}var pc=(e,t)=>Math.abs(e-t)<1,uc=(e,t,o)=>{let n;return function(...r){e.clearTimeout(n),n=e.setTimeout(()=>t.apply(this,r),o)}};var Q2=e=>e,j2=e=>{let t=Math.max(e.startIndex-e.overscan,0),o=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let r=t;r<=o;r++)n.push(r);return n},wc=(e,t)=>{let o=e.scrollElement;if(!o)return;let n=e.targetWindow;if(!n)return;let r=l=>{let{width:s,height:p}=l;t({width:Math.round(s),height:Math.round(p)})};if(r(o.getBoundingClientRect()),!n.ResizeObserver)return()=>{};let a=new n.ResizeObserver(l=>{let s=()=>{let p=l[0];if(p!=null&&p.borderBoxSize){let u=p.borderBoxSize[0];if(u){r({width:u.inlineSize,height:u.blockSize});return}}r(o.getBoundingClientRect())};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()});return a.observe(o,{box:\"border-box\"}),()=>{a.unobserve(o)}},mc={passive:!0};var fc=typeof window==\"undefined\"?!0:\"onscrollend\"in window,gc=(e,t)=>{let o=e.scrollElement;if(!o)return;let n=e.targetWindow;if(!n)return;let r=0,a=e.options.useScrollendEvent&&fc?()=>{}:uc(n,()=>{t(r,!1)},e.options.isScrollingResetDelay),l=m=>()=>{let{horizontal:g,isRtl:b}=e.options;r=g?o.scrollLeft*(b&&-1||1):o.scrollTop,a(),t(r,m)},s=l(!0),p=l(!1);p(),o.addEventListener(\"scroll\",s,mc);let u=e.options.useScrollendEvent&&fc;return u&&o.addEventListener(\"scrollend\",p,mc),()=>{o.removeEventListener(\"scroll\",s),u&&o.removeEventListener(\"scrollend\",p)}};var eg=(e,t,o)=>{if(t!=null&&t.borderBoxSize){let n=t.borderBoxSize[0];if(n)return Math.round(n[o.options.horizontal?\"inlineSize\":\"blockSize\"])}return Math.round(e.getBoundingClientRect()[o.options.horizontal?\"width\":\"height\"])};var hc=(e,{adjustments:t=0,behavior:o},n)=>{var r,a;let l=e+t;(a=(r=n.scrollElement)==null?void 0:r.scrollTo)==null||a.call(r,{[n.options.horizontal?\"left\":\"top\"]:l,behavior:o})},Vo=class{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let o=null,n=()=>o||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:o=new this.targetWindow.ResizeObserver(r=>{r.forEach(a=>{let l=()=>{this._measureElement(a.target,a)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),o=null},observe:r=>{var a;return(a=n())==null?void 0:a.observe(r,{box:\"border-box\"})},unobserve:r=>{var a;return(a=n())==null?void 0:a.unobserve(r)}}})(),this.range=null,this.setOptions=o=>{Object.entries(o).forEach(([n,r])=>{typeof r==\"undefined\"&&delete o[n]}),this.options=i({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Q2,rangeExtractor:j2,onChange:()=>{},measureElement:eg,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:\"data-index\",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1},o)},this.notify=o=>{var n,r;(r=(n=this.options).onChange)==null||r.call(n,this,o)},this.maybeNotify=et(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),o=>{this.notify(o)},{key:process.env.NODE_ENV!==\"production\"&&\"maybeNotify\",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(o=>o()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var r;var o;let n=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==n){if(this.cleanup(),!n){this.maybeNotify();return}this.scrollElement=n,this.scrollElement&&\"ownerDocument\"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(r=(o=this.scrollElement)==null?void 0:o.window)!=null?r:null,this.elementsCache.forEach(a=>{this.observer.observe(a)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,a=>{this.scrollRect=a,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(a,l)=>{this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<a?\"forward\":\"backward\":null,this.scrollOffset=a,this.isScrolling=l,this.maybeNotify()}))}},this.getSize=()=>{var o;return this.options.enabled?(this.scrollRect=(o=this.scrollRect)!=null?o:this.options.initialRect,this.scrollRect[this.options.horizontal?\"width\":\"height\"]):(this.scrollRect=null,0)},this.getScrollOffset=()=>{var o;return this.options.enabled?(this.scrollOffset=(o=this.scrollOffset)!=null?o:typeof this.options.initialOffset==\"function\"?this.options.initialOffset():this.options.initialOffset,this.scrollOffset):(this.scrollOffset=null,0)},this.getFurthestMeasurement=(o,n)=>{let r=new Map,a=new Map;for(let l=n-1;l>=0;l--){let s=o[l];if(r.has(s.lane))continue;let p=a.get(s.lane);if(p==null||s.end>p.end?a.set(s.lane,s):s.end<p.end&&r.set(s.lane,!0),r.size===this.options.lanes)break}return a.size===this.options.lanes?Array.from(a.values()).sort((l,s)=>l.end===s.end?l.index-s.index:l.end-s.end)[0]:void 0},this.getMeasurementOptions=et(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(o,n,r,a,l)=>(this.pendingMeasuredCacheIndexes=[],{count:o,paddingStart:n,scrollMargin:r,getItemKey:a,enabled:l}),{key:!1}),this.getMeasurements=et(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:o,paddingStart:n,scrollMargin:r,getItemKey:a,enabled:l},s)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let p=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let u=this.measurementsCache.slice(0,p);for(let m=p;m<o;m++){let g=a(m),b=this.options.lanes===1?u[m-1]:this.getFurthestMeasurement(u,m),f=b?b.end+this.options.gap:n+r,h=s.get(g),y=typeof h==\"number\"?h:this.options.estimateSize(m),S=f+y,x=b?b.lane:m%this.options.lanes;u[m]={index:m,start:f,size:y,end:S,key:g,lane:x}}return this.measurementsCache=u,u},{key:process.env.NODE_ENV!==\"production\"&&\"getMeasurements\",debug:()=>this.options.debug}),this.calculateRange=et(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(o,n,r,a)=>this.range=o.length>0&&n>0?tg({measurements:o,outerSize:n,scrollOffset:r,lanes:a}):null,{key:process.env.NODE_ENV!==\"production\"&&\"calculateRange\",debug:()=>this.options.debug}),this.getVirtualIndexes=et(()=>{let o=null,n=null,r=this.calculateRange();return r&&(o=r.startIndex,n=r.endIndex),this.maybeNotify.updateDeps([this.isScrolling,o,n]),[this.options.rangeExtractor,this.options.overscan,this.options.count,o,n]},(o,n,r,a,l)=>a===null||l===null?[]:o({startIndex:a,endIndex:l,overscan:n,count:r}),{key:process.env.NODE_ENV!==\"production\"&&\"getVirtualIndexes\",debug:()=>this.options.debug}),this.indexFromElement=o=>{let n=this.options.indexAttribute,r=o.getAttribute(n);return r?parseInt(r,10):(console.warn(`Missing attribute name '${n}={index}' on measured element.`),-1)},this._measureElement=(o,n)=>{let r=this.indexFromElement(o),a=this.measurementsCache[r];if(!a)return;let l=a.key,s=this.elementsCache.get(l);s!==o&&(s&&this.observer.unobserve(s),this.observer.observe(o),this.elementsCache.set(l,o)),o.isConnected&&this.resizeItem(r,this.options.measureElement(o,n,this))},this.resizeItem=(o,n)=>{var s;let r=this.measurementsCache[o];if(!r)return;let a=(s=this.itemSizeCache.get(r.key))!=null?s:r.size,l=n-a;l!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(r,l,this):r.start<this.getScrollOffset()+this.scrollAdjustments)&&(process.env.NODE_ENV!==\"production\"&&this.options.debug&&console.info(\"correction\",l),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=l,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(r.index),this.itemSizeCache=new Map(this.itemSizeCache.set(r.key,n)),this.notify(!1))},this.measureElement=o=>{if(!o){this.elementsCache.forEach((n,r)=>{n.isConnected||(this.observer.unobserve(n),this.elementsCache.delete(r))});return}this._measureElement(o,void 0)},this.getVirtualItems=et(()=>[this.getVirtualIndexes(),this.getMeasurements()],(o,n)=>{let r=[];for(let a=0,l=o.length;a<l;a++){let s=o[a],p=n[s];r.push(p)}return r},{key:process.env.NODE_ENV!==\"production\"&&\"getVirtualItems\",debug:()=>this.options.debug}),this.getVirtualItemForOffset=o=>{let n=this.getMeasurements();if(n.length!==0)return Ro(n[vc(0,n.length-1,r=>Ro(n[r]).start,o)])},this.getOffsetForAlignment=(o,n,r=0)=>{let a=this.getSize(),l=this.getScrollOffset();n===\"auto\"&&(n=o>=l+a?\"end\":\"start\"),n===\"center\"?o+=(r-a)/2:n===\"end\"&&(o-=a);let s=this.options.horizontal?\"scrollWidth\":\"scrollHeight\",u=(this.scrollElement?\"document\"in this.scrollElement?this.scrollElement.document.documentElement[s]:this.scrollElement[s]:0)-a;return Math.max(Math.min(u,o),0)},this.getOffsetForIndex=(o,n=\"auto\")=>{o=Math.max(0,Math.min(o,this.options.count-1));let r=this.measurementsCache[o];if(!r)return;let a=this.getSize(),l=this.getScrollOffset();if(n===\"auto\")if(r.end>=l+a-this.options.scrollPaddingEnd)n=\"end\";else if(r.start<=l+this.options.scrollPaddingStart)n=\"start\";else return[l,n];let s=n===\"end\"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(s,n,r.size),n]},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(o,{align:n=\"start\",behavior:r}={})=>{this.cancelScrollToIndex(),r===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\"),this._scrollToOffset(this.getOffsetForAlignment(o,n),{adjustments:void 0,behavior:r})},this.scrollToIndex=(o,{align:n=\"auto\",behavior:r}={})=>{o=Math.max(0,Math.min(o,this.options.count-1)),this.cancelScrollToIndex(),r===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\");let a=this.getOffsetForIndex(o,n);if(!a)return;let[l,s]=a;this._scrollToOffset(l,{adjustments:void 0,behavior:r}),r!==\"smooth\"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(o))){let[u]=Ro(this.getOffsetForIndex(o,s));pc(u,this.getScrollOffset())||this.scrollToIndex(o,{align:s,behavior:r})}else this.scrollToIndex(o,{align:s,behavior:r})}))},this.scrollBy=(o,{behavior:n}={})=>{this.cancelScrollToIndex(),n===\"smooth\"&&this.isDynamicMode()&&console.warn(\"The `smooth` scroll behavior is not fully supported with dynamic size.\"),this._scrollToOffset(this.getScrollOffset()+o,{adjustments:void 0,behavior:n})},this.getTotalSize=()=>{var a;var o;let n=this.getMeasurements(),r;if(n.length===0)r=this.options.paddingStart;else if(this.options.lanes===1)r=(a=(o=n[n.length-1])==null?void 0:o.end)!=null?a:0;else{let l=Array(this.options.lanes).fill(null),s=n.length-1;for(;s>0&&l.some(p=>p===null);){let p=n[s];l[p.lane]===null&&(l[p.lane]=p.end),s--}r=Math.max(...l.filter(p=>p!==null))}return Math.max(r-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(o,{adjustments:n,behavior:r})=>{this.options.scrollToFn(o,{behavior:r,adjustments:n},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(t)}},vc=(e,t,o,n)=>{for(;e<=t;){let r=(e+t)/2|0,a=o(r);if(a<n)e=r+1;else if(a>n)t=r-1;else return r}return e>0?e-1:0};function tg({measurements:e,outerSize:t,scrollOffset:o,lanes:n}){let r=e.length-1,l=vc(0,r,p=>e[p].start,o),s=l;if(n===1)for(;s<r&&e[s].end<o+t;)s++;else if(n>1){let p=Array(n).fill(0);for(;s<r&&p.some(m=>m<o+t);){let m=e[s];p[m.lane]=m.end,s++}let u=Array(n).fill(o+t);for(;l>0&&u.some(m=>m>=o);){let m=e[l];u[m.lane]=m.start,l--}l=Math.max(0,l-l%n),s=Math.min(r,s+(n-1-s%n))}return{startIndex:l,endIndex:s}}var bc=typeof document!=\"undefined\"?He.useLayoutEffect:He.useEffect;function rg(e){let t=He.useReducer(()=>({}),{})[1],o=c(i({},e),{onChange:(r,a)=>{var l;a?og(t):t(),(l=e.onChange)==null||l.call(e,r,a)}}),[n]=He.useState(()=>new Vo(o));return n.setOptions(o),bc(()=>n._didMount(),[]),bc(()=>n._willUpdate()),n}function xc(e){return rg(i({observeElementRect:wc,observeElementOffset:gc,scrollToFn:hc},e))}import Ce,{createContext as fr,createRef as Ug,Fragment as Kc,useCallback as $g,useContext as wr,useEffect as qg,useMemo as Ie,useReducer as Zg,useRef as xe,useState as Xg}from\"react\";import{useState as cg}from\"react\";import{useEffect as lg,useLayoutEffect as ig}from\"react\";var ng=Object.defineProperty,ag=(e,t,o)=>t in e?ng(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,or=(e,t,o)=>(ag(e,typeof t!=\"symbol\"?t+\"\":t,o),o),rr=class{constructor(){or(this,\"current\",this.detect()),or(this,\"handoffState\",\"pending\"),or(this,\"currentId\",0)}set(t){this.current!==t&&(this.handoffState=\"pending\",this.currentId=0,this.current=t)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}},ve=new rr;var q=(e,t)=>{ve.isServer?lg(e,t):ig(e,t)};import{useRef as sg}from\"react\";function re(e){let t=sg(e);return q(()=>{t.current=e},[e]),t}function Po(e,t){let[o,n]=cg(e),r=re(e);return q(()=>n(r.current),[r,n,...t]),o}import{useRef as nr,useState as pg}from\"react\";import dg from\"react\";var L=function(e){let t=re(e);return dg.useCallback((...o)=>t.current(...o),[t])};function Sc(e,t,o){let[n,r]=pg(o),a=e!==void 0,l=nr(a),s=nr(!1),p=nr(!1);return a&&!l.current&&!s.current?(s.current=!0,l.current=a,console.error(\"A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.\")):!a&&l.current&&!p.current&&(p.current=!0,l.current=a,console.error(\"A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.\")),[a?e:n,L(u=>(a||r(u),t==null?void 0:t(u)))]}import{useEffect as ug,useState as mg}from\"react\";function yc(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(t=>setTimeout(()=>{throw t}))}function be(){let e=[],t={addEventListener(o,n,r,a){return o.addEventListener(n,r,a),t.add(()=>o.removeEventListener(n,r,a))},requestAnimationFrame(...o){let n=requestAnimationFrame(...o);return t.add(()=>cancelAnimationFrame(n))},nextFrame(...o){return t.requestAnimationFrame(()=>t.requestAnimationFrame(...o))},setTimeout(...o){let n=setTimeout(...o);return t.add(()=>clearTimeout(n))},microTask(...o){let n={current:!0};return yc(()=>{n.current&&o[0]()}),t.add(()=>{n.current=!1})},style(o,n,r){let a=o.style.getPropertyValue(n);return Object.assign(o.style,{[n]:r}),this.add(()=>{Object.assign(o.style,{[n]:a})})},group(o){let n=be();return o(n),this.add(()=>n.dispose())},add(o){return e.push(o),()=>{let n=e.indexOf(o);if(n>=0)for(let r of e.splice(n,1))r()}},dispose(){for(let o of e.splice(0))o()}};return t}function _e(){let[e]=mg(be);return ug(()=>()=>e.dispose(),[e]),e}import Vc from\"react\";import*as tt from\"react\";function fg(){let e=typeof document==\"undefined\";return\"useSyncExternalStore\"in tt?(t=>t.useSyncExternalStore)(tt)(()=>()=>{},()=>!1,()=>!e):!1}function Ot(){let e=fg(),[t,o]=tt.useState(ve.isHandoffComplete);return t&&ve.isHandoffComplete===!1&&o(!1),tt.useEffect(()=>{t!==!0&&o(!0)},[t]),tt.useEffect(()=>ve.handoff(),[]),e?!1:t}var Rc,bt=(Rc=Vc.useId)!=null?Rc:function(){let e=Ot(),[t,o]=Vc.useState(e?()=>ve.nextId():null);return q(()=>{t===null&&o(ve.nextId())},[t]),t!=null?\"\"+t:void 0};import{useEffect as Rg,useRef as Ec}from\"react\";function Q(e,t,...o){if(e in t){let r=t[e];return typeof r==\"function\"?r(...o):r}let n=new Error(`Tried to handle \"${e}\" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(r=>`\"${r}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(n,Q),n}function xt(e){return ve.isServer?null:e instanceof Node?e.ownerDocument:e!=null&&e.hasOwnProperty(\"current\")&&e.current instanceof Node?e.current.ownerDocument:document}var Pc=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\"),wg=(e=>(e[e.First=1]=\"First\",e[e.Previous=2]=\"Previous\",e[e.Next=4]=\"Next\",e[e.Last=8]=\"Last\",e[e.WrapAround=16]=\"WrapAround\",e[e.NoScroll=32]=\"NoScroll\",e))(wg||{}),gg=(e=>(e[e.Error=0]=\"Error\",e[e.Overflow=1]=\"Overflow\",e[e.Success=2]=\"Success\",e[e.Underflow=3]=\"Underflow\",e))(gg||{}),hg=(e=>(e[e.Previous=-1]=\"Previous\",e[e.Next=1]=\"Next\",e))(hg||{});var ar=(e=>(e[e.Strict=0]=\"Strict\",e[e.Loose=1]=\"Loose\",e))(ar||{});function Gc(e,t=0){var o;return e===((o=xt(e))==null?void 0:o.body)?!1:Q(t,{0(){return e.matches(Pc)},1(){let n=e;for(;n!==null;){if(n.matches(Pc))return!0;n=n.parentElement}return!1}})}var vg=(e=>(e[e.Keyboard=0]=\"Keyboard\",e[e.Mouse=1]=\"Mouse\",e))(vg||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));var gG=[\"textarea\",\"input\"].join(\",\");function Cc(e,t=o=>o){return e.slice().sort((o,n)=>{let r=t(o),a=t(n);if(r===null||a===null)return 0;let l=r.compareDocumentPosition(a);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function bg(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function xg(){return/Android/gi.test(window.navigator.userAgent)}function Go(){return bg()||xg()}import{useEffect as Sg}from\"react\";function Bt(e,t,o){let n=re(t);Sg(()=>{function r(a){n.current(a)}return document.addEventListener(e,r,o),()=>document.removeEventListener(e,r,o)},[e,o])}import{useEffect as yg}from\"react\";function Ic(e,t,o){let n=re(t);yg(()=>{function r(a){n.current(a)}return window.addEventListener(e,r,o),()=>window.removeEventListener(e,r,o)},[e,o])}function Mc(e,t,o=!0){let n=Ec(!1);Rg(()=>{requestAnimationFrame(()=>{n.current=o})},[o]);function r(l,s){if(!n.current||l.defaultPrevented)return;let p=s(l);if(p===null||!p.getRootNode().contains(p)||!p.isConnected)return;let u=function m(g){return typeof g==\"function\"?m(g()):Array.isArray(g)||g instanceof Set?g:[g]}(e);for(let m of u){if(m===null)continue;let g=m instanceof HTMLElement?m:m.current;if(g!=null&&g.contains(p)||l.composed&&l.composedPath().includes(g))return}return!Gc(p,ar.Loose)&&p.tabIndex!==-1&&l.preventDefault(),t(l,p)}let a=Ec(null);Bt(\"pointerdown\",l=>{var s,p;n.current&&(a.current=((p=(s=l.composedPath)==null?void 0:s.call(l))==null?void 0:p[0])||l.target)},!0),Bt(\"mousedown\",l=>{var s,p;n.current&&(a.current=((p=(s=l.composedPath)==null?void 0:s.call(l))==null?void 0:p[0])||l.target)},!0),Bt(\"click\",l=>{Go()||a.current&&(r(l,()=>a.current),a.current=null)},!0),Bt(\"touchend\",l=>r(l,()=>l.target instanceof HTMLElement?l.target:null),!0),Ic(\"blur\",l=>r(l,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}import{useMemo as Vg}from\"react\";function Tc(...e){return Vg(()=>xt(...e),[...e])}import{useState as Pg}from\"react\";function Nc(e){var t;if(e.type)return e.type;let o=(t=e.as)!=null?t:\"button\";if(typeof o==\"string\"&&o.toLowerCase()===\"button\")return\"button\"}function kc(e,t){let[o,n]=Pg(()=>Nc(e));return q(()=>{n(Nc(e))},[e.type,e.as]),q(()=>{o||t.current&&t.current instanceof HTMLButtonElement&&!t.current.hasAttribute(\"type\")&&n(\"button\")},[o,t]),o}import{useEffect as Gg,useRef as Cg}from\"react\";var Ig=Symbol();function Pe(...e){let t=Cg(e);Gg(()=>{t.current=e},[e]);let o=L(n=>{for(let r of t.current)r!=null&&(typeof r==\"function\"?r(n):r.current=n)});return e.every(n=>n==null||(n==null?void 0:n[Ig]))?void 0:o}import{useRef as Eg}from\"react\";function Lc(e){return[e.screenX,e.screenY]}function Ac(){let e=Eg([-1,-1]);return{wasMoved(t){let o=Lc(t);return e.current[0]===o[0]&&e.current[1]===o[1]?!1:(e.current=o,!0)},update(t){e.current=Lc(t)}}}import{useEffect as Mg,useRef as zc}from\"react\";function Oc({container:e,accept:t,walk:o,enabled:n=!0}){let r=zc(t),a=zc(o);Mg(()=>{r.current=t,a.current=o},[t,o]),q(()=>{if(!e||!n)return;let l=xt(e);if(!l)return;let s=r.current,p=a.current,u=Object.assign(g=>s(g),{acceptNode:s}),m=l.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,u,!1);for(;m.nextNode();)p(m.currentNode)},[e,n,r,a])}import{useEffect as Tg,useRef as Ng}from\"react\";function lr(e,t){let o=Ng([]),n=L(e);Tg(()=>{let r=[...o.current];for(let[a,l]of t.entries())if(o.current[a]!==l){let s=n(t,r);return o.current=t,s}},[n,...t])}import{cloneElement as kg,createElement as Lg,forwardRef as Ag,Fragment as ir,isValidElement as zg,useCallback as JG,useRef as QG}from\"react\";function St(...e){return Array.from(new Set(e.flatMap(t=>typeof t==\"string\"?t.split(\" \"):[]))).filter(Boolean).join(\" \")}var yt=(e=>(e[e.None=0]=\"None\",e[e.RenderStrategy=1]=\"RenderStrategy\",e[e.Static=2]=\"Static\",e))(yt||{}),Ge=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(Ge||{});function he({ourProps:e,theirProps:t,slot:o,defaultTag:n,features:r,visible:a=!0,name:l,mergeRefs:s}){s=s!=null?s:Og;let p=Bc(t,e);if(a)return Co(p,o,n,l,s);let u=r!=null?r:0;if(u&2){let m=p,{static:b=!1}=m,f=d(m,[\"static\"]);if(b)return Co(f,o,n,l,s)}if(u&1){let g=p,{unmount:b=!0}=g,f=d(g,[\"unmount\"]);return Q(b?0:1,{0(){return null},1(){return Co(c(i({},f),{hidden:!0,style:{display:\"none\"}}),o,n,l,s)}})}return Co(p,o,n,l,s)}function Co(e,t={},o,n,r){let b=sr(e,[\"unmount\",\"static\"]),{as:a=o,children:l,refName:s=\"ref\"}=b,p=d(b,[\"as\",\"children\",\"refName\"]),u=e.ref!==void 0?{[s]:e.ref}:{},m=typeof l==\"function\"?l(t):l;\"className\"in p&&p.className&&typeof p.className==\"function\"&&(p.className=p.className(t));let g={};if(t){let f=!1,h=[];for(let[y,S]of Object.entries(t))typeof S==\"boolean\"&&(f=!0),S===!0&&h.push(y);f&&(g[\"data-headlessui-state\"]=h.join(\" \"))}if(a===ir&&Object.keys(Io(p)).length>0){if(!zg(m)||Array.isArray(m)&&m.length>1)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${n} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(p).map(S=>`  - ${S}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(S=>`  - ${S}`).join(`\n`)].join(`\n`));let f=m.props,h=typeof(f==null?void 0:f.className)==\"function\"?(...S)=>St(f==null?void 0:f.className(...S),p.className):St(f==null?void 0:f.className,p.className),y=h?{className:h}:{};return kg(m,Object.assign({},Bc(m.props,Io(sr(p,[\"ref\"]))),g,u,{ref:r(m.ref,u.ref)},y))}return Lg(a,Object.assign({},sr(p,[\"ref\"]),a!==ir&&u,a!==ir&&g),m)}function Og(...e){return e.every(t=>t==null)?void 0:t=>{for(let o of e)o!=null&&(typeof o==\"function\"?o(t):o.current=t)}}function Bc(...e){var t;if(e.length===0)return{};if(e.length===1)return e[0];let o={},n={};for(let r of e)for(let a in r)a.startsWith(\"on\")&&typeof r[a]==\"function\"?((t=n[a])!=null||(n[a]=[]),n[a].push(r[a])):o[a]=r[a];if(o.disabled||o[\"aria-disabled\"])return Object.assign(o,Object.fromEntries(Object.keys(n).map(r=>[r,void 0])));for(let r in n)Object.assign(o,{[r](a,...l){let s=n[r];for(let p of s){if((a instanceof Event||(a==null?void 0:a.nativeEvent)instanceof Event)&&a.defaultPrevented)return;p(a,...l)}}});return o}function me(e){var t;return Object.assign(Ag(e),{displayName:(t=e.displayName)!=null?t:e.name})}function Io(e){let t=Object.assign({},e);for(let o in t)t[o]===void 0&&delete t[o];return t}function sr(e,t=[]){let o=Object.assign({},e);for(let n of t)n in o&&delete o[n];return o}var Bg=\"div\",cr=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(cr||{});function Fg(e,t){var o;let l=e,{features:n=1}=l,r=d(l,[\"features\"]),a={ref:t,\"aria-hidden\":(n&2)===2?!0:(o=r[\"aria-hidden\"])!=null?o:void 0,hidden:(n&4)===4?!0:void 0,style:i({position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"},(n&4)===4&&(n&2)!==2&&{display:\"none\"})};return he({ourProps:a,theirProps:r,slot:{},defaultTag:Bg,name:\"Hidden\"})}var Fc=me(Fg);import Dg,{createContext as Hg,useContext as _g}from\"react\";var dr=Hg(null);dr.displayName=\"OpenClosedContext\";var le=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(le||{});function Ft(){return _g(dr)}function Eo({value:e,children:t}){return Dg.createElement(dr.Provider,{value:e},t)}function Dc(e){function t(){document.readyState!==\"loading\"&&(e(),document.removeEventListener(\"DOMContentLoaded\",t))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",t),t())}var We=[];Dc(()=>{function e(t){t.target instanceof HTMLElement&&t.target!==document.body&&We[0]!==t.target&&(We.unshift(t.target),We=We.filter(o=>o!=null&&o.isConnected),We.splice(10))}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});function Hc(e){let t=e.parentElement,o=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(o=t),t=t.parentElement;let n=(t==null?void 0:t.getAttribute(\"disabled\"))===\"\";return n&&Wg(o)?!1:n}function Wg(e){if(!e)return!1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return!1;t=t.previousElementSibling}return!0}function Kg(e){throw new Error(\"Unexpected object: \"+e)}var ee=(e=>(e[e.First=0]=\"First\",e[e.Previous=1]=\"Previous\",e[e.Next=2]=\"Next\",e[e.Last=3]=\"Last\",e[e.Specific=4]=\"Specific\",e[e.Nothing=5]=\"Nothing\",e))(ee||{});function pr(e,t){let o=t.resolveItems();if(o.length<=0)return null;let n=t.resolveActiveIndex(),r=n!=null?n:-1;switch(e.focus){case 0:{for(let a=0;a<o.length;++a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 1:{for(let a=r-1;a>=0;--a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 2:{for(let a=r+1;a<o.length;++a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 3:{for(let a=o.length-1;a>=0;--a)if(!t.resolveDisabled(o[a],a,o))return a;return n}case 4:{for(let a=0;a<o.length;++a)if(t.resolveId(o[a],a,o)===e.id)return a;return n}case 5:return null;default:Kg(e)}}function ur(e={},t=null,o=[]){for(let[n,r]of Object.entries(e))Wc(o,_c(t,n),r);return o}function _c(e,t){return e?e+\"[\"+t+\"]\":t}function Wc(e,t,o){if(Array.isArray(o))for(let[n,r]of o.entries())Wc(e,_c(t,n.toString()),r);else o instanceof Date?e.push([t,o.toISOString()]):typeof o==\"boolean\"?e.push([t,o?\"1\":\"0\"]):typeof o==\"string\"?e.push([t,o]):typeof o==\"number\"?e.push([t,`${o}`]):o==null?e.push([t,\"\"]):ur(o,t,e)}var se=(e=>(e.Space=\" \",e.Enter=\"Enter\",e.Escape=\"Escape\",e.Backspace=\"Backspace\",e.Delete=\"Delete\",e.ArrowLeft=\"ArrowLeft\",e.ArrowUp=\"ArrowUp\",e.ArrowRight=\"ArrowRight\",e.ArrowDown=\"ArrowDown\",e.Home=\"Home\",e.End=\"End\",e.PageUp=\"PageUp\",e.PageDown=\"PageDown\",e.Tab=\"Tab\",e))(se||{});var Yg=(e=>(e[e.Open=0]=\"Open\",e[e.Closed=1]=\"Closed\",e))(Yg||{}),Jg=(e=>(e[e.Single=0]=\"Single\",e[e.Multi=1]=\"Multi\",e))(Jg||{}),Qg=(e=>(e[e.Pointer=0]=\"Pointer\",e[e.Focus=1]=\"Focus\",e[e.Other=2]=\"Other\",e))(Qg||{}),jg=(e=>(e[e.OpenCombobox=0]=\"OpenCombobox\",e[e.CloseCombobox=1]=\"CloseCombobox\",e[e.GoToOption=2]=\"GoToOption\",e[e.RegisterOption=3]=\"RegisterOption\",e[e.UnregisterOption=4]=\"UnregisterOption\",e[e.RegisterLabel=5]=\"RegisterLabel\",e[e.SetActivationTrigger=6]=\"SetActivationTrigger\",e[e.UpdateVirtualOptions=7]=\"UpdateVirtualOptions\",e))(jg||{});function mr(e,t=o=>o){let o=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,n=t(e.options.slice()),r=n.length>0&&n[0].dataRef.current.order!==null?n.sort((l,s)=>l.dataRef.current.order-s.dataRef.current.order):Cc(n,l=>l.dataRef.current.domRef.current),a=o?r.indexOf(o):null;return a===-1&&(a=null),{options:r,activeOptionIndex:a}}var e4={1(e){var t;return(t=e.dataRef.current)!=null&&t.disabled||e.comboboxState===1?e:c(i({},e),{activeOptionIndex:null,comboboxState:1})},0(e){var t,o;if((t=e.dataRef.current)!=null&&t.disabled||e.comboboxState===0)return e;if((o=e.dataRef.current)!=null&&o.value){let n=e.dataRef.current.calculateIndex(e.dataRef.current.value);if(n!==-1)return c(i({},e),{activeOptionIndex:n,comboboxState:0})}return c(i({},e),{comboboxState:0})},2(e,t){var o,n,r,a,l;if((o=e.dataRef.current)!=null&&o.disabled||(n=e.dataRef.current)!=null&&n.optionsRef.current&&!((r=e.dataRef.current)!=null&&r.optionsPropsRef.current.static)&&e.comboboxState===1)return e;if(e.virtual){let m=t.focus===ee.Specific?t.idx:pr(t,{resolveItems:()=>e.virtual.options,resolveActiveIndex:()=>{var b,f;return(f=(b=e.activeOptionIndex)!=null?b:e.virtual.options.findIndex(h=>!e.virtual.disabled(h)))!=null?f:null},resolveDisabled:e.virtual.disabled,resolveId(){throw new Error(\"Function not implemented.\")}}),g=(a=t.trigger)!=null?a:2;return e.activeOptionIndex===m&&e.activationTrigger===g?e:c(i({},e),{activeOptionIndex:m,activationTrigger:g})}let s=mr(e);if(s.activeOptionIndex===null){let m=s.options.findIndex(g=>!g.dataRef.current.disabled);m!==-1&&(s.activeOptionIndex=m)}let p=t.focus===ee.Specific?t.idx:pr(t,{resolveItems:()=>s.options,resolveActiveIndex:()=>s.activeOptionIndex,resolveId:m=>m.id,resolveDisabled:m=>m.dataRef.current.disabled}),u=(l=t.trigger)!=null?l:2;return e.activeOptionIndex===p&&e.activationTrigger===u?e:c(i(i({},e),s),{activeOptionIndex:p,activationTrigger:u})},3:(e,t)=>{var o,n,r;if((o=e.dataRef.current)!=null&&o.virtual)return c(i({},e),{options:[...e.options,t.payload]});let a=t.payload,l=mr(e,p=>(p.push(a),p));e.activeOptionIndex===null&&(n=e.dataRef.current)!=null&&n.isSelected(t.payload.dataRef.current.value)&&(l.activeOptionIndex=l.options.indexOf(a));let s=c(i(i({},e),l),{activationTrigger:2});return(r=e.dataRef.current)!=null&&r.__demoMode&&e.dataRef.current.value===void 0&&(s.activeOptionIndex=0),s},4:(e,t)=>{var o;if((o=e.dataRef.current)!=null&&o.virtual)return c(i({},e),{options:e.options.filter(r=>r.id!==t.id)});let n=mr(e,r=>{let a=r.findIndex(l=>l.id===t.id);return a!==-1&&r.splice(a,1),r});return c(i(i({},e),n),{activationTrigger:2})},5:(e,t)=>e.labelId===t.id?e:c(i({},e),{labelId:t.id}),6:(e,t)=>e.activationTrigger===t.trigger?e:c(i({},e),{activationTrigger:t.trigger}),7:(e,t)=>{var o;if(((o=e.virtual)==null?void 0:o.options)===t.options)return e;let n=e.activeOptionIndex;if(e.activeOptionIndex!==null){let r=t.options.indexOf(e.virtual.options[e.activeOptionIndex]);r!==-1?n=r:n=null}return c(i({},e),{activeOptionIndex:n,virtual:Object.assign({},e.virtual,{options:t.options})})}},gr=fr(null);gr.displayName=\"ComboboxActionsContext\";function Dt(e){let t=wr(gr);if(t===null){let o=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,Dt),o}return t}var Uc=fr(null);function t4(e){var t;let o=ot(\"VirtualProvider\"),[n,r]=Ie(()=>{let p=o.optionsRef.current;if(!p)return[0,0];let u=window.getComputedStyle(p);return[parseFloat(u.paddingBlockStart||u.paddingTop),parseFloat(u.paddingBlockEnd||u.paddingBottom)]},[o.optionsRef.current]),a=xc({scrollPaddingStart:n,scrollPaddingEnd:r,count:o.virtual.options.length,estimateSize(){return 40},getScrollElement(){var p;return(p=o.optionsRef.current)!=null?p:null},overscan:12}),[l,s]=Xg(0);return q(()=>{s(p=>p+1)},[(t=o.virtual)==null?void 0:t.options]),Ce.createElement(Uc.Provider,{value:a},Ce.createElement(\"div\",{style:{position:\"relative\",width:\"100%\",height:`${a.getTotalSize()}px`},ref:p=>{if(p){if(typeof process!=\"undefined\"&&process.env.JEST_WORKER_ID!==void 0||o.activationTrigger===0)return;o.activeOptionIndex!==null&&o.virtual.options.length>o.activeOptionIndex&&a.scrollToIndex(o.activeOptionIndex)}}},a.getVirtualItems().map(p=>{var u;return Ce.createElement(Kc,{key:p.key},Ce.cloneElement((u=e.children)==null?void 0:u.call(e,{option:o.virtual.options[p.index],open:o.comboboxState===0}),{key:`${l}-${p.key}`,\"data-index\":p.index,\"aria-setsize\":o.virtual.options.length,\"aria-posinset\":p.index+1,style:{position:\"absolute\",top:0,left:0,transform:`translateY(${p.start}px)`,overflowAnchor:\"none\"}}))})))}var hr=fr(null);hr.displayName=\"ComboboxDataContext\";function ot(e){let t=wr(hr);if(t===null){let o=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,ot),o}return t}function o4(e,t){return Q(t.type,e4,e,t)}var r4=Kc;function n4(e,t){var o;let _r=e,{value:n,defaultValue:r,onChange:a,form:l,name:s,by:p=null,disabled:u=!1,__demoMode:m=!1,nullable:g=!1,multiple:b=!1,immediate:f=!1,virtual:h=null}=_r,y=d(_r,[\"value\",\"defaultValue\",\"onChange\",\"form\",\"name\",\"by\",\"disabled\",\"__demoMode\",\"nullable\",\"multiple\",\"immediate\",\"virtual\"]),S=!1,x=null,[C=b?[]:void 0,M]=Sc(n,a,r),[T,G]=Zg(o4,{dataRef:Ug(),comboboxState:m?0:1,options:[],virtual:x?{options:x.options,disabled:(o=x.disabled)!=null?o:()=>!1}:null,activeOptionIndex:null,activationTrigger:2,labelId:null}),N=xe(!1),A=xe({static:!1,hold:!1}),F=xe(null),P=xe(null),I=xe(null),E=xe(null),R=L(typeof p==\"string\"?(B,W)=>{let ae=p;return(B==null?void 0:B[ae])===(W==null?void 0:W[ae])}:p!=null?p:(B,W)=>B===W),O=L(B=>x?p===null?x.options.indexOf(B):x.options.findIndex(W=>R(W,B)):T.options.findIndex(W=>R(W.dataRef.current.value,B))),Z=$g(B=>Q(V.mode,{1:()=>C.some(W=>R(W,B)),0:()=>R(C,B)}),[C]),U=L(B=>T.activeOptionIndex===O(B)),V=Ie(()=>c(i({},T),{immediate:S,optionsPropsRef:A,labelRef:F,inputRef:P,buttonRef:I,optionsRef:E,value:C,defaultValue:r,disabled:u,mode:b?1:0,virtual:T.virtual,get activeOptionIndex(){if(N.current&&T.activeOptionIndex===null&&(x?x.options.length>0:T.options.length>0)){if(x){let W=x.options.findIndex(ae=>{var Xe,Tt;return!((Tt=(Xe=x==null?void 0:x.disabled)==null?void 0:Xe.call(x,ae))!=null&&Tt)});if(W!==-1)return W}let B=T.options.findIndex(W=>!W.dataRef.current.disabled);if(B!==-1)return B}return T.activeOptionIndex},calculateIndex:O,compare:R,isSelected:Z,isActive:U,nullable:g,__demoMode:m}),[C,r,u,b,g,m,T,x]);q(()=>{x&&G({type:7,options:x.options})},[x,x==null?void 0:x.options]),q(()=>{T.dataRef.current=V},[V]),Mc([V.buttonRef,V.inputRef,V.optionsRef],()=>Ko.closeCombobox(),V.comboboxState===0);let X=Ie(()=>{var B,W,ae;return{open:V.comboboxState===0,disabled:u,activeIndex:V.activeOptionIndex,activeOption:V.activeOptionIndex===null?null:V.virtual?V.virtual.options[(B=V.activeOptionIndex)!=null?B:0]:(ae=(W=V.options[V.activeOptionIndex])==null?void 0:W.dataRef.current.value)!=null?ae:null,value:C}},[V,u,C]),Y=L(()=>{if(V.activeOptionIndex!==null){if(V.virtual)it(V.virtual.options[V.activeOptionIndex]);else{let{dataRef:B}=V.options[V.activeOptionIndex];it(B.current.value)}Ko.goToOption(ee.Specific,V.activeOptionIndex)}}),H=L(()=>{G({type:0}),N.current=!0}),$=L(()=>{G({type:1}),N.current=!1}),_=L((B,W,ae)=>(N.current=!1,B===ee.Specific?G({type:2,focus:ee.Specific,idx:W,trigger:ae}):G({type:2,focus:B,trigger:ae}))),ie=L((B,W)=>(G({type:3,payload:{id:B,dataRef:W}}),()=>{V.isActive(W.current.value)&&(N.current=!0),G({type:4,id:B})})),Wo=L(B=>(G({type:5,id:B}),()=>G({type:5,id:null}))),it=L(B=>Q(V.mode,{0(){return M==null?void 0:M(B)},1(){let W=V.value.slice(),ae=W.findIndex(Xe=>R(Xe,B));return ae===-1?W.push(B):W.splice(ae,1),M==null?void 0:M(W)}})),ye=L(B=>{G({type:6,trigger:B})}),Ko=Ie(()=>({onChange:it,registerOption:ie,registerLabel:Wo,goToOption:_,closeCombobox:$,openCombobox:H,setActivationTrigger:ye,selectActiveOption:Y}),[]),Hd=t===null?{}:{ref:t},Ut=xe(null),_d=_e();return qg(()=>{Ut.current&&r!==void 0&&_d.addEventListener(Ut.current,\"reset\",()=>{M==null||M(r)})},[Ut,M]),Ce.createElement(gr.Provider,{value:Ko},Ce.createElement(hr.Provider,{value:V},Ce.createElement(Eo,{value:Q(V.comboboxState,{0:le.Open,1:le.Closed})},s!=null&&C!=null&&ur({[s]:C}).map(([B,W],ae)=>Ce.createElement(Fc,i({features:cr.Hidden,ref:ae===0?Xe=>{var Tt;Ut.current=(Tt=Xe==null?void 0:Xe.closest(\"form\"))!=null?Tt:null}:void 0},Io({key:B,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:l,disabled:u,name:B,value:W})))),he({ourProps:Hd,theirProps:y,slot:X,defaultTag:r4,name:\"Combobox\"}))))}var a4=\"input\";function l4(e,t){var o,n,r,a,l;let s=bt(),U=e,{id:p=`headlessui-combobox-input-${s}`,onChange:u,displayValue:m,type:g=\"text\"}=U,b=d(U,[\"id\",\"onChange\",\"displayValue\",\"type\"]),f=ot(\"Combobox.Input\"),h=Dt(\"Combobox.Input\"),y=Pe(f.inputRef,t),S=Tc(f.inputRef),x=xe(!1),C=_e(),M=L(()=>{h.onChange(null),f.optionsRef.current&&(f.optionsRef.current.scrollTop=0),h.goToOption(ee.Nothing)}),T=function(){var V;return typeof m==\"function\"&&f.value!==void 0?(V=m(f.value))!=null?V:\"\":typeof f.value==\"string\"?f.value:\"\"}();lr(([V,X],[Y,H])=>{if(x.current)return;let $=f.inputRef.current;$&&((H===0&&X===1||V!==Y)&&($.value=V),requestAnimationFrame(()=>{if(x.current||!$||(S==null?void 0:S.activeElement)!==$)return;let{selectionStart:_,selectionEnd:ie}=$;Math.abs((ie!=null?ie:0)-(_!=null?_:0))===0&&_===0&&$.setSelectionRange($.value.length,$.value.length)}))},[T,f.comboboxState,S]),lr(([V],[X])=>{if(V===0&&X===1){if(x.current)return;let Y=f.inputRef.current;if(!Y)return;let H=Y.value,{selectionStart:$,selectionEnd:_,selectionDirection:ie}=Y;Y.value=\"\",Y.value=H,ie!==null?Y.setSelectionRange($,_,ie):Y.setSelectionRange($,_)}},[f.comboboxState]);let G=xe(!1),N=L(()=>{G.current=!0}),A=L(()=>{C.nextFrame(()=>{G.current=!1})}),F=L(V=>{switch(x.current=!0,V.key){case se.Enter:if(x.current=!1,f.comboboxState!==0||G.current)return;if(V.preventDefault(),V.stopPropagation(),f.activeOptionIndex===null){h.closeCombobox();return}h.selectActiveOption(),f.mode===0&&h.closeCombobox();break;case se.ArrowDown:return x.current=!1,V.preventDefault(),V.stopPropagation(),Q(f.comboboxState,{0:()=>h.goToOption(ee.Next),1:()=>h.openCombobox()});case se.ArrowUp:return x.current=!1,V.preventDefault(),V.stopPropagation(),Q(f.comboboxState,{0:()=>h.goToOption(ee.Previous),1:()=>{h.openCombobox(),C.nextFrame(()=>{f.value||h.goToOption(ee.Last)})}});case se.Home:if(V.shiftKey)break;return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(ee.First);case se.PageUp:return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(ee.First);case se.End:if(V.shiftKey)break;return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(ee.Last);case se.PageDown:return x.current=!1,V.preventDefault(),V.stopPropagation(),h.goToOption(ee.Last);case se.Escape:return x.current=!1,f.comboboxState!==0?void 0:(V.preventDefault(),f.optionsRef.current&&!f.optionsPropsRef.current.static&&V.stopPropagation(),f.nullable&&f.mode===0&&f.value===null&&M(),h.closeCombobox());case se.Tab:if(x.current=!1,f.comboboxState!==0)return;f.mode===0&&f.activationTrigger!==1&&h.selectActiveOption(),h.closeCombobox();break}}),P=L(V=>{u==null||u(V),f.nullable&&f.mode===0&&V.target.value===\"\"&&M(),h.openCombobox()}),I=L(V=>{var X,Y,H;let $=(X=V.relatedTarget)!=null?X:We.find(_=>_!==V.currentTarget);if(x.current=!1,!((Y=f.optionsRef.current)!=null&&Y.contains($))&&!((H=f.buttonRef.current)!=null&&H.contains($))&&f.comboboxState===0)return V.preventDefault(),f.mode===0&&(f.nullable&&f.value===null?M():f.activationTrigger!==1&&h.selectActiveOption()),h.closeCombobox()}),E=L(V=>{var X,Y,H;let $=(X=V.relatedTarget)!=null?X:We.find(_=>_!==V.currentTarget);(Y=f.buttonRef.current)!=null&&Y.contains($)||(H=f.optionsRef.current)!=null&&H.contains($)||f.disabled||f.immediate&&f.comboboxState!==0&&(h.openCombobox(),C.nextFrame(()=>{h.setActivationTrigger(1)}))}),R=Po(()=>{if(f.labelId)return[f.labelId].join(\" \")},[f.labelId]),O=Ie(()=>({open:f.comboboxState===0,disabled:f.disabled}),[f]),Z={ref:y,id:p,role:\"combobox\",type:g,\"aria-controls\":(o=f.optionsRef.current)==null?void 0:o.id,\"aria-expanded\":f.comboboxState===0,\"aria-activedescendant\":f.activeOptionIndex===null?void 0:f.virtual?(n=f.options.find(V=>{var X;return!((X=f.virtual)!=null&&X.disabled(V.dataRef.current.value))&&f.compare(V.dataRef.current.value,f.virtual.options[f.activeOptionIndex])}))==null?void 0:n.id:(r=f.options[f.activeOptionIndex])==null?void 0:r.id,\"aria-labelledby\":R,\"aria-autocomplete\":\"list\",defaultValue:(l=(a=e.defaultValue)!=null?a:f.defaultValue!==void 0?m==null?void 0:m(f.defaultValue):null)!=null?l:f.defaultValue,disabled:f.disabled,onCompositionStart:N,onCompositionEnd:A,onKeyDown:F,onChange:P,onFocus:E,onBlur:I};return he({ourProps:Z,theirProps:b,slot:O,defaultTag:a4,name:\"Combobox.Input\"})}var i4=\"button\";function s4(e,t){var o;let n=ot(\"Combobox.Button\"),r=Dt(\"Combobox.Button\"),a=Pe(n.buttonRef,t),l=bt(),y=e,{id:s=`headlessui-combobox-button-${l}`}=y,p=d(y,[\"id\"]),u=_e(),m=L(S=>{switch(S.key){case se.ArrowDown:return S.preventDefault(),S.stopPropagation(),n.comboboxState===1&&r.openCombobox(),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})});case se.ArrowUp:return S.preventDefault(),S.stopPropagation(),n.comboboxState===1&&(r.openCombobox(),u.nextFrame(()=>{n.value||r.goToOption(ee.Last)})),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})});case se.Escape:return n.comboboxState!==0?void 0:(S.preventDefault(),n.optionsRef.current&&!n.optionsPropsRef.current.static&&S.stopPropagation(),r.closeCombobox(),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})}));default:return}}),g=L(S=>{if(Hc(S.currentTarget))return S.preventDefault();n.comboboxState===0?r.closeCombobox():(S.preventDefault(),r.openCombobox()),u.nextFrame(()=>{var x;return(x=n.inputRef.current)==null?void 0:x.focus({preventScroll:!0})})}),b=Po(()=>{if(n.labelId)return[n.labelId,s].join(\" \")},[n.labelId,s]),f=Ie(()=>({open:n.comboboxState===0,disabled:n.disabled,value:n.value}),[n]),h={ref:a,id:s,type:kc(e,n.buttonRef),tabIndex:-1,\"aria-haspopup\":\"listbox\",\"aria-controls\":(o=n.optionsRef.current)==null?void 0:o.id,\"aria-expanded\":n.comboboxState===0,\"aria-labelledby\":b,disabled:n.disabled,onClick:g,onKeyDown:m};return he({ourProps:h,theirProps:p,slot:f,defaultTag:i4,name:\"Combobox.Button\"})}var c4=\"label\";function d4(e,t){let o=bt(),m=e,{id:n=`headlessui-combobox-label-${o}`}=m,r=d(m,[\"id\"]),a=ot(\"Combobox.Label\"),l=Dt(\"Combobox.Label\"),s=Pe(a.labelRef,t);q(()=>l.registerLabel(n),[n]);let p=L(()=>{var g;return(g=a.inputRef.current)==null?void 0:g.focus({preventScroll:!0})}),u=Ie(()=>({open:a.comboboxState===0,disabled:a.disabled}),[a]);return he({ourProps:{ref:s,id:n,onClick:p},theirProps:r,slot:u,defaultTag:c4,name:\"Combobox.Label\"})}var p4=\"ul\",u4=yt.RenderStrategy|yt.Static;function m4(e,t){let o=bt(),f=e,{id:n=`headlessui-combobox-options-${o}`,hold:r=!1}=f,a=d(f,[\"id\",\"hold\"]),l=ot(\"Combobox.Options\"),s=Pe(l.optionsRef,t),p=Ft(),u=p!==null?(p&le.Open)===le.Open:l.comboboxState===0;q(()=>{var h;l.optionsPropsRef.current.static=(h=e.static)!=null?h:!1},[l.optionsPropsRef,e.static]),q(()=>{l.optionsPropsRef.current.hold=r},[l.optionsPropsRef,r]),Oc({container:l.optionsRef.current,enabled:l.comboboxState===0,accept(h){return h.getAttribute(\"role\")===\"option\"?NodeFilter.FILTER_REJECT:h.hasAttribute(\"role\")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(h){h.setAttribute(\"role\",\"none\")}});let m=Po(()=>{var h,y;return(y=l.labelId)!=null?y:(h=l.buttonRef.current)==null?void 0:h.id},[l.labelId,l.buttonRef.current]),g=Ie(()=>({open:l.comboboxState===0,option:void 0}),[l]),b={\"aria-labelledby\":m,role:\"listbox\",\"aria-multiselectable\":l.mode===1?!0:void 0,id:n,ref:s};return l.virtual&&l.comboboxState===0&&Object.assign(a,{children:Ce.createElement(t4,null,a.children)}),he({ourProps:b,theirProps:a,slot:g,defaultTag:p4,features:u4,visible:u,name:\"Combobox.Options\"})}var f4=\"li\";function w4(e,t){var o;let n=bt(),I=e,{id:r=`headlessui-combobox-option-${n}`,disabled:a=!1,value:l,order:s=null}=I,p=d(I,[\"id\",\"disabled\",\"value\",\"order\"]),u=ot(\"Combobox.Option\"),m=Dt(\"Combobox.Option\"),g=u.virtual?u.activeOptionIndex===u.calculateIndex(l):u.activeOptionIndex===null?!1:((o=u.options[u.activeOptionIndex])==null?void 0:o.id)===r,b=u.isSelected(l),f=xe(null),h=re({disabled:a,value:l,domRef:f,order:s}),y=wr(Uc),S=Pe(t,f,y?y.measureElement:null),x=L(()=>m.onChange(l));q(()=>m.registerOption(r,h),[h,r]);let C=xe(!(u.virtual||u.__demoMode));q(()=>{if(!u.virtual||!u.__demoMode)return;let E=be();return E.requestAnimationFrame(()=>{C.current=!0}),E.dispose},[u.virtual,u.__demoMode]),q(()=>{if(!C.current||u.comboboxState!==0||!g||u.activationTrigger===0)return;let E=be();return E.requestAnimationFrame(()=>{var R,O;(O=(R=f.current)==null?void 0:R.scrollIntoView)==null||O.call(R,{block:\"nearest\"})}),E.dispose},[f,g,u.comboboxState,u.activationTrigger,u.activeOptionIndex]);let M=L(E=>{var R;if(a||(R=u.virtual)!=null&&R.disabled(l))return E.preventDefault();x(),Go()||requestAnimationFrame(()=>{var O;return(O=u.inputRef.current)==null?void 0:O.focus({preventScroll:!0})}),u.mode===0&&requestAnimationFrame(()=>m.closeCombobox())}),T=L(()=>{var E;if(a||(E=u.virtual)!=null&&E.disabled(l))return m.goToOption(ee.Nothing);let R=u.calculateIndex(l);m.goToOption(ee.Specific,R)}),G=Ac(),N=L(E=>G.update(E)),A=L(E=>{var R;if(!G.wasMoved(E)||a||(R=u.virtual)!=null&&R.disabled(l)||g)return;let O=u.calculateIndex(l);m.goToOption(ee.Specific,O,0)}),F=L(E=>{var R;G.wasMoved(E)&&(a||(R=u.virtual)!=null&&R.disabled(l)||g&&(u.optionsPropsRef.current.hold||m.goToOption(ee.Nothing)))}),P=Ie(()=>({active:g,selected:b,disabled:a}),[g,b,a]);return he({ourProps:{id:r,ref:S,role:\"option\",tabIndex:a===!0?void 0:-1,\"aria-disabled\":a===!0?!0:void 0,\"aria-selected\":b,disabled:void 0,onClick:M,onFocus:T,onPointerEnter:N,onMouseEnter:N,onPointerMove:A,onMouseMove:A,onPointerLeave:F,onMouseLeave:F},theirProps:p,slot:P,defaultTag:f4,name:\"Combobox.Option\"})}var g4=me(n4),h4=me(s4),v4=me(l4),b4=me(d4),x4=me(m4),S4=me(w4),Rt=Object.assign(g4,{Input:v4,Button:h4,Label:b4,Options:x4,Option:S4});import{useRef as y4}from\"react\";function Vt(){let e=y4(!1);return q(()=>(e.current=!0,()=>{e.current=!1}),[]),e}import{useCallback as Mo,useState as R4}from\"react\";function $c(e=0){let[t,o]=R4(e),n=Vt(),r=Mo(p=>{n.current&&o(u=>u|p)},[t,n]),a=Mo(p=>!!(t&p),[t]),l=Mo(p=>{n.current&&o(u=>u&~p)},[o,n]),s=Mo(p=>{n.current&&o(u=>u^p)},[o]);return{flags:t,addFlag:r,hasFlag:a,removeFlag:l,toggleFlag:s}}import Ee,{createContext as Qc,Fragment as Yc,useContext as yr,useEffect as Ht,useMemo as jc,useRef as Me,useState as xr}from\"react\";function qc(e){let t={called:!1};return(...o)=>{if(!t.called)return t.called=!0,e(...o)}}function vr(e,...t){e&&t.length>0&&e.classList.add(...t)}function br(e,...t){e&&t.length>0&&e.classList.remove(...t)}function V4(e,t){let o=be();if(!e)return o.dispose;let{transitionDuration:n,transitionDelay:r}=getComputedStyle(e),[a,l]=[n,r].map(p=>{let[u=0]=p.split(\",\").filter(Boolean).map(m=>m.includes(\"ms\")?parseFloat(m):parseFloat(m)*1e3).sort((m,g)=>g-m);return u}),s=a+l;if(s!==0){o.group(u=>{u.setTimeout(()=>{t(),u.dispose()},s),u.addEventListener(e,\"transitionrun\",m=>{m.target===m.currentTarget&&u.dispose()})});let p=o.addEventListener(e,\"transitionend\",u=>{u.target===u.currentTarget&&(t(),p())})}else t();return o.add(()=>t()),o.dispose}function Zc(e,t,o,n){let r=o?\"enter\":\"leave\",a=be(),l=n!==void 0?qc(n):()=>{};r===\"enter\"&&(e.removeAttribute(\"hidden\"),e.style.display=\"\");let s=Q(r,{enter:()=>t.enter,leave:()=>t.leave}),p=Q(r,{enter:()=>t.enterTo,leave:()=>t.leaveTo}),u=Q(r,{enter:()=>t.enterFrom,leave:()=>t.leaveFrom});return br(e,...t.base,...t.enter,...t.enterTo,...t.enterFrom,...t.leave,...t.leaveFrom,...t.leaveTo,...t.entered),vr(e,...t.base,...s,...u),a.nextFrame(()=>{br(e,...t.base,...s,...u),vr(e,...t.base,...s,...p),V4(e,()=>(br(e,...t.base,...s),vr(e,...t.base,...t.entered),l()))}),a.dispose}function Xc({immediate:e,container:t,direction:o,classes:n,onStart:r,onStop:a}){let l=Vt(),s=_e(),p=re(o);q(()=>{e&&(p.current=\"enter\")},[e]),q(()=>{let u=be();s.add(u.dispose);let m=t.current;if(m&&p.current!==\"idle\"&&l.current)return u.dispose(),r.current(p.current),u.add(Zc(m,n.current,p.current===\"enter\",()=>{u.dispose(),a.current(p.current)})),u.dispose},[o])}function Ke(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}var To=Qc(null);To.displayName=\"TransitionContext\";var P4=(e=>(e.Visible=\"visible\",e.Hidden=\"hidden\",e))(P4||{});function G4(){let e=yr(To);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}function C4(){let e=yr(No);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}var No=Qc(null);No.displayName=\"NestingContext\";function ko(e){return\"children\"in e?ko(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t===\"visible\").length>0}function ed(e,t){let o=re(e),n=Me([]),r=Vt(),a=_e(),l=L((f,h=Ge.Hidden)=>{let y=n.current.findIndex(({el:S})=>S===f);y!==-1&&(Q(h,{[Ge.Unmount](){n.current.splice(y,1)},[Ge.Hidden](){n.current[y].state=\"hidden\"}}),a.microTask(()=>{var S;!ko(n)&&r.current&&((S=o.current)==null||S.call(o))}))}),s=L(f=>{let h=n.current.find(({el:y})=>y===f);return h?h.state!==\"visible\"&&(h.state=\"visible\"):n.current.push({el:f,state:\"visible\"}),()=>l(f,Ge.Unmount)}),p=Me([]),u=Me(Promise.resolve()),m=Me({enter:[],leave:[],idle:[]}),g=L((f,h,y)=>{p.current.splice(0),t&&(t.chains.current[h]=t.chains.current[h].filter(([S])=>S!==f)),t==null||t.chains.current[h].push([f,new Promise(S=>{p.current.push(S)})]),t==null||t.chains.current[h].push([f,new Promise(S=>{Promise.all(m.current[h].map(([x,C])=>C)).then(()=>S())})]),h===\"enter\"?u.current=u.current.then(()=>t==null?void 0:t.wait.current).then(()=>y(h)):y(h)}),b=L((f,h,y)=>{Promise.all(m.current[h].splice(0).map(([S,x])=>x)).then(()=>{var S;(S=p.current.shift())==null||S()}).then(()=>y(h))});return jc(()=>({children:n,register:s,unregister:l,onStart:g,onStop:b,wait:u,chains:m}),[s,l,n,g,b,m,u])}function I4(){}var E4=[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\"];function Jc(e){var t;let o={};for(let n of E4)o[n]=(t=e[n])!=null?t:I4;return o}function M4(e){let t=Me(Jc(e));return Ht(()=>{t.current=Jc(e)},[e]),t}var T4=\"div\",td=yt.RenderStrategy;function N4(e,t){var o,n;let it=e,{beforeEnter:r,afterEnter:a,beforeLeave:l,afterLeave:s,enter:p,enterFrom:u,enterTo:m,entered:g,leave:b,leaveFrom:f,leaveTo:h}=it,y=d(it,[\"beforeEnter\",\"afterEnter\",\"beforeLeave\",\"afterLeave\",\"enter\",\"enterFrom\",\"enterTo\",\"entered\",\"leave\",\"leaveFrom\",\"leaveTo\"]),S=Me(null),x=Pe(S,t),C=(o=y.unmount)==null||o?Ge.Unmount:Ge.Hidden,{show:M,appear:T,initial:G}=G4(),[N,A]=xr(M?\"visible\":\"hidden\"),F=C4(),{register:P,unregister:I}=F;Ht(()=>P(S),[P,S]),Ht(()=>{if(C===Ge.Hidden&&S.current){if(M&&N!==\"visible\"){A(\"visible\");return}return Q(N,{hidden:()=>I(S),visible:()=>P(S)})}},[N,S,P,I,M,C]);let E=re({base:Ke(y.className),enter:Ke(p),enterFrom:Ke(u),enterTo:Ke(m),entered:Ke(g),leave:Ke(b),leaveFrom:Ke(f),leaveTo:Ke(h)}),R=M4({beforeEnter:r,afterEnter:a,beforeLeave:l,afterLeave:s}),O=Ot();Ht(()=>{if(O&&N===\"visible\"&&S.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[S,N,O]);let Z=G&&!T,U=T&&M&&G,V=!O||Z?\"idle\":M?\"enter\":\"leave\",X=$c(0),Y=L(ye=>Q(ye,{enter:()=>{X.addFlag(le.Opening),R.current.beforeEnter()},leave:()=>{X.addFlag(le.Closing),R.current.beforeLeave()},idle:()=>{}})),H=L(ye=>Q(ye,{enter:()=>{X.removeFlag(le.Opening),R.current.afterEnter()},leave:()=>{X.removeFlag(le.Closing),R.current.afterLeave()},idle:()=>{}})),$=ed(()=>{A(\"hidden\"),I(S)},F),_=Me(!1);Xc({immediate:U,container:S,classes:E,direction:V,onStart:re(ye=>{_.current=!0,$.onStart(S,ye,Y)}),onStop:re(ye=>{_.current=!1,$.onStop(S,ye,H),ye===\"leave\"&&!ko($)&&(A(\"hidden\"),I(S))})});let ie=y,Wo={ref:x};return U?ie=c(i({},ie),{className:St(y.className,...E.current.enter,...E.current.enterFrom)}):_.current&&(ie.className=St(y.className,(n=S.current)==null?void 0:n.className),ie.className===\"\"&&delete ie.className),Ee.createElement(No.Provider,{value:$},Ee.createElement(Eo,{value:Q(N,{visible:le.Open,hidden:le.Closed})|X.flags},he({ourProps:Wo,theirProps:ie,defaultTag:T4,features:td,visible:N===\"visible\",name:\"Transition.Child\"})))}function k4(e,t){let M=e,{show:o,appear:n=!1,unmount:r=!0}=M,a=d(M,[\"show\",\"appear\",\"unmount\"]),l=Me(null),s=Pe(l,t);Ot();let p=Ft();if(o===void 0&&p!==null&&(o=(p&le.Open)===le.Open),![!0,!1].includes(o))throw new Error(\"A <Transition /> is used but it is missing a `show={true | false}` prop.\");let[u,m]=xr(o?\"visible\":\"hidden\"),g=ed(()=>{m(\"hidden\")}),[b,f]=xr(!0),h=Me([o]);q(()=>{b!==!1&&h.current[h.current.length-1]!==o&&(h.current.push(o),f(!1))},[h,o]);let y=jc(()=>({show:o,appear:n,initial:b}),[o,n,b]);Ht(()=>{if(o)m(\"visible\");else if(!ko(g))m(\"hidden\");else{let T=l.current;if(!T)return;let G=T.getBoundingClientRect();G.x===0&&G.y===0&&G.width===0&&G.height===0&&m(\"hidden\")}},[o,g]);let S={unmount:r},x=L(()=>{var T;b&&f(!1),(T=e.beforeEnter)==null||T.call(e)}),C=L(()=>{var T;b&&f(!1),(T=e.beforeLeave)==null||T.call(e)});return Ee.createElement(No.Provider,{value:g},Ee.createElement(To.Provider,{value:y},he({ourProps:c(i({},S),{as:Yc,children:Ee.createElement(od,c(i(i({ref:s},S),a),{beforeEnter:x,beforeLeave:C}))}),theirProps:{},defaultTag:Yc,features:td,visible:u===\"visible\",name:\"Transition\"})))}function L4(e,t){let o=yr(To)!==null,n=Ft()!==null;return Ee.createElement(Ee.Fragment,null,!o&&n?Ee.createElement(Sr,i({ref:t},e)):Ee.createElement(od,i({ref:t},e)))}var Sr=me(k4),od=me(N4),A4=me(L4),rd=Object.assign(Sr,{Child:A4,Root:Sr});D();import{Fragment as B4,jsx as Se,jsxs as Vr}from\"react/jsx-runtime\";var Rr=[{id:1,name:\"Wade Cooper\"},{id:2,name:\"Arlene Mccoy\"},{id:3,name:\"Devon Webb\"},{id:4,name:\"Tom Cook\"},{id:5,name:\"Tanya Fox\"},{id:6,name:\"Hellen Schmidt\"}],O4=()=>{let[e,t]=nd(Rr[0]),[o,n]=nd(\"\"),r=o===\"\"?Rr:Rr.filter(a=>a.name.toLowerCase().replace(/\\s+/g,\"\").includes(o.toLowerCase().replace(/\\s+/g,\"\")));return Se(Rt,{value:e,onChange:t,children:Vr(\"div\",{className:\"tw-relative tw-mt-1\",children:[Vr(\"div\",{className:\"tw-relative tw-w-full tw-cursor-default tw-overflow-hidden tw-rounded-lg tw-bg-white tw-text-left tw-shadow-md focus:tw-outline-none focus-visible:tw-ring-2 focus-visible:tw-ring-white focus-visible:tw-ring-opacity-75 focus-visible:tw-ring-offset-2 focus-visible:tw-ring-offset-teal-300 sm:tw-text-base\",children:[Se(Rt.Input,{className:\"tw-w-full tw-border-none tw-py-2 tw-pl-3 tw-pr-10 tw-leading-5 tw-text-gray-900 focus:tw-ring-0\",displayValue:a=>a.name,onChange:a=>n(a.target.value)}),Se(Rt.Button,{className:\"tw-absolute tw-inset-y-0 tw-right-0 tw-flex tw-items-center tw-pr-2\",children:Se(Oe,{className:\"tw-h-[20px] tw-w-[20px] tw-text-gray-400\",\"aria-hidden\":\"true\"})})]}),Se(rd,{as:z4,leave:\"transition ease-in duration-100\",leaveFrom:\"opacity-100\",leaveTo:\"opacity-0\",afterLeave:()=>n(\"\"),children:Se(Rt.Options,{className:\"tw-absolute tw-mt-1 tw-max-h-[240px] tw-w-full tw-overflow-auto tw-rounded-md tw-bg-white tw-py-1 tw-shadow-lg tw-ring-1 tw-ring-black tw-ring-opacity-5 focus:tw-outline-none\",children:r.length===0&&o!==\"\"?Se(\"div\",{className:\"tw-relative tw-cursor-default tw-select-none tw-py-2 tw-px-4 tw-text-gray-700\",children:\"Nothing found.\"}):r.map(a=>Se(Rt.Option,{className:({active:l})=>`tw-relative tw-cursor-default tw-select-none tw-py-2 tw-pl-10 tw-pr-4 ${l?\"tw-bg-emerald-60 tw-text-white\":\"tw-text-gray-90\"}`,value:a,children:({selected:l,active:s})=>Vr(B4,{children:[Se(\"span\",{className:`tw-block tw-truncate ${l?\"tw-font-semibold\":\"tw-font-normal\"}`,children:a.name}),l?Se(\"span\",{className:`tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-items-center tw-pl-3 ${s?\"tw-text-white\":\"tw-text-emerald-60\"}`,children:Se(dt,{className:\"tw-h-[20px] tw-w-[20px]\",\"aria-hidden\":\"true\"})}):null]})},a.id))})})]})})};k();D();import*as Lo from\"@radix-ui/react-checkbox\";import{forwardRef as F4}from\"react\";import{jsx as Pt,jsxs as $4}from\"react/jsx-runtime\";var D4=\"data-[disabled]:tw-bg-gray-10 data-[disabled]:tw-border-gray-30 data-[disabled]:tw-cursor-not-allowed\",H4=\"data-[state=checked]:tw-bg-primary-700 data-[state=checked]:hover:tw-bg-primary-300 data-[state=checked]:tw-border-primary-700 data-[state=checked]:hover:tw-border-primary-300 data-[state=checked]:tw-text-white\",_4=\"data-[state=checked]:tw-bg-gray-30 data-[state=checked]:tw-border-gray-30 data-[state=checked]:hover:tw-bg-gray-30 data-[state=checked]:hover:tw-border-gray-30 data-[disabled]:tw-cursor-not-allowed\",W4=\"data-[state=checked]:tw-bg-error-500 data-[state=checked]:tw-border-error-500 data-[state=checked]:hover:tw-bg-error-500 data-[state=checked]:hover:tw-border-error-500 data-[state=checked]:tw-text-white\",K4=F4(({label:e,id:t,name:o,checked:n,defaultChecked:r,disabled:a,onCheckedChange:l,error:s},p)=>$4(\"div\",{className:\"tw-flex tw-items-center\",children:[Pt(Lo.Root,{ref:p,className:w(\"tw-flex tw-items-center tw-justify-center tw-h-4 tw-w-4 tw-shrink-0 tw-p-0\",\"tw-group tw-appearance-none\",\"tw-duration-200\",\"tw-bg-white\",\" tw-border tw-border-solid tw-border-gray-40 tw-rounded-xs tw-outline-none\",\"tw-leading-[0px]\",[s?W4:H4,a?[n?_4:D4]:[s?\"tw-border-error-500 hover:tw-border-error-500\":\"hover:tw-border-primary-700\"],n===\"indeterminate\"&&[a?\"tw-bg-gray-30 tw-border-gray-30\":\"tw-bg-primary-700 tw-border-primary-700 hover:tw-bg-primary-300 hover:tw-border-primary-300\"]]),checked:n!==void 0?n:void 0,defaultChecked:r,onCheckedChange:l,id:t,name:o,disabled:a,children:Pt(Lo.Indicator,{className:w(\"tw-text-white\"),children:n===\"indeterminate\"?Pt(po,{}):Pt(Xt,{})})}),e&&Pt(\"label\",{className:w(\"tw-text-base tw-font-normal\",\"tw-pl-2\",\"tw-cursor-pointer\",a?\"tw-text-gray-50 tw-cursor-not-allowed\":[s?\"tw-text-error-700\":\"tw-text-gray-80\"]),htmlFor:t,children:e})]})),U4=({children:e,placement:t=\"horizontal\",className:o})=>Pt(\"div\",{className:w(`tw-flex ${t===\"vertical\"?\"tw-flex-col tw-space-y-3\":\"tw-space-x-4 tw-items-center\"}`,o),children:e});k();import{useState as ad,useRef as q4,useMemo as Z4,useId as X4,useEffect as Y4,forwardRef as J4,useImperativeHandle as Q4}from\"react\";import{jsx as Gt,jsxs as ld}from\"react/jsx-runtime\";var j4=J4(({id:e,name:t,value:o,defaultValue:n,onChange:r,onFocus:a,onBlur:l,autoHeight:s=!1,disabled:p=!1,readOnly:u=!1,maxLength:m,label:g,tooltip:b,className:f,inputClassName:h,hasError:y,errorText:S,placeholder:x,optionalText:C,blockIfLimitReached:M,tabIndex:T=0,counterText:G},N)=>{let A=e||X4(),F=`${A}-error`,P=`${A}-optional`,[I,E]=ad(!1),R=q4(null);Q4(N,()=>R.current,[]);let[O,Z]=ad(0),U=()=>Zr(void 0,null,function*(){var H;yield Z(0),R.current?Z(((H=R.current)==null?void 0:H.scrollHeight)+4):Z(0)}),V=Z4(()=>m&&o?`${m-o.length}`:`${m}`,[o,m]);Y4(()=>(U(),window.addEventListener(\"resize\",U),()=>{window.removeEventListener(\"resize\",U)}),[s]);let X=o&&m?o.length>m:!1,Y=(H,$)=>{let _=[];return H&&_.push(F),$&&_.push(P),_.join(\" \")};return ld(je,{label:g,id:A,tooltip:b,className:f,disabled:p,children:[Gt(vt,{isTextArea:!0,focus:I,hasError:y,className:\"w-full\",disabled:p,children:Gt(\"textarea\",{name:t,ref:R,id:A,value:o,defaultValue:n,onChange:H=>{!p&&!u&&(r&&r(H),s&&U())},onFocus:H=>{E(!0),a&&a(H)},onBlur:H=>{E(!1),l&&l(H)},style:{\"--content-height\":s?`${O}px`:void 0},className:w(\"tw-grow tw-box-border\",\"tw-block tw-min-h-[64px] tw-px-3 tw-py-2.5\",s&&\"tw-h-[--content-height] tw-resize-none\",h),disabled:p,readOnly:u,maxLength:M?m:void 0,placeholder:x,\"aria-label\":g,\"aria-invalid\":y,\"aria-describedby\":`${Y(y,C)}`||void 0,tabIndex:p?-1:T})}),(y||C||m)&&ld(\"div\",{className:w(\"tw-flex tw-gap-x-8\",!C&&!y&&m&&\"tw-justify-end\"),children:[C&&!y&&Gt(Qe,{id:P,children:C}),y&&Gt(Je,{id:F,children:S}),m&&Gt(\"div\",{\"aria-live\":\"polite\",className:\"tw-text-gray-60 tw-text-sm tw-text-right tw-font-normal tw-shrink-0 tw-mt-1\",children:Gt(\"span\",{className:w(X&&\"text-red-60\"),children:G?G(V):V})})]})]})});k();import{jsx as t3}from\"react/jsx-runtime\";var e3=({children:e,className:t})=>t3(\"div\",{className:w(\"tw-flex tw-flex-col tw-gap-y-6\",t),children:e});k();import{jsx as r3}from\"react/jsx-runtime\";var o3=({className:e})=>r3(\"div\",{className:w(\"tw-inline-block tw-w-px tw-bg-gray-30\",e)});import{jsx as Pr,jsxs as a3}from\"react/jsx-runtime\";var n3=()=>a3(\"div\",{role:\"status\",className:\"tw-max-w-md tw-animate-pulse\",children:[Pr(\"div\",{className:\"tw-flex tw-items-center tw-justify-between\",children:Pr(\"div\",{className:\"tw-h-4 tw-bg-gray-70 tw-rounded-md tw-w-full tw-mb-2.5\"})}),Pr(\"span\",{className:\"tw-sr-only\",children:\"Loading...\"})]});k();D();import l3,{useMemo as id}from\"react\";import{jsx as fe}from\"react/jsx-runtime\";var i3=[\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-50\",\"tw-bg-green-80\",\"tw-bg-purple-40\",\"tw-bg-blue-70\",\"tw-bg-yellow-60\",\"tw-bg-gray-60\",\"tw-bg-blue-80\",\"tw-bg-green-50\",\"tw-bg-orange-60\",\"tw-bg-emerald-80\",\"tw-bg-yellow-90\",\"tw-bg-red-60\",\"tw-bg-pink-40\",\"tw-bg-purple-60\",\"tw-bg-yellow-100\",\"tw-bg-emerald-60\",\"tw-bg-yellow-80\",\"tw-bg-green-60\",\"tw-bg-pink-80\",\"tw-bg-purple-80\",\"tw-bg-yellow-70\",\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-50\",\"tw-bg-purple-40\",\"tw-bg-yellow-60\",\"tw-bg-gray-60\",\"tw-bg-blue-80\",\"tw-bg-green-50\",\"tw-bg-orange-60\",\"tw-bg-red-60\",\"tw-bg-pink-40\",\"tw-bg-purple-60\",\"tw-bg-emerald-60\",\"tw-bg-green-60\",\"tw-bg-blue-60\",\"tw-bg-orange-50\",\"tw-bg-pink-50\",\"tw-bg-emerald-50\",\"tw-bg-gray-40\",\"tw-bg-green-40\",\"tw-bg-orange-100\",\"tw-bg-red-30\",\"tw-bg-orange-70\",\"tw-bg-green-70\",\"tw-bg-red-40\",\"tw-bg-yellow-50\",\"tw-bg-blue-40\",\"tw-bg-emerald-70\",\"tw-bg-purple-50\",\"tw-bg-gray-30\",\"tw-bg-green-90\",\"tw-bg-red-50\",\"tw-bg-orange-40\",\"tw-bg-orange-80\",\"tw-bg-pink-30\",\"tw-bg-gray-80\",\"tw-bg-blue-30\",\"tw-bg-purple-30\",\"tw-bg-red-80\",\"tw-bg-yellow-40\",\"tw-bg-yellow-100\",\"tw-bg-emerald-40\",\"tw-bg-pink-60\"],s3=e=>{switch(e){case\"activity\":return fe(eo,{});case\"ai_assistant\":return fe(wo,{});case\"facebook_messenger\":return fe(so,{});case\"whatsapp\":return fe(co,{});case\"chatflow\":return fe(to,{});case\"facebook_page\":return fe(ao,{});case\"forum\":return fe(oo,{});case\"instagram_comments\":return fe(lo,{});case\"instagram_messenger\":return fe(io,{});case\"knowledgebase\":return fe(ro,{});case\"inbox\":default:return fe(no,{})}},sd=({icon:e,size:t=\"small\",bgColor:o=\"tw-bg-gray-50\",className:n})=>{let r=s=>{switch(s){case\"small\":default:return\"tw-w-[18px] tw-h-[18px]\";case\"medium\":return\"tw-w-6 tw-h-6\";case\"large\":return\"tw-w-7 tw-h-7\"}},a=id(()=>{switch(t){case\"small\":default:return\"tw-text-xs\";case\"medium\":return\"tw-text-base\";case\"large\":return\"tw-text-[18px]\"}},[t]),l=id(()=>w(\"tw-flex tw-items-center tw-justify-center tw-rounded-full\",r(t),o,n),[t,o,n]);return fe(\"div\",{className:l,children:e&&l3.cloneElement(e,{className:w(\"tw-fill-white\",a)})})},c3=({channelType:e,channelClass:t,className:o,size:n=\"small\",disabled:r=!1})=>{let a=t.split(\"-\")[2],l=i3[Number(a)-1];return fe(sd,{icon:s3(e),bgColor:l,className:w(r&&\"tw-opacity-30 tw-grayscale\",o),size:n})};k();D();import{useRef as d3,useEffect as p3,useMemo as cd,useId as u3,lazy as Gr}from\"react\";import*as de from\"@radix-ui/react-dialog\";import{jsx as ce,jsxs as Ao}from\"react/jsx-runtime\";var m3=Gr(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.ExclamationTriangleIcon}))),f3=Gr(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.ErrorIcon}))),w3=Gr(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.InfoCircleIcon}))),dd=(n=>(n.INFO=\"info\",n.WARNING=\"warning\",n.ERROR=\"error\",n))(dd||{}),g3=({children:e,className:t})=>ce(\"div\",{className:w(\"tw-w-full tw-px-6 md:tw-px-8\",\"tw-grow tw-shrink\",\"tw-overflow-y-auto tw-overflow-x-hidden\",\"tw-font-normal tw-text-gray-100\",t),children:e}),h3=({children:e,className:t})=>ce(\"div\",{className:w(\"tw-flex tw-w-full tw-flex-wrap tw-justify-end tw-items-center\",\"tw-gap-4\",\"tw-shrink-0 tw-grow-0\",\"tw-px-6 md:tw-px-8 tw-pt-4\",t),children:e}),v3=({children:e,className:t,type:o})=>{let n=cd(()=>{if(e)return e;switch(o){case\"info\":return ce(w3,{className:\"tw-text-gray-60\"});case\"warning\":return ce(m3,{className:\"tw-text-error-700\"});case\"error\":return ce(f3,{className:\"tw-text-error-700\"});default:return null}},[o,e]);return ce(\"div\",{className:w(\"*:tw-w-6 *:tw-h-auto tw-mt-0.5\",t),children:n})},b3=({title:e,triggerButton:t,children:o,open:n,onOpenChange:r,className:a,fullscreen:l=!1,size:s=\"small\",container:p,withCloseButton:u=!0,ariaLabel:m,onOpenAutoFocus:g,onCloseAutoFocus:b,onEscapeKeyDown:f,onPointerDownOutside:h,onInteractOutside:y,clickOutsideToClose:S=!0})=>{let x=d3(null),C=(G,N)=>{let F=N.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'),P=F[0],I=F[F.length-1];return(R=>{(R.key===\"Tab\"||R.keyCode===9)&&(R.shiftKey?window.parent.parent.document.activeElement===P&&(I.focus(),R.preventDefault()):window.parent.parent.document.activeElement===I&&(P.focus(),R.preventDefault()))})(G)};p3(()=>(window.parent!=window.top&&setTimeout(()=>{let G=x.current;G&&G.addEventListener(\"keydown\",N=>C(N,G))},1e3),()=>{if(window.parent!=window.top){let G=x.current;G&&G.removeEventListener(\"keydown\",N=>C(N,G))}}),[n]);let M=cd(()=>{switch(s){case\"small\":default:return\"tw-max-w-lg\";case\"medium\":return\"tw-max-w-2xl\";case\"large\":return\"tw-max-w-4xl\"}},[s]),T=u3();return Ao(de.Root,{open:n,onOpenChange:G=>{r&&r(G),G||(document.body.style.pointerEvents=\"auto\")},children:[t&&ce(de.Trigger,{asChild:!0,children:t}),Ao(de.Portal,{container:p||(window.parent!=window.top?window.parent.parent.document.body:document.body),children:[!l&&ce(de.Overlay,{className:w(\"tw-fixed tw-inset-0 -tw-top-8 tw-z-[1000]\",\"tw-bg-black tw-bg-opacity-50\",\"data-[state=open]:tw-animate-overlayShow\")}),ce(\"div\",{className:w(\"tw-fixed tw-top-0 tw-left-0 tw-w-full tw-h-full tw-z-[1000]\",\"tw-flex tw-flex-col tw-justify-between tw-items-center\",!l&&\"tw-p-4\",!l&&\"before:tw-block before:tw-content-[''] before:tw-w-full before:tw-max-h-[64px] md:before:tw-max-h-[128px] before:tw-h-full before:tw-min-h-[48px]\",!l&&\"after:tw-block after:tw-content-[''] after:tw-w-full after:tw-max-h-[64px] md:after:tw-max-h-[128px] after:tw-h-full after:tw-min-h-[48px]\"),children:ce(de.Content,{asChild:!0,onOpenAutoFocus:G=>{g&&g(G)},onCloseAutoFocus:G=>{b&&b(G)},onEscapeKeyDown:G=>{!S&&G.preventDefault(),f&&f(G)},onPointerDownOutside:G=>{!S&&G.preventDefault(),h&&h(G)},onInteractOutside:G=>{y&&y(G)},children:Ao(\"div\",{ref:x,\"aria-label\":e?void 0:m||void 0,\"aria-describedby\":void 0,\"aria-labelledby\":e?T:void 0,className:w(\"tw-flex tw-flex-col tw-overflow-hidden\",\"tw-bg-white tw-w-full\",l?\"tw-h-full\":\"tw-rounded-xl tw-shadow-lg tw-max-h-full\",!l&&M,\"focus:tw-outline-none\",\"data-[state=open]:tw-animate-overlayShow\",\"tw-pb-6\",a),children:[Ao(\"div\",{className:w(\"tw-flex tw-w-full tw-shrink-0 tw-grow-0 tw-items-start\",e&&\"tw-justify-between\",!e&&\"tw-justify-end\",\"tw-px-6 md:tw-px-8 tw-pt-6 tw-pb-4\"),children:[e&&ce(de.Title,{className:w(\"tw-flex tw-items-start tw-gap-2\",\"tw-m-0 tw-pr-2\",\"tw-text-md md:tw-text-lg tw-font-semibold tw-text-gray-90\"),children:e}),u&&ce(de.Close,{asChild:!0,children:ce(\"button\",{type:\"button\",title:\"Close dialog\",className:w(\"tw-flex tw-justify-center tw-items-center tw-shrink-0\",\"-tw-mr-2 -tw-mt-2 tw-w-8 tw-h-8 tw-p-1 tw-text-gray-70\",\"tw-bg-transparent tw-border-0 tw-border-none tw-cursor-pointer\"),children:ce(Fe,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})})})]}),o]})})})]})]})};D();k();import{jsx as pd,jsxs as S3}from\"react/jsx-runtime\";var x3=({className:e,label:t})=>S3(\"div\",{className:\"tw-flex tw-flex-col tw-items-center tw-justify-center tw-space-y-1\",children:[pd(fo,{className:w(\"tw-animate-spin tw-text-2xl tw-text-primary-300\",e)}),t&&pd(\"span\",{className:\"tw-text-xs\",children:t})]});k();D();import{createContext as y3,useContext as ud,forwardRef as R3,useId as V3,useMemo as Cr,Fragment as P3}from\"react\";import{jsx as Ct,jsxs as gd}from\"react/jsx-runtime\";var Ir=y3({}),zo={},md=[\"tw-flex tw-justify-center tw-items-center tw-box-border\",\"tw-not-italic tw-font-semibold tw-text-base tw-leading-5 hover:tw-outline-0 active:tw-outline-0 \",\"tw-duration-200\"],fd=(e,t,o,n)=>{switch(e){default:case\"primary\":return w([t?\"tw-text-gray-50 hover:tw-text-gray-50\":[o?[\"tw-bg-primary-900 tw-text-secondary-100\"]:[\"tw-bg-primary-700 tw-text-secondary-100\",n?[\"tw-cursor-pointer\",\"hover:tw-bg-primary-900 hover:tw-text-secondary-100\",\"active:tw-bg-primary-900 active:tw-text-secondary-100\"]:\"tw-cursor-default\"]]]);case\"secondary\":return w([t?\"tw-text-gray-50 hover:tw-text-gray-50\":[o?[\"tw-bg-secondary-200 tw-text-primary-700\"]:[\"tw-bg-white tw-text-gray-80\",n?[\"tw-cursor-pointer\",\"hover:tw-bg-secondary-100 hover:tw-text-gray-80\",\"active:tw-bg-secondary-100 active:tw-text-gray-80\"]:\"tw-cursor-default\"]]])}},wd=e=>{switch(e){default:case\"small\":return{button:\"tw-h-full tw-rounded-l-[17px] tw-pl-4 tw-pr-1.5\",trigger:\"tw-h-full tw-w-[34px] tw-rounded-r-[17px] tw-py-1.5\"};case\"medium\":return{button:\"tw-h-full tw-rounded-l-[22px] tw-pl-4 tw-pr-1.5\",trigger:\"tw-h-full tw-w-[44px] tw-rounded-r-[22px]\"};case\"large\":return{button:\"tw-h-full tw-rounded-l-[24px] tw-pl-5 tw-pr-2\",trigger:\"tw-h-full tw-w-[48px] tw-rounded-r-[24px]\"}}};zo.Root=({id:e,children:t,label:o,disabled:n=!1,variant:r=\"primary\",size:a=\"medium\",className:l})=>{let s=V3(),p=Cr(()=>w(\"tw-flex tw-justify-center tw-items-end tw-box-border\",\"tw-relative tw-group\",r===\"primary\"&&[\"tw-border-0 tw-border-none\",n&&\"tw-bg-gray-20 hover:tw-bg-gray-20\"],r===\"secondary\"&&[\"tw-border tw-border-solid tw-border-gray-40\",n?\"tw-bg-gray-10 tw-border-gray-30 hover:tw-bg-gray-10 hover:tw-border-gray-30 active:tw-border-gray-30\":\"hover:tw-border-primary-900 active:tw-border-primary-900\"],a===\"small\"&&\"tw-h-[34px] tw-rounded-[17px]\",a===\"medium\"&&\"tw-h-[44px] tw-rounded-[22px]\",a===\"large\"&&\"tw-h-[48px] tw-rounded-[24px]\",n&&\"tw-cursor-not-allowed tw-select-none *:tw-pointer-events-none *:tw-select-none\",\"tw-duration-200\"),[a,r,n]);return Ct(Ir.Provider,{value:{variant:r,size:a,label:o,disabled:n},children:Ct(\"div\",{id:e||s,role:\"group\",\"aria-label\":o,className:w(p,l),children:t})})};zo.Content=({id:e,as:t=\"button\",children:o,label:n,className:r,onClick:a})=>{let l=ud(Ir),{variant:s,size:p,disabled:u,label:m}=l,g=Cr(()=>w(md,fd(s,u,!1,a!==void 0),wd(p).button,\"tw-border-r-0\"),[p,s,u,a]);return gd(\"div\",{id:e,role:t===\"button\"?\"button\":void 0,tabIndex:t===\"button\"?0:void 0,\"aria-label\":t===\"button\"&&n||void 0,\"aria-description\":t===\"button\"&&m||void 0,\"aria-disabled\":u,className:w(g,r),onClick:()=>!u&&a&&a(),children:[n&&Ct(\"div\",{className:\"tw-select-none tw-whitespace-nowrap\",children:n}),o]})};zo.Trigger=R3((p,s)=>{var u=p,{id:e,label:t,children:o,className:n,onClick:r,isOpen:a}=u,l=d(u,[\"id\",\"label\",\"children\",\"className\",\"onClick\",\"isOpen\"]);let m=ud(Ir),{variant:g,size:b,disabled:f,label:h}=m,y=Cr(()=>w(md,fd(g,f,a,!0),wd(b).trigger,\"tw-border-l-0 tw-visible tw-select-none\"),[b,g,f,a]);return gd(P3,{children:[Ct(\"div\",c(i({id:e,role:\"button\",\"aria-label\":t||void 0,\"aria-description\":h||void 0,\"aria-disabled\":f,tabIndex:0,className:w(y,n),\"aria-haspopup\":\"menu\",\"aria-expanded\":a,onClick:r},l),{children:o||Ct(Oe,{className:w(\"tw-w-6 tw-h-6 -tw-ml-1 tw-mt-0.5\",a&&\"tw-rotate-180 tw-mt-0\")})})),Ct(\"div\",i(i({ref:s,className:w(\"tw-flex tw-justify-end tw-items-center\",\"tw-absolute tw-right-0 tw-top-0\",\"tw-w-full tw-h-full\",\"tw-pointer-events-none\")},l.onPointerDown&&{onPointerDown:l.onPointerDown}),l.onKeyDown&&{onKeyDown:l.onKeyDown}))]})});k();import{forwardRef as G3,useId as C3}from\"react\";import{jsx as I3}from\"react/jsx-runtime\";var hd=G3((p,s)=>{var u=p,{size:e=\"small\",label:t,icon:o,className:n,id:r,onClick:a}=u,l=d(u,[\"size\",\"label\",\"icon\",\"className\",\"id\",\"onClick\"]);let m=C3();return I3(gt,i({as:\"div\",ref:s,variant:\"tertiary\",icon:o,size:e,label:t,className:w(\"data-[state=open]:tw-bg-secondary-200\",n),id:r||m,onClick:a},l))});hd.displayName=\"MenuButton\";k();import{forwardRef as E3,createElement as M3,useId as T3}from\"react\";import{Fragment as vd,jsx as N3,jsxs as k3}from\"react/jsx-runtime\";var bd=E3((S,y)=>{var x=S,{as:e=\"div\",children:t,icon:o,title:n,size:r=\"medium\",isActive:a,ariaRole:l=\"button\",type:s=\"button\",onClick:p,isRounded:u=!1,href:m,id:g,className:b,target:f}=x,h=d(x,[\"as\",\"children\",\"icon\",\"title\",\"size\",\"isActive\",\"ariaRole\",\"type\",\"onClick\",\"isRounded\",\"href\",\"id\",\"className\",\"target\"]);let C=T3();return M3(m?\"a\":e,i({id:g||C,role:l||\"button\",\"aria-label\":n||void 0,\"aria-current\":a?\"page\":void 0,tabIndex:0,className:w(\"tw-flex tw-items-center tw-justify-center\",r===\"small\"&&\"tw-h-[34px] tw-w-[34px] [&_>svg]:tw-h-5 [&_>svg]:tw-w-5\",r===\"medium\"&&\"tw-h-[40px] tw-w-[40px] [&_>svg]:tw-h-6 [&_>svg]:tw-w-6\",r===\"large\"&&\"tw-h-[52px] tw-w-[52px] [&_>svg]:tw-h-6 [&_>svg]:tw-w-6\",\"[&_>svg]:tw-fill-current\",u&&\"tw-rounded-full\",a?[\"tw-text-secondary-200 tw-bg-primary-900\",\"focus:tw-text-secondary-200 focus:tw-bg-primary-900\"]:[\"tw-text-gray-60 tw-bg-transparent\",\"hover:tw-text-primary-700 hover:tw-bg-secondary-200\",\"active:tw-text-primary-700 active:tw-bg-secondary-200\",\"focus:tw-text-gray-60 focus:tw-bg-transparent\"],\"tw-cursor-pointer tw-select-none tw-duration-200\",e===\"a\"&&m&&\"after:tw-hidden after:tw-content-none\",b),ref:y,href:e===\"a\"&&m?String(m):void 0,target:e===\"a\"&&f?f:void 0,type:m?void 0:e===\"button\"?s:void 0,onClick:p},h),k3(vd,{children:[o||N3(vd,{}),t]}))});bd.displayName=\"NavigationButton\";k();import{useMemo as L3}from\"react\";import{jsx as z3}from\"react/jsx-runtime\";var A3=e=>{switch(e){case\"primary\":return\"tw-bg-primary-700 tw-text-secondary-200\";case\"secondary\":return\"tw-bg-secondary-200 tw-text-primary-700\";case\"success\":return\"tw-text-success-900 tw-bg-success-400\";case\"warning\":return\"tw-text-warning-900 tw-bg-warning-300\";case\"important\":return\"tw-text-important-900 tw-bg-important-300\";default:return\"tw-bg-gray-10 tw-text-gray-70\"}},sM=a=>{var l=a,{children:e,className:t,color:o,variant:n=\"default\"}=l,r=d(l,[\"children\",\"className\",\"color\",\"variant\"]);let s=L3(()=>w(\"tw-inline-flex tw-items-center tw-justify-center\",\"tw-text-sm tw-font-semibold\",\"tw-px-1.5\",\"tw-rounded-sm tw-min-w-[1.25rem] tw-h-5\",A3(n),t),[n,t]);return z3(\"div\",c(i({className:s},r),{children:e}))};er();k();import{createElement as D3,memo as Rd,useEffect as H3,useRef as yd,useState as _3}from\"react\";import{useMemo as xd,useRef as Er,useState as Sd,useEffect as O3}from\"react\";var _t=({multiple:e=!0,allowedTypes:t,maxFileSize:o=1e6,onChangeCallback:n})=>{let[r,a]=Sd([]),[l,s]=Sd(!1),p=xd(()=>{let P=document.createElement(\"input\");return P.setAttribute(\"type\",\"file\"),e&&P.setAttribute(\"multiple\",\"true\"),t&&P.setAttribute(\"accept\",t.join(\",\")),P},[]),u=Er(p),m=u.current,g=Er(null),b=()=>{m.click()},f=(P,I)=>{let E=1,R=P,O=P.name.split(\".\"),Z=O.slice(0,-1).join(\".\"),U=O.slice(-1);for(;I.some(V=>V.file.name===`${Z}(${E}).${U}`);)E++;if(E>0){let V=`${Z}(${E}).${U}`;R=new File([P],V,{type:P.type})}return R},h=(P,I)=>{let E=Object.create({}),R=I&&I.filter(Z=>Z.file.name===P.name&&Z.file.size===P.size);R&&R.length>0?E.file=f(P,I):E.file=P;let O=P.name;switch(!0){case(t&&!t.includes(P.type)):E.isValid=!1,E.errorMessages=`File type not allowed (\"${O}\")`;break;case P.size>o:E.isValid=!1,E.errorMessages=`File size too big (\"${O}\")`;break;default:E.isValid=!0,E.errorMessages=null;break}return E},y=()=>{m&&(m.value=\"\")},S=P=>{a(I=>I&&I.length>0?I.filter((E,R)=>R!==P):[])},x=P=>{a(e?I=>[...I,h(P,I)]:[h(P)])},C=P=>{if(P.target){let I=P.target.files;I&&(Array.from(I).forEach(R=>{x(R)}),y(),n&&n())}},M=(P,I)=>{P.preventDefault(),P.stopPropagation(),s(I)},T=P=>{M(P,!0)},G=P=>{M(P,!1)},N=P=>{var I,E;if(M(P,!1),(I=P.dataTransfer)!=null&&I.items){let R=P.dataTransfer.items;R&&Array.from(R).forEach((O,Z)=>{if(O.kind===\"file\"&&O.type!==\"\"){let U=(e||Z===0)&&O.getAsFile();U&&x(U)}})}else{let R=(E=P.dataTransfer)==null?void 0:E.files;R&&Array.from(R).forEach((O,Z)=>{x(O)})}},A=xd(()=>{let P=[],I=r.filter(E=>E.isValid);return I.length>0&&I.forEach(E=>{P.push(E.file)}),P.length>0?P:null},[r]),F=Er(!1);return O3(()=>{var P,I,E;if(!F.current)return F.current=!0,u.current.addEventListener(\"change\",R=>{C(R)}),(P=g.current)==null||P.addEventListener(\"dragover\",R=>{T(R)}),(I=g.current)==null||I.addEventListener(\"dragleave\",R=>{G(R)}),(E=g.current)==null||E.addEventListener(\"drop\",R=>{N(R)}),()=>{var R,O,Z;u.current.removeEventListener(\"change\",U=>{C(U)}),(R=g.current)==null||R.removeEventListener(\"dragover\",U=>{T(U)}),(O=g.current)==null||O.removeEventListener(\"dragleave\",U=>{G(U)}),(Z=g.current)==null||Z.removeEventListener(\"drop\",U=>{N(U)})}},[]),{uploadFiles:b,uploadedFiles:r,validFiles:A,deleteFile:S,onChangeCallback:n,refDropArea:g,dropAreaIsActive:l}};import{useState as B3}from\"react\";var F3=e=>{let[t,o]=B3(\"\");if(e){let n=new FileReader;return n.readAsDataURL(e),n.onload=()=>{o(n.result)},t}else return null};import{jsx as Ue,jsxs as Mr}from\"react/jsx-runtime\";var Vd=Rd(({image:e,title:t,className:o})=>{let[n,r]=_3(\"\"),a=new FileReader;a.readAsDataURL(e),a.onload=()=>{r(a.result)};let l=D3(\"img\",{role:\"img\",\"aria-label\":t,alt:t,src:n,className:\"tw-inline-block tw-w-auto tw-h-full tw-object-contain\"},null);return Ue(\"div\",{className:w(\"tw-flex tw-flex-col tw-items-start\",o),children:Ue(\"div\",{role:\"figure\",\"aria-label\":t,\"aria-live\":\"assertive\",className:\"tw-h-[120px] tw-border tw-border-gray-20 tw-border-solid tw-p-4\",children:l})})}),Pd=Rd(({allowedTypes:e=[\"image/jpeg\",\"image/png\"],maxFileSize:t=1e6,onUpload:o,label:n=\"Choose image\"})=>{let r=()=>{setTimeout(()=>{u.current?u.current.focus():m.current&&m.current.focus()},1e3)},{uploadFiles:a,uploadedFiles:l,validFiles:s,deleteFile:p}=_t({onChangeCallback:()=>r(),multiple:!1,allowedTypes:e,maxFileSize:t}),u=yd(null),m=yd(null),g=h=>{h.preventDefault(),a()},b=(h,y)=>{h.preventDefault(),p(y)};H3(()=>{s&&s.length>0?o(s):o(null)},[s]);let f=l&&l.length>0;return Mr(\"div\",{children:[s&&s.length>0?l.map((h,y)=>Mr(\"div\",{role:\"group\",\"aria-label\":h.file.name,children:[Ue(Vd,{image:h.file,title:h.file.name}),Mr(\"div\",{className:\"tw-flex tw-space-x-5 tw-py-5\",children:[Ue(\"div\",{role:\"button\",tabIndex:0,onClick:S=>g(S),ref:m,children:\"Change File\"}),Ue(\"div\",{role:\"button\",tabIndex:0,onClick:S=>b(S,y),children:\"Delete File\"})]})]},y)):Ue(\"button\",{ref:u,role:\"button\",\"aria-label\":\"Choose image\",tabIndex:0,onClick:h=>{g(h)},className:w(\"tw-flex tw-w-full tw-justify-center tw-items-center\",\"tw-font-semibold tw-text-md\",\"tw-p-6\",\"tw-border tw-border-solid tw-rounded\",\"tw-border-gray-30 tw-bg-gray-10 tw-text-gray-50\"),children:n}),f&&Ue(\"div\",{className:\"tw-mt-2.5 tw-mb-4 tw-text-red-50 tw-text-sm\",\"aria-live\":\"assertive\",children:l.map((h,y)=>Ue(\"div\",{children:h.errorMessages},y))})]})});Vd.displayName=\"ImagePreview\";Pd.displayName=\"ImageUploader\";k();import{useEffect as W3,useRef as K3}from\"react\";k();import{jsx as It,jsxs as Tr}from\"react/jsx-runtime\";var U3=({allowedTypes:e,maxFileSize:t,multiple:o,onUpload:n})=>{let{uploadFiles:r,uploadedFiles:a,validFiles:l,deleteFile:s,refDropArea:p,dropAreaIsActive:u}=_t({onChangeCallback:()=>{var b;return(b=m.current)==null?void 0:b.focus()},multiple:o,allowedTypes:e,maxFileSize:t}),m=K3(null),g=(b,f)=>{b.preventDefault(),s(f)};return W3(()=>{l&&l.length>0?n(l):n(null)},[l]),Tr(\"div\",{children:[It(\"div\",{ref:p,className:w(\"tw-outline-dashed tw-outline-offset-4 tw-outline-2 tw-duration-300\",u?\"tw-outline-blue-50 tw-bg-gray-10\":\"tw-outline-transparent\"),children:It(\"button\",{ref:m,onClick:b=>{b.preventDefault(),r()},className:\"tw-border tw-border-solid tw-border-gray-30 tw-rounded tw-p-4 tw-text-gray-50 tw-bg-transparent\",children:\"Upload file\"})}),It(\"ul\",{role:\"list\",\"aria-live\":\"assertive\",className:\"tw-flex tw-flex-col tw-space-y-2 tw-mt-4\",children:a&&a.length>0&&a.map((b,f)=>Tr(\"li\",{role:\"listitem\",\"aria-label\":b.file.name,className:\"tw-flex tw-flex-col tw-space-y-1.5\",children:[Tr(\"div\",{className:\"tw-flex tw-justify-between tw-space-x-3 tw-w-full tw-rounded tw-bg-gray-20 tw-p-4\",children:[It(\"div\",{children:`${b.file.name} (${Uo(b.file.size)})`}),It(\"button\",{onClick:h=>g(h,f),children:\"Delete\"})]}),!b.isValid&&It(\"div\",{className:\"tw-text-sm tw-text-red-50 tw-w-full\",children:b.errorMessages})]},f))})]})};k();import*as pe from\"@radix-ui/react-toast\";import{jsx as $e,jsxs as Oo}from\"react/jsx-runtime\";var $3=({swipeDirection:e=\"right\",open:t,onOpenChange:o,title:n,description:r,buttonText:a,duration:l=8e3,closeButtonText:s,className:p,viewPortClassName:u,onAction:m})=>{let g=f=>{switch(f){case\"left\":return\"tw-justify-start\";case\"up\":return\"tw-items-center\";case\"down\":return\"tw-items-center\";default:return\"tw-items-end\"}},b=w(\"tw-flex tw-items-center\",\"tw-h-[32px] tw-px-3\",\"tw-font-semibold tw-text-base\",\"hover:tw-bg-gray-80 active:tw-bg-gray-100 tw-rounded-md tw-shrink-0 tw-duration-200\");return Oo(pe.Provider,{swipeDirection:e,children:[Oo(pe.Root,{forceMount:!0,open:t,onOpenChange:f=>{o&&o(f),f||(document.body.style.pointerEvents=\"auto\")},className:w(\"tw-flex tw-items-center tw-gap-x-6\",\"tw-bg-gray-90 tw-text-white tw-rounded\",\"tw-basis-12 tw-w-full md:tw-max-w-[348px]\",\"tw-shadow-[0_0_6px_0_rgba(0,0,0,0.24)]\",\"tw-px-4 tw-py-2.5\",t&&\"tw-pointer-events-auto\",\"tw-opacity-0\",\"tw-transition-[opacity] tw-duration-300 tw-ease-out\",\"data-[state=open]:tw-opacity-100\",\"data-[state=closed]:tw-opacity-0\",\"data-[swipe=move]:tw-translate-x-[var(--radix-toast-swipe-move-x)]\",\"data-[swipe=cancel]:tw-translate-x-0 data-[swipe=cancel]:tw-transition-[transform_200ms_ease-out]\",\"data-[swipe=end]:tw-animate-swipeOut\",p),duration:l,children:[Oo(\"div\",{className:w(\"tw-flex tw-flex-col tw-justify-center tw-space-y-[1px] tw-min-h-[32px] tw-grow\"),children:[n&&$e(pe.Title,{className:\"tw-w-full tw-font-semibold tw-text-base\",children:n}),r&&$e(pe.Description,{asChild:!0,className:\"tw-text-sm tw-w-full\",children:$e(\"div\",{children:r})})]}),(a||s)&&Oo(\"div\",{className:\"tw-flex tw-items-center tw-gap-x-1 tw-shrink-0 -tw-mr-2\",children:[a&&a.length&&$e(pe.Action,{className:b,asChild:!0,altText:a||\"\",children:$e(\"div\",{role:\"button\",tabIndex:0,onClick:()=>m&&m(),children:a})}),s&&$e(pe.Close,{asChild:!0,className:b,children:$e(\"div\",{role:\"button\",tabIndex:0,children:s})})]})]}),$e(pe.Viewport,{className:w(\"[--viewport-padding:_24px]\",\"tw-fixed tw-top-0 tw-left-0 tw-bottom-0 tw-right-0\",\"tw-m-0 tw-p-[--viewport-padding] tw-px-4 md:tw-px-[--viewport-padding] md:tw-pt-[80px]\",\"tw-flex tw-flex-col tw-justify-start\",\"tw-outline-none\",\"tw-pointer-events-none\",\"tw-z-[1001]\",g(e),u)})]})};k();import{useEffect as q3,useState as Z3}from\"react\";import{format as X3,formatDistanceToNow as Y3,isToday as J3,isThisYear as Q3}from\"date-fns\";import{da as j3,de as eh,enGB as th,es as oh,fi as rh,nb as nh,nl as ah,pl as lh,sv as ih}from\"date-fns/locale\";import{jsx as dh}from\"react/jsx-runtime\";var sh=e=>{switch(e){case\"sv-SE\":return ih;case\"da-DK\":return j3;case\"fi-FI\":return rh;case\"es-ES\":return oh;case\"de-DE\":return eh;case\"nb-NO\":return nh;case\"nl-NL\":return ah;case\"pl-PL\":return lh;default:case\"en-UK\":return th}},ch=({timestamp:e,locale:t=\"en-UK\",className:o})=>{let[n,r]=Z3(\"\"),a=(l,s)=>{let p=new Date(l),u=sh(s),m=Q3(p)?\"d MMM\":\"d MMM yyyy\";r(J3(p)?Y3(p,{locale:u,addSuffix:!0,includeSeconds:!1}):X3(p,m,{locale:u}))};return q3(()=>{a(e,t);let l=setInterval(()=>{a(e,t)},6e4);return()=>{clearInterval(l)}},[e,t]),dh(\"time\",{dateTime:e,className:w(\"tw-text-gray-60 tw-text-base\",o),title:e,children:n})};k();D();import{useRef as ph,useEffect as Bo,createContext as uh,useState as mh,useContext as fh,useId as Gd}from\"react\";import{jsx as qe,jsxs as Nr}from\"react/jsx-runtime\";var kr=uh({type:\"single\",expanded:[],setExpanded:()=>{}}),wh=({index:e,title:t,children:o,action:n,className:r,onExpanded:a})=>{let l=ph(null),{type:s,expanded:p,setExpanded:u}=fh(kr),m=p.includes(e),g=Gd(),b=Gd();Bo(()=>{m&&l.current&&l.current.focus()},[m]),Bo(()=>{a&&m&&l.current&&a(l.current)},[p,m]);let f=()=>{s===\"single\"?u(h=>h.includes(e)?[]:[e]):s===\"multiple\"&&u(h=>h.includes(e)?h.filter(y=>y!==e):[...h,e])};return Nr(\"div\",{className:w(\"tw-border-0 tw-border-y tw-border-solid tw-border-y-gray-30 tw-p-0\",\"tw-m-0 -tw-mt-[1px]\"),children:[Nr(\"div\",{className:w(\"tw-flex tw-justify-between tw-items-stretch tw-min-h-12 tw-p-0 tw-m-0\"),children:[Nr(\"div\",{role:\"button\",tabIndex:0,\"aria-expanded\":m?\"true\":\"false\",\"aria-controls\":b,className:w(\"tw-flex tw-items-center tw-grow tw-gap-x-1.5 tw-group\",\"tw-text-0 tw-text-left tw-text-gray-100\",\"tw-p-0 tw-py-2\",\"tw-cursor-pointer\",r),\"data-state\":m?\"open\":\"closed\",onClick:f,children:[qe(\"div\",{className:\"tw-shrink-0 group-data-[state=open]:tw-rotate-90 tw-duration-200 -tw-ml-1.5\",children:qe(pt,{className:\"tw-text-xl\"})}),qe(\"h3\",{id:g,className:\"tw-text-base tw-font-semibold tw-m-0 tw-p-0\",children:t})]}),n&&qe(\"div\",{className:\"tw-flex tw-justify-between tw-items-center tw-shrink-0\",children:n})]}),qe(\"div\",{ref:l,className:\"tw-pb-5 tw-pt-1.5 tw-group\",\"data-state\":m?\"open\":\"closed\",id:b,role:\"region\",\"aria-labelledby\":g,hidden:!m,tabIndex:m?0:-1,children:qe(\"div\",{className:\"group-data-[state=closed]:tw-animate-hide group-data-[state=open]:tw-animate-open\",children:o})})]})},gh=({defaultIndex:e=void 0,children:t,className:o,type:n=\"single\",onIndexChange:r})=>{let[a,l]=mh([]);return Bo(()=>{l(e!==void 0?[e]:[])},[e]),Bo(()=>{r&&r(a)},[a]),qe(\"div\",{className:w(o),children:qe(kr.Provider,{value:{type:n,expanded:a,setExpanded:l},children:t})})};k();import{jsx as vh}from\"react/jsx-runtime\";var hh=({timestamp:e,locale:t,className:o,isNumeric:n=!0,format:r=\"date\"})=>{let a={},l=n?\"2-digit\":\"long\",s=n?\"2-digit\":\"numeric\";switch(r){case\"date\":default:a={year:\"numeric\",month:l,day:s};break;case\"time\":a={hour:\"numeric\",minute:\"numeric\"};break;case\"datetime\":a={year:\"numeric\",month:l,day:s,hour:\"numeric\",minute:\"numeric\"};break}return vh(\"time\",{dateTime:e,className:w(\"tw-text-base\",o),children:new Intl.DateTimeFormat(t,a).format(new Date(e))})};k();D();import{createElement as bh}from\"react\";import{Fragment as Sh,jsx as Lr,jsxs as yh}from\"react/jsx-runtime\";var xh=({as:e=\"a\",title:t,url:o,className:n,target:r=\"_blank\",onClick:a,ariaLabel:l})=>bh(e,{href:e===\"a\"?o:void 0,tabIndex:e===\"div\"?0:void 0,\"aria-label\":l||(e===\"div\"?t:void 0),role:e===\"div\"?\"link\":void 0,target:e===\"a\"?r:void 0,className:w(\"tw-inline\",\"tw-text-gray-80 hover:tw-text-gray-80 active:tw-text-gray-80 visited:tw-text-gray-80 tw-cursor-pointer\",\"tw-no-underline hover:tw-no-underline active:tw-no-underline visited:tw-no-underline\",\"tw-border-b-2 tw-border-primary-300 tw-pb-[2px]\",'after:tw-hidden after:tw-content-[\"\"]',\"*:tw-align-middle\",n),onClick:s=>{e===\"a\"&&s.stopPropagation(),window.open(o,r),a&&a(s)}},yh(Sh,{children:[Lr(\"span\",{children:t}),r===\"_blank\"&&Lr(\"span\",{className:\"tw-ml-1\",children:Lr(uo,{className:\"tw-inline-block tw-text-sm tw-shrink-0 tw-mb-1\"})})]}));k();D();import{useMemo as Cd}from\"react\";import{Fragment as Vh,jsx as Et,jsxs as Ph}from\"react/jsx-runtime\";var Rh=({variant:e=\"info\",message:t,className:o})=>{let n=Cd(()=>w(\"tw-shrink-0 tw-text-md tw-mt-0.5\",e===\"info\"&&\"tw-text-gray-80 tw-fill-gray-80\",e===\"warning\"&&\"tw-text-orange-80 tw-fill-orange-80\",e===\"error\"&&\"tw-text-red-80 tw-fill-red-80\"),[e]),r=Cd(()=>{let a=w(\"tw-shrink-0 tw-text-md tw-mt-0.5\",e===\"info\"&&\"tw-text-gray-80 tw-fill-gray-80\",e===\"warning\"&&\"tw-text-orange-80 tw-fill-orange-80\",e===\"error\"&&\"tw-text-red-80 tw-fill-red-80\");switch(e){case\"info\":default:return Et(jt,{className:a});case\"warning\":return Et(Be,{className:a});case\"error\":return Et(Qt,{className:a})}},[e]);return Et(\"div\",{role:\"alert\",className:w(\"tw-flex tw-items-start tw-gap-x-2\",\"tw-text-gray-100 tw-text-base tw-font-normal\",e===\"info\"&&\"tw-bg-gray-10\",e===\"warning\"&&\"tw-bg-orange-10\",e===\"error\"&&\"tw-bg-red-10\",t?\"tw-p-4 tw-rounded-md\":\"tw-hidden\",o),children:t&&Ph(Vh,{children:[Et(\"div\",{className:\"tw-shrink-0\",\"aria-hidden\":\"true\",children:r}),Et(\"div\",{className:\"tw-grow\",children:t})]})})};k();import Gh,{useMemo as zr,lazy as we,Suspense as Ch}from\"react\";var Ar=[[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-50\",\"tw-fill-gray-50\"],[\"tw-bg-green-80\",\"tw-fill-green-80\"],[\"tw-bg-purple-40\",\"tw-fill-purple-40\"],[\"tw-bg-blue-70\",\"tw-fill-blue-70\"],[\"tw-bg-yellow-60\",\"tw-fill-yellow-60\"],[\"tw-bg-gray-60\",\"tw-fill-gray-60\"],[\"tw-bg-blue-80\",\"tw-fill-blue-80\"],[\"tw-bg-green-50\",\"tw-fill-green-50\"],[\"tw-bg-orange-60\",\"tw-fill-orange-60\"],[\"tw-bg-emerald-80\",\"tw-fill-emerald-80\"],[\"tw-bg-yellow-90\",\"tw-fill-yellow-90\"],[\"tw-bg-red-60\",\"tw-fill-red-60\"],[\"tw-bg-pink-40\",\"tw-fill-pink-40\"],[\"tw-bg-purple-60\",\"tw-fill-purple-60\"],[\"tw-bg-yellow-100\",\"tw-fill-yellow-100\"],[\"tw-bg-emerald-60\",\"tw-fill-emerald-60\"],[\"tw-bg-yellow-80\",\"tw-fill-yellow-80\"],[\"tw-bg-green-60\",\"tw-fill-green-60\"],[\"tw-bg-pink-80\",\"tw-fill-pink-80\"],[\"tw-bg-purple-80\",\"tw-fill-purple-80\"],[\"tw-bg-yellow-70\",\"tw-fill-yellow-70\"],[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-50\",\"tw-fill-gray-50\"],[\"tw-bg-purple-40\",\"tw-fill-purple-40\"],[\"tw-bg-yellow-60\",\"tw-fill-yellow-60\"],[\"tw-bg-gray-60\",\"tw-fill-gray-60\"],[\"tw-bg-blue-80\",\"tw-fill-blue-80\"],[\"tw-bg-green-50\",\"tw-fill-green-50\"],[\"tw-bg-orange-60\",\"tw-fill-orange-60\"],[\"tw-bg-red-60\",\"tw-fill-red-60\"],[\"tw-bg-pink-40\",\"tw-fill-pink-40\"],[\"tw-bg-purple-60\",\"tw-fill-purple-60\"],[\"tw-bg-emerald-60\",\"tw-fill-emerald-60\"],[\"tw-bg-green-60\",\"tw-fill-green-60\"],[\"tw-bg-blue-60\",\"tw-fill-blue-60\"],[\"tw-bg-orange-50\",\"tw-fill-orange-50\"],[\"tw-bg-pink-50\",\"tw-fill-pink-50\"],[\"tw-bg-emerald-50\",\"tw-fill-emerald-50\"],[\"tw-bg-gray-40\",\"tw-fill-gray-40\"],[\"tw-bg-green-40\",\"tw-fill-green-40\"],[\"tw-bg-orange-100\",\"tw-fill-orange-100\"],[\"tw-bg-red-30\",\"tw-fill-red-30\"],[\"tw-bg-orange-70\",\"tw-fill-orange-70\"],[\"tw-bg-green-70\",\"tw-fill-green-70\"],[\"tw-bg-red-40\",\"tw-fill-red-40\"],[\"tw-bg-yellow-50\",\"tw-fill-yellow-50\"],[\"tw-bg-blue-40\",\"tw-fill-blue-40\"],[\"tw-bg-emerald-70\",\"tw-fill-emerald-70\"],[\"tw-bg-purple-50\",\"tw-fill-purple-50\"],[\"tw-bg-gray-30\",\"tw-fill-gray-30\"],[\"tw-bg-green-90\",\"tw-fill-green-90\"],[\"tw-bg-red-50\",\"tw-fill-red-50\"],[\"tw-bg-orange-40\",\"tw-fill-orange-40\"],[\"tw-bg-orange-80\",\"tw-fill-orange-80\"],[\"tw-bg-pink-30\",\"tw-fill-pink-30\"],[\"tw-bg-gray-80\",\"tw-fill-gray-80\"],[\"tw-bg-blue-30\",\"tw-fill-blue-30\"],[\"tw-bg-purple-30\",\"tw-fill-purple-30\"],[\"tw-bg-red-80\",\"tw-fill-red-80\"],[\"tw-bg-yellow-40\",\"tw-fill-yellow-40\"],[\"tw-bg-yellow-100\",\"tw-fill-yellow-100\"],[\"tw-bg-emerald-40\",\"tw-fill-emerald-40\"],[\"tw-bg-pink-60\",\"tw-fill-pink-60\"]];import{Fragment as _h,jsx as ne}from\"react/jsx-runtime\";var Ih=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoCallsIcon}))),Eh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.WinkleIcon}))),Mh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoSocialMessengerIcon}))),Th=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoSocialWhatsappIcon}))),Nh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoChatIcon}))),kh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoSocialFacebookIcon}))),Lh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoForumIcon}))),Ah=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoSocialInstagramDmIcon}))),zh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoSocialInstagramIcon}))),Oh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoKnowledgeIcon}))),Bh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoMailIcon}))),Fh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoAiKnowledgeIcon}))),Dh=we(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.KundoExternalSourceIcon}))),Hh=e=>{switch(e){case\"activity\":case\"calls\":return ne(Ih,{});case\"ai_assistant\":return ne(Eh,{});case\"facebook_messenger\":return ne(Mh,{});case\"whatsapp\":return ne(Th,{});case\"chatflow\":case\"chat\":return ne(Nh,{});case\"facebook_page\":return ne(kh,{});case\"forum\":return ne(Lh,{});case\"instagram_comments\":return ne(zh,{});case\"instagram_messenger\":return ne(Ah,{});case\"knowledgebase\":return ne(Oh,{});case\"ai_knowledge\":return ne(Fh,{});case\"external_source\":case\"web_source\":return ne(Dh,{});case\"inbox\":case\"email\":default:return ne(Bh,{})}},Fo=({channelType:e=\"chat\",channelColor:t,className:o,size:n=\"small\",disabled:r=!1,isWrapped:a=!0})=>{let l=/\\d+$/,s=t==null?void 0:t.match(l),p=Ar[Number(s)-1],u=p?p[0]:\"tw-bg-gray-50\",m=p?p[1]:\"tw-fill-gray-50\",g=y=>{switch(y){case\"small\":default:return\"tw-w-[18px] tw-h-[18px]\";case\"medium\":return\"tw-w-6 tw-h-6\";case\"large\":return\"tw-w-7 tw-h-7\"}},b=zr(()=>{switch(n){case\"small\":default:return\"tw-text-xs\";case\"medium\":return\"tw-text-base\";case\"large\":return\"tw-text-[18px]\"}},[n]),f=zr(()=>w(\"tw-flex tw-items-center tw-justify-center tw-rounded-full tw-shrink-0\",g(n),a&&u,r&&\"tw-opacity-30 tw-grayscale\",o),[n,u,o,a,r]),h=zr(()=>Hh(e),[e]);return ne(\"div\",{className:f,children:ne(Ch,{fallback:ne(_h,{}),children:Gh.cloneElement(h,{className:w(a?\"tw-fill-white\":m,b)})})})};k();import{useId as Wh,forwardRef as Kh}from\"react\";import{jsx as Id}from\"react/jsx-runtime\";var Uh=({className:e})=>Id(\"div\",{className:w(e)}),$h=Kh(({className:e,id:t,children:o},n)=>{let r=t||Wh();return Id(\"div\",{id:r,ref:n,className:w(\"tw-flex tw-flex-col tw-gap-y-2 tw-w-full\",\"tw-animate-pulse\",\"tw-py-1 *:tw-h-3 *:tw-bg-gray-30 *:tw-rounded-[4px]\",e),children:o})});k();import{lazy as qh,useState as Zh,useEffect as Xh}from\"react\";import{jsx as Do,jsxs as Ed}from\"react/jsx-runtime\";var Yh=qh(()=>Promise.resolve().then(()=>(D(),j)).then(e=>({default:e.XIcon}))),Jh=({label:e,value:t,className:o,isToggle:n=!1,onClick:r,onDelete:a,isSelected:l=!1,size:s=\"large\",describedBy:p,disabled:u=!1})=>{let[m,g]=Zh(l);return Xh(()=>{g(l)},[l]),Ed(\"div\",{role:n||!a?\"button\":\"group\",\"aria-label\":e,\"aria-describedby\":p||void 0,\"data-value\":t,\"aria-pressed\":n?m:void 0,tabIndex:0,className:w(\"tw-inline-flex tw-items-center tw-justify-center\",\"tw-rounded-full tw-box-border\",\"tw-font-semibold\",\"tw-duration-200\",s===\"xsmall\"&&\"tw-h-7 tw-px-3 tw-gap-x-1 tw-text-sm\",s===\"small\"&&\"tw-h-8 tw-px-3 tw-gap-x-1 tw-text-base\",s===\"medium\"&&\"tw-h-[44px] tw-px-3.5 tw-gap-x-1.5 tw-text-base\",s===\"large\"&&\"tw-h-[52px] tw-px-4 tw-gap-x-2 tw-text-base\",n||r?\"tw-cursor-pointer\":\"tw-cursor-default\",n?[\"tw-border tw-border-solid tw-border-primary-500\",m?\"tw-bg-primary-500 tw-text-white\":\"tw-bg-white tw-text-gray-80-500 hover:tw-bg-secondary-100\"]:[\"tw-bg-primary-500 tw-text-white\",r&&\"hover:tw-bg-primary-700\"],o),onClick:()=>{n&&!u&&g(!m),r&&r(t)},children:[Do(\"div\",{className:\"tw-select-none\",children:e}),!n&&a&&Do(\"div\",{role:\"button\",\"aria-label\":\"\",onClick:b=>{b.stopPropagation(),a()},className:w(\"tw-flex tw-items-center tw-justify-center tw-shrink-0\",\"tw-cursor-pointer\",\"tw-rounded-full tw-box-border\",\"tw-duration-200\",\"tw-bg-primary-500 hover:tw-bg-primary-300 tw-text-white\",s===\"xsmall\"&&\"tw-w-6 tw-h-6 -tw-mr-[10px]\",s===\"small\"&&\"tw-w-[28px] tw-h-[28px] -tw-mr-[12px]\",s===\"medium\"&&\"tw-w-9 tw-h-9 -tw-mr-[10px]\",s===\"large\"&&\"tw-w-9 tw-h-9 -tw-mr-[10px]\"),children:Do(Yh,{className:w(\"tw-w-4\",s===\"xsmall\"&&\"tw-w-3\",s===\"small\"&&\"tw-w-[14px]\",\"tw-h-auto\")})})]})},Qh=({label:e,className:t,children:o,id:n,errorText:r,hasError:a=!1})=>Ed(\"div\",{id:n,role:\"group\",\"aria-label\":e||void 0,className:w(\"tw-flex tw-flex-wrap tw-items-start\",t),children:[o,a&&Do(bo,{className:\"tw-mt-3 tw-w-full\",children:r})]});k();import{createElement as jh}from\"react\";var ev=({as:e=\"div\",className:t,children:o,label:n})=>jh(e,{className:w(\"tw-border tw-border-solid tw-border-gray-30\",\"tw-px-4 tw-py-3 lg:tw-px-5 lg:tw-py-4\",\"tw-rounded-md\",t),role:\"region\",\"aria-label\":n||void 0},o);k();import{createElement as tv,useMemo as ov}from\"react\";var rv=({as:e=\"div\",id:t,children:o,className:n,styledAs:r})=>{let a=ov(()=>{switch(r&&r!==e?r:e){case\"h1\":return\"tw-text-xl md:tw-text-3xl tw-mb-4\";case\"h2\":return\"tw-text-lg md:tw-text-xl tw-mb-3.5\";case\"h3\":return\"tw-text-md md:tw-text-lg tw-mb-3.5\";case\"h4\":return\"tw-text-base md:tw-text-md tw-mb-3\";case\"h5\":case\"h6\":case\"p\":case\"div\":case\"span\":default:return\"tw-text-base tw-mb-3\"}},[e,r]);return tv(e,{className:w(\"tw-font-semibold tw-text-gray-100\",\"tw-p-0 tw-m-0\",a,n),id:t},o)};k();import*as Ze from\"@radix-ui/react-tabs\";import{motion as nv,AnimatePresence as av}from\"motion/react\";import{jsx as rt}from\"react/jsx-runtime\";var lv=({children:e,className:t,dataOrientation:o=\"horizontal\",defaultValue:n,value:r,asChild:a,onValueChange:l,activationMode:s=\"automatic\"})=>rt(Ze.Root,{\"data-orientation\":o,className:w(t),defaultValue:n,value:r,asChild:a,onValueChange:l,activationMode:s,children:e}),iv=({children:e,className:t,label:o,dataOrientation:n=\"horizontal\",loop:r=!0})=>rt(Ze.List,{\"aria-label\":o||void 0,className:w(\"tw-flex tw-flex-wrap tw-gap-2\",t),\"data-orientation\":n,loop:r,children:e}),sv=({value:e,children:t,className:o,disabled:n=!1})=>rt(Ze.Trigger,{value:e,disabled:n,asChild:!0,children:rt(\"div\",{className:w(\"tw-flex tw-items-center tw-justify-center tw-relative\",\"tw-box-border\",\"tw-min-h-10 tw-h-auto tw-px-2.5 tw-py-1\",\"tw-font-semibold tw-text-base tw-text-center\",\"tw-text-gray-60\",\"tw-cursor-pointer tw-select-none tw-duration-200 tw-outline-none\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-900\",\"after:tw-content-[''] after:tw-block after:tw-w-full after:tw-absolute after:tw-h-[3px] after:tw-left-0 after:-tw-bottom-[1px] after:tw-bg-transparent after:tw-duration-200\",\"hover:after:tw-bg-secondary-200\",\"data-[state=active]:tw-text-primary-900 data-[state=active]:tw-cursor-default data-[state=active]:after:tw-bg-primary-700\",o),children:t})}),cv=({value:e,children:t,className:o,dataOrientation:n=\"horizontal\"})=>rt(av,{children:rt(Ze.Content,{value:e,className:w(\"tw-box-border\",o),\"data-orientation\":n,asChild:!0,children:rt(nv.div,{initial:{opacity:0},animate:{opacity:1,transition:{delay:.2}},exit:{opacity:0},transition:{duration:.4,ease:\"easeInOut\"},children:t})})});k();D();import{forwardRef as Td,cloneElement as Md,useMemo as dv}from\"react\";import*as oe from\"@radix-ui/react-dropdown-menu\";import{jsx as ue,jsxs as Or}from\"react/jsx-runtime\";var pv=Td((u,p)=>{var m=u,{label:e,className:t,iconBefore:o,iconAfter:n,spacingBefore:r,hasSubMenu:a,isWarning:l}=m,s=d(m,[\"label\",\"className\",\"iconBefore\",\"iconAfter\",\"spacingBefore\",\"hasSubMenu\",\"isWarning\"]);let g=dv(()=>w(\"tw-flex-none\",\"tw-w-5 tw-h-auto\",\"tw-fill-current\",l?[\"tw-text-error-500\",\"group-hover:tw-text-error-700 group-data-[state=open]:tw-text-error-700\"]:[\"tw-text-gray-60\",\"group-hover:tw-text-primary-700 group-data-[state=open]:tw-text-primary-700\"]),[l]);return ue(\"div\",c(i({ref:p,role:\"menuitem\",\"aria-label\":e,className:w(\"tw-group\",\"tw-select-none tw-cursor-pointer\",\"tw-px-2\",t)},s),{children:Or(\"div\",{className:w(\"tw-flex tw-items-center tw-gap-2.5\",\"tw-rounded tw-px-2 tw-py-1.5 tw-bg-white\",l?[\"tw-text-error-500\",\"group-hover:tw-bg-error-100 group-hover:tw-text-error-700\",\"group-data-[state=open]:tw-bg-error-100 group-data-[state=open]:tw-text-error-700\"]:[\"tw-text-gray-80\",\"group-hover:tw-bg-secondary-100 group-hover:tw-text-primary-700\",\"group-data-[state=open]:tw-bg-secondary-100 group-data-[state=open]:tw-text-primary-700\"],\"tw-duration-200\",\"tw-overflow-hidden\",r&&'before:tw-block before:tw-content-[\"\"] before:tw-w-5'),children:[o&&Md(o,{className:g,\"aria-hidden\":!0}),ue(\"div\",{className:\"tw-grow tw-text-base tw-font-normal\",children:e}),n&&Md(n,{className:g,\"aria-hidden\":!0}),a&&ue(pt,{className:w(g,\"tw-w-6 -tw-mr-2\")})]})}))}),Nd=Td((r,n)=>{var a=r,{children:e,className:t}=a,o=d(a,[\"children\",\"className\"]);return ue(\"div\",c(i({ref:n,className:w(\"tw-bg-white tw-text-gray-100 tw-rounded-xl tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"data-[state=open]:tw-animate-open\",\"tw-flex tw-flex-col tw-gap-2\",\"*:tw-grow\",\"tw-py-2\",\"tw-z-[1000]\",\"focus:tw-outline-none focus:tw-outline-0 focus:tw-outline-transparent focus:tw-outline-offset-0\",t)},o),{children:e}))}),uv=({children:e,onSelect:t,disabled:o=!1,textValue:n,asChild:r=!0})=>ue(oe.Item,{onSelect:t,asChild:r,disabled:o,textValue:n,children:e}),mv=({className:e})=>ue(oe.Separator,{className:w(\"tw-h-[1px] tw-bg-gray-20 tw-select-none\",e)}),fv=({trigger:e,children:t,open:o,onOpenChange:n,defaultOpen:r,disabled:a,textValue:l,className:s,sideOffset:p=-12,alignOffset:u=12,hideWhenDetached:m=!1})=>Or(oe.Sub,{open:o,onOpenChange:n,defaultOpen:r,children:[ue(oe.SubTrigger,{asChild:!0,disabled:a,textValue:l,children:e}),ue(oe.Portal,{children:ue(oe.SubContent,{sideOffset:p,alignOffset:u,hideWhenDetached:m,asChild:!0,children:ue(Nd,{className:s,children:t})})})]}),wv=({trigger:e,children:t,open:o,modal:n,defaultOpen:r,container:a,onOpenChange:l,className:s,loop:p=!1,side:u=\"bottom\",align:m=\"start\",alignOffset:g=12,sideOffset:b=5,hideWhenDetached:f=!1})=>Or(oe.Root,{open:o,modal:n,defaultOpen:r,onOpenChange:l,children:[e&&ue(oe.Trigger,{asChild:!0,children:e}),ue(oe.Portal,{container:a,children:ue(oe.Content,{sideOffset:b,loop:p,side:u,align:m,alignOffset:g,hideWhenDetached:f,asChild:!0,children:ue(Nd,{className:s,children:t})})})]});k();D();import{forwardRef as gv}from\"react\";import*as Re from\"@radix-ui/react-popover\";import{jsx as Te,jsxs as Br}from\"react/jsx-runtime\";var hv=()=>Te(Re.Close,{asChild:!0,children:Te(\"div\",{role:\"button\",tabIndex:0,\"aria-label\":\"Close\",className:w(\"tw-flex tw-justify-center tw-items-center\",\"tw-w-8 tw-h-8\",\"tw-rounded-full\",\"tw-bg-transparent tw-text-gray-70\",\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"active:tw-bg-secondary-100 active:tw-text-primary-700\"),children:Te(Fe,{className:\"tw-w-[18px] tw-h-[18px]\"})})}),vv=gv((l,a)=>{var s=l,{title:e,children:t,className:o,showCloseButton:n=!1}=s,r=d(s,[\"title\",\"children\",\"className\",\"showCloseButton\"]);return Br(\"div\",c(i({ref:a,className:w(\"tw-bg-white tw-text-gray-100 tw-rounded-xl tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"data-[state=open]:tw-animate-open\",\"tw-flex tw-flex-col tw-gap-2\",\"*:tw-grow\",\"tw-py-2\",\"tw-z-[1000]\",\"focus:tw-outline-none focus:tw-outline-0 focus:tw-outline-transparent focus:tw-outline-offset-0\",\"tw-overflow-hidden\",o)},r),{children:[(e||n)&&Br(\"div\",{className:w(\"tw-flex tw-items-start tw-gap-4\",\"tw-pl-3.5 tw-pr-3\",e?\"tw-justify-between\":\"tw-justify-end\"),children:[Te(\"div\",{className:w(\"tw-text-md tw-font-semibold tw-mt-0.5\"),children:e}),n&&Te(hv,{})]}),t]}))}),bv=({open:e=!1,defaultOpen:t=!1,modal:o=!1,trigger:n,container:r=document.body,onOpenChange:a,side:l=\"bottom\",sideOffset:s=8,align:p=\"center\",alignOffset:u=0,arrowPadding:m=0,sticky:g=\"partial\",className:b,children:f,title:h,showCloseButton:y=!1})=>Br(Re.Root,{open:e,onOpenChange:a,defaultOpen:t,modal:o,children:[n&&Te(Re.Trigger,{asChild:!0,children:n}),Te(Re.Portal,{container:r,children:Te(Re.Content,{side:l,sideOffset:s,align:p,alignOffset:u,arrowPadding:m,sticky:g,asChild:!0,children:Te(vv,{className:b,title:h,showCloseButton:y,children:f})})})]});k();import{Fragment as Sv,jsx as Ho,jsxs as yv}from\"react/jsx-runtime\";var xv=({children:e,className:t,id:o})=>Ho(\"div\",{className:w(\"tw-flex tw-text-red-60 tw-space-x-1\",t),children:e&&yv(Sv,{children:[Ho(\"div\",{className:\"tw-h-4 tw-text-0\",children:Ho(Be,{className:\"tw-object-contain tw-h-full tw-w-auto tw-inline-block\"})}),Ho(\"div\",{id:o,className:\"tw-text-sm tw-font-normal tw-mt-[1px]\",children:e})]})});k();import{useId as kd,useRef as Ld,forwardRef as Rv,useImperativeHandle as Vv}from\"react\";import*as Mt from\"@radix-ui/react-radio-group\";import{jsx as Ne,jsxs as Iv}from\"react/jsx-runtime\";var Pv=({children:e,defaultValue:t,value:o,onValueChange:n,disabled:r,name:a,required:l,orientation:s,dir:p,loop:u=!0,className:m})=>Ne(Mt.Root,{asChild:!0,defaultValue:t,value:o,onValueChange:n,disabled:r,name:a,required:l,orientation:s,dir:p,loop:u,children:Ne(\"div\",{className:w(m),children:e})}),Ad=Rv(({children:e,value:t,disabled:o,required:n,className:r,id:a,label:l},s)=>{let p=kd(),u=Ld(null);return Vv(s,()=>({focus:()=>{var m;(m=u.current)==null||m.focus()},click:()=>{var m;(m=u.current)==null||m.click()}})),Ne(Mt.Item,{asChild:!0,value:t,disabled:o,required:n,children:Ne(\"div\",{ref:u,id:a!=null?a:p,tabIndex:o?-1:0,\"aria-label\":l||void 0,className:w(\"tw-flex tw-justify-center tw-items-center\",\"tw-w-4 tw-h-4\",\"tw-border tw-border-solid\",\"tw-rounded-full\",o?[\"data-[disabled]:tw-cursor-not-allowed\",\"data-[disabled]:data-[state=unchecked]:tw-bg-gray-10 data-[disabled]:data-[state=checked]:tw-bg-gray-10\",\"data-[disabled]:data-[state=unchecked]:tw-border-gray-30 data-[disabled]:data-[state=checked]:tw-border-gray-30 data-[disabled]:data-[state=checked]:tw-bg-gray-30\"]:[\"tw-cursor-pointer\",\"data-[state=unchecked]:tw-bg-white data-[state=unchecked]:tw-border-gray-40\",\"group-hover:data-[state=unchecked]:tw-border-primary-700\",\"data-[state=checked]:tw-bg-primary-700 data-[state=checked]:tw-border-primary-700\",\"group-hover:data-[state=checked]:tw-bg-primary-300 group-hover:data-[state=checked]:tw-border-primary-300\"],\"tw-duration-200\",r),onClick:m=>{var g;o?m.preventDefault():(g=u.current)==null||g.focus()},children:e})})}),zd=({className:e})=>Ne(Mt.Indicator,{asChild:!0,forceMount:!0,children:Ne(\"div\",{className:w(\"tw-shrink-0\",\"tw-w-2 tw-h-2\",\"tw-bg-white\",\"tw-rounded-full\",\"data-[state=unchecked]:tw-opacity-0 data-[state=checked]:tw-opacity-100\",\"tw-duration-200\",e)})}),Gv=({label:e,id:t,value:o,disabled:n,required:r,className:a})=>{let l=kd(),s=Ld(null);return Iv(\"div\",{className:w(\"tw-group\",\"tw-flex tw-items-start tw-gap-2\",a),children:[Ne(Ad,{value:o,disabled:n,required:r,id:t!=null?t:l,ref:s,className:w(\"tw-mt-0.5\",n?[\"\"]:[\"\"]),label:e,children:Ne(zd,{})}),e&&Ne(\"label\",{className:w(\"tw-text-base tw-font-normal\",n?\"tw-cursor-not-allowed tw-text-gray-50\":\"tw-cursor-pointer tw-text-gray-80\"),onClick:()=>{var p;return!n&&((p=s.current)==null?void 0:p.click())},children:e})]})},Cv={Root:Pv,Item:Ad,Indicator:zd,Button:Gv};k();import{createContext as Ev,useContext as Mv,useId as Tv,useState as Nv}from\"react\";import*as _o from\"@radix-ui/react-toggle-group\";import{motion as kv}from\"motion/react\";import{jsx as Wt,jsxs as Bv}from\"react/jsx-runtime\";var Od=Ev(null);function Lv(){let e=Mv(Od);if(!e)throw new Error(\"SegmentedControl.Item must be used within SegmentedControl.Root\");return e}function Av({children:e,defaultValue:t,value:o,onValueChange:n,disabled:r,className:a,\"aria-label\":l}){let s=Tv(),[p,u]=Nv(t),m=o!=null?o:p,g=o!==void 0;function b(f){f&&(g||u(f),n==null||n(f))}return Wt(Od.Provider,{value:{layoutId:s,selectedValue:m},children:Wt(_o.Root,c(i({type:\"single\"},g?{value:o}:{defaultValue:t}),{onValueChange:b,disabled:r,\"aria-label\":l,orientation:\"horizontal\",asChild:!0,children:Wt(\"div\",{className:w(\"tw-inline-flex tw-items-center tw-h-[42px] tw-p-[4px] tw-bg-gray-20 tw-rounded-xl tw-gap-2\",a),children:e})}))})}function zv({children:e,value:t,disabled:o,className:n}){let{layoutId:r,selectedValue:a}=Lv(),l=a===t;return Bv(_o.Item,{value:t,disabled:o,className:w(\"tw-relative tw-p-1.5 tw-px-3.5\",\"tw-text-base tw-font-normal tw-leading-[22px]\",\"tw-rounded-lg tw-cursor-pointer\",\"tw-outline-none tw-bg-transparent\",\"tw-transition-colors tw-duration-200\",\"data-[state=off]:tw-text-gray-70\",\"data-[state=on]:tw-text-gray-80\",\"data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-opacity-50\",\"focus-visible:tw-ring-2 focus-visible:tw-ring-primary-700 focus-visible:tw-ring-offset-1\",n),children:[l&&Wt(kv.span,{layoutId:r,className:\"tw-absolute tw-inset-0 tw-bg-white tw-rounded-lg\",transition:{type:\"spring\",bounce:.15,duration:.5}}),Wt(\"span\",{className:\"tw-relative tw-z-10\",children:e})]})}var Ov={Root:Av,Item:zv};k();D();import*as K from\"@radix-ui/react-select\";import{jsx as te,jsxs as nt}from\"react/jsx-runtime\";var Bd=\"tw-text-gray-60 *:tw-w-5 *:tw-h-auto *:tw-fill-current\",Fv=[\"hover:tw-bg-secondary-100 focus:tw-bg-secondary-100 focus:tw-outline-none\",\"tw-transition-[background-color,color] tw-duration-200\",\"tw-cursor-pointer\"].join(\" \"),Dv=[\"hover:tw-bg-secondary-100 hover:tw-text-primary-700\",\"focus:tw-bg-secondary-100 focus:tw-text-primary-700 focus:tw-outline-none\",\"tw-transition-[background-color,color] tw-duration-200\",\"tw-cursor-pointer\"].join(\" \"),Hv=({children:e,trigger:t,container:o,defaultValue:n,value:r,onValueChange:a,defaultOpen:l,open:s,onOpenChange:p,dir:u,name:m,disabled:g,required:b})=>nt(K.Root,{defaultValue:n,value:r,onValueChange:a,defaultOpen:l,open:s,onOpenChange:p,dir:u,name:m,disabled:g,required:b,children:[t,te(K.Portal,{container:o,children:e})]}),_v=({placeholder:e,className:t,icon:o,withChannelIcon:n=!1})=>{let r=n?void 0:Bd;return te(K.Trigger,{asChild:!0,children:nt(\"div\",{tabIndex:0,className:w(\"tw-flex tw-items-center tw-justify-between tw-gap-2\",\"tw-text-base tw-text-gray-90\",\"tw-px-2 tw-py-1 tw-rounded tw-min-h-10\",Fv,\"data-[disabled]:pointer-events-none data-[disabled]:tw-cursor-not-allowed data-[disabled]:tw-bg-gray-10 data-[disabled]:tw-text-gray-50\",\"tw-select-none\",t),children:[nt(\"div\",{className:\"tw-flex tw-items-center tw-gap-2 tw-min-w-0\",children:[o&&te(\"div\",{className:w(r,\"tw-shrink-0\"),children:o}),te(\"div\",{className:\"tw-grow tw-truncate tw-min-w-0\",children:te(K.Value,{placeholder:e})})]}),te(K.Icon,{asChild:!0,children:te(\"div\",{className:\"tw-shrink-0\",children:te(Yt,{className:\"tw-w-5 tw-h-auto tw-text-gray-60\"})})})]})})},Wv=({children:e,onCloseAutoFocus:t,onEscapeKeyDown:o,onPointerDownOutside:n,position:r=\"popper\",side:a=\"bottom\",sideOffset:l=0,align:s=\"start\",alignOffset:p=0,arrowPadding:u=0,sticky:m=\"partial\",hideWhenDetached:g=!1,className:b})=>nt(K.Content,{onCloseAutoFocus:t,onEscapeKeyDown:o,onPointerDownOutside:n,position:r,side:a,sideOffset:l,align:s,alignOffset:p,arrowPadding:u,sticky:m,hideWhenDetached:g,className:w(\"tw-bg-white tw-rounded-xl\",\"tw-shadow-[0_1px_3px_0_rgba(0,0,0,0.12),0_6px_12px_0_rgba(0,0,0,0.08)]\",\"tw-w-[var(--radix-select-trigger-width)] tw-min-w-max tw-max-w-[var(--radix-popper-available-width)]\",\"tw-max-h-[var(--radix-popper-available-height)]\",\"tw-overflow-hidden tw-z-[1000]\",b),children:[te(K.ScrollUpButton,{className:\"tw-flex tw-items-center tw-justify-center tw-py-1.5\",children:te(Jt,{className:\"tw-w-5 tw-h-5 tw-text-gray-60\"})}),te(K.Viewport,{children:e}),te(K.ScrollDownButton,{className:\"tw-flex tw-items-center tw-justify-center tw-py-1.5\",children:te(Oe,{className:\"tw-w-5 tw-h-5 tw-text-gray-60\"})})]}),Kv=({children:e,label:t,className:o})=>nt(K.Group,{className:w(\"tw-flex tw-flex-col tw-gap-y-2 *:tw-w-full tw-py-3.5 tw-px-2\",o),children:[t&&te(K.Label,{className:\"tw-text-sm tw-text-gray-70 tw-font-semibold tw-px-2 tw-pb-1\",children:t}),e]}),Uv=({children:e,value:t,disabled:o=!1,className:n,icon:r,withChannelIcon:a=!1})=>{let l=a?void 0:Bd;return nt(K.Item,{value:t,disabled:o,className:w(\"tw-flex tw-items-center tw-justify-between tw-gap-2\",\"tw-px-2 tw-py-1 tw-min-h-8 tw-rounded\",o?\"tw-cursor-not-allowed\":Dv,n),children:[nt(\"div\",{className:w(\"tw-flex tw-items-center tw-gap-2 tw-text-base\",o?\"tw-text-gray-50\":\"tw-text-gray-90\"),children:[r&&te(\"div\",{className:l,children:r}),te(K.ItemText,{children:e})]}),te(\"div\",{className:\"tw-shrink-0 tw-w-5\",children:te(K.ItemIndicator,{asChild:!0,children:te(dt,{className:\"tw-w-full tw-h-auto\"})})})]})},$v=({className:e})=>te(K.Separator,{className:w(\"tw-w-full tw-h-[1px] tw-bg-gray-30\",e)}),at={Root:Hv,Trigger:_v,Content:Wv,Group:Kv,Item:Uv,Separator:$v};k();D();import{Children as Zv}from\"react\";k();import{jsx as Fd}from\"react/jsx-runtime\";var Fr={default:\"tw-max-w-[880px]\",wide:\"tw-max-w-[1024px]\"},qv=({width:e=\"default\",children:t,className:o})=>Fd(\"div\",{className:w(\"tw-w-full tw-px-12 tw-pb-10\",o),children:Fd(\"div\",{className:w(\"tw-w-full tw-mx-auto\",Fr[e]),children:t})});import{jsx as ke,jsxs as eb}from\"react/jsx-runtime\";var Xv=({backButton:e,breadcrumbs:t,actions:o,contentWidth:n=\"default\",className:r,\"aria-label\":a})=>eb(\"nav\",{className:w(\"tw-relative tw-flex tw-w-full tw-justify-center\",\"tw-bg-white tw-pt-6 tw-pb-4 tw-px-12\",r),\"aria-label\":a,children:[e&&ke(\"div\",{className:\"tw-absolute tw-left-2 tw-bottom-3 tw-flex tw-items-center\",children:e}),ke(\"div\",{className:w(\"tw-flex tw-w-full tw-items-center tw-min-w-0\",Fr[n]),children:t}),o&&ke(\"div\",{className:\"tw-absolute tw-right-2 tw-bottom-3 tw-flex tw-items-center\",children:o})]}),Yv=({href:e,onClick:t,\"aria-label\":o,className:n})=>ke(gt,{as:e?\"a\":\"button\",href:e,onClick:t,icon:ke(Zt,{}),variant:\"tertiary\",size:\"small\",\"aria-label\":o,className:w(\"tw-flex-shrink-0\",n)}),Jv=({children:e,className:t,\"aria-label\":o})=>{let n=Zv.toArray(e);return ke(\"ol\",{className:w(\"tw-flex tw-items-center tw-gap-2 tw-min-w-0\",\"tw-text-sm tw-text-gray-70\",\"tw-list-none tw-m-0 tw-p-0\",t),\"aria-label\":o,children:n.map((r,a)=>ke(\"li\",{className:w(\"tw-flex tw-items-center\",a<n.length-1?[\"after:tw-content-['/']\",\"after:tw-ml-2\",\"after:tw-text-gray-40\",\"tw-shrink-0\"]:\"tw-min-w-0\"),children:r},a))})},Qv=({href:e,children:t,className:o})=>e?ke(\"a\",{href:e,className:w(\"tw-text-gray-70 hover:tw-text-gray-100\",\"tw-no-underline tw-border-b tw-border-primary-300\",\"tw-transition-colors tw-duration-200\",o),children:t}):ke(\"span\",{className:w(\"tw-text-gray-100 tw-truncate\",o),\"aria-current\":\"page\",children:t}),jv=Object.assign(Xv,{BackButton:Yv,Breadcrumbs:Jv,Breadcrumb:Qv});import{useRef as Dd,useId as tb,useEffect as Dr,memo as ob,useState as rb,useMemo as nb,useCallback as ab}from\"react\";k();import{jsx as Le,jsxs as cb}from\"react/jsx-runtime\";var lb=ob(({onClick:e,isLoading:t,isEmpty:o=!0,label:n})=>Le(gt,{variant:o?\"tertiary\":\"primary\",size:\"small\",label:n,icon:Le(mo,{}),onClick:()=>!t&&e()})),ib=({onClick:e,label:t})=>Le(At,{content:t,container:document.body,children:Le(\"div\",{role:\"button\",\"aria-label\":t,tabIndex:0,onClick:e,className:w(\"tw-flex tw-justify-center tw-shrink-0\",\"tw-w-9 tw-h-9\",\"tw-items-center\",\"tw-bg-transparent tw-text-gray-70 hover:tw-bg-gray-10 active:tw-bg-gray-20\",\"tw-rounded-full tw-duration-200\"),children:Le(Fe,{className:\"tw-fill-current tw-w-5 tw-h-5\"})})}),sb=({className:e,label:t=\"Search\",labelSearchButton:o=\"Search\",labelClearButton:n=\"Clear search\",onQueryChange:r,onSearch:a,onClear:l,isLoading:s,placeholder:p,value:u=\"\",showClearButton:m=!1,size:g=\"large\"})=>{let[b,f]=rb(u),h=Dd(null),y=Dd(!1),S=tb(),x=()=>{var N;(N=h.current)==null||N.focus()},C=nb(()=>b.trim(),[b]),M=ab(()=>{C!==\"\"?a(C):x()},[C]),T=N=>{N.key===\"Enter\"&&M()},G=()=>{l(),f(\"\"),setTimeout(x,0)};return Dr(()=>{setTimeout(x,200)},[]),Dr(()=>{f(u)},[u]),Dr(()=>{y.current&&r(b)},[b]),Le(\"div\",{role:\"search\",\"aria-label\":t!=null?t:void 0,className:w(e),children:Le(tr,{ref:h,id:S,value:b,inputSize:g===\"small\"?\"medium\":g,rounded:!0,placeholder:p,onChange:N=>{f(N.target.value),y.current=!0},disabled:s,autoComplete:\"off\",readOnly:s,onKeyDown:T,autoFocus:!0,action:cb(\"div\",{className:w(\"tw-flex tw-items-center tw-shrink-0 tw-gap-1\",(g===\"medium\"||g===\"small\")&&\"tw-pr-1.5\",g===\"large\"&&\"tw-pr-2\"),children:[m&&Le(ib,{label:n,onClick:G}),Le(lb,{isEmpty:b.trim()===\"\",onClick:M,isLoading:s,label:o})]})})})};import{useEffect as Hr,useState as Kt}from\"react\";k();import{jsx as lt}from\"react/jsx-runtime\";var db=({channels:e,currentChannel:t,className:o,defaultValue:n,value:r,onValueChange:a,open:l,onOpenChange:s,name:p,disabled:u=!1})=>{let[m,g]=Kt(r||JSON.stringify({url:(t==null?void 0:t.url)||\"\",color:(t==null?void 0:t.color)||\"\"})),[b,f]=Kt((t==null?void 0:t.color)||\"\"),[h,y]=Kt(t==null?void 0:t.type),[S,x]=Kt((t==null?void 0:t.name)||\"\"),[C,M]=Kt(l||!1);Hr(()=>{t!=null&&t.url&&(g(JSON.stringify({url:t.url,color:t.color})),f(t.color),y(t.type),x(t.name))},[t]),Hr(()=>{if(r!==void 0){g(r);try{let A=JSON.parse(r);f(A.color)}catch(A){}}},[r]),Hr(()=>{l!==void 0&&M(l)},[l]);let T=A=>{let F=JSON.parse(A),P=e.find(I=>I.url===F.url);g(A),f(F.color),P&&(y(P.type),x(P.name)),a==null||a(F.url,F.color)},G=A=>{M(A),s==null||s(A)},N=e&&e.length>0;return lt(at.Root,{defaultValue:n,value:m,onValueChange:T,open:C,onOpenChange:G,name:p,disabled:u,trigger:lt(at.Trigger,{placeholder:S,withChannelIcon:!0,icon:lt(Fo,{channelColor:b,size:\"medium\",channelType:h}),className:\"tw-text-md tw-font-semibold\"}),children:lt(at.Content,{className:w(o),children:N&&lt(at.Group,{children:e.map(A=>lt(at.Item,{value:JSON.stringify({url:A.url,color:A.color}),withChannelIcon:!0,icon:lt(Fo,{channelColor:A.color,size:\"medium\",channelType:A.type}),children:A.name},A.url))})})})};export{gh as Accordion,kr as AccordionContext,wh as AccordionItem,cn as ActivityIcon,pn as AiIcon,fn as AiTwinkleText,Rh as Alert,hn as ArrowDownIcon,xn as ArrowLeftDownIcon,Zt as ArrowLeftIcon,Pn as ArrowLeftUpIcon,In as ArrowRightDownIcon,Tn as ArrowRightIcon,Ln as ArrowRightUpIcon,On as ArrowUpIcon,O4 as AutoComplete,sM as Badge,Dn as BellIcon,Wn as BookIcon,$n as BookmarkIcon,ev as BorderBox,Xn as BulletedListIcon,MV as Button,Ar as CHANNEL_COLORS,Qn as CalendarIcon,ta as CategoryIcon,c3 as ChannelBadge,Fo as ChannelIcon,M2 as ChannelType,db as ChannelsMenuSelector,U4 as CheckBoxGroup,na as CheckCircleIcon,dt as CheckIcon,ca as CheckListIcon,Xt as CheckSmallIcon,K4 as Checkbox,fa as CheckboxOutlineIcon,Oe as ChevronDownIcon,Yt as ChevronExpandIcon,Sa as ChevronLeftIcon,pt as ChevronRightIcon,Ga as ChevronShrinkIcon,Ea as ChevronSkipEndIcon,Na as ChevronSkipStartIcon,Jt as ChevronUpIcon,Jh as Chip,Qh as ChipList,Oa as ClipsArrowRightIcon,Da as ClipsIcon,Wa as ClockHistoryIcon,$a as ClockIcon,Xa as CogIcon,Qa as CommentIcon,qv as Container,tl as CopyIcon,b3 as Dialog,h3 as DialogActions,g3 as DialogContent,v3 as DialogTitleIcon,dd as DialogTitleIconType,o3 as Divider,nl as DocumentIcon,il as DownloadIcon,dl as DragHandleIcon,ml as DragIndicatorIcon,gl as EllipsisHIcon,bl as EllipsisVIcon,yl as EmojiIcon,Pl as EnvelopeIcon,Qt as ErrorIcon,Be as ExclamationCircleIcon,Nl as ExclamationTriangleIcon,Al as ExpandIcon,Bl as ExportIcon,Hl as ExternalLinkIcon,Kl as EyeIcon,e3 as Fieldset,ql as FileCheckIcon,Yl as FileEditIcon,jl as FileIcon,oi as FilePlusIcon,U3 as FileUploader,ai as FileXIcon,si as FilterIcon,pi as GlobeIcon,Ud as Headings,ic as Helper,fi as HistogramChartIcon,hi as HouseIcon,sd as IconBadge,gt as IconButton,xi as ImageIcon,Pd as ImageUploader,Ri as InboxIcon,jt as InfoCircleIcon,tr as Input,je as InputRootElement,Je as InputRootElementError,Qe as InputRootOptionalText,Ii as KundoAiKnowledgeIcon,Ti as KundoAvatarShield,eo as KundoCallsIcon,to as KundoChatIcon,Bi as KundoExternalSourceIcon,oo as KundoForumIcon,Wi as KundoHelpcenterIcon,ro as KundoKnowledgeIcon,qi as KundoLogoIcon,no as KundoMailIcon,ao as KundoSocialFacebookIcon,lo as KundoSocialInstagramDmIcon,io as KundoSocialInstagramIcon,so as KundoSocialMessengerIcon,co as KundoSocialWhatsappIcon,is as LineChart1Icon,ds as LineChart2Icon,xh as Link,ms as LockIcon,gs as LogInIcon,bs as LogOutIcon,I2 as Logo,ys as MapPinIcon,Ps as MegaphoneIcon,hd as MenuButton,wv as MenuDropdown,uv as MenuDropdownItem,pv as MenuDropdownItemContainer,mv as MenuDropdownSeparator,fv as MenuDropdownSubMenu,Is as MenuIcon,at as MenuSelect,Ts as MinimizeIcon,Ls as MinusCircleIcon,Os as MinusIcon,po as MinusSmallIcon,_s as MoveIcon,bd as NavigationButton,uo as NoExternalIcon,$s as NoteIcon,jv as PageHeader,Xs as PencilIcon,Qs as PhoneIcon,t1 as PhonePlusIcon,n1 as PieChartIcon,i1 as PlusCircleIcon,d1 as PlusIcon,bv as PopoverMenu,ft as QuestionCircleIcon,Cv as RadioGroup,w1 as ReplyIcon,v1 as RotateLeftIcon,S1 as RotateRightIcon,V1 as RouterIcon,sb as SearchBox,mo as SearchIcon,E1 as Security,Ov as SegmentedControl,Y2 as Select,n3 as Skeleton,$h as SkeletonText,Uh as SkeletonTextRow,N1 as SpeechBubbleIcon,A1 as SpeechBubblesIcon,B1 as SpellCheckIcon,x3 as Spinner,fo as SpinnerIcon,zo as SplitButton,_1 as StarFilledIcon,U1 as StarIcon,Z1 as StopUpdatesIcon,z2 as Switch,J1 as SwitchIcon,cv as TabsContent,iv as TabsList,lv as TabsRoot,sv as TabsTrigger,e0 as TagIcon,j4 as TextArea,r0 as TextLongIcon,l0 as TextShortIcon,c0 as ThumbDownIcon,u0 as ThumbUpIcon,ch as TimeDistance,hh as TimeStamp,rv as Title,$3 as Toast,At as Tooltip,w0 as TranslateIcon,v0 as TrashCanIcon,S0 as UnlockIcon,V0 as UserAssignIcon,C0 as UserCheckIcon,M0 as UserClockIcon,k0 as UserIcon,z0 as UserPlusIcon,F0 as UserXIcon,xv as ValidationMessage,_0 as WindowMaximizeIcon,U0 as WindowMinimizeIcon,wo as WinkleIcon,Fe as XIcon,Q0 as XSmallIcon,N2 as getSizeClasses,oc as getVariantClasses,_t as useFileUpload,F3 as useImageUploadPreview};\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n  const { children, width = 10, height = 5, ...arrowProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.svg,\n    {\n      ...arrowProps,\n      ref: forwardedRef,\n      width,\n      height,\n      viewBox: \"0 0 30 10\",\n      preserveAspectRatio: \"none\",\n      children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n    }\n  );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n  Arrow,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n  const {\n    __scopeCheckbox,\n    checked: checkedProp,\n    children,\n    defaultChecked,\n    disabled,\n    form,\n    name,\n    onCheckedChange,\n    required,\n    value = \"on\",\n    // @ts-expect-error\n    internal_do_not_use_render\n  } = props;\n  const [checked, setChecked] = useControllableState({\n    prop: checkedProp,\n    defaultProp: defaultChecked ?? false,\n    onChange: onCheckedChange,\n    caller: CHECKBOX_NAME\n  });\n  const [control, setControl] = React.useState(null);\n  const [bubbleInput, setBubbleInput] = React.useState(null);\n  const hasConsumerStoppedPropagationRef = React.useRef(false);\n  const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n    // We set this to true by default so that events bubble to forms without JS (SSR)\n    true\n  );\n  const context = {\n    checked,\n    disabled,\n    setChecked,\n    control,\n    setControl,\n    name,\n    form,\n    value,\n    hasConsumerStoppedPropagationRef,\n    required,\n    defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n    isFormControl,\n    bubbleInput,\n    setBubbleInput\n  };\n  return /* @__PURE__ */ jsx(\n    CheckboxProviderImpl,\n    {\n      scope: __scopeCheckbox,\n      ...context,\n      children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n    }\n  );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n  ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n    const {\n      control,\n      value,\n      disabled,\n      checked,\n      required,\n      setControl,\n      setChecked,\n      hasConsumerStoppedPropagationRef,\n      isFormControl,\n      bubbleInput\n    } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n    const composedRefs = useComposedRefs(forwardedRef, setControl);\n    const initialCheckedStateRef = React.useRef(checked);\n    React.useEffect(() => {\n      const form = control?.form;\n      if (form) {\n        const reset = () => setChecked(initialCheckedStateRef.current);\n        form.addEventListener(\"reset\", reset);\n        return () => form.removeEventListener(\"reset\", reset);\n      }\n    }, [control, setChecked]);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        role: \"checkbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        \"aria-required\": required,\n        \"data-state\": getState(checked),\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        value,\n        ...checkboxProps,\n        ref: composedRefs,\n        onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n          if (event.key === \"Enter\") event.preventDefault();\n        }),\n        onClick: composeEventHandlers(onClick, (event) => {\n          setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n          if (bubbleInput && isFormControl) {\n            hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n            if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n          }\n        })\n      }\n    );\n  }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeCheckbox,\n      name,\n      checked,\n      defaultChecked,\n      required,\n      disabled,\n      value,\n      onCheckedChange,\n      form,\n      ...checkboxProps\n    } = props;\n    return /* @__PURE__ */ jsx(\n      CheckboxProvider,\n      {\n        __scopeCheckbox,\n        checked,\n        defaultChecked,\n        disabled,\n        required,\n        onCheckedChange,\n        name,\n        form,\n        value,\n        internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n          /* @__PURE__ */ jsx(\n            CheckboxTrigger,\n            {\n              ...checkboxProps,\n              ref: forwardedRef,\n              __scopeCheckbox\n            }\n          ),\n          isFormControl && /* @__PURE__ */ jsx(\n            CheckboxBubbleInput,\n            {\n              __scopeCheckbox\n            }\n          )\n        ] })\n      }\n    );\n  }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n    const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            \"data-state\": getState(context.checked),\n            \"data-disabled\": context.disabled ? \"\" : void 0,\n            ...indicatorProps,\n            ref: forwardedRef,\n            style: { pointerEvents: \"none\", ...props.style }\n          }\n        )\n      }\n    );\n  }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n  ({ __scopeCheckbox, ...props }, forwardedRef) => {\n    const {\n      control,\n      hasConsumerStoppedPropagationRef,\n      checked,\n      defaultChecked,\n      required,\n      disabled,\n      name,\n      value,\n      form,\n      bubbleInput,\n      setBubbleInput\n    } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n    const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = bubbleInput;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      const bubbles = !hasConsumerStoppedPropagationRef.current;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        input.indeterminate = isIndeterminate(checked);\n        setChecked.call(input, isIndeterminate(checked) ? false : checked);\n        input.dispatchEvent(event);\n      }\n    }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n    const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n    return /* @__PURE__ */ jsx(\n      Primitive.input,\n      {\n        type: \"checkbox\",\n        \"aria-hidden\": true,\n        defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n        required,\n        disabled,\n        name,\n        value,\n        form,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0,\n          // We transform because the input is absolutely positioned but we have\n          // rendered it **after** the button. This pulls it back to sit on top\n          // of the button.\n          transform: \"translateX(-100%)\"\n        }\n      }\n    );\n  }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n  Checkbox,\n  CheckboxIndicator,\n  CheckboxIndicator as Indicator,\n  Checkbox as Root,\n  createCheckboxScope,\n  CheckboxBubbleInput as unstable_BubbleInput,\n  CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n  CheckboxProvider as unstable_CheckboxProvider,\n  CheckboxTrigger as unstable_CheckboxTrigger,\n  CheckboxProvider as unstable_Provider,\n  CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n  const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n  );\n  const CollectionProvider = (props) => {\n    const { scope, children } = props;\n    const ref = React.useRef(null);\n    const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n    return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React.useRef(null);\n      const composedRefs = useComposedRefs(forwardedRef, ref);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      React.useEffect(() => {\n        context.itemMap.set(ref, { ref, ...itemData });\n        return () => void context.itemMap.delete(ref);\n      });\n      return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useCollection(scope) {\n    const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n    const getItems = React.useCallback(() => {\n      const collectionNode = context.collectionRef.current;\n      if (!collectionNode) return [];\n      const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n      const items = Array.from(context.itemMap.values());\n      const orderedItems = items.sort(\n        (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n      );\n      return orderedItems;\n    }, [context.collectionRef, context.itemMap]);\n    return getItems;\n  }\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    useCollection,\n    createCollectionScope\n  ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n  #keys;\n  constructor(entries) {\n    super(entries);\n    this.#keys = [...super.keys()];\n    __instanciated.set(this, true);\n  }\n  set(key, value) {\n    if (__instanciated.get(this)) {\n      if (this.has(key)) {\n        this.#keys[this.#keys.indexOf(key)] = key;\n      } else {\n        this.#keys.push(key);\n      }\n    }\n    super.set(key, value);\n    return this;\n  }\n  insert(index, key, value) {\n    const has = this.has(key);\n    const length = this.#keys.length;\n    const relativeIndex = toSafeInteger(index);\n    let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n    const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n    if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n      this.set(key, value);\n      return this;\n    }\n    const size = this.size + (has ? 0 : 1);\n    if (relativeIndex < 0) {\n      actualIndex++;\n    }\n    const keys = [...this.#keys];\n    let nextValue;\n    let shouldSkip = false;\n    for (let i = actualIndex; i < size; i++) {\n      if (actualIndex === i) {\n        let nextKey = keys[i];\n        if (keys[i] === key) {\n          nextKey = keys[i + 1];\n        }\n        if (has) {\n          this.delete(key);\n        }\n        nextValue = this.get(nextKey);\n        this.set(key, value);\n      } else {\n        if (!shouldSkip && keys[i - 1] === key) {\n          shouldSkip = true;\n        }\n        const currentKey = keys[shouldSkip ? i : i - 1];\n        const currentValue = nextValue;\n        nextValue = this.get(currentKey);\n        this.delete(currentKey);\n        this.set(currentKey, currentValue);\n      }\n    }\n    return this;\n  }\n  with(index, key, value) {\n    const copy = new _OrderedDict(this);\n    copy.insert(index, key, value);\n    return copy;\n  }\n  before(key) {\n    const index = this.#keys.indexOf(key) - 1;\n    if (index < 0) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position before the given key.\n   */\n  setBefore(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index, newKey, value);\n  }\n  after(key) {\n    let index = this.#keys.indexOf(key);\n    index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n    if (index === -1) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position after the given key.\n   */\n  setAfter(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index + 1, newKey, value);\n  }\n  first() {\n    return this.entryAt(0);\n  }\n  last() {\n    return this.entryAt(-1);\n  }\n  clear() {\n    this.#keys = [];\n    return super.clear();\n  }\n  delete(key) {\n    const deleted = super.delete(key);\n    if (deleted) {\n      this.#keys.splice(this.#keys.indexOf(key), 1);\n    }\n    return deleted;\n  }\n  deleteAt(index) {\n    const key = this.keyAt(index);\n    if (key !== void 0) {\n      return this.delete(key);\n    }\n    return false;\n  }\n  at(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return this.get(key);\n    }\n  }\n  entryAt(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return [key, this.get(key)];\n    }\n  }\n  indexOf(key) {\n    return this.#keys.indexOf(key);\n  }\n  keyAt(index) {\n    return at(this.#keys, index);\n  }\n  from(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.at(dest);\n  }\n  keyFrom(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.keyAt(dest);\n  }\n  find(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return entry;\n      }\n      index++;\n    }\n    return void 0;\n  }\n  findIndex(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return index;\n      }\n      index++;\n    }\n    return -1;\n  }\n  filter(predicate, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        entries.push(entry);\n      }\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  map(callbackfn, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  reduce(...args) {\n    const [callbackfn, initialValue] = args;\n    let index = 0;\n    let accumulator = initialValue ?? this.at(0);\n    for (const entry of this) {\n      if (index === 0 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n      index++;\n    }\n    return accumulator;\n  }\n  reduceRight(...args) {\n    const [callbackfn, initialValue] = args;\n    let accumulator = initialValue ?? this.at(-1);\n    for (let index = this.size - 1; index >= 0; index--) {\n      const entry = this.at(index);\n      if (index === this.size - 1 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n    }\n    return accumulator;\n  }\n  toSorted(compareFn) {\n    const entries = [...this.entries()].sort(compareFn);\n    return new _OrderedDict(entries);\n  }\n  toReversed() {\n    const reversed = new _OrderedDict();\n    for (let index = this.size - 1; index >= 0; index--) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      reversed.set(key, element);\n    }\n    return reversed;\n  }\n  toSpliced(...args) {\n    const entries = [...this.entries()];\n    entries.splice(...args);\n    return new _OrderedDict(entries);\n  }\n  slice(start, end) {\n    const result = new _OrderedDict();\n    let stop = this.size - 1;\n    if (start === void 0) {\n      return result;\n    }\n    if (start < 0) {\n      start = start + this.size;\n    }\n    if (end !== void 0 && end > 0) {\n      stop = end - 1;\n    }\n    for (let index = start; index <= stop; index++) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      result.set(key, element);\n    }\n    return result;\n  }\n  every(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return false;\n      }\n      index++;\n    }\n    return true;\n  }\n  some(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return true;\n      }\n      index++;\n    }\n    return false;\n  }\n};\nfunction at(array, index) {\n  if (\"at\" in Array.prototype) {\n    return Array.prototype.at.call(array, index);\n  }\n  const actualIndex = toSafeIndex(array, index);\n  return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n  const length = array.length;\n  const relativeIndex = toSafeInteger(index);\n  const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n  return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n  return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n  const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    {\n      collectionElement: null,\n      collectionRef: { current: null },\n      collectionRefObject: { current: null },\n      itemMap: new OrderedDict(),\n      setItemMap: () => void 0\n    }\n  );\n  const CollectionProvider = ({ state, ...props }) => {\n    return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const CollectionInit = (props) => {\n    const state = useInitCollection();\n    return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n  };\n  CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n  const CollectionProviderImpl = (props) => {\n    const { scope, children, state } = props;\n    const ref = React2.useRef(null);\n    const [collectionElement, setCollectionElement] = React2.useState(\n      null\n    );\n    const composeRefs = useComposedRefs2(ref, setCollectionElement);\n    const [itemMap, setItemMap] = state;\n    React2.useEffect(() => {\n      if (!collectionElement) return;\n      const observer = getChildListObserver(() => {\n      });\n      observer.observe(collectionElement, {\n        childList: true,\n        subtree: true\n      });\n      return () => {\n        observer.disconnect();\n      };\n    }, [collectionElement]);\n    return /* @__PURE__ */ jsx2(\n      CollectionContextProvider,\n      {\n        scope,\n        itemMap,\n        setItemMap,\n        collectionRef: composeRefs,\n        collectionRefObject: ref,\n        collectionElement,\n        children\n      }\n    );\n  };\n  CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React2.useRef(null);\n      const [element, setElement] = React2.useState(null);\n      const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      const { setItemMap } = context;\n      const itemDataRef = React2.useRef(itemData);\n      if (!shallowEqual(itemDataRef.current, itemData)) {\n        itemDataRef.current = itemData;\n      }\n      const memoizedItemData = itemDataRef.current;\n      React2.useEffect(() => {\n        const itemData2 = memoizedItemData;\n        setItemMap((map) => {\n          if (!element) {\n            return map;\n          }\n          if (!map.has(element)) {\n            map.set(element, { ...itemData2, element });\n            return map.toSorted(sortByDocumentPosition);\n          }\n          return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n        });\n        return () => {\n          setItemMap((map) => {\n            if (!element || !map.has(element)) {\n              return map;\n            }\n            map.delete(element);\n            return new OrderedDict(map);\n          });\n        };\n      }, [element, memoizedItemData, setItemMap]);\n      return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useInitCollection() {\n    return React2.useState(new OrderedDict());\n  }\n  function useCollection(scope) {\n    const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n    return itemMap;\n  }\n  const functions = {\n    createCollectionScope,\n    useCollection,\n    useInitCollection\n  };\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    functions\n  ];\n}\nfunction shallowEqual(a, b) {\n  if (a === b) return true;\n  if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n  if (a == null || b == null) return false;\n  const keysA = Object.keys(a);\n  const keysB = Object.keys(b);\n  if (keysA.length !== keysB.length) return false;\n  for (const key of keysA) {\n    if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n    if (a[key] !== b[key]) return false;\n  }\n  return true;\n}\nfunction isElementPreceding(a, b) {\n  return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n  return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n  const observer = new MutationObserver((mutationsList) => {\n    for (const mutation of mutationsList) {\n      if (mutation.type === \"childList\") {\n        callback();\n        return;\n      }\n    }\n  });\n  return observer;\n}\nexport {\n  createCollection,\n  createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n  const {\n    __scopeDialog,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const triggerRef = React.useRef(null);\n  const contentRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DIALOG_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DialogProvider,\n    {\n      scope: __scopeDialog,\n      triggerRef,\n      contentRef,\n      contentId: useId(),\n      titleId: useId(),\n      descriptionId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children\n    }\n  );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...triggerProps } = props;\n    const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n    const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": getState(context.open),\n        ...triggerProps,\n        ref: composedTriggerRef,\n        onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n      }\n    );\n  }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar DialogPortal = (props) => {\n  const { __scopeDialog, forceMount, children, container } = props;\n  const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n    const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n    const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n    return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n  }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...overlayProps } = props;\n    const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n    return (\n      // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n      // ie. when `Overlay` and `Content` are siblings\n      /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          \"data-state\": getState(context.open),\n          ...overlayProps,\n          ref: forwardedRef,\n          style: { pointerEvents: \"auto\", ...overlayProps.style }\n        }\n      ) })\n    );\n  }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n  }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n    React.useEffect(() => {\n      const content = contentRef.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      DialogContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          event.preventDefault();\n          context.triggerRef.current?.focus();\n        }),\n        onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (isRightClick) event.preventDefault();\n        }),\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault()\n        )\n      }\n    );\n  }\n);\nvar DialogContentNonModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n    const hasInteractedOutsideRef = React.useRef(false);\n    const hasPointerDownOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      DialogContentImpl,\n      {\n        ...props,\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event) => {\n          props.onCloseAutoFocus?.(event);\n          if (!event.defaultPrevented) {\n            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n            event.preventDefault();\n          }\n          hasInteractedOutsideRef.current = false;\n          hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event) => {\n          props.onInteractOutside?.(event);\n          if (!event.defaultPrevented) {\n            hasInteractedOutsideRef.current = true;\n            if (event.detail.originalEvent.type === \"pointerdown\") {\n              hasPointerDownOutsideRef.current = true;\n            }\n          }\n          const target = event.target;\n          const targetIsTrigger = context.triggerRef.current?.contains(target);\n          if (targetIsTrigger) event.preventDefault();\n          if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n            event.preventDefault();\n          }\n        }\n      }\n    );\n  }\n);\nvar DialogContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n    const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef);\n    useFocusGuards();\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        FocusScope,\n        {\n          asChild: true,\n          loop: true,\n          trapped: trapFocus,\n          onMountAutoFocus: onOpenAutoFocus,\n          onUnmountAutoFocus: onCloseAutoFocus,\n          children: /* @__PURE__ */ jsx(\n            DismissableLayer,\n            {\n              role: \"dialog\",\n              id: context.contentId,\n              \"aria-describedby\": context.descriptionId,\n              \"aria-labelledby\": context.titleId,\n              \"data-state\": getState(context.open),\n              ...contentProps,\n              ref: composedRefs,\n              onDismiss: () => context.onOpenChange(false)\n            }\n          )\n        }\n      ),\n      /* @__PURE__ */ jsxs(Fragment, { children: [\n        /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n        /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n      ] })\n    ] });\n  }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...titleProps } = props;\n    const context = useDialogContext(TITLE_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n  }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...descriptionProps } = props;\n    const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n  }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDialog, ...closeProps } = props;\n    const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n      }\n    );\n  }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n  return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n  contentName: CONTENT_NAME,\n  titleName: TITLE_NAME,\n  docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n  const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n  const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n  React.useEffect(() => {\n    if (titleId) {\n      const hasTitle = document.getElementById(titleId);\n      if (!hasTitle) console.error(MESSAGE);\n    }\n  }, [MESSAGE, titleId]);\n  return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n  const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n  const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n  React.useEffect(() => {\n    const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n    if (descriptionId && describedById) {\n      const hasDescription = document.getElementById(descriptionId);\n      if (!hasDescription) console.warn(MESSAGE);\n    }\n  }, [MESSAGE, contentRef, descriptionId]);\n  return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n  Close,\n  Content,\n  Description,\n  Dialog,\n  DialogClose,\n  DialogContent,\n  DialogDescription,\n  DialogOverlay,\n  DialogPortal,\n  DialogTitle,\n  DialogTrigger,\n  Overlay,\n  Portal,\n  Root,\n  Title,\n  Trigger,\n  WarningProvider,\n  createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n  layers: /* @__PURE__ */ new Set(),\n  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n  branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      disableOutsidePointerEvents = false,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      ...layerProps\n    } = props;\n    const context = React.useContext(DismissableLayerContext);\n    const [node, setNode] = React.useState(null);\n    const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n    const [, force] = React.useState({});\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const layers = Array.from(context.layers);\n    const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n    const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n    const index = node ? layers.indexOf(node) : -1;\n    const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n    const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n    const pointerDownOutside = usePointerDownOutside((event) => {\n      const target = event.target;\n      const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n      onPointerDownOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    const focusOutside = useFocusOutside((event) => {\n      const target = event.target;\n      const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (isFocusInBranch) return;\n      onFocusOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    useEscapeKeydown((event) => {\n      const isHighestLayer = index === context.layers.size - 1;\n      if (!isHighestLayer) return;\n      onEscapeKeyDown?.(event);\n      if (!event.defaultPrevented && onDismiss) {\n        event.preventDefault();\n        onDismiss();\n      }\n    }, ownerDocument);\n    React.useEffect(() => {\n      if (!node) return;\n      if (disableOutsidePointerEvents) {\n        if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n          originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n          ownerDocument.body.style.pointerEvents = \"none\";\n        }\n        context.layersWithOutsidePointerEventsDisabled.add(node);\n      }\n      context.layers.add(node);\n      dispatchUpdate();\n      return () => {\n        if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n          ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n        }\n      };\n    }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n    React.useEffect(() => {\n      return () => {\n        if (!node) return;\n        context.layers.delete(node);\n        context.layersWithOutsidePointerEventsDisabled.delete(node);\n        dispatchUpdate();\n      };\n    }, [node, context]);\n    React.useEffect(() => {\n      const handleUpdate = () => force({});\n      document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n      return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        ...layerProps,\n        ref: composedRefs,\n        style: {\n          pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n          ...props.style\n        },\n        onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n        onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n        onPointerDownCapture: composeEventHandlers(\n          props.onPointerDownCapture,\n          pointerDownOutside.onPointerDownCapture\n        )\n      }\n    );\n  }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n  const context = React.useContext(DismissableLayerContext);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      context.branches.add(node);\n      return () => {\n        context.branches.delete(node);\n      };\n    }\n  }, [context.branches]);\n  return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n  const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n  const isPointerInsideReactTreeRef = React.useRef(false);\n  const handleClickRef = React.useRef(() => {\n  });\n  React.useEffect(() => {\n    const handlePointerDown = (event) => {\n      if (event.target && !isPointerInsideReactTreeRef.current) {\n        let handleAndDispatchPointerDownOutsideEvent2 = function() {\n          handleAndDispatchCustomEvent(\n            POINTER_DOWN_OUTSIDE,\n            handlePointerDownOutside,\n            eventDetail,\n            { discrete: true }\n          );\n        };\n        var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n        const eventDetail = { originalEvent: event };\n        if (event.pointerType === \"touch\") {\n          ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n          handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n          ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n        } else {\n          handleAndDispatchPointerDownOutsideEvent2();\n        }\n      } else {\n        ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n      }\n      isPointerInsideReactTreeRef.current = false;\n    };\n    const timerId = window.setTimeout(() => {\n      ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n    }, 0);\n    return () => {\n      window.clearTimeout(timerId);\n      ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n      ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n    };\n  }, [ownerDocument, handlePointerDownOutside]);\n  return {\n    // ensures we check React component tree (not just DOM tree)\n    onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n  };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n  const handleFocusOutside = useCallbackRef(onFocusOutside);\n  const isFocusInsideReactTreeRef = React.useRef(false);\n  React.useEffect(() => {\n    const handleFocus = (event) => {\n      if (event.target && !isFocusInsideReactTreeRef.current) {\n        const eventDetail = { originalEvent: event };\n        handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n          discrete: false\n        });\n      }\n    };\n    ownerDocument.addEventListener(\"focusin\", handleFocus);\n    return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n  }, [ownerDocument, handleFocusOutside]);\n  return {\n    onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n    onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n  };\n}\nfunction dispatchUpdate() {\n  const event = new CustomEvent(CONTEXT_UPDATE);\n  document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const target = detail.originalEvent.target;\n  const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n  if (handler) target.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(target, event);\n  } else {\n    target.dispatchEvent(event);\n  }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n  Branch,\n  DismissableLayer,\n  DismissableLayerBranch,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n  ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n  rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n  ltr: [\"ArrowLeft\"],\n  rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n  createCollectionScope,\n  createPopperScope,\n  createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n  const popperScope = usePopperScope(__scopeMenu);\n  const [content, setContent] = React.useState(null);\n  const isUsingKeyboardRef = React.useRef(false);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  const direction = useDirection(dir);\n  React.useEffect(() => {\n    const handleKeyDown = () => {\n      isUsingKeyboardRef.current = true;\n      document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n      document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n    };\n    const handlePointer = () => isUsingKeyboardRef.current = false;\n    document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n      document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n      document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuRootProvider,\n        {\n          scope: __scopeMenu,\n          onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n          isUsingKeyboardRef,\n          dir: direction,\n          modal,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...anchorProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar MenuPortal = (props) => {\n  const { __scopeMenu, forceMount, children, container } = props;\n  const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n  }\n);\nvar MenuRootContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    React.useEffect(() => {\n      const content = ref.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: context.open,\n        disableOutsideScroll: true,\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        ),\n        onDismiss: () => context.onOpenChange(false)\n      }\n    );\n  }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n  const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n  return /* @__PURE__ */ jsx(\n    MenuContentImpl,\n    {\n      ...props,\n      ref: forwardedRef,\n      trapFocus: false,\n      disableOutsidePointerEvents: false,\n      disableOutsideScroll: false,\n      onDismiss: () => context.onOpenChange(false)\n    }\n  );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeMenu,\n      loop = false,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEntryFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      disableOutsideScroll,\n      ...contentProps\n    } = props;\n    const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n    const popperScope = usePopperScope(__scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const getItems = useCollection(__scopeMenu);\n    const [currentItemId, setCurrentItemId] = React.useState(null);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n    const timerRef = React.useRef(0);\n    const searchRef = React.useRef(\"\");\n    const pointerGraceTimerRef = React.useRef(0);\n    const pointerGraceIntentRef = React.useRef(null);\n    const pointerDirRef = React.useRef(\"right\");\n    const lastPointerXRef = React.useRef(0);\n    const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n    const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n    const handleTypeaheadSearch = (key) => {\n      const search = searchRef.current + key;\n      const items = getItems().filter((item) => !item.disabled);\n      const currentItem = document.activeElement;\n      const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n      const values = items.map((item) => item.textValue);\n      const nextMatch = getNextMatch(values, search, currentMatch);\n      const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n      if (newItem) {\n        setTimeout(() => newItem.focus());\n      }\n    };\n    React.useEffect(() => {\n      return () => window.clearTimeout(timerRef.current);\n    }, []);\n    useFocusGuards();\n    const isPointerMovingToSubmenu = React.useCallback((event) => {\n      const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n      return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentProvider,\n      {\n        scope: __scopeMenu,\n        searchRef,\n        onItemEnter: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onItemLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) return;\n            contentRef.current?.focus();\n            setCurrentItemId(null);\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onTriggerLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        pointerGraceTimerRef,\n        onPointerGraceIntentChange: React.useCallback((intent) => {\n          pointerGraceIntentRef.current = intent;\n        }, []),\n        children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: trapFocus,\n            onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n              event.preventDefault();\n              contentRef.current?.focus({ preventScroll: true });\n            }),\n            onUnmountAutoFocus: onCloseAutoFocus,\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside,\n                onInteractOutside,\n                onDismiss,\n                children: /* @__PURE__ */ jsx(\n                  RovingFocusGroup.Root,\n                  {\n                    asChild: true,\n                    ...rovingFocusGroupScope,\n                    dir: rootContext.dir,\n                    orientation: \"vertical\",\n                    loop,\n                    currentTabStopId: currentItemId,\n                    onCurrentTabStopIdChange: setCurrentItemId,\n                    onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n                      if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n                    }),\n                    preventScrollOnEntryFocus: true,\n                    children: /* @__PURE__ */ jsx(\n                      PopperPrimitive.Content,\n                      {\n                        role: \"menu\",\n                        \"aria-orientation\": \"vertical\",\n                        \"data-state\": getOpenState(context.open),\n                        \"data-radix-menu-content\": \"\",\n                        dir: rootContext.dir,\n                        ...popperScope,\n                        ...contentProps,\n                        ref: composedRefs,\n                        style: { outline: \"none\", ...contentProps.style },\n                        onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                          const target = event.target;\n                          const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n                          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                          const isCharacterKey = event.key.length === 1;\n                          if (isKeyDownInside) {\n                            if (event.key === \"Tab\") event.preventDefault();\n                            if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n                          }\n                          const content = contentRef.current;\n                          if (event.target !== content) return;\n                          if (!FIRST_LAST_KEYS.includes(event.key)) return;\n                          event.preventDefault();\n                          const items = getItems().filter((item) => !item.disabled);\n                          const candidateNodes = items.map((item) => item.ref.current);\n                          if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n                          focusFirst(candidateNodes);\n                        }),\n                        onBlur: composeEventHandlers(props.onBlur, (event) => {\n                          if (!event.currentTarget.contains(event.target)) {\n                            window.clearTimeout(timerRef.current);\n                            searchRef.current = \"\";\n                          }\n                        }),\n                        onPointerMove: composeEventHandlers(\n                          props.onPointerMove,\n                          whenMouse((event) => {\n                            const target = event.target;\n                            const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n                            if (event.currentTarget.contains(target) && pointerXHasChanged) {\n                              const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n                              pointerDirRef.current = newDir;\n                              lastPointerXRef.current = event.clientX;\n                            }\n                          })\n                        )\n                      }\n                    )\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...groupProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n  }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...labelProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n  }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { disabled = false, onSelect, ...itemProps } = props;\n    const ref = React.useRef(null);\n    const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const isPointerDownRef = React.useRef(false);\n    const handleSelect = () => {\n      const menuItem = ref.current;\n      if (!disabled && menuItem) {\n        const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n        menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n        dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n        if (itemSelectEvent.defaultPrevented) {\n          isPointerDownRef.current = false;\n        } else {\n          rootContext.onClose();\n        }\n      }\n    };\n    return /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        ...itemProps,\n        ref: composedRefs,\n        disabled,\n        onClick: composeEventHandlers(props.onClick, handleSelect),\n        onPointerDown: (event) => {\n          props.onPointerDown?.(event);\n          isPointerDownRef.current = true;\n        },\n        onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n          if (!isPointerDownRef.current) event.currentTarget?.click();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (disabled || isTypingAhead && event.key === \" \") return;\n          if (SELECTION_KEYS.includes(event.key)) {\n            event.currentTarget.click();\n            event.preventDefault();\n          }\n        })\n      }\n    );\n  }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n    const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const [isFocused, setIsFocused] = React.useState(false);\n    const [textContent, setTextContent] = React.useState(\"\");\n    React.useEffect(() => {\n      const menuItem = ref.current;\n      if (menuItem) {\n        setTextContent((menuItem.textContent ?? \"\").trim());\n      }\n    }, [itemProps.children]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeMenu,\n        disabled,\n        textValue: textValue ?? textContent,\n        children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"menuitem\",\n            \"data-highlighted\": isFocused ? \"\" : void 0,\n            \"aria-disabled\": disabled || void 0,\n            \"data-disabled\": disabled ? \"\" : void 0,\n            ...itemProps,\n            ref: composedRefs,\n            onPointerMove: composeEventHandlers(\n              props.onPointerMove,\n              whenMouse((event) => {\n                if (disabled) {\n                  contentContext.onItemLeave(event);\n                } else {\n                  contentContext.onItemEnter(event);\n                  if (!event.defaultPrevented) {\n                    const item = event.currentTarget;\n                    item.focus({ preventScroll: true });\n                  }\n                }\n              })\n            ),\n            onPointerLeave: composeEventHandlers(\n              props.onPointerLeave,\n              whenMouse((event) => contentContext.onItemLeave(event))\n            ),\n            onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n            onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n          }\n        ) })\n      }\n    );\n  }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemcheckbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        ...checkboxItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          checkboxItemProps.onSelect,\n          () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n  RADIO_GROUP_NAME,\n  { value: void 0, onValueChange: () => {\n  } }\n);\nvar MenuRadioGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, onValueChange, ...groupProps } = props;\n    const handleValueChange = useCallbackRef(onValueChange);\n    return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n  }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, ...radioItemProps } = props;\n    const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n    const checked = value === context.value;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemradio\",\n        \"aria-checked\": checked,\n        ...radioItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          radioItemProps.onSelect,\n          () => context.onValueChange?.(value),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n  ITEM_INDICATOR_NAME,\n  { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n    const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            ...itemIndicatorProps,\n            ref: forwardedRef,\n            \"data-state\": getCheckedState(indicatorContext.checked)\n          }\n        )\n      }\n    );\n  }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        role: \"separator\",\n        \"aria-orientation\": \"horizontal\",\n        ...separatorProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n  const { __scopeMenu, children, open = false, onOpenChange } = props;\n  const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n  const popperScope = usePopperScope(__scopeMenu);\n  const [trigger, setTrigger] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  React.useEffect(() => {\n    if (parentMenuContext.open === false) handleOpenChange(false);\n    return () => handleOpenChange(false);\n  }, [parentMenuContext.open, handleOpenChange]);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuSubProvider,\n        {\n          scope: __scopeMenu,\n          contentId: useId(),\n          triggerId: useId(),\n          trigger,\n          onTriggerChange: setTrigger,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const openTimerRef = React.useRef(null);\n    const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n    const scope = { __scopeMenu: props.__scopeMenu };\n    const clearOpenTimer = React.useCallback(() => {\n      if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n      openTimerRef.current = null;\n    }, []);\n    React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n    React.useEffect(() => {\n      const pointerGraceTimer = pointerGraceTimerRef.current;\n      return () => {\n        window.clearTimeout(pointerGraceTimer);\n        onPointerGraceIntentChange(null);\n      };\n    }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n    return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        id: subContext.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": subContext.contentId,\n        \"data-state\": getOpenState(context.open),\n        ...props,\n        ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n        onClick: (event) => {\n          props.onClick?.(event);\n          if (props.disabled || event.defaultPrevented) return;\n          event.currentTarget.focus();\n          if (!context.open) context.onOpenChange(true);\n        },\n        onPointerMove: composeEventHandlers(\n          props.onPointerMove,\n          whenMouse((event) => {\n            contentContext.onItemEnter(event);\n            if (event.defaultPrevented) return;\n            if (!props.disabled && !context.open && !openTimerRef.current) {\n              contentContext.onPointerGraceIntentChange(null);\n              openTimerRef.current = window.setTimeout(() => {\n                context.onOpenChange(true);\n                clearOpenTimer();\n              }, 100);\n            }\n          })\n        ),\n        onPointerLeave: composeEventHandlers(\n          props.onPointerLeave,\n          whenMouse((event) => {\n            clearOpenTimer();\n            const contentRect = context.content?.getBoundingClientRect();\n            if (contentRect) {\n              const side = context.content?.dataset.side;\n              const rightSide = side === \"right\";\n              const bleed = rightSide ? -5 : 5;\n              const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n              const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n              contentContext.onPointerGraceIntentChange({\n                area: [\n                  // Apply a bleed on clientX to ensure that our exit point is\n                  // consistently within polygon bounds\n                  { x: event.clientX + bleed, y: event.clientY },\n                  { x: contentNearEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.bottom },\n                  { x: contentNearEdge, y: contentRect.bottom }\n                ],\n                side\n              });\n              window.clearTimeout(pointerGraceTimerRef.current);\n              pointerGraceTimerRef.current = window.setTimeout(\n                () => contentContext.onPointerGraceIntentChange(null),\n                300\n              );\n            } else {\n              contentContext.onTriggerLeave(event);\n              if (event.defaultPrevented) return;\n              contentContext.onPointerGraceIntentChange(null);\n            }\n          })\n        ),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (props.disabled || isTypingAhead && event.key === \" \") return;\n          if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n            context.onOpenChange(true);\n            context.content?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        id: subContext.contentId,\n        \"aria-labelledby\": subContext.triggerId,\n        ...subContentProps,\n        ref: composedRefs,\n        align: \"start\",\n        side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n        disableOutsidePointerEvents: false,\n        disableOutsideScroll: false,\n        trapFocus: false,\n        onOpenAutoFocus: (event) => {\n          if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n          event.preventDefault();\n        },\n        onCloseAutoFocus: (event) => event.preventDefault(),\n        onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n          if (event.target !== subContext.trigger) context.onOpenChange(false);\n        }),\n        onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n          rootContext.onClose();\n          event.preventDefault();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isKeyDownInside = event.currentTarget.contains(event.target);\n          const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n          if (isKeyDownInside && isCloseKey) {\n            context.onOpenChange(false);\n            subContext.trigger?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) }) }) });\n  }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n  return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus();\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n  let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n  const excludeCurrentMatch = normalizedSearch.length === 1;\n  if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n  const nextMatch = wrappedValues.find(\n    (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n  if (!area) return false;\n  const cursorPos = { x: event.clientX, y: event.clientY };\n  return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n  return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  CheckboxItem,\n  Content2 as Content,\n  Group,\n  Item2 as Item,\n  ItemIndicator,\n  Label,\n  Menu,\n  MenuAnchor,\n  MenuArrow,\n  MenuCheckboxItem,\n  MenuContent,\n  MenuGroup,\n  MenuItem,\n  MenuItemIndicator,\n  MenuLabel,\n  MenuPortal,\n  MenuRadioGroup,\n  MenuRadioItem,\n  MenuSeparator,\n  MenuSub,\n  MenuSubContent,\n  MenuSubTrigger,\n  Portal,\n  RadioGroup,\n  RadioItem,\n  Root3 as Root,\n  Separator,\n  Sub,\n  SubContent,\n  SubTrigger,\n  createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n  DROPDOWN_MENU_NAME,\n  [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n  const {\n    __scopeDropdownMenu,\n    children,\n    dir,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const triggerRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DROPDOWN_MENU_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DropdownMenuProvider,\n    {\n      scope: __scopeDropdownMenu,\n      triggerId: useId(),\n      triggerRef,\n      contentId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n    }\n  );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n    const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        id: context.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.open ? context.contentId : void 0,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        ...triggerProps,\n        ref: composeRefs(forwardedRef, context.triggerRef),\n        onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n          if (!disabled && event.button === 0 && event.ctrlKey === false) {\n            context.onOpenToggle();\n            if (!context.open) event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          if (disabled) return;\n          if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n          if (event.key === \"ArrowDown\") context.onOpenChange(true);\n          if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n        })\n      }\n    ) });\n  }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n  const { __scopeDropdownMenu, ...portalProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...contentProps } = props;\n    const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    const hasInteractedOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      MenuPrimitive.Content,\n      {\n        id: context.contentId,\n        \"aria-labelledby\": context.triggerId,\n        ...menuScope,\n        ...contentProps,\n        ref: forwardedRef,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n          hasInteractedOutsideRef.current = false;\n          event.preventDefault();\n        }),\n        onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n        }),\n        style: {\n          ...props.style,\n          // re-namespace exposed content custom properties\n          ...{\n            \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n            \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n            \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n            \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n            \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n          }\n        }\n      }\n    );\n  }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...groupProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n  }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...labelProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n  }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...itemProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n  }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioGroupProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...separatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...arrowProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n  const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: \"DropdownMenuSub\"\n  });\n  return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subTriggerProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subContentProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(\n    MenuPrimitive.SubContent,\n    {\n      ...menuScope,\n      ...subContentProps,\n      ref: forwardedRef,\n      style: {\n        ...props.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n  Arrow2 as Arrow,\n  CheckboxItem2 as CheckboxItem,\n  Content2 as Content,\n  DropdownMenu,\n  DropdownMenuArrow,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuItemIndicator,\n  DropdownMenuLabel,\n  DropdownMenuPortal,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuSeparator,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuTrigger,\n  Group2 as Group,\n  Item2 as Item,\n  ItemIndicator2 as ItemIndicator,\n  Label2 as Label,\n  Portal2 as Portal,\n  RadioGroup2 as RadioGroup,\n  RadioItem2 as RadioItem,\n  Root2 as Root,\n  Separator2 as Separator,\n  Sub2 as Sub,\n  SubContent2 as SubContent,\n  SubTrigger2 as SubTrigger,\n  Trigger,\n  createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n  useFocusGuards();\n  return props.children;\n}\nfunction useFocusGuards() {\n  React.useEffect(() => {\n    const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n    document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n    document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n    count++;\n    return () => {\n      if (count === 1) {\n        document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n      }\n      count--;\n    };\n  }, []);\n}\nfunction createFocusGuard() {\n  const element = document.createElement(\"span\");\n  element.setAttribute(\"data-radix-focus-guard\", \"\");\n  element.tabIndex = 0;\n  element.style.outline = \"none\";\n  element.style.opacity = \"0\";\n  element.style.position = \"fixed\";\n  element.style.pointerEvents = \"none\";\n  return element;\n}\nexport {\n  FocusGuards,\n  FocusGuards as Root,\n  useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n  const {\n    loop = false,\n    trapped = false,\n    onMountAutoFocus: onMountAutoFocusProp,\n    onUnmountAutoFocus: onUnmountAutoFocusProp,\n    ...scopeProps\n  } = props;\n  const [container, setContainer] = React.useState(null);\n  const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n  const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n  const lastFocusedElementRef = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n  const focusScope = React.useRef({\n    paused: false,\n    pause() {\n      this.paused = true;\n    },\n    resume() {\n      this.paused = false;\n    }\n  }).current;\n  React.useEffect(() => {\n    if (trapped) {\n      let handleFocusIn2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const target = event.target;\n        if (container.contains(target)) {\n          lastFocusedElementRef.current = target;\n        } else {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleFocusOut2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const relatedTarget = event.relatedTarget;\n        if (relatedTarget === null) return;\n        if (!container.contains(relatedTarget)) {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleMutations2 = function(mutations) {\n        const focusedElement = document.activeElement;\n        if (focusedElement !== document.body) return;\n        for (const mutation of mutations) {\n          if (mutation.removedNodes.length > 0) focus(container);\n        }\n      };\n      var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n      document.addEventListener(\"focusin\", handleFocusIn2);\n      document.addEventListener(\"focusout\", handleFocusOut2);\n      const mutationObserver = new MutationObserver(handleMutations2);\n      if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n      return () => {\n        document.removeEventListener(\"focusin\", handleFocusIn2);\n        document.removeEventListener(\"focusout\", handleFocusOut2);\n        mutationObserver.disconnect();\n      };\n    }\n  }, [trapped, container, focusScope.paused]);\n  React.useEffect(() => {\n    if (container) {\n      focusScopesStack.add(focusScope);\n      const previouslyFocusedElement = document.activeElement;\n      const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n      if (!hasFocusedCandidate) {\n        const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n        container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        container.dispatchEvent(mountEvent);\n        if (!mountEvent.defaultPrevented) {\n          focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n          if (document.activeElement === previouslyFocusedElement) {\n            focus(container);\n          }\n        }\n      }\n      return () => {\n        container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        setTimeout(() => {\n          const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n          container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          container.dispatchEvent(unmountEvent);\n          if (!unmountEvent.defaultPrevented) {\n            focus(previouslyFocusedElement ?? document.body, { select: true });\n          }\n          container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          focusScopesStack.remove(focusScope);\n        }, 0);\n      };\n    }\n  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n  const handleKeyDown = React.useCallback(\n    (event) => {\n      if (!loop && !trapped) return;\n      if (focusScope.paused) return;\n      const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n      const focusedElement = document.activeElement;\n      if (isTabKey && focusedElement) {\n        const container2 = event.currentTarget;\n        const [first, last] = getTabbableEdges(container2);\n        const hasTabbableElementsInside = first && last;\n        if (!hasTabbableElementsInside) {\n          if (focusedElement === container2) event.preventDefault();\n        } else {\n          if (!event.shiftKey && focusedElement === last) {\n            event.preventDefault();\n            if (loop) focus(first, { select: true });\n          } else if (event.shiftKey && focusedElement === first) {\n            event.preventDefault();\n            if (loop) focus(last, { select: true });\n          }\n        }\n      }\n    },\n    [loop, trapped, focusScope.paused]\n  );\n  return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n  const previouslyFocusedElement = document.activeElement;\n  for (const candidate of candidates) {\n    focus(candidate, { select });\n    if (document.activeElement !== previouslyFocusedElement) return;\n  }\n}\nfunction getTabbableEdges(container) {\n  const candidates = getTabbableCandidates(container);\n  const first = findVisible(candidates, container);\n  const last = findVisible(candidates.reverse(), container);\n  return [first, last];\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction findVisible(elements, container) {\n  for (const element of elements) {\n    if (!isHidden(element, { upTo: container })) return element;\n  }\n}\nfunction isHidden(node, { upTo }) {\n  if (getComputedStyle(node).visibility === \"hidden\") return true;\n  while (node) {\n    if (upTo !== void 0 && node === upTo) return false;\n    if (getComputedStyle(node).display === \"none\") return true;\n    node = node.parentElement;\n  }\n  return false;\n}\nfunction isSelectableInput(element) {\n  return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n  if (element && element.focus) {\n    const previouslyFocusedElement = document.activeElement;\n    element.focus({ preventScroll: true });\n    if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n      element.select();\n  }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n  let stack = [];\n  return {\n    add(focusScope) {\n      const activeFocusScope = stack[0];\n      if (focusScope !== activeFocusScope) {\n        activeFocusScope?.pause();\n      }\n      stack = arrayRemove(stack, focusScope);\n      stack.unshift(focusScope);\n    },\n    remove(focusScope) {\n      stack = arrayRemove(stack, focusScope);\n      stack[0]?.resume();\n    }\n  };\n}\nfunction arrayRemove(array, item) {\n  const updatedArray = [...array];\n  const index = updatedArray.indexOf(item);\n  if (index !== -1) {\n    updatedArray.splice(index, 1);\n  }\n  return updatedArray;\n}\nfunction removeLinks(items) {\n  return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n  FocusScope,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n  const [id, setId] = React.useState(useReactId());\n  useLayoutEffect(() => {\n    if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n  }, [deterministicId]);\n  return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n  useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n  const {\n    __scopePopover,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = false\n  } = props;\n  const popperScope = usePopperScope(__scopePopover);\n  const triggerRef = React.useRef(null);\n  const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: POPOVER_NAME\n  });\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    PopoverProvider,\n    {\n      scope: __scopePopover,\n      contentId: useId(),\n      triggerRef,\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      hasCustomAnchor,\n      onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n      onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n      modal,\n      children\n    }\n  ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...anchorProps } = props;\n    const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n    React.useEffect(() => {\n      onCustomAnchorAdd();\n      return () => onCustomAnchorRemove();\n    }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...triggerProps } = props;\n    const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n    const trigger = /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        \"aria-haspopup\": \"dialog\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.contentId,\n        \"data-state\": getState(context.open),\n        ...triggerProps,\n        ref: composedTriggerRef,\n        onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n      }\n    );\n    return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n  }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n  const { __scopePopover, forceMount, children, container } = props;\n  const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n  }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef);\n    const isRightClickOutsideRef = React.useRef(false);\n    React.useEffect(() => {\n      const content = contentRef.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n      PopoverContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: true,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          event.preventDefault();\n          if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n        }),\n        onPointerDownOutside: composeEventHandlers(\n          props.onPointerDownOutside,\n          (event) => {\n            const originalEvent = event.detail.originalEvent;\n            const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n            const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n            isRightClickOutsideRef.current = isRightClick;\n          },\n          { checkForDefaultPrevented: false }\n        ),\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nvar PopoverContentNonModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n    const hasInteractedOutsideRef = React.useRef(false);\n    const hasPointerDownOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      PopoverContentImpl,\n      {\n        ...props,\n        ref: forwardedRef,\n        trapFocus: false,\n        disableOutsidePointerEvents: false,\n        onCloseAutoFocus: (event) => {\n          props.onCloseAutoFocus?.(event);\n          if (!event.defaultPrevented) {\n            if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n            event.preventDefault();\n          }\n          hasInteractedOutsideRef.current = false;\n          hasPointerDownOutsideRef.current = false;\n        },\n        onInteractOutside: (event) => {\n          props.onInteractOutside?.(event);\n          if (!event.defaultPrevented) {\n            hasInteractedOutsideRef.current = true;\n            if (event.detail.originalEvent.type === \"pointerdown\") {\n              hasPointerDownOutsideRef.current = true;\n            }\n          }\n          const target = event.target;\n          const targetIsTrigger = context.triggerRef.current?.contains(target);\n          if (targetIsTrigger) event.preventDefault();\n          if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n            event.preventDefault();\n          }\n        }\n      }\n    );\n  }\n);\nvar PopoverContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopover,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      ...contentProps\n    } = props;\n    const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n    const popperScope = usePopperScope(__scopePopover);\n    useFocusGuards();\n    return /* @__PURE__ */ jsx(\n      FocusScope,\n      {\n        asChild: true,\n        loop: true,\n        trapped: trapFocus,\n        onMountAutoFocus: onOpenAutoFocus,\n        onUnmountAutoFocus: onCloseAutoFocus,\n        children: /* @__PURE__ */ jsx(\n          DismissableLayer,\n          {\n            asChild: true,\n            disableOutsidePointerEvents,\n            onInteractOutside,\n            onEscapeKeyDown,\n            onPointerDownOutside,\n            onFocusOutside,\n            onDismiss: () => context.onOpenChange(false),\n            children: /* @__PURE__ */ jsx(\n              PopperPrimitive.Content,\n              {\n                \"data-state\": getState(context.open),\n                role: \"dialog\",\n                id: context.contentId,\n                ...popperScope,\n                ...contentProps,\n                ref: forwardedRef,\n                style: {\n                  ...contentProps.style,\n                  // re-namespace exposed content custom properties\n                  ...{\n                    \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                    \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n                    \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n                    \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                    \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n                  }\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...closeProps } = props;\n    const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n    return /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n      }\n    );\n  }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopover, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopePopover);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n  return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  Close,\n  Content2 as Content,\n  Popover,\n  PopoverAnchor,\n  PopoverArrow,\n  PopoverClose,\n  PopoverContent,\n  PopoverPortal,\n  PopoverTrigger,\n  Portal,\n  Root2 as Root,\n  Trigger,\n  createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n  useFloating,\n  autoUpdate,\n  offset,\n  shift,\n  limitShift,\n  hide,\n  arrow as floatingUIarrow,\n  flip,\n  size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n  const { __scopePopper, children } = props;\n  const [anchor, setAnchor] = React.useState(null);\n  return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopper, virtualRef, ...anchorProps } = props;\n    const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const anchorRef = React.useRef(null);\n    React.useEffect(() => {\n      const previousAnchor = anchorRef.current;\n      anchorRef.current = virtualRef?.current || ref.current;\n      if (previousAnchor !== anchorRef.current) {\n        context.onAnchorChange(anchorRef.current);\n      }\n    });\n    return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n  }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopper,\n      side = \"bottom\",\n      sideOffset = 0,\n      align = \"center\",\n      alignOffset = 0,\n      arrowPadding = 0,\n      avoidCollisions = true,\n      collisionBoundary = [],\n      collisionPadding: collisionPaddingProp = 0,\n      sticky = \"partial\",\n      hideWhenDetached = false,\n      updatePositionStrategy = \"optimized\",\n      onPlaced,\n      ...contentProps\n    } = props;\n    const context = usePopperContext(CONTENT_NAME, __scopePopper);\n    const [content, setContent] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [arrow, setArrow] = React.useState(null);\n    const arrowSize = useSize(arrow);\n    const arrowWidth = arrowSize?.width ?? 0;\n    const arrowHeight = arrowSize?.height ?? 0;\n    const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n    const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n    const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n    const hasExplicitBoundaries = boundary.length > 0;\n    const detectOverflowOptions = {\n      padding: collisionPadding,\n      boundary: boundary.filter(isNotNull),\n      // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n      altBoundary: hasExplicitBoundaries\n    };\n    const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n      // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n      strategy: \"fixed\",\n      placement: desiredPlacement,\n      whileElementsMounted: (...args) => {\n        const cleanup = autoUpdate(...args, {\n          animationFrame: updatePositionStrategy === \"always\"\n        });\n        return cleanup;\n      },\n      elements: {\n        reference: context.anchor\n      },\n      middleware: [\n        offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n        avoidCollisions && shift({\n          mainAxis: true,\n          crossAxis: false,\n          limiter: sticky === \"partial\" ? limitShift() : void 0,\n          ...detectOverflowOptions\n        }),\n        avoidCollisions && flip({ ...detectOverflowOptions }),\n        size({\n          ...detectOverflowOptions,\n          apply: ({ elements, rects, availableWidth, availableHeight }) => {\n            const { width: anchorWidth, height: anchorHeight } = rects.reference;\n            const contentStyle = elements.floating.style;\n            contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n          }\n        }),\n        arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n        transformOrigin({ arrowWidth, arrowHeight }),\n        hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n      ]\n    });\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const handlePlaced = useCallbackRef(onPlaced);\n    useLayoutEffect(() => {\n      if (isPositioned) {\n        handlePlaced?.();\n      }\n    }, [isPositioned, handlePlaced]);\n    const arrowX = middlewareData.arrow?.x;\n    const arrowY = middlewareData.arrow?.y;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const [contentZIndex, setContentZIndex] = React.useState();\n    useLayoutEffect(() => {\n      if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n    }, [content]);\n    return /* @__PURE__ */ jsx(\n      \"div\",\n      {\n        ref: refs.setFloating,\n        \"data-radix-popper-content-wrapper\": \"\",\n        style: {\n          ...floatingStyles,\n          transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n          // keep off the page when measuring\n          minWidth: \"max-content\",\n          zIndex: contentZIndex,\n          [\"--radix-popper-transform-origin\"]: [\n            middlewareData.transformOrigin?.x,\n            middlewareData.transformOrigin?.y\n          ].join(\" \"),\n          // hide the content if using the hide middleware and should be hidden\n          // set visibility to hidden and disable pointer events so the UI behaves\n          // as if the PopperContent isn't there at all\n          ...middlewareData.hide?.referenceHidden && {\n            visibility: \"hidden\",\n            pointerEvents: \"none\"\n          }\n        },\n        dir: props.dir,\n        children: /* @__PURE__ */ jsx(\n          PopperContentProvider,\n          {\n            scope: __scopePopper,\n            placedSide,\n            onArrowChange: setArrow,\n            arrowX,\n            arrowY,\n            shouldHideArrow: cannotCenterArrow,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                \"data-side\": placedSide,\n                \"data-align\": placedAlign,\n                ...contentProps,\n                ref: composedRefs,\n                style: {\n                  ...contentProps.style,\n                  // if the PopperContent hasn't been placed yet (not all measurements done)\n                  // we prevent animations so that users's animation don't kick in too early referring wrong sides\n                  animation: !isPositioned ? \"none\" : void 0\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n  top: \"bottom\",\n  right: \"left\",\n  bottom: \"top\",\n  left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n  const { __scopePopper, ...arrowProps } = props;\n  const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n  return (\n    // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n    // doesn't report size as we'd expect on SVG elements.\n    // it reports their bounding box which is effectively the largest path inside the SVG.\n    /* @__PURE__ */ jsx(\n      \"span\",\n      {\n        ref: contentContext.onArrowChange,\n        style: {\n          position: \"absolute\",\n          left: contentContext.arrowX,\n          top: contentContext.arrowY,\n          [baseSide]: 0,\n          transformOrigin: {\n            top: \"\",\n            right: \"0 0\",\n            bottom: \"center 0\",\n            left: \"100% 0\"\n          }[contentContext.placedSide],\n          transform: {\n            top: \"translateY(100%)\",\n            right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n            bottom: `rotate(180deg)`,\n            left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n          }[contentContext.placedSide],\n          visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n        },\n        children: /* @__PURE__ */ jsx(\n          ArrowPrimitive.Root,\n          {\n            ...arrowProps,\n            ref: forwardedRef,\n            style: {\n              ...arrowProps.style,\n              // ensures the element can be measured correctly (mostly for if SVG)\n              display: \"block\"\n            }\n          }\n        )\n      }\n    )\n  );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n  return value !== null;\n}\nvar transformOrigin = (options) => ({\n  name: \"transformOrigin\",\n  options,\n  fn(data) {\n    const { placement, rects, middlewareData } = data;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const isArrowHidden = cannotCenterArrow;\n    const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n    const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n    const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n    const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n    let x = \"\";\n    let y = \"\";\n    if (placedSide === \"bottom\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${-arrowHeight}px`;\n    } else if (placedSide === \"top\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${rects.floating.height + arrowHeight}px`;\n    } else if (placedSide === \"right\") {\n      x = `${-arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    } else if (placedSide === \"left\") {\n      x = `${rects.floating.width + arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    }\n    return { data: { x, y } };\n  }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n  const [side, align = \"center\"] = placement.split(\"-\");\n  return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n  ALIGN_OPTIONS,\n  Anchor,\n  Arrow,\n  Content,\n  Popper,\n  PopperAnchor,\n  PopperArrow,\n  PopperContent,\n  Root2 as Root,\n  SIDE_OPTIONS,\n  createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (typeof a === 'function' && a.toString() === b.toString()) {\n    return true;\n  }\n  let length;\n  let i;\n  let keys;\n  if (a && b && typeof a === 'object') {\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length !== b.length) return false;\n      for (i = length; i-- !== 0;) {\n        if (!deepEqual(a[i], b[i])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) {\n      return false;\n    }\n    for (i = length; i-- !== 0;) {\n      if (!{}.hasOwnProperty.call(b, keys[i])) {\n        return false;\n      }\n    }\n    for (i = length; i-- !== 0;) {\n      const key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        continue;\n      }\n      if (!deepEqual(a[key], b[key])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n  if (typeof window === 'undefined') {\n    return 1;\n  }\n  const win = element.ownerDocument.defaultView || window;\n  return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n  const dpr = getDPR(element);\n  return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n  const ref = React.useRef(value);\n  index(() => {\n    ref.current = value;\n  });\n  return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform,\n    elements: {\n      reference: externalReference,\n      floating: externalFloating\n    } = {},\n    transform = true,\n    whileElementsMounted,\n    open\n  } = options;\n  const [data, setData] = React.useState({\n    x: 0,\n    y: 0,\n    strategy,\n    placement,\n    middlewareData: {},\n    isPositioned: false\n  });\n  const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n  if (!deepEqual(latestMiddleware, middleware)) {\n    setLatestMiddleware(middleware);\n  }\n  const [_reference, _setReference] = React.useState(null);\n  const [_floating, _setFloating] = React.useState(null);\n  const setReference = React.useCallback(node => {\n    if (node !== referenceRef.current) {\n      referenceRef.current = node;\n      _setReference(node);\n    }\n  }, []);\n  const setFloating = React.useCallback(node => {\n    if (node !== floatingRef.current) {\n      floatingRef.current = node;\n      _setFloating(node);\n    }\n  }, []);\n  const referenceEl = externalReference || _reference;\n  const floatingEl = externalFloating || _floating;\n  const referenceRef = React.useRef(null);\n  const floatingRef = React.useRef(null);\n  const dataRef = React.useRef(data);\n  const hasWhileElementsMounted = whileElementsMounted != null;\n  const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n  const platformRef = useLatestRef(platform);\n  const openRef = useLatestRef(open);\n  const update = React.useCallback(() => {\n    if (!referenceRef.current || !floatingRef.current) {\n      return;\n    }\n    const config = {\n      placement,\n      strategy,\n      middleware: latestMiddleware\n    };\n    if (platformRef.current) {\n      config.platform = platformRef.current;\n    }\n    computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n      const fullData = {\n        ...data,\n        // The floating element's position may be recomputed while it's closed\n        // but still mounted (such as when transitioning out). To ensure\n        // `isPositioned` will be `false` initially on the next open, avoid\n        // setting it to `true` when `open === false` (must be specified).\n        isPositioned: openRef.current !== false\n      };\n      if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n        dataRef.current = fullData;\n        ReactDOM.flushSync(() => {\n          setData(fullData);\n        });\n      }\n    });\n  }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n  index(() => {\n    if (open === false && dataRef.current.isPositioned) {\n      dataRef.current.isPositioned = false;\n      setData(data => ({\n        ...data,\n        isPositioned: false\n      }));\n    }\n  }, [open]);\n  const isMountedRef = React.useRef(false);\n  index(() => {\n    isMountedRef.current = true;\n    return () => {\n      isMountedRef.current = false;\n    };\n  }, []);\n  index(() => {\n    if (referenceEl) referenceRef.current = referenceEl;\n    if (floatingEl) floatingRef.current = floatingEl;\n    if (referenceEl && floatingEl) {\n      if (whileElementsMountedRef.current) {\n        return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n      }\n      update();\n    }\n  }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n  const refs = React.useMemo(() => ({\n    reference: referenceRef,\n    floating: floatingRef,\n    setReference,\n    setFloating\n  }), [setReference, setFloating]);\n  const elements = React.useMemo(() => ({\n    reference: referenceEl,\n    floating: floatingEl\n  }), [referenceEl, floatingEl]);\n  const floatingStyles = React.useMemo(() => {\n    const initialStyles = {\n      position: strategy,\n      left: 0,\n      top: 0\n    };\n    if (!elements.floating) {\n      return initialStyles;\n    }\n    const x = roundByDPR(elements.floating, data.x);\n    const y = roundByDPR(elements.floating, data.y);\n    if (transform) {\n      return {\n        ...initialStyles,\n        transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n        ...(getDPR(elements.floating) >= 1.5 && {\n          willChange: 'transform'\n        })\n      };\n    }\n    return {\n      position: strategy,\n      left: x,\n      top: y\n    };\n  }, [strategy, transform, elements.floating, data.x, data.y]);\n  return React.useMemo(() => ({\n    ...data,\n    update,\n    refs,\n    elements,\n    floatingStyles\n  }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n  function isRef(value) {\n    return {}.hasOwnProperty.call(value, 'current');\n  }\n  return {\n    name: 'arrow',\n    options,\n    fn(state) {\n      const {\n        element,\n        padding\n      } = typeof options === 'function' ? options(state) : options;\n      if (element && isRef(element)) {\n        if (element.current != null) {\n          return arrow$2({\n            element: element.current,\n            padding\n          }).fn(state);\n        }\n        return {};\n      }\n      if (element) {\n        return arrow$2({\n          element,\n          padding\n        }).fn(state);\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n  ...offset$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n  ...shift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n  ...limitShift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n  ...flip$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n  ...size$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n  ...autoPlacement$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n  ...hide$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n  ...inline$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n  ...arrow$1(options),\n  options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n  const { container: containerProp, ...portalProps } = props;\n  const [mounted, setMounted] = React.useState(false);\n  useLayoutEffect(() => setMounted(true), []);\n  const container = containerProp || mounted && globalThis?.document?.body;\n  return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n  Portal,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/radio-group.tsx\nimport * as React2 from \"react\";\nimport { composeEventHandlers as composeEventHandlers2 } from \"@radix-ui/primitive\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { Primitive as Primitive2 } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\n\n// src/radio.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar RADIO_NAME = \"Radio\";\nvar [createRadioContext, createRadioScope] = createContextScope(RADIO_NAME);\nvar [RadioProvider, useRadioContext] = createRadioContext(RADIO_NAME);\nvar Radio = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRadio,\n      name,\n      checked = false,\n      required,\n      disabled,\n      value = \"on\",\n      onCheck,\n      form,\n      ...radioProps\n    } = props;\n    const [button, setButton] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    const isFormControl = button ? form || !!button.closest(\"form\") : true;\n    return /* @__PURE__ */ jsxs(RadioProvider, { scope: __scopeRadio, checked, disabled, children: [\n      /* @__PURE__ */ jsx(\n        Primitive.button,\n        {\n          type: \"button\",\n          role: \"radio\",\n          \"aria-checked\": checked,\n          \"data-state\": getState(checked),\n          \"data-disabled\": disabled ? \"\" : void 0,\n          disabled,\n          value,\n          ...radioProps,\n          ref: composedRefs,\n          onClick: composeEventHandlers(props.onClick, (event) => {\n            if (!checked) onCheck?.();\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })\n        }\n      ),\n      isFormControl && /* @__PURE__ */ jsx(\n        RadioBubbleInput,\n        {\n          control: button,\n          bubbles: !hasConsumerStoppedPropagationRef.current,\n          name,\n          value,\n          checked,\n          required,\n          disabled,\n          form,\n          style: { transform: \"translateX(-100%)\" }\n        }\n      )\n    ] });\n  }\n);\nRadio.displayName = RADIO_NAME;\nvar INDICATOR_NAME = \"RadioIndicator\";\nvar RadioIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadio, forceMount, ...indicatorProps } = props;\n    const context = useRadioContext(INDICATOR_NAME, __scopeRadio);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        \"data-state\": getState(context.checked),\n        \"data-disabled\": context.disabled ? \"\" : void 0,\n        ...indicatorProps,\n        ref: forwardedRef\n      }\n    ) });\n  }\n);\nRadioIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar RadioBubbleInput = React.forwardRef(\n  ({\n    __scopeRadio,\n    control,\n    checked,\n    bubbles = true,\n    ...props\n  }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(ref, forwardedRef);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = ref.current;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        setChecked.call(input, checked);\n        input.dispatchEvent(event);\n      }\n    }, [prevChecked, checked, bubbles]);\n    return /* @__PURE__ */ jsx(\n      Primitive.input,\n      {\n        type: \"radio\",\n        \"aria-hidden\": true,\n        defaultChecked: checked,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0\n        }\n      }\n    );\n  }\n);\nRadioBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n  return checked ? \"checked\" : \"unchecked\";\n}\n\n// src/radio-group.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar RADIO_GROUP_NAME = \"RadioGroup\";\nvar [createRadioGroupContext, createRadioGroupScope] = createContextScope2(RADIO_GROUP_NAME, [\n  createRovingFocusGroupScope,\n  createRadioScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar useRadioScope = createRadioScope();\nvar [RadioGroupProvider, useRadioGroupContext] = createRadioGroupContext(RADIO_GROUP_NAME);\nvar RadioGroup = React2.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRadioGroup,\n      name,\n      defaultValue,\n      value: valueProp,\n      required = false,\n      disabled = false,\n      orientation,\n      dir,\n      loop = true,\n      onValueChange,\n      ...groupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n    const direction = useDirection(dir);\n    const [value, setValue] = useControllableState({\n      prop: valueProp,\n      defaultProp: defaultValue ?? null,\n      onChange: onValueChange,\n      caller: RADIO_GROUP_NAME\n    });\n    return /* @__PURE__ */ jsx2(\n      RadioGroupProvider,\n      {\n        scope: __scopeRadioGroup,\n        name,\n        required,\n        disabled,\n        value,\n        onValueChange: setValue,\n        children: /* @__PURE__ */ jsx2(\n          RovingFocusGroup.Root,\n          {\n            asChild: true,\n            ...rovingFocusGroupScope,\n            orientation,\n            dir: direction,\n            loop,\n            children: /* @__PURE__ */ jsx2(\n              Primitive2.div,\n              {\n                role: \"radiogroup\",\n                \"aria-required\": required,\n                \"aria-orientation\": orientation,\n                \"data-disabled\": disabled ? \"\" : void 0,\n                dir: direction,\n                ...groupProps,\n                ref: forwardedRef\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nRadioGroup.displayName = RADIO_GROUP_NAME;\nvar ITEM_NAME = \"RadioGroupItem\";\nvar RadioGroupItem = React2.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadioGroup, disabled, ...itemProps } = props;\n    const context = useRadioGroupContext(ITEM_NAME, __scopeRadioGroup);\n    const isDisabled = context.disabled || disabled;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeRadioGroup);\n    const radioScope = useRadioScope(__scopeRadioGroup);\n    const ref = React2.useRef(null);\n    const composedRefs = useComposedRefs2(forwardedRef, ref);\n    const checked = context.value === itemProps.value;\n    const isArrowKeyPressedRef = React2.useRef(false);\n    React2.useEffect(() => {\n      const handleKeyDown = (event) => {\n        if (ARROW_KEYS.includes(event.key)) {\n          isArrowKeyPressedRef.current = true;\n        }\n      };\n      const handleKeyUp = () => isArrowKeyPressedRef.current = false;\n      document.addEventListener(\"keydown\", handleKeyDown);\n      document.addEventListener(\"keyup\", handleKeyUp);\n      return () => {\n        document.removeEventListener(\"keydown\", handleKeyDown);\n        document.removeEventListener(\"keyup\", handleKeyUp);\n      };\n    }, []);\n    return /* @__PURE__ */ jsx2(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !isDisabled,\n        active: checked,\n        children: /* @__PURE__ */ jsx2(\n          Radio,\n          {\n            disabled: isDisabled,\n            required: context.required,\n            checked,\n            ...radioScope,\n            ...itemProps,\n            name: context.name,\n            ref: composedRefs,\n            onCheck: () => context.onValueChange(itemProps.value),\n            onKeyDown: composeEventHandlers2((event) => {\n              if (event.key === \"Enter\") event.preventDefault();\n            }),\n            onFocus: composeEventHandlers2(itemProps.onFocus, () => {\n              if (isArrowKeyPressedRef.current) ref.current?.click();\n            })\n          }\n        )\n      }\n    );\n  }\n);\nRadioGroupItem.displayName = ITEM_NAME;\nvar INDICATOR_NAME2 = \"RadioGroupIndicator\";\nvar RadioGroupIndicator = React2.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeRadioGroup, ...indicatorProps } = props;\n    const radioScope = useRadioScope(__scopeRadioGroup);\n    return /* @__PURE__ */ jsx2(RadioIndicator, { ...radioScope, ...indicatorProps, ref: forwardedRef });\n  }\n);\nRadioGroupIndicator.displayName = INDICATOR_NAME2;\nvar Root2 = RadioGroup;\nvar Item2 = RadioGroupItem;\nvar Indicator = RadioGroupIndicator;\nexport {\n  Indicator,\n  Item2 as Item,\n  RadioGroup,\n  RadioGroupIndicator,\n  RadioGroupItem,\n  Root2 as Root,\n  createRadioGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n  GROUP_NAME,\n  [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n  }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeRovingFocusGroup,\n    orientation,\n    loop = false,\n    dir,\n    currentTabStopId: currentTabStopIdProp,\n    defaultCurrentTabStopId,\n    onCurrentTabStopIdChange,\n    onEntryFocus,\n    preventScrollOnEntryFocus = false,\n    ...groupProps\n  } = props;\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const direction = useDirection(dir);\n  const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n    prop: currentTabStopIdProp,\n    defaultProp: defaultCurrentTabStopId ?? null,\n    onChange: onCurrentTabStopIdChange,\n    caller: GROUP_NAME\n  });\n  const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n  const handleEntryFocus = useCallbackRef(onEntryFocus);\n  const getItems = useCollection(__scopeRovingFocusGroup);\n  const isClickFocusRef = React.useRef(false);\n  const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n      return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n    }\n  }, [handleEntryFocus]);\n  return /* @__PURE__ */ jsx(\n    RovingFocusProvider,\n    {\n      scope: __scopeRovingFocusGroup,\n      orientation,\n      dir: direction,\n      loop,\n      currentTabStopId,\n      onItemFocus: React.useCallback(\n        (tabStopId) => setCurrentTabStopId(tabStopId),\n        [setCurrentTabStopId]\n      ),\n      onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n      onFocusableItemAdd: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount + 1),\n        []\n      ),\n      onFocusableItemRemove: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount - 1),\n        []\n      ),\n      children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n          \"data-orientation\": orientation,\n          ...groupProps,\n          ref: composedRefs,\n          style: { outline: \"none\", ...props.style },\n          onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n            isClickFocusRef.current = true;\n          }),\n          onFocus: composeEventHandlers(props.onFocus, (event) => {\n            const isKeyboardFocus = !isClickFocusRef.current;\n            if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n              const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n              event.currentTarget.dispatchEvent(entryFocusEvent);\n              if (!entryFocusEvent.defaultPrevented) {\n                const items = getItems().filter((item) => item.focusable);\n                const activeItem = items.find((item) => item.active);\n                const currentItem = items.find((item) => item.id === currentTabStopId);\n                const candidateItems = [activeItem, currentItem, ...items].filter(\n                  Boolean\n                );\n                const candidateNodes = candidateItems.map((item) => item.ref.current);\n                focusFirst(candidateNodes, preventScrollOnEntryFocus);\n              }\n            }\n            isClickFocusRef.current = false;\n          }),\n          onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n        }\n      )\n    }\n  );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRovingFocusGroup,\n      focusable = true,\n      active = false,\n      tabStopId,\n      children,\n      ...itemProps\n    } = props;\n    const autoId = useId();\n    const id = tabStopId || autoId;\n    const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n    const isCurrentTabStop = context.currentTabStopId === id;\n    const getItems = useCollection(__scopeRovingFocusGroup);\n    const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n    React.useEffect(() => {\n      if (focusable) {\n        onFocusableItemAdd();\n        return () => onFocusableItemRemove();\n      }\n    }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeRovingFocusGroup,\n        id,\n        focusable,\n        active,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            tabIndex: isCurrentTabStop ? 0 : -1,\n            \"data-orientation\": context.orientation,\n            ...itemProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!focusable) event.preventDefault();\n              else context.onItemFocus(id);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if (event.key === \"Tab\" && event.shiftKey) {\n                context.onItemShiftTab();\n                return;\n              }\n              if (event.target !== event.currentTarget) return;\n              const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n              if (focusIntent !== void 0) {\n                if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n                event.preventDefault();\n                const items = getItems().filter((item) => item.focusable);\n                let candidateNodes = items.map((item) => item.ref.current);\n                if (focusIntent === \"last\") candidateNodes.reverse();\n                else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n                  if (focusIntent === \"prev\") candidateNodes.reverse();\n                  const currentIndex = candidateNodes.indexOf(event.currentTarget);\n                  candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n                }\n                setTimeout(() => focusFirst(candidateNodes));\n              }\n            }),\n            children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n          }\n        )\n      }\n    );\n  }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n  ArrowLeft: \"prev\",\n  ArrowUp: \"prev\",\n  ArrowRight: \"next\",\n  ArrowDown: \"next\",\n  PageUp: \"first\",\n  Home: \"first\",\n  PageDown: \"last\",\n  End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n  if (dir !== \"rtl\") return key;\n  return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n  const key = getDirectionAwareKey(event.key, dir);\n  if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n  if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n  return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus({ preventScroll });\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n  Item,\n  Root,\n  RovingFocusGroup,\n  RovingFocusGroupItem,\n  createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n  createCollectionScope,\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n  const {\n    __scopeSelect,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    value: valueProp,\n    defaultValue,\n    onValueChange,\n    dir,\n    name,\n    autoComplete,\n    disabled,\n    required,\n    form\n  } = props;\n  const popperScope = usePopperScope(__scopeSelect);\n  const [trigger, setTrigger] = React.useState(null);\n  const [valueNode, setValueNode] = React.useState(null);\n  const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n  const direction = useDirection(dir);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: SELECT_NAME\n  });\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue,\n    onChange: onValueChange,\n    caller: SELECT_NAME\n  });\n  const triggerPointerDownPosRef = React.useRef(null);\n  const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n  const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n    SelectProvider,\n    {\n      required,\n      scope: __scopeSelect,\n      trigger,\n      onTriggerChange: setTrigger,\n      valueNode,\n      onValueNodeChange: setValueNode,\n      valueNodeHasChildren,\n      onValueNodeHasChildrenChange: setValueNodeHasChildren,\n      contentId: useId(),\n      value,\n      onValueChange: setValue,\n      open,\n      onOpenChange: setOpen,\n      dir: direction,\n      triggerPointerDownPosRef,\n      disabled,\n      children: [\n        /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n          SelectNativeOptionsProvider,\n          {\n            scope: props.__scopeSelect,\n            onNativeOptionAdd: React.useCallback((option) => {\n              setNativeOptionsSet((prev) => new Set(prev).add(option));\n            }, []),\n            onNativeOptionRemove: React.useCallback((option) => {\n              setNativeOptionsSet((prev) => {\n                const optionsSet = new Set(prev);\n                optionsSet.delete(option);\n                return optionsSet;\n              });\n            }, []),\n            children\n          }\n        ) }),\n        isFormControl ? /* @__PURE__ */ jsxs(\n          SelectBubbleInput,\n          {\n            \"aria-hidden\": true,\n            required,\n            tabIndex: -1,\n            name,\n            autoComplete,\n            value,\n            onChange: (event) => setValue(event.target.value),\n            disabled,\n            form,\n            children: [\n              value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n              Array.from(nativeOptionsSet)\n            ]\n          },\n          nativeSelectKey\n        ) : null\n      ]\n    }\n  ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, disabled = false, ...triggerProps } = props;\n    const popperScope = usePopperScope(__scopeSelect);\n    const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n    const isDisabled = context.disabled || disabled;\n    const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n    const getItems = useCollection(__scopeSelect);\n    const pointerTypeRef = React.useRef(\"touch\");\n    const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n      const enabledItems = getItems().filter((item) => !item.disabled);\n      const currentItem = enabledItems.find((item) => item.value === context.value);\n      const nextItem = findNextItem(enabledItems, search, currentItem);\n      if (nextItem !== void 0) {\n        context.onValueChange(nextItem.value);\n      }\n    });\n    const handleOpen = (pointerEvent) => {\n      if (!isDisabled) {\n        context.onOpenChange(true);\n        resetTypeahead();\n      }\n      if (pointerEvent) {\n        context.triggerPointerDownPosRef.current = {\n          x: Math.round(pointerEvent.pageX),\n          y: Math.round(pointerEvent.pageY)\n        };\n      }\n    };\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        role: \"combobox\",\n        \"aria-controls\": context.contentId,\n        \"aria-expanded\": context.open,\n        \"aria-required\": context.required,\n        \"aria-autocomplete\": \"none\",\n        dir: context.dir,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        disabled: isDisabled,\n        \"data-disabled\": isDisabled ? \"\" : void 0,\n        \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n        ...triggerProps,\n        ref: composedRefs,\n        onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n          event.currentTarget.focus();\n          if (pointerTypeRef.current !== \"mouse\") {\n            handleOpen(event);\n          }\n        }),\n        onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n          pointerTypeRef.current = event.pointerType;\n          const target = event.target;\n          if (target.hasPointerCapture(event.pointerId)) {\n            target.releasePointerCapture(event.pointerId);\n          }\n          if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n            handleOpen(event);\n            event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n          const isTypingAhead = searchRef.current !== \"\";\n          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n          if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n          if (isTypingAhead && event.key === \" \") return;\n          if (OPEN_KEYS.includes(event.key)) {\n            handleOpen();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n    const context = useSelectContext(VALUE_NAME, __scopeSelect);\n    const { onValueNodeHasChildrenChange } = context;\n    const hasChildren = children !== void 0;\n    const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n    useLayoutEffect(() => {\n      onValueNodeHasChildrenChange(hasChildren);\n    }, [onValueNodeHasChildrenChange, hasChildren]);\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...valueProps,\n        ref: composedRefs,\n        style: { pointerEvents: \"none\" },\n        children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n      }\n    );\n  }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, children, ...iconProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n  }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n  return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n    const [fragment, setFragment] = React.useState();\n    useLayoutEffect(() => {\n      setFragment(new DocumentFragment());\n    }, []);\n    if (!context.open) {\n      const frag = fragment;\n      return frag ? ReactDOM.createPortal(\n        /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n        frag\n      ) : null;\n    }\n    return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n  }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSelect,\n      position = \"item-aligned\",\n      onCloseAutoFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      //\n      // PopperContent props\n      side,\n      sideOffset,\n      align,\n      alignOffset,\n      arrowPadding,\n      collisionBoundary,\n      collisionPadding,\n      sticky,\n      hideWhenDetached,\n      avoidCollisions,\n      //\n      ...contentProps\n    } = props;\n    const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n    const [content, setContent] = React.useState(null);\n    const [viewport, setViewport] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [selectedItem, setSelectedItem] = React.useState(null);\n    const [selectedItemText, setSelectedItemText] = React.useState(\n      null\n    );\n    const getItems = useCollection(__scopeSelect);\n    const [isPositioned, setIsPositioned] = React.useState(false);\n    const firstValidItemFoundRef = React.useRef(false);\n    React.useEffect(() => {\n      if (content) return hideOthers(content);\n    }, [content]);\n    useFocusGuards();\n    const focusFirst = React.useCallback(\n      (candidates) => {\n        const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n        const [lastItem] = restItems.slice(-1);\n        const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n        for (const candidate of candidates) {\n          if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n          candidate?.scrollIntoView({ block: \"nearest\" });\n          if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n          if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n          candidate?.focus();\n          if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n        }\n      },\n      [getItems, viewport]\n    );\n    const focusSelectedItem = React.useCallback(\n      () => focusFirst([selectedItem, content]),\n      [focusFirst, selectedItem, content]\n    );\n    React.useEffect(() => {\n      if (isPositioned) {\n        focusSelectedItem();\n      }\n    }, [isPositioned, focusSelectedItem]);\n    const { onOpenChange, triggerPointerDownPosRef } = context;\n    React.useEffect(() => {\n      if (content) {\n        let pointerMoveDelta = { x: 0, y: 0 };\n        const handlePointerMove = (event) => {\n          pointerMoveDelta = {\n            x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n            y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n          };\n        };\n        const handlePointerUp = (event) => {\n          if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n            event.preventDefault();\n          } else {\n            if (!content.contains(event.target)) {\n              onOpenChange(false);\n            }\n          }\n          document.removeEventListener(\"pointermove\", handlePointerMove);\n          triggerPointerDownPosRef.current = null;\n        };\n        if (triggerPointerDownPosRef.current !== null) {\n          document.addEventListener(\"pointermove\", handlePointerMove);\n          document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n        }\n        return () => {\n          document.removeEventListener(\"pointermove\", handlePointerMove);\n          document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n        };\n      }\n    }, [content, onOpenChange, triggerPointerDownPosRef]);\n    React.useEffect(() => {\n      const close = () => onOpenChange(false);\n      window.addEventListener(\"blur\", close);\n      window.addEventListener(\"resize\", close);\n      return () => {\n        window.removeEventListener(\"blur\", close);\n        window.removeEventListener(\"resize\", close);\n      };\n    }, [onOpenChange]);\n    const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n      const enabledItems = getItems().filter((item) => !item.disabled);\n      const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n      const nextItem = findNextItem(enabledItems, search, currentItem);\n      if (nextItem) {\n        setTimeout(() => nextItem.ref.current.focus());\n      }\n    });\n    const itemRefCallback = React.useCallback(\n      (node, value, disabled) => {\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== void 0 && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n          setSelectedItem(node);\n          if (isFirstValidItem) firstValidItemFoundRef.current = true;\n        }\n      },\n      [context.value]\n    );\n    const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n    const itemTextRefCallback = React.useCallback(\n      (node, value, disabled) => {\n        const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n        const isSelectedItem = context.value !== void 0 && context.value === value;\n        if (isSelectedItem || isFirstValidItem) {\n          setSelectedItemText(node);\n        }\n      },\n      [context.value]\n    );\n    const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n    const popperContentProps = SelectPosition === SelectPopperPosition ? {\n      side,\n      sideOffset,\n      align,\n      alignOffset,\n      arrowPadding,\n      collisionBoundary,\n      collisionPadding,\n      sticky,\n      hideWhenDetached,\n      avoidCollisions\n    } : {};\n    return /* @__PURE__ */ jsx(\n      SelectContentProvider,\n      {\n        scope: __scopeSelect,\n        content,\n        viewport,\n        onViewportChange: setViewport,\n        itemRefCallback,\n        selectedItem,\n        onItemLeave: handleItemLeave,\n        itemTextRefCallback,\n        focusSelectedItem,\n        selectedItemText,\n        position,\n        isPositioned,\n        searchRef,\n        children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: context.open,\n            onMountAutoFocus: (event) => {\n              event.preventDefault();\n            },\n            onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n              context.trigger?.focus({ preventScroll: true });\n              event.preventDefault();\n            }),\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents: true,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside: (event) => event.preventDefault(),\n                onDismiss: () => context.onOpenChange(false),\n                children: /* @__PURE__ */ jsx(\n                  SelectPosition,\n                  {\n                    role: \"listbox\",\n                    id: context.contentId,\n                    \"data-state\": context.open ? \"open\" : \"closed\",\n                    dir: context.dir,\n                    onContextMenu: (event) => event.preventDefault(),\n                    ...contentProps,\n                    ...popperContentProps,\n                    onPlaced: () => setIsPositioned(true),\n                    ref: composedRefs,\n                    style: {\n                      // flex layout so we can place the scroll buttons properly\n                      display: \"flex\",\n                      flexDirection: \"column\",\n                      // reset the outline by default as the content MAY get focused\n                      outline: \"none\",\n                      ...contentProps.style\n                    },\n                    onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                      const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                      if (event.key === \"Tab\") event.preventDefault();\n                      if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n                      if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n                        const items = getItems().filter((item) => !item.disabled);\n                        let candidateNodes = items.map((item) => item.ref.current);\n                        if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n                          candidateNodes = candidateNodes.slice().reverse();\n                        }\n                        if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n                          const currentElement = event.target;\n                          const currentIndex = candidateNodes.indexOf(currentElement);\n                          candidateNodes = candidateNodes.slice(currentIndex + 1);\n                        }\n                        setTimeout(() => focusFirst(candidateNodes));\n                        event.preventDefault();\n                      }\n                    })\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n  const { __scopeSelect, onPlaced, ...popperProps } = props;\n  const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n  const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n  const [contentWrapper, setContentWrapper] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n  const getItems = useCollection(__scopeSelect);\n  const shouldExpandOnScrollRef = React.useRef(false);\n  const shouldRepositionRef = React.useRef(true);\n  const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n  const position = React.useCallback(() => {\n    if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n      const triggerRect = context.trigger.getBoundingClientRect();\n      const contentRect = content.getBoundingClientRect();\n      const valueNodeRect = context.valueNode.getBoundingClientRect();\n      const itemTextRect = selectedItemText.getBoundingClientRect();\n      if (context.dir !== \"rtl\") {\n        const itemTextOffset = itemTextRect.left - contentRect.left;\n        const left = valueNodeRect.left - itemTextOffset;\n        const leftDelta = triggerRect.left - left;\n        const minContentWidth = triggerRect.width + leftDelta;\n        const contentWidth = Math.max(minContentWidth, contentRect.width);\n        const rightEdge = window.innerWidth - CONTENT_MARGIN;\n        const clampedLeft = clamp(left, [\n          CONTENT_MARGIN,\n          // Prevents the content from going off the starting edge of the\n          // viewport. It may still go off the ending edge, but this can be\n          // controlled by the user since they may want to manage overflow in a\n          // specific way.\n          // https://github.com/radix-ui/primitives/issues/2049\n          Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n        ]);\n        contentWrapper.style.minWidth = minContentWidth + \"px\";\n        contentWrapper.style.left = clampedLeft + \"px\";\n      } else {\n        const itemTextOffset = contentRect.right - itemTextRect.right;\n        const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n        const rightDelta = window.innerWidth - triggerRect.right - right;\n        const minContentWidth = triggerRect.width + rightDelta;\n        const contentWidth = Math.max(minContentWidth, contentRect.width);\n        const leftEdge = window.innerWidth - CONTENT_MARGIN;\n        const clampedRight = clamp(right, [\n          CONTENT_MARGIN,\n          Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n        ]);\n        contentWrapper.style.minWidth = minContentWidth + \"px\";\n        contentWrapper.style.right = clampedRight + \"px\";\n      }\n      const items = getItems();\n      const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n      const itemsHeight = viewport.scrollHeight;\n      const contentStyles = window.getComputedStyle(content);\n      const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n      const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n      const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n      const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n      const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n      const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n      const viewportStyles = window.getComputedStyle(viewport);\n      const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n      const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n      const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n      const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n      const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n      const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n      const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n      const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n      const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n      if (willAlignWithoutTopOverflow) {\n        const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n        contentWrapper.style.bottom = \"0px\";\n        const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n        const clampedTriggerMiddleToBottomEdge = Math.max(\n          triggerMiddleToBottomEdge,\n          selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n          (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n        );\n        const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n        contentWrapper.style.height = height + \"px\";\n      } else {\n        const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n        contentWrapper.style.top = \"0px\";\n        const clampedTopEdgeToTriggerMiddle = Math.max(\n          topEdgeToTriggerMiddle,\n          contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n          (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n        );\n        const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n        contentWrapper.style.height = height + \"px\";\n        viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n      }\n      contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n      contentWrapper.style.minHeight = minContentHeight + \"px\";\n      contentWrapper.style.maxHeight = availableHeight + \"px\";\n      onPlaced?.();\n      requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n    }\n  }, [\n    getItems,\n    context.trigger,\n    context.valueNode,\n    contentWrapper,\n    content,\n    viewport,\n    selectedItem,\n    selectedItemText,\n    context.dir,\n    onPlaced\n  ]);\n  useLayoutEffect(() => position(), [position]);\n  const [contentZIndex, setContentZIndex] = React.useState();\n  useLayoutEffect(() => {\n    if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n  }, [content]);\n  const handleScrollButtonChange = React.useCallback(\n    (node) => {\n      if (node && shouldRepositionRef.current === true) {\n        position();\n        focusSelectedItem?.();\n        shouldRepositionRef.current = false;\n      }\n    },\n    [position, focusSelectedItem]\n  );\n  return /* @__PURE__ */ jsx(\n    SelectViewportProvider,\n    {\n      scope: __scopeSelect,\n      contentWrapper,\n      shouldExpandOnScrollRef,\n      onScrollButtonChange: handleScrollButtonChange,\n      children: /* @__PURE__ */ jsx(\n        \"div\",\n        {\n          ref: setContentWrapper,\n          style: {\n            display: \"flex\",\n            flexDirection: \"column\",\n            position: \"fixed\",\n            zIndex: contentZIndex\n          },\n          children: /* @__PURE__ */ jsx(\n            Primitive.div,\n            {\n              ...popperProps,\n              ref: composedRefs,\n              style: {\n                // When we get the height of the content, it includes borders. If we were to set\n                // the height without having `boxSizing: 'border-box'` it would be too big.\n                boxSizing: \"border-box\",\n                // We need to ensure the content doesn't get taller than the wrapper\n                maxHeight: \"100%\",\n                ...popperProps.style\n              }\n            }\n          )\n        }\n      )\n    }\n  );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeSelect,\n    align = \"start\",\n    collisionPadding = CONTENT_MARGIN,\n    ...popperProps\n  } = props;\n  const popperScope = usePopperScope(__scopeSelect);\n  return /* @__PURE__ */ jsx(\n    PopperPrimitive.Content,\n    {\n      ...popperScope,\n      ...popperProps,\n      ref: forwardedRef,\n      align,\n      collisionPadding,\n      style: {\n        // Ensure border-box for floating-ui calculations\n        boxSizing: \"border-box\",\n        ...popperProps.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, nonce, ...viewportProps } = props;\n    const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n    const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n    const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n    const prevScrollTopRef = React.useRef(0);\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(\n        \"style\",\n        {\n          dangerouslySetInnerHTML: {\n            __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n          },\n          nonce\n        }\n      ),\n      /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          \"data-radix-select-viewport\": \"\",\n          role: \"presentation\",\n          ...viewportProps,\n          ref: composedRefs,\n          style: {\n            // we use position: 'relative' here on the `viewport` so that when we call\n            // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n            // (independent of the scrollUpButton).\n            position: \"relative\",\n            flex: 1,\n            // Viewport should only be scrollable in the vertical direction.\n            // This won't work in vertical writing modes, so we'll need to\n            // revisit this if/when that is supported\n            // https://developer.chrome.com/blog/vertical-form-controls\n            overflow: \"hidden auto\",\n            ...viewportProps.style\n          },\n          onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n            const viewport = event.currentTarget;\n            const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n            if (shouldExpandOnScrollRef?.current && contentWrapper) {\n              const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n              if (scrolledBy > 0) {\n                const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n                const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n                const cssHeight = parseFloat(contentWrapper.style.height);\n                const prevHeight = Math.max(cssMinHeight, cssHeight);\n                if (prevHeight < availableHeight) {\n                  const nextHeight = prevHeight + scrolledBy;\n                  const clampedNextHeight = Math.min(availableHeight, nextHeight);\n                  const heightDiff = nextHeight - clampedNextHeight;\n                  contentWrapper.style.height = clampedNextHeight + \"px\";\n                  if (contentWrapper.style.bottom === \"0px\") {\n                    viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n                    contentWrapper.style.justifyContent = \"flex-end\";\n                  }\n                }\n              }\n            }\n            prevScrollTopRef.current = viewport.scrollTop;\n          })\n        }\n      ) })\n    ] });\n  }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...groupProps } = props;\n    const groupId = useId();\n    return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n  }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...labelProps } = props;\n    const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n    return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n  }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSelect,\n      value,\n      disabled = false,\n      textValue: textValueProp,\n      ...itemProps\n    } = props;\n    const context = useSelectContext(ITEM_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n    const isSelected = context.value === value;\n    const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n    const [isFocused, setIsFocused] = React.useState(false);\n    const composedRefs = useComposedRefs(\n      forwardedRef,\n      (node) => contentContext.itemRefCallback?.(node, value, disabled)\n    );\n    const textId = useId();\n    const pointerTypeRef = React.useRef(\"touch\");\n    const handleSelect = () => {\n      if (!disabled) {\n        context.onValueChange(value);\n        context.onOpenChange(false);\n      }\n    };\n    if (value === \"\") {\n      throw new Error(\n        \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n      );\n    }\n    return /* @__PURE__ */ jsx(\n      SelectItemContextProvider,\n      {\n        scope: __scopeSelect,\n        value,\n        disabled,\n        textId,\n        isSelected,\n        onItemTextChange: React.useCallback((node) => {\n          setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n        }, []),\n        children: /* @__PURE__ */ jsx(\n          Collection.ItemSlot,\n          {\n            scope: __scopeSelect,\n            value,\n            disabled,\n            textValue,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                role: \"option\",\n                \"aria-labelledby\": textId,\n                \"data-highlighted\": isFocused ? \"\" : void 0,\n                \"aria-selected\": isSelected && isFocused,\n                \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n                \"aria-disabled\": disabled || void 0,\n                \"data-disabled\": disabled ? \"\" : void 0,\n                tabIndex: disabled ? void 0 : -1,\n                ...itemProps,\n                ref: composedRefs,\n                onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n                onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n                onClick: composeEventHandlers(itemProps.onClick, () => {\n                  if (pointerTypeRef.current !== \"mouse\") handleSelect();\n                }),\n                onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n                  if (pointerTypeRef.current === \"mouse\") handleSelect();\n                }),\n                onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n                  pointerTypeRef.current = event.pointerType;\n                }),\n                onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n                  pointerTypeRef.current = event.pointerType;\n                  if (disabled) {\n                    contentContext.onItemLeave?.();\n                  } else if (pointerTypeRef.current === \"mouse\") {\n                    event.currentTarget.focus({ preventScroll: true });\n                  }\n                }),\n                onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n                  if (event.currentTarget === document.activeElement) {\n                    contentContext.onItemLeave?.();\n                  }\n                }),\n                onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n                  const isTypingAhead = contentContext.searchRef?.current !== \"\";\n                  if (isTypingAhead && event.key === \" \") return;\n                  if (SELECTION_KEYS.includes(event.key)) handleSelect();\n                  if (event.key === \" \") event.preventDefault();\n                })\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, className, style, ...itemTextProps } = props;\n    const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n    const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n    const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n    const [itemTextNode, setItemTextNode] = React.useState(null);\n    const composedRefs = useComposedRefs(\n      forwardedRef,\n      (node) => setItemTextNode(node),\n      itemContext.onItemTextChange,\n      (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n    );\n    const textContent = itemTextNode?.textContent;\n    const nativeOption = React.useMemo(\n      () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n      [itemContext.disabled, itemContext.value, textContent]\n    );\n    const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n    useLayoutEffect(() => {\n      onNativeOptionAdd(nativeOption);\n      return () => onNativeOptionRemove(nativeOption);\n    }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n      itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n    ] });\n  }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...itemIndicatorProps } = props;\n    const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n    return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n  }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n  const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n  const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n  const [canScrollUp, setCanScrollUp] = React.useState(false);\n  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n  useLayoutEffect(() => {\n    if (contentContext.viewport && contentContext.isPositioned) {\n      let handleScroll2 = function() {\n        const canScrollUp2 = viewport.scrollTop > 0;\n        setCanScrollUp(canScrollUp2);\n      };\n      var handleScroll = handleScroll2;\n      const viewport = contentContext.viewport;\n      handleScroll2();\n      viewport.addEventListener(\"scroll\", handleScroll2);\n      return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n    }\n  }, [contentContext.viewport, contentContext.isPositioned]);\n  return canScrollUp ? /* @__PURE__ */ jsx(\n    SelectScrollButtonImpl,\n    {\n      ...props,\n      ref: composedRefs,\n      onAutoScroll: () => {\n        const { viewport, selectedItem } = contentContext;\n        if (viewport && selectedItem) {\n          viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n        }\n      }\n    }\n  ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n  const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n  const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n  const [canScrollDown, setCanScrollDown] = React.useState(false);\n  const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n  useLayoutEffect(() => {\n    if (contentContext.viewport && contentContext.isPositioned) {\n      let handleScroll2 = function() {\n        const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n        const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n        setCanScrollDown(canScrollDown2);\n      };\n      var handleScroll = handleScroll2;\n      const viewport = contentContext.viewport;\n      handleScroll2();\n      viewport.addEventListener(\"scroll\", handleScroll2);\n      return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n    }\n  }, [contentContext.viewport, contentContext.isPositioned]);\n  return canScrollDown ? /* @__PURE__ */ jsx(\n    SelectScrollButtonImpl,\n    {\n      ...props,\n      ref: composedRefs,\n      onAutoScroll: () => {\n        const { viewport, selectedItem } = contentContext;\n        if (viewport && selectedItem) {\n          viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n        }\n      }\n    }\n  ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n  const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n  const autoScrollTimerRef = React.useRef(null);\n  const getItems = useCollection(__scopeSelect);\n  const clearAutoScrollTimer = React.useCallback(() => {\n    if (autoScrollTimerRef.current !== null) {\n      window.clearInterval(autoScrollTimerRef.current);\n      autoScrollTimerRef.current = null;\n    }\n  }, []);\n  React.useEffect(() => {\n    return () => clearAutoScrollTimer();\n  }, [clearAutoScrollTimer]);\n  useLayoutEffect(() => {\n    const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n    activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n  }, [getItems]);\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"aria-hidden\": true,\n      ...scrollIndicatorProps,\n      ref: forwardedRef,\n      style: { flexShrink: 0, ...scrollIndicatorProps.style },\n      onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n        if (autoScrollTimerRef.current === null) {\n          autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }\n      }),\n      onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n        contentContext.onItemLeave?.();\n        if (autoScrollTimerRef.current === null) {\n          autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n        }\n      }),\n      onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n        clearAutoScrollTimer();\n      })\n    }\n  );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n  }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSelect, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeSelect);\n    const context = useSelectContext(ARROW_NAME, __scopeSelect);\n    const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n    return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n  }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n  ({ __scopeSelect, value, ...props }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const prevValue = usePrevious(value);\n    React.useEffect(() => {\n      const select = ref.current;\n      if (!select) return;\n      const selectProto = window.HTMLSelectElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        selectProto,\n        \"value\"\n      );\n      const setValue = descriptor.set;\n      if (prevValue !== value && setValue) {\n        const event = new Event(\"change\", { bubbles: true });\n        setValue.call(select, value);\n        select.dispatchEvent(event);\n      }\n    }, [prevValue, value]);\n    return /* @__PURE__ */ jsx(\n      Primitive.select,\n      {\n        ...props,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n        ref: composedRefs,\n        defaultValue: value\n      }\n    );\n  }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n  return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n  const handleSearchChange = useCallbackRef(onSearchChange);\n  const searchRef = React.useRef(\"\");\n  const timerRef = React.useRef(0);\n  const handleTypeaheadSearch = React.useCallback(\n    (key) => {\n      const search = searchRef.current + key;\n      handleSearchChange(search);\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n    },\n    [handleSearchChange]\n  );\n  const resetTypeahead = React.useCallback(() => {\n    searchRef.current = \"\";\n    window.clearTimeout(timerRef.current);\n  }, []);\n  React.useEffect(() => {\n    return () => window.clearTimeout(timerRef.current);\n  }, []);\n  return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n  let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n  const excludeCurrentItem = normalizedSearch.length === 1;\n  if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n  const nextItem = wrappedItems.find(\n    (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Group,\n  Icon,\n  Item,\n  ItemIndicator,\n  ItemText,\n  Label,\n  Portal,\n  Root2 as Root,\n  ScrollDownButton,\n  ScrollUpButton,\n  Select,\n  SelectArrow,\n  SelectContent,\n  SelectGroup,\n  SelectIcon,\n  SelectItem,\n  SelectItemIndicator,\n  SelectItemText,\n  SelectLabel,\n  SelectPortal,\n  SelectScrollDownButton,\n  SelectScrollUpButton,\n  SelectSeparator,\n  SelectTrigger,\n  SelectValue,\n  SelectViewport,\n  Separator,\n  Trigger,\n  Value,\n  Viewport,\n  createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n  return Math.min(max, Math.max(min, value));\n}\nexport {\n  clamp\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeSwitch,\n      name,\n      checked: checkedProp,\n      defaultChecked,\n      required,\n      disabled,\n      value = \"on\",\n      onCheckedChange,\n      form,\n      ...switchProps\n    } = props;\n    const [button, setButton] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    const isFormControl = button ? form || !!button.closest(\"form\") : true;\n    const [checked, setChecked] = useControllableState({\n      prop: checkedProp,\n      defaultProp: defaultChecked ?? false,\n      onChange: onCheckedChange,\n      caller: SWITCH_NAME\n    });\n    return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n      /* @__PURE__ */ jsx(\n        Primitive.button,\n        {\n          type: \"button\",\n          role: \"switch\",\n          \"aria-checked\": checked,\n          \"aria-required\": required,\n          \"data-state\": getState(checked),\n          \"data-disabled\": disabled ? \"\" : void 0,\n          disabled,\n          value,\n          ...switchProps,\n          ref: composedRefs,\n          onClick: composeEventHandlers(props.onClick, (event) => {\n            setChecked((prevChecked) => !prevChecked);\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })\n        }\n      ),\n      isFormControl && /* @__PURE__ */ jsx(\n        SwitchBubbleInput,\n        {\n          control: button,\n          bubbles: !hasConsumerStoppedPropagationRef.current,\n          name,\n          value,\n          checked,\n          required,\n          disabled,\n          form,\n          style: { transform: \"translateX(-100%)\" }\n        }\n      )\n    ] });\n  }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeSwitch, ...thumbProps } = props;\n    const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        \"data-state\": getState(context.checked),\n        \"data-disabled\": context.disabled ? \"\" : void 0,\n        ...thumbProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"SwitchBubbleInput\";\nvar SwitchBubbleInput = React.forwardRef(\n  ({\n    __scopeSwitch,\n    control,\n    checked,\n    bubbles = true,\n    ...props\n  }, forwardedRef) => {\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(ref, forwardedRef);\n    const prevChecked = usePrevious(checked);\n    const controlSize = useSize(control);\n    React.useEffect(() => {\n      const input = ref.current;\n      if (!input) return;\n      const inputProto = window.HTMLInputElement.prototype;\n      const descriptor = Object.getOwnPropertyDescriptor(\n        inputProto,\n        \"checked\"\n      );\n      const setChecked = descriptor.set;\n      if (prevChecked !== checked && setChecked) {\n        const event = new Event(\"click\", { bubbles });\n        setChecked.call(input, checked);\n        input.dispatchEvent(event);\n      }\n    }, [prevChecked, checked, bubbles]);\n    return /* @__PURE__ */ jsx(\n      \"input\",\n      {\n        type: \"checkbox\",\n        \"aria-hidden\": true,\n        defaultChecked: checked,\n        ...props,\n        tabIndex: -1,\n        ref: composedRefs,\n        style: {\n          ...props.style,\n          ...controlSize,\n          position: \"absolute\",\n          pointerEvents: \"none\",\n          opacity: 0,\n          margin: 0\n        }\n      }\n    );\n  }\n);\nSwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getState(checked) {\n  return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n  Root,\n  Switch,\n  SwitchThumb,\n  Thumb,\n  createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n  createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTabs,\n      value: valueProp,\n      onValueChange,\n      defaultValue,\n      orientation = \"horizontal\",\n      dir,\n      activationMode = \"automatic\",\n      ...tabsProps\n    } = props;\n    const direction = useDirection(dir);\n    const [value, setValue] = useControllableState({\n      prop: valueProp,\n      onChange: onValueChange,\n      defaultProp: defaultValue ?? \"\",\n      caller: TABS_NAME\n    });\n    return /* @__PURE__ */ jsx(\n      TabsProvider,\n      {\n        scope: __scopeTabs,\n        baseId: useId(),\n        value,\n        onValueChange: setValue,\n        orientation,\n        dir: direction,\n        activationMode,\n        children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            dir: direction,\n            \"data-orientation\": orientation,\n            ...tabsProps,\n            ref: forwardedRef\n          }\n        )\n      }\n    );\n  }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, loop = true, ...listProps } = props;\n    const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n    return /* @__PURE__ */ jsx(\n      RovingFocusGroup.Root,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        orientation: context.orientation,\n        dir: context.dir,\n        loop,\n        children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"tablist\",\n            \"aria-orientation\": context.orientation,\n            ...listProps,\n            ref: forwardedRef\n          }\n        )\n      }\n    );\n  }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n    const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n    const triggerId = makeTriggerId(context.baseId, value);\n    const contentId = makeContentId(context.baseId, value);\n    const isSelected = value === context.value;\n    return /* @__PURE__ */ jsx(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !disabled,\n        active: isSelected,\n        children: /* @__PURE__ */ jsx(\n          Primitive.button,\n          {\n            type: \"button\",\n            role: \"tab\",\n            \"aria-selected\": isSelected,\n            \"aria-controls\": contentId,\n            \"data-state\": isSelected ? \"active\" : \"inactive\",\n            \"data-disabled\": disabled ? \"\" : void 0,\n            disabled,\n            id: triggerId,\n            ...triggerProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!disabled && event.button === 0 && event.ctrlKey === false) {\n                context.onValueChange(value);\n              } else {\n                event.preventDefault();\n              }\n            }),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => {\n              const isAutomaticActivation = context.activationMode !== \"manual\";\n              if (!isSelected && !disabled && isAutomaticActivation) {\n                context.onValueChange(value);\n              }\n            })\n          }\n        )\n      }\n    );\n  }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n    const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n    const triggerId = makeTriggerId(context.baseId, value);\n    const contentId = makeContentId(context.baseId, value);\n    const isSelected = value === context.value;\n    const isMountAnimationPreventedRef = React.useRef(isSelected);\n    React.useEffect(() => {\n      const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n      return () => cancelAnimationFrame(rAF);\n    }, []);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        \"data-state\": isSelected ? \"active\" : \"inactive\",\n        \"data-orientation\": context.orientation,\n        role: \"tabpanel\",\n        \"aria-labelledby\": triggerId,\n        hidden: !present,\n        id: contentId,\n        tabIndex: 0,\n        ...contentProps,\n        ref: forwardedRef,\n        style: {\n          ...props.style,\n          animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n        },\n        children: present && children\n      }\n    ) });\n  }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n  return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n  return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n  Content,\n  List,\n  Root2 as Root,\n  Tabs,\n  TabsContent,\n  TabsList,\n  TabsTrigger,\n  Trigger,\n  createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toast.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport * as DismissableLayer from \"@radix-ui/react-dismissable-layer\";\nimport { Portal } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar PROVIDER_NAME = \"ToastProvider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(\"Toast\");\nvar [createToastContext, createToastScope] = createContextScope(\"Toast\", [createCollectionScope]);\nvar [ToastProviderProvider, useToastProviderContext] = createToastContext(PROVIDER_NAME);\nvar ToastProvider = (props) => {\n  const {\n    __scopeToast,\n    label = \"Notification\",\n    duration = 5e3,\n    swipeDirection = \"right\",\n    swipeThreshold = 50,\n    children\n  } = props;\n  const [viewport, setViewport] = React.useState(null);\n  const [toastCount, setToastCount] = React.useState(0);\n  const isFocusedToastEscapeKeyDownRef = React.useRef(false);\n  const isClosePausedRef = React.useRef(false);\n  if (!label.trim()) {\n    console.error(\n      `Invalid prop \\`label\\` supplied to \\`${PROVIDER_NAME}\\`. Expected non-empty \\`string\\`.`\n    );\n  }\n  return /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n    ToastProviderProvider,\n    {\n      scope: __scopeToast,\n      label,\n      duration,\n      swipeDirection,\n      swipeThreshold,\n      toastCount,\n      viewport,\n      onViewportChange: setViewport,\n      onToastAdd: React.useCallback(() => setToastCount((prevCount) => prevCount + 1), []),\n      onToastRemove: React.useCallback(() => setToastCount((prevCount) => prevCount - 1), []),\n      isFocusedToastEscapeKeyDownRef,\n      isClosePausedRef,\n      children\n    }\n  ) });\n};\nToastProvider.displayName = PROVIDER_NAME;\nvar VIEWPORT_NAME = \"ToastViewport\";\nvar VIEWPORT_DEFAULT_HOTKEY = [\"F8\"];\nvar VIEWPORT_PAUSE = \"toast.viewportPause\";\nvar VIEWPORT_RESUME = \"toast.viewportResume\";\nvar ToastViewport = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToast,\n      hotkey = VIEWPORT_DEFAULT_HOTKEY,\n      label = \"Notifications ({hotkey})\",\n      ...viewportProps\n    } = props;\n    const context = useToastProviderContext(VIEWPORT_NAME, __scopeToast);\n    const getItems = useCollection(__scopeToast);\n    const wrapperRef = React.useRef(null);\n    const headFocusProxyRef = React.useRef(null);\n    const tailFocusProxyRef = React.useRef(null);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n    const hotkeyLabel = hotkey.join(\"+\").replace(/Key/g, \"\").replace(/Digit/g, \"\");\n    const hasToasts = context.toastCount > 0;\n    React.useEffect(() => {\n      const handleKeyDown = (event) => {\n        const isHotkeyPressed = hotkey.length !== 0 && hotkey.every((key) => event[key] || event.code === key);\n        if (isHotkeyPressed) ref.current?.focus();\n      };\n      document.addEventListener(\"keydown\", handleKeyDown);\n      return () => document.removeEventListener(\"keydown\", handleKeyDown);\n    }, [hotkey]);\n    React.useEffect(() => {\n      const wrapper = wrapperRef.current;\n      const viewport = ref.current;\n      if (hasToasts && wrapper && viewport) {\n        const handlePause = () => {\n          if (!context.isClosePausedRef.current) {\n            const pauseEvent = new CustomEvent(VIEWPORT_PAUSE);\n            viewport.dispatchEvent(pauseEvent);\n            context.isClosePausedRef.current = true;\n          }\n        };\n        const handleResume = () => {\n          if (context.isClosePausedRef.current) {\n            const resumeEvent = new CustomEvent(VIEWPORT_RESUME);\n            viewport.dispatchEvent(resumeEvent);\n            context.isClosePausedRef.current = false;\n          }\n        };\n        const handleFocusOutResume = (event) => {\n          const isFocusMovingOutside = !wrapper.contains(event.relatedTarget);\n          if (isFocusMovingOutside) handleResume();\n        };\n        const handlePointerLeaveResume = () => {\n          const isFocusInside = wrapper.contains(document.activeElement);\n          if (!isFocusInside) handleResume();\n        };\n        wrapper.addEventListener(\"focusin\", handlePause);\n        wrapper.addEventListener(\"focusout\", handleFocusOutResume);\n        wrapper.addEventListener(\"pointermove\", handlePause);\n        wrapper.addEventListener(\"pointerleave\", handlePointerLeaveResume);\n        window.addEventListener(\"blur\", handlePause);\n        window.addEventListener(\"focus\", handleResume);\n        return () => {\n          wrapper.removeEventListener(\"focusin\", handlePause);\n          wrapper.removeEventListener(\"focusout\", handleFocusOutResume);\n          wrapper.removeEventListener(\"pointermove\", handlePause);\n          wrapper.removeEventListener(\"pointerleave\", handlePointerLeaveResume);\n          window.removeEventListener(\"blur\", handlePause);\n          window.removeEventListener(\"focus\", handleResume);\n        };\n      }\n    }, [hasToasts, context.isClosePausedRef]);\n    const getSortedTabbableCandidates = React.useCallback(\n      ({ tabbingDirection }) => {\n        const toastItems = getItems();\n        const tabbableCandidates = toastItems.map((toastItem) => {\n          const toastNode = toastItem.ref.current;\n          const toastTabbableCandidates = [toastNode, ...getTabbableCandidates(toastNode)];\n          return tabbingDirection === \"forwards\" ? toastTabbableCandidates : toastTabbableCandidates.reverse();\n        });\n        return (tabbingDirection === \"forwards\" ? tabbableCandidates.reverse() : tabbableCandidates).flat();\n      },\n      [getItems]\n    );\n    React.useEffect(() => {\n      const viewport = ref.current;\n      if (viewport) {\n        const handleKeyDown = (event) => {\n          const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n          const isTabKey = event.key === \"Tab\" && !isMetaKey;\n          if (isTabKey) {\n            const focusedElement = document.activeElement;\n            const isTabbingBackwards = event.shiftKey;\n            const targetIsViewport = event.target === viewport;\n            if (targetIsViewport && isTabbingBackwards) {\n              headFocusProxyRef.current?.focus();\n              return;\n            }\n            const tabbingDirection = isTabbingBackwards ? \"backwards\" : \"forwards\";\n            const sortedCandidates = getSortedTabbableCandidates({ tabbingDirection });\n            const index = sortedCandidates.findIndex((candidate) => candidate === focusedElement);\n            if (focusFirst(sortedCandidates.slice(index + 1))) {\n              event.preventDefault();\n            } else {\n              isTabbingBackwards ? headFocusProxyRef.current?.focus() : tailFocusProxyRef.current?.focus();\n            }\n          }\n        };\n        viewport.addEventListener(\"keydown\", handleKeyDown);\n        return () => viewport.removeEventListener(\"keydown\", handleKeyDown);\n      }\n    }, [getItems, getSortedTabbableCandidates]);\n    return /* @__PURE__ */ jsxs(\n      DismissableLayer.Branch,\n      {\n        ref: wrapperRef,\n        role: \"region\",\n        \"aria-label\": label.replace(\"{hotkey}\", hotkeyLabel),\n        tabIndex: -1,\n        style: { pointerEvents: hasToasts ? void 0 : \"none\" },\n        children: [\n          hasToasts && /* @__PURE__ */ jsx(\n            FocusProxy,\n            {\n              ref: headFocusProxyRef,\n              onFocusFromOutsideViewport: () => {\n                const tabbableCandidates = getSortedTabbableCandidates({\n                  tabbingDirection: \"forwards\"\n                });\n                focusFirst(tabbableCandidates);\n              }\n            }\n          ),\n          /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(Primitive.ol, { tabIndex: -1, ...viewportProps, ref: composedRefs }) }),\n          hasToasts && /* @__PURE__ */ jsx(\n            FocusProxy,\n            {\n              ref: tailFocusProxyRef,\n              onFocusFromOutsideViewport: () => {\n                const tabbableCandidates = getSortedTabbableCandidates({\n                  tabbingDirection: \"backwards\"\n                });\n                focusFirst(tabbableCandidates);\n              }\n            }\n          )\n        ]\n      }\n    );\n  }\n);\nToastViewport.displayName = VIEWPORT_NAME;\nvar FOCUS_PROXY_NAME = \"ToastFocusProxy\";\nvar FocusProxy = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, onFocusFromOutsideViewport, ...proxyProps } = props;\n    const context = useToastProviderContext(FOCUS_PROXY_NAME, __scopeToast);\n    return /* @__PURE__ */ jsx(\n      VisuallyHidden,\n      {\n        tabIndex: 0,\n        ...proxyProps,\n        ref: forwardedRef,\n        style: { position: \"fixed\" },\n        onFocus: (event) => {\n          const prevFocusedElement = event.relatedTarget;\n          const isFocusFromOutsideViewport = !context.viewport?.contains(prevFocusedElement);\n          if (isFocusFromOutsideViewport) onFocusFromOutsideViewport();\n        }\n      }\n    );\n  }\n);\nFocusProxy.displayName = FOCUS_PROXY_NAME;\nvar TOAST_NAME = \"Toast\";\nvar TOAST_SWIPE_START = \"toast.swipeStart\";\nvar TOAST_SWIPE_MOVE = \"toast.swipeMove\";\nvar TOAST_SWIPE_CANCEL = \"toast.swipeCancel\";\nvar TOAST_SWIPE_END = \"toast.swipeEnd\";\nvar Toast = React.forwardRef(\n  (props, forwardedRef) => {\n    const { forceMount, open: openProp, defaultOpen, onOpenChange, ...toastProps } = props;\n    const [open, setOpen] = useControllableState({\n      prop: openProp,\n      defaultProp: defaultOpen ?? true,\n      onChange: onOpenChange,\n      caller: TOAST_NAME\n    });\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n      ToastImpl,\n      {\n        open,\n        ...toastProps,\n        ref: forwardedRef,\n        onClose: () => setOpen(false),\n        onPause: useCallbackRef(props.onPause),\n        onResume: useCallbackRef(props.onResume),\n        onSwipeStart: composeEventHandlers(props.onSwipeStart, (event) => {\n          event.currentTarget.setAttribute(\"data-swipe\", \"start\");\n        }),\n        onSwipeMove: composeEventHandlers(props.onSwipeMove, (event) => {\n          const { x, y } = event.detail.delta;\n          event.currentTarget.setAttribute(\"data-swipe\", \"move\");\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-x\", `${x}px`);\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-move-y\", `${y}px`);\n        }),\n        onSwipeCancel: composeEventHandlers(props.onSwipeCancel, (event) => {\n          event.currentTarget.setAttribute(\"data-swipe\", \"cancel\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-end-y\");\n        }),\n        onSwipeEnd: composeEventHandlers(props.onSwipeEnd, (event) => {\n          const { x, y } = event.detail.delta;\n          event.currentTarget.setAttribute(\"data-swipe\", \"end\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-x\");\n          event.currentTarget.style.removeProperty(\"--radix-toast-swipe-move-y\");\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-x\", `${x}px`);\n          event.currentTarget.style.setProperty(\"--radix-toast-swipe-end-y\", `${y}px`);\n          setOpen(false);\n        })\n      }\n    ) });\n  }\n);\nToast.displayName = TOAST_NAME;\nvar [ToastInteractiveProvider, useToastInteractiveContext] = createToastContext(TOAST_NAME, {\n  onClose() {\n  }\n});\nvar ToastImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToast,\n      type = \"foreground\",\n      duration: durationProp,\n      open,\n      onClose,\n      onEscapeKeyDown,\n      onPause,\n      onResume,\n      onSwipeStart,\n      onSwipeMove,\n      onSwipeCancel,\n      onSwipeEnd,\n      ...toastProps\n    } = props;\n    const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n    const [node, setNode] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const pointerStartRef = React.useRef(null);\n    const swipeDeltaRef = React.useRef(null);\n    const duration = durationProp || context.duration;\n    const closeTimerStartTimeRef = React.useRef(0);\n    const closeTimerRemainingTimeRef = React.useRef(duration);\n    const closeTimerRef = React.useRef(0);\n    const { onToastAdd, onToastRemove } = context;\n    const handleClose = useCallbackRef(() => {\n      const isFocusInToast = node?.contains(document.activeElement);\n      if (isFocusInToast) context.viewport?.focus();\n      onClose();\n    });\n    const startTimer = React.useCallback(\n      (duration2) => {\n        if (!duration2 || duration2 === Infinity) return;\n        window.clearTimeout(closeTimerRef.current);\n        closeTimerStartTimeRef.current = (/* @__PURE__ */ new Date()).getTime();\n        closeTimerRef.current = window.setTimeout(handleClose, duration2);\n      },\n      [handleClose]\n    );\n    React.useEffect(() => {\n      const viewport = context.viewport;\n      if (viewport) {\n        const handleResume = () => {\n          startTimer(closeTimerRemainingTimeRef.current);\n          onResume?.();\n        };\n        const handlePause = () => {\n          const elapsedTime = (/* @__PURE__ */ new Date()).getTime() - closeTimerStartTimeRef.current;\n          closeTimerRemainingTimeRef.current = closeTimerRemainingTimeRef.current - elapsedTime;\n          window.clearTimeout(closeTimerRef.current);\n          onPause?.();\n        };\n        viewport.addEventListener(VIEWPORT_PAUSE, handlePause);\n        viewport.addEventListener(VIEWPORT_RESUME, handleResume);\n        return () => {\n          viewport.removeEventListener(VIEWPORT_PAUSE, handlePause);\n          viewport.removeEventListener(VIEWPORT_RESUME, handleResume);\n        };\n      }\n    }, [context.viewport, duration, onPause, onResume, startTimer]);\n    React.useEffect(() => {\n      if (open && !context.isClosePausedRef.current) startTimer(duration);\n    }, [open, duration, context.isClosePausedRef, startTimer]);\n    React.useEffect(() => {\n      onToastAdd();\n      return () => onToastRemove();\n    }, [onToastAdd, onToastRemove]);\n    const announceTextContent = React.useMemo(() => {\n      return node ? getAnnounceTextContent(node) : null;\n    }, [node]);\n    if (!context.viewport) return null;\n    return /* @__PURE__ */ jsxs(Fragment, { children: [\n      announceTextContent && /* @__PURE__ */ jsx(\n        ToastAnnounce,\n        {\n          __scopeToast,\n          role: \"status\",\n          \"aria-live\": type === \"foreground\" ? \"assertive\" : \"polite\",\n          children: announceTextContent\n        }\n      ),\n      /* @__PURE__ */ jsx(ToastInteractiveProvider, { scope: __scopeToast, onClose: handleClose, children: ReactDOM.createPortal(\n        /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(\n          DismissableLayer.Root,\n          {\n            asChild: true,\n            onEscapeKeyDown: composeEventHandlers(onEscapeKeyDown, () => {\n              if (!context.isFocusedToastEscapeKeyDownRef.current) handleClose();\n              context.isFocusedToastEscapeKeyDownRef.current = false;\n            }),\n            children: /* @__PURE__ */ jsx(\n              Primitive.li,\n              {\n                tabIndex: 0,\n                \"data-state\": open ? \"open\" : \"closed\",\n                \"data-swipe-direction\": context.swipeDirection,\n                ...toastProps,\n                ref: composedRefs,\n                style: { userSelect: \"none\", touchAction: \"none\", ...props.style },\n                onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n                  if (event.key !== \"Escape\") return;\n                  onEscapeKeyDown?.(event.nativeEvent);\n                  if (!event.nativeEvent.defaultPrevented) {\n                    context.isFocusedToastEscapeKeyDownRef.current = true;\n                    handleClose();\n                  }\n                }),\n                onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n                  if (event.button !== 0) return;\n                  pointerStartRef.current = { x: event.clientX, y: event.clientY };\n                }),\n                onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n                  if (!pointerStartRef.current) return;\n                  const x = event.clientX - pointerStartRef.current.x;\n                  const y = event.clientY - pointerStartRef.current.y;\n                  const hasSwipeMoveStarted = Boolean(swipeDeltaRef.current);\n                  const isHorizontalSwipe = [\"left\", \"right\"].includes(context.swipeDirection);\n                  const clamp = [\"left\", \"up\"].includes(context.swipeDirection) ? Math.min : Math.max;\n                  const clampedX = isHorizontalSwipe ? clamp(0, x) : 0;\n                  const clampedY = !isHorizontalSwipe ? clamp(0, y) : 0;\n                  const moveStartBuffer = event.pointerType === \"touch\" ? 10 : 2;\n                  const delta = { x: clampedX, y: clampedY };\n                  const eventDetail = { originalEvent: event, delta };\n                  if (hasSwipeMoveStarted) {\n                    swipeDeltaRef.current = delta;\n                    handleAndDispatchCustomEvent(TOAST_SWIPE_MOVE, onSwipeMove, eventDetail, {\n                      discrete: false\n                    });\n                  } else if (isDeltaInDirection(delta, context.swipeDirection, moveStartBuffer)) {\n                    swipeDeltaRef.current = delta;\n                    handleAndDispatchCustomEvent(TOAST_SWIPE_START, onSwipeStart, eventDetail, {\n                      discrete: false\n                    });\n                    event.target.setPointerCapture(event.pointerId);\n                  } else if (Math.abs(x) > moveStartBuffer || Math.abs(y) > moveStartBuffer) {\n                    pointerStartRef.current = null;\n                  }\n                }),\n                onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n                  const delta = swipeDeltaRef.current;\n                  const target = event.target;\n                  if (target.hasPointerCapture(event.pointerId)) {\n                    target.releasePointerCapture(event.pointerId);\n                  }\n                  swipeDeltaRef.current = null;\n                  pointerStartRef.current = null;\n                  if (delta) {\n                    const toast = event.currentTarget;\n                    const eventDetail = { originalEvent: event, delta };\n                    if (isDeltaInDirection(delta, context.swipeDirection, context.swipeThreshold)) {\n                      handleAndDispatchCustomEvent(TOAST_SWIPE_END, onSwipeEnd, eventDetail, {\n                        discrete: true\n                      });\n                    } else {\n                      handleAndDispatchCustomEvent(\n                        TOAST_SWIPE_CANCEL,\n                        onSwipeCancel,\n                        eventDetail,\n                        {\n                          discrete: true\n                        }\n                      );\n                    }\n                    toast.addEventListener(\"click\", (event2) => event2.preventDefault(), {\n                      once: true\n                    });\n                  }\n                })\n              }\n            )\n          }\n        ) }),\n        context.viewport\n      ) })\n    ] });\n  }\n);\nvar ToastAnnounce = (props) => {\n  const { __scopeToast, children, ...announceProps } = props;\n  const context = useToastProviderContext(TOAST_NAME, __scopeToast);\n  const [renderAnnounceText, setRenderAnnounceText] = React.useState(false);\n  const [isAnnounced, setIsAnnounced] = React.useState(false);\n  useNextFrame(() => setRenderAnnounceText(true));\n  React.useEffect(() => {\n    const timer = window.setTimeout(() => setIsAnnounced(true), 1e3);\n    return () => window.clearTimeout(timer);\n  }, []);\n  return isAnnounced ? null : /* @__PURE__ */ jsx(Portal, { asChild: true, children: /* @__PURE__ */ jsx(VisuallyHidden, { ...announceProps, children: renderAnnounceText && /* @__PURE__ */ jsxs(Fragment, { children: [\n    context.label,\n    \" \",\n    children\n  ] }) }) });\n};\nvar TITLE_NAME = \"ToastTitle\";\nvar ToastTitle = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...titleProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...titleProps, ref: forwardedRef });\n  }\n);\nToastTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"ToastDescription\";\nvar ToastDescription = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...descriptionProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...descriptionProps, ref: forwardedRef });\n  }\n);\nToastDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"ToastAction\";\nvar ToastAction = React.forwardRef(\n  (props, forwardedRef) => {\n    const { altText, ...actionProps } = props;\n    if (!altText.trim()) {\n      console.error(\n        `Invalid prop \\`altText\\` supplied to \\`${ACTION_NAME}\\`. Expected non-empty \\`string\\`.`\n      );\n      return null;\n    }\n    return /* @__PURE__ */ jsx(ToastAnnounceExclude, { altText, asChild: true, children: /* @__PURE__ */ jsx(ToastClose, { ...actionProps, ref: forwardedRef }) });\n  }\n);\nToastAction.displayName = ACTION_NAME;\nvar CLOSE_NAME = \"ToastClose\";\nvar ToastClose = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToast, ...closeProps } = props;\n    const interactiveContext = useToastInteractiveContext(CLOSE_NAME, __scopeToast);\n    return /* @__PURE__ */ jsx(ToastAnnounceExclude, { asChild: true, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        ...closeProps,\n        ref: forwardedRef,\n        onClick: composeEventHandlers(props.onClick, interactiveContext.onClose)\n      }\n    ) });\n  }\n);\nToastClose.displayName = CLOSE_NAME;\nvar ToastAnnounceExclude = React.forwardRef((props, forwardedRef) => {\n  const { __scopeToast, altText, ...announceExcludeProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.div,\n    {\n      \"data-radix-toast-announce-exclude\": \"\",\n      \"data-radix-toast-announce-alt\": altText || void 0,\n      ...announceExcludeProps,\n      ref: forwardedRef\n    }\n  );\n});\nfunction getAnnounceTextContent(container) {\n  const textContent = [];\n  const childNodes = Array.from(container.childNodes);\n  childNodes.forEach((node) => {\n    if (node.nodeType === node.TEXT_NODE && node.textContent) textContent.push(node.textContent);\n    if (isHTMLElement(node)) {\n      const isHidden = node.ariaHidden || node.hidden || node.style.display === \"none\";\n      const isExcluded = node.dataset.radixToastAnnounceExclude === \"\";\n      if (!isHidden) {\n        if (isExcluded) {\n          const altText = node.dataset.radixToastAnnounceAlt;\n          if (altText) textContent.push(altText);\n        } else {\n          textContent.push(...getAnnounceTextContent(node));\n        }\n      }\n    }\n  });\n  return textContent;\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const currentTarget = detail.originalEvent.currentTarget;\n  const event = new CustomEvent(name, { bubbles: true, cancelable: true, detail });\n  if (handler) currentTarget.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(currentTarget, event);\n  } else {\n    currentTarget.dispatchEvent(event);\n  }\n}\nvar isDeltaInDirection = (delta, direction, threshold = 0) => {\n  const deltaX = Math.abs(delta.x);\n  const deltaY = Math.abs(delta.y);\n  const isDeltaX = deltaX > deltaY;\n  if (direction === \"left\" || direction === \"right\") {\n    return isDeltaX && deltaX > threshold;\n  } else {\n    return !isDeltaX && deltaY > threshold;\n  }\n};\nfunction useNextFrame(callback = () => {\n}) {\n  const fn = useCallbackRef(callback);\n  useLayoutEffect(() => {\n    let raf1 = 0;\n    let raf2 = 0;\n    raf1 = window.requestAnimationFrame(() => raf2 = window.requestAnimationFrame(fn));\n    return () => {\n      window.cancelAnimationFrame(raf1);\n      window.cancelAnimationFrame(raf2);\n    };\n  }, [fn]);\n}\nfunction isHTMLElement(node) {\n  return node.nodeType === node.ELEMENT_NODE;\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction focusFirst(candidates) {\n  const previouslyFocusedElement = document.activeElement;\n  return candidates.some((candidate) => {\n    if (candidate === previouslyFocusedElement) return true;\n    candidate.focus();\n    return document.activeElement !== previouslyFocusedElement;\n  });\n}\nvar Provider = ToastProvider;\nvar Viewport = ToastViewport;\nvar Root2 = Toast;\nvar Title = ToastTitle;\nvar Description = ToastDescription;\nvar Action = ToastAction;\nvar Close = ToastClose;\nexport {\n  Action,\n  Close,\n  Description,\n  Provider,\n  Root2 as Root,\n  Title,\n  Toast,\n  ToastAction,\n  ToastClose,\n  ToastDescription,\n  ToastProvider,\n  ToastTitle,\n  ToastViewport,\n  Viewport,\n  createToastScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle-group.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Toggle } from \"@radix-ui/react-toggle\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n  createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar ToggleGroup = React.forwardRef((props, forwardedRef) => {\n  const { type, ...toggleGroupProps } = props;\n  if (type === \"single\") {\n    const singleProps = toggleGroupProps;\n    return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n  }\n  if (type === \"multiple\") {\n    const multipleProps = toggleGroupProps;\n    return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n  }\n  throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImplSingle = React.forwardRef((props, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {\n    },\n    ...toggleGroupSingleProps\n  } = props;\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? \"\",\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    ToggleGroupValueProvider,\n    {\n      scope: props.__scopeToggleGroup,\n      type: \"single\",\n      value: React.useMemo(() => value ? [value] : [], [value]),\n      onItemActivate: setValue,\n      onItemDeactivate: React.useCallback(() => setValue(\"\"), [setValue]),\n      children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n    }\n  );\n});\nvar ToggleGroupImplMultiple = React.forwardRef((props, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {\n    },\n    ...toggleGroupMultipleProps\n  } = props;\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? [],\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME\n  });\n  const handleButtonActivate = React.useCallback(\n    (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n    [setValue]\n  );\n  const handleButtonDeactivate = React.useCallback(\n    (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n    [setValue]\n  );\n  return /* @__PURE__ */ jsx(\n    ToggleGroupValueProvider,\n    {\n      scope: props.__scopeToggleGroup,\n      type: \"multiple\",\n      value,\n      onItemActivate: handleButtonActivate,\n      onItemDeactivate: handleButtonDeactivate,\n      children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n    }\n  );\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeToggleGroup,\n      disabled = false,\n      rovingFocus = true,\n      orientation,\n      dir,\n      loop = true,\n      ...toggleGroupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n    const direction = useDirection(dir);\n    const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n    return /* @__PURE__ */ jsx(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ jsx(\n      RovingFocusGroup.Root,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        orientation,\n        dir: direction,\n        loop,\n        children: /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef })\n      }\n    ) : /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n  }\n);\nvar ITEM_NAME = \"ToggleGroupItem\";\nvar ToggleGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n    const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n    const pressed = valueContext.value.includes(props.value);\n    const disabled = context.disabled || props.disabled;\n    const commonProps = { ...props, pressed, disabled };\n    const ref = React.useRef(null);\n    return context.rovingFocus ? /* @__PURE__ */ jsx(\n      RovingFocusGroup.Item,\n      {\n        asChild: true,\n        ...rovingFocusGroupScope,\n        focusable: !disabled,\n        active: pressed,\n        ref,\n        children: /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n      }\n    ) : /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n  }\n);\nToggleGroupItem.displayName = ITEM_NAME;\nvar ToggleGroupItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeToggleGroup, value, ...itemProps } = props;\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n    const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n    const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n    return /* @__PURE__ */ jsx(\n      Toggle,\n      {\n        ...typeProps,\n        ...itemProps,\n        ref: forwardedRef,\n        onPressedChange: (pressed) => {\n          if (pressed) {\n            valueContext.onItemActivate(value);\n          } else {\n            valueContext.onItemDeactivate(value);\n          }\n        }\n      }\n    );\n  }\n);\nvar Root2 = ToggleGroup;\nvar Item2 = ToggleGroupItem;\nexport {\n  Item2 as Item,\n  Root2 as Root,\n  ToggleGroup,\n  ToggleGroupItem,\n  createToggleGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Toggle\";\nvar Toggle = React.forwardRef((props, forwardedRef) => {\n  const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n  const [pressed, setPressed] = useControllableState({\n    prop: pressedProp,\n    onChange: onPressedChange,\n    defaultProp: defaultPressed ?? false,\n    caller: NAME\n  });\n  return /* @__PURE__ */ jsx(\n    Primitive.button,\n    {\n      type: \"button\",\n      \"aria-pressed\": pressed,\n      \"data-state\": pressed ? \"on\" : \"off\",\n      \"data-disabled\": props.disabled ? \"\" : void 0,\n      ...buttonProps,\n      ref: forwardedRef,\n      onClick: composeEventHandlers(props.onClick, () => {\n        if (!props.disabled) {\n          setPressed(!pressed);\n        }\n      })\n    }\n  );\n});\nToggle.displayName = NAME;\nvar Root = Toggle;\nexport {\n  Root,\n  Toggle\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n  const {\n    __scopeTooltip,\n    delayDuration = DEFAULT_DELAY_DURATION,\n    skipDelayDuration = 300,\n    disableHoverableContent = false,\n    children\n  } = props;\n  const isOpenDelayedRef = React.useRef(true);\n  const isPointerInTransitRef = React.useRef(false);\n  const skipDelayTimerRef = React.useRef(0);\n  React.useEffect(() => {\n    const skipDelayTimer = skipDelayTimerRef.current;\n    return () => window.clearTimeout(skipDelayTimer);\n  }, []);\n  return /* @__PURE__ */ jsx(\n    TooltipProviderContextProvider,\n    {\n      scope: __scopeTooltip,\n      isOpenDelayedRef,\n      delayDuration,\n      onOpen: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        isOpenDelayedRef.current = false;\n      }, []),\n      onClose: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        skipDelayTimerRef.current = window.setTimeout(\n          () => isOpenDelayedRef.current = true,\n          skipDelayDuration\n        );\n      }, [skipDelayDuration]),\n      isPointerInTransitRef,\n      onPointerInTransitChange: React.useCallback((inTransit) => {\n        isPointerInTransitRef.current = inTransit;\n      }, []),\n      disableHoverableContent,\n      children\n    }\n  );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n  const {\n    __scopeTooltip,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    disableHoverableContent: disableHoverableContentProp,\n    delayDuration: delayDurationProp\n  } = props;\n  const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n  const popperScope = usePopperScope(__scopeTooltip);\n  const [trigger, setTrigger] = React.useState(null);\n  const contentId = useId();\n  const openTimerRef = React.useRef(0);\n  const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n  const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n  const wasOpenDelayedRef = React.useRef(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: (open2) => {\n      if (open2) {\n        providerContext.onOpen();\n        document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n      } else {\n        providerContext.onClose();\n      }\n      onOpenChange?.(open2);\n    },\n    caller: TOOLTIP_NAME\n  });\n  const stateAttribute = React.useMemo(() => {\n    return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n  }, [open]);\n  const handleOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    wasOpenDelayedRef.current = false;\n    setOpen(true);\n  }, [setOpen]);\n  const handleClose = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    setOpen(false);\n  }, [setOpen]);\n  const handleDelayedOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = window.setTimeout(() => {\n      wasOpenDelayedRef.current = true;\n      setOpen(true);\n      openTimerRef.current = 0;\n    }, delayDuration);\n  }, [delayDuration, setOpen]);\n  React.useEffect(() => {\n    return () => {\n      if (openTimerRef.current) {\n        window.clearTimeout(openTimerRef.current);\n        openTimerRef.current = 0;\n      }\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    TooltipContextProvider,\n    {\n      scope: __scopeTooltip,\n      contentId,\n      open,\n      stateAttribute,\n      trigger,\n      onTriggerChange: setTrigger,\n      onTriggerEnter: React.useCallback(() => {\n        if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n        else handleOpen();\n      }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n      onTriggerLeave: React.useCallback(() => {\n        if (disableHoverableContent) {\n          handleClose();\n        } else {\n          window.clearTimeout(openTimerRef.current);\n          openTimerRef.current = 0;\n        }\n      }, [handleClose, disableHoverableContent]),\n      onOpen: handleOpen,\n      onClose: handleClose,\n      disableHoverableContent,\n      children\n    }\n  ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...triggerProps } = props;\n    const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n    const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n    const isPointerDownRef = React.useRef(false);\n    const hasPointerMoveOpenedRef = React.useRef(false);\n    const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n    React.useEffect(() => {\n      return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n    }, [handlePointerUp]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        \"aria-describedby\": context.open ? context.contentId : void 0,\n        \"data-state\": context.stateAttribute,\n        ...triggerProps,\n        ref: composedRefs,\n        onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n          if (event.pointerType === \"touch\") return;\n          if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n            context.onTriggerEnter();\n            hasPointerMoveOpenedRef.current = true;\n          }\n        }),\n        onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n          context.onTriggerLeave();\n          hasPointerMoveOpenedRef.current = false;\n        }),\n        onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n          if (context.open) {\n            context.onClose();\n          }\n          isPointerDownRef.current = true;\n          document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n        }),\n        onFocus: composeEventHandlers(props.onFocus, () => {\n          if (!isPointerDownRef.current) context.onOpen();\n        }),\n        onBlur: composeEventHandlers(props.onBlur, context.onClose),\n        onClick: composeEventHandlers(props.onClick, context.onClose)\n      }\n    ) });\n  }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n  const { __scopeTooltip, forceMount, children, container } = props;\n  const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n    const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n    const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n  }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n  const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n  const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n  const { trigger, onClose } = context;\n  const content = ref.current;\n  const { onPointerInTransitChange } = providerContext;\n  const handleRemoveGraceArea = React.useCallback(() => {\n    setPointerGraceArea(null);\n    onPointerInTransitChange(false);\n  }, [onPointerInTransitChange]);\n  const handleCreateGraceArea = React.useCallback(\n    (event, hoverTarget) => {\n      const currentTarget = event.currentTarget;\n      const exitPoint = { x: event.clientX, y: event.clientY };\n      const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n      const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n      const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n      const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n      setPointerGraceArea(graceArea);\n      onPointerInTransitChange(true);\n    },\n    [onPointerInTransitChange]\n  );\n  React.useEffect(() => {\n    return () => handleRemoveGraceArea();\n  }, [handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (trigger && content) {\n      const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n      const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n      trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n      content.addEventListener(\"pointerleave\", handleContentLeave);\n      return () => {\n        trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n        content.removeEventListener(\"pointerleave\", handleContentLeave);\n      };\n    }\n  }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (pointerGraceArea) {\n      const handleTrackPointerGrace = (event) => {\n        const target = event.target;\n        const pointerPosition = { x: event.clientX, y: event.clientY };\n        const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n        const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n        if (hasEnteredTarget) {\n          handleRemoveGraceArea();\n        } else if (isPointerOutsideGraceArea) {\n          handleRemoveGraceArea();\n          onClose();\n        }\n      };\n      document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n      return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n    }\n  }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n  return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTooltip,\n      children,\n      \"aria-label\": ariaLabel,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      ...contentProps\n    } = props;\n    const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const { onClose } = context;\n    React.useEffect(() => {\n      document.addEventListener(TOOLTIP_OPEN, onClose);\n      return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n    }, [onClose]);\n    React.useEffect(() => {\n      if (context.trigger) {\n        const handleScroll = (event) => {\n          const target = event.target;\n          if (target?.contains(context.trigger)) onClose();\n        };\n        window.addEventListener(\"scroll\", handleScroll, { capture: true });\n        return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n      }\n    }, [context.trigger, onClose]);\n    return /* @__PURE__ */ jsx(\n      DismissableLayer,\n      {\n        asChild: true,\n        disableOutsidePointerEvents: false,\n        onEscapeKeyDown,\n        onPointerDownOutside,\n        onFocusOutside: (event) => event.preventDefault(),\n        onDismiss: onClose,\n        children: /* @__PURE__ */ jsxs(\n          PopperPrimitive.Content,\n          {\n            \"data-state\": context.stateAttribute,\n            ...popperScope,\n            ...contentProps,\n            ref: forwardedRef,\n            style: {\n              ...contentProps.style,\n              // re-namespace exposed content custom properties\n              ...{\n                \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n                \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n                \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n              }\n            },\n            children: [\n              /* @__PURE__ */ jsx(Slottable, { children }),\n              /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n            ]\n          }\n        )\n      }\n    );\n  }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeTooltip);\n    const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n      ARROW_NAME,\n      __scopeTooltip\n    );\n    return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n  const top = Math.abs(rect.top - point.y);\n  const bottom = Math.abs(rect.bottom - point.y);\n  const right = Math.abs(rect.right - point.x);\n  const left = Math.abs(rect.left - point.x);\n  switch (Math.min(top, bottom, right, left)) {\n    case left:\n      return \"left\";\n    case right:\n      return \"right\";\n    case top:\n      return \"top\";\n    case bottom:\n      return \"bottom\";\n    default:\n      throw new Error(\"unreachable\");\n  }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n  const paddedExitPoints = [];\n  switch (exitSide) {\n    case \"top\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y + padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"bottom\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y - padding }\n      );\n      break;\n    case \"left\":\n      paddedExitPoints.push(\n        { x: exitPoint.x + padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"right\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x - padding, y: exitPoint.y + padding }\n      );\n      break;\n  }\n  return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n  const { top, right, bottom, left } = rect;\n  return [\n    { x: left, y: top },\n    { x: right, y: top },\n    { x: right, y: bottom },\n    { x: left, y: bottom }\n  ];\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction getHull(points) {\n  const newPoints = points.slice();\n  newPoints.sort((a, b) => {\n    if (a.x < b.x) return -1;\n    else if (a.x > b.x) return 1;\n    else if (a.y < b.y) return -1;\n    else if (a.y > b.y) return 1;\n    else return 0;\n  });\n  return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n  if (points.length <= 1) return points.slice();\n  const upperHull = [];\n  for (let i = 0; i < points.length; i++) {\n    const p = points[i];\n    while (upperHull.length >= 2) {\n      const q = upperHull[upperHull.length - 1];\n      const r = upperHull[upperHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n      else break;\n    }\n    upperHull.push(p);\n  }\n  upperHull.pop();\n  const lowerHull = [];\n  for (let i = points.length - 1; i >= 0; i--) {\n    const p = points[i];\n    while (lowerHull.length >= 2) {\n      const q = lowerHull[lowerHull.length - 1];\n      const r = lowerHull[lowerHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n      else break;\n    }\n    lowerHull.push(p);\n  }\n  lowerHull.pop();\n  if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n    return upperHull;\n  } else {\n    return upperHull.concat(lowerHull);\n  }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Portal,\n  Provider,\n  Root3 as Root,\n  Tooltip,\n  TooltipArrow,\n  TooltipContent,\n  TooltipPortal,\n  TooltipProvider,\n  TooltipTrigger,\n  Trigger,\n  createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nfunction getOwnerWindow(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access window outside of the DOM\");\n  }\n  return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n  if (!canUseDOM) {\n    throw new Error(\"Cannot access document outside of the DOM\");\n  }\n  return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getOwnerDocument(node);\n  if (!activeElement?.nodeName) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getOwnerDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nexport {\n  canUseDOM,\n  composeEventHandlers,\n  getActiveElement,\n  getOwnerDocument,\n  getOwnerWindow,\n  isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n  prop,\n  defaultProp,\n  onChange = () => {\n  },\n  caller\n}) {\n  const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n    defaultProp,\n    onChange\n  });\n  const isControlled = prop !== void 0;\n  const value = isControlled ? prop : uncontrolledProp;\n  if (true) {\n    const isControlledRef = React.useRef(prop !== void 0);\n    React.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const setValue = React.useCallback(\n    (nextValue) => {\n      if (isControlled) {\n        const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n        if (value2 !== prop) {\n          onChangeRef.current?.(value2);\n        }\n      } else {\n        setUncontrolledProp(nextValue);\n      }\n    },\n    [isControlled, prop, setUncontrolledProp, onChangeRef]\n  );\n  return [value, setValue];\n}\nfunction useUncontrolledState({\n  defaultProp,\n  onChange\n}) {\n  const [value, setValue] = React.useState(defaultProp);\n  const prevValueRef = React.useRef(value);\n  const onChangeRef = React.useRef(onChange);\n  useInsertionEffect(() => {\n    onChangeRef.current = onChange;\n  }, [onChange]);\n  React.useEffect(() => {\n    if (prevValueRef.current !== value) {\n      onChangeRef.current?.(value);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef]);\n  return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n  const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n  const isControlled = controlledState !== void 0;\n  const onChange = useEffectEvent(onChangeProp);\n  if (true) {\n    const isControlledRef = React2.useRef(controlledState !== void 0);\n    React2.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const args = [{ ...initialArg, state: defaultProp }];\n  if (init) {\n    args.push(init);\n  }\n  const [internalState, dispatch] = React2.useReducer(\n    (state2, action) => {\n      if (action.type === SYNC_STATE) {\n        return { ...state2, state: action.state };\n      }\n      const next = reducer(state2, action);\n      if (isControlled && !Object.is(next.state, state2.state)) {\n        onChange(next.state);\n      }\n      return next;\n    },\n    ...args\n  );\n  const uncontrolledState = internalState.state;\n  const prevValueRef = React2.useRef(uncontrolledState);\n  React2.useEffect(() => {\n    if (prevValueRef.current !== uncontrolledState) {\n      prevValueRef.current = uncontrolledState;\n      if (!isControlled) {\n        onChange(uncontrolledState);\n      }\n    }\n  }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n  const state = React2.useMemo(() => {\n    const isControlled2 = controlledState !== void 0;\n    if (isControlled2) {\n      return { ...internalState, state: controlledState };\n    }\n    return internalState;\n  }, [internalState, controlledState]);\n  React2.useEffect(() => {\n    if (isControlled && !Object.is(controlledState, internalState.state)) {\n      dispatch({ type: SYNC_STATE, state: controlledState });\n    }\n  }, [controlledState, internalState.state, isControlled]);\n  return [state, dispatch];\n}\nexport {\n  useControllableState,\n  useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n  const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n  React.useEffect(() => {\n    const handleKeyDown = (event) => {\n      if (event.key === \"Escape\") {\n        onEscapeKeyDown(event);\n      }\n    };\n    ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n  }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n  useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n  const ref = React.useRef({ value, previous: value });\n  return React.useMemo(() => {\n    if (ref.current.value !== value) {\n      ref.current.previous = ref.current.value;\n      ref.current.value = value;\n    }\n    return ref.current.previous;\n  }, [value]);\n}\nexport {\n  usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n  const [size, setSize] = React.useState(void 0);\n  useLayoutEffect(() => {\n    if (element) {\n      setSize({ width: element.offsetWidth, height: element.offsetHeight });\n      const resizeObserver = new ResizeObserver((entries) => {\n        if (!Array.isArray(entries)) {\n          return;\n        }\n        if (!entries.length) {\n          return;\n        }\n        const entry = entries[0];\n        let width;\n        let height;\n        if (\"borderBoxSize\" in entry) {\n          const borderSizeEntry = entry[\"borderBoxSize\"];\n          const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize[\"inlineSize\"];\n          height = borderSize[\"blockSize\"];\n        } else {\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n        setSize({ width, height });\n      });\n      resizeObserver.observe(element, { box: \"border-box\" });\n      return () => resizeObserver.unobserve(element);\n    } else {\n      setSize(void 0);\n    }\n  }, [element]);\n  return size;\n}\nexport {\n  useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n  // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n  position: \"absolute\",\n  border: 0,\n  width: 1,\n  height: 1,\n  padding: 0,\n  margin: -1,\n  overflow: \"hidden\",\n  clip: \"rect(0, 0, 0, 0)\",\n  whiteSpace: \"nowrap\",\n  wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...props,\n        ref: forwardedRef,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n      }\n    );\n  }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n  Root,\n  VISUALLY_HIDDEN_STYLES,\n  VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n  return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n  defaultOptions = newOptions;\n}\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n  const _date = toDate(date);\n  const utcDate = new Date(\n    Date.UTC(\n      _date.getFullYear(),\n      _date.getMonth(),\n      _date.getDate(),\n      _date.getHours(),\n      _date.getMinutes(),\n      _date.getSeconds(),\n      _date.getMilliseconds(),\n    ),\n  );\n  utcDate.setUTCFullYear(_date.getFullYear());\n  return +date - +utcDate;\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n *   return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date(date: DateType): DateType {\n *   return constructFrom(\n *     date, // Use contrustor from the given date\n *     date.getTime() // Use the date value to create a new date\n *   )\n * }\n */\nexport function constructFrom(date, value) {\n  if (date instanceof Date) {\n    return new date.constructor(value);\n  } else {\n    return new Date(value);\n  }\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n *   date: DateType | number | string,\n * ): boolean {\n *   // If we were to use `new Date()` directly, the function would  behave\n *   // differently in different timezones and return false for the same date.\n *   return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n  return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n *   new Date(2012, 6, 2, 0, 0),\n *   new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n *   new Date(2011, 6, 3, 0, 1),\n *   new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n  const startOfDayLeft = startOfDay(dateLeft);\n  const startOfDayRight = startOfDay(dateRight);\n\n  const timestampLeft =\n    +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n  const timestampRight =\n    +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n  // Round the number of days to the nearest integer because the number of\n  // milliseconds in a day is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n  const _date = toDate(date);\n  const diff = differenceInCalendarDays(_date, startOfYear(_date));\n  const dayOfYear = diff + 1;\n  return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n  const cleanDate = toDate(date);\n  const _date = constructFrom(date, 0);\n  _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n  return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n  fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n  fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n  const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n  fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n  fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n  const _date = toDate(date);\n  const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n  const year = getISOWeekYear(date);\n  const fourthOfJanuary = constructFrom(date, 0);\n  fourthOfJanuary.setFullYear(year, 0, 4);\n  fourthOfJanuary.setHours(0, 0, 0, 0);\n  return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n  const _date = toDate(date);\n  const year = _date.getFullYear();\n\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const firstWeekOfNextYear = constructFrom(date, 0);\n  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n  firstWeekOfNextYear.setHours(0, 0, 0, 0);\n  const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n  const firstWeekOfThisYear = constructFrom(date, 0);\n  firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeekOfThisYear.setHours(0, 0, 0, 0);\n  const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n  if (_date.getTime() >= startOfNextYear.getTime()) {\n    return year + 1;\n  } else if (_date.getTime() >= startOfThisYear.getTime()) {\n    return year;\n  } else {\n    return year - 1;\n  }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n  const _date = toDate(date);\n  const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n  // Round the number of weeks to the nearest integer because the number of\n  // milliseconds in a week is not constant (e.g. it's different in the week of\n  // the daylight saving time clock shift).\n  return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n *   weekStartsOn: 1,\n *   firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const year = getWeekYear(date, options);\n  const firstWeek = constructFrom(date, 0);\n  firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n  firstWeek.setHours(0, 0, 0, 0);\n  const _date = startOfWeek(firstWeek, options);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","export function addLeadingZeros(number, targetLength) {\n  const sign = number < 0 ? \"-\" : \"\";\n  const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n  return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* |                                |\n * |  d  | Day of month                   |  D  |                                |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  m  | Minute                         |  M  | Month                          |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  y  | Year (abs)                     |  Y  |                                |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n  // Year\n  y(date, token) {\n    // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n    // | Year     |     y | yy |   yyy |  yyyy | yyyyy |\n    // |----------|-------|----|-------|-------|-------|\n    // | AD 1     |     1 | 01 |   001 |  0001 | 00001 |\n    // | AD 12    |    12 | 12 |   012 |  0012 | 00012 |\n    // | AD 123   |   123 | 23 |   123 |  0123 | 00123 |\n    // | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |\n    // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n    const signedYear = date.getFullYear();\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const year = signedYear > 0 ? signedYear : 1 - signedYear;\n    return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n  },\n\n  // Month\n  M(date, token) {\n    const month = date.getMonth();\n    return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n  },\n\n  // Day of the month\n  d(date, token) {\n    return addLeadingZeros(date.getDate(), token.length);\n  },\n\n  // AM or PM\n  a(date, token) {\n    const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return dayPeriodEnumValue.toUpperCase();\n      case \"aaa\":\n        return dayPeriodEnumValue;\n      case \"aaaaa\":\n        return dayPeriodEnumValue[0];\n      case \"aaaa\":\n      default:\n        return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n    }\n  },\n\n  // Hour [1-12]\n  h(date, token) {\n    return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n  },\n\n  // Hour [0-23]\n  H(date, token) {\n    return addLeadingZeros(date.getHours(), token.length);\n  },\n\n  // Minute\n  m(date, token) {\n    return addLeadingZeros(date.getMinutes(), token.length);\n  },\n\n  // Second\n  s(date, token) {\n    return addLeadingZeros(date.getSeconds(), token.length);\n  },\n\n  // Fraction of second\n  S(date, token) {\n    const numberOfDigits = token.length;\n    const milliseconds = date.getMilliseconds();\n    const fractionalSeconds = Math.trunc(\n      milliseconds * Math.pow(10, numberOfDigits - 3),\n    );\n    return addLeadingZeros(fractionalSeconds, token.length);\n  },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n  am: \"am\",\n  pm: \"pm\",\n  midnight: \"midnight\",\n  noon: \"noon\",\n  morning: \"morning\",\n  afternoon: \"afternoon\",\n  evening: \"evening\",\n  night: \"night\",\n};\n\n/*\n * |     | Unit                           |     | Unit                           |\n * |-----|--------------------------------|-----|--------------------------------|\n * |  a  | AM, PM                         |  A* | Milliseconds in day            |\n * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |\n * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |\n * |  d  | Day of month                   |  D  | Day of year                    |\n * |  e  | Local day of week              |  E  | Day of week                    |\n * |  f  |                                |  F* | Day of week in month           |\n * |  g* | Modified Julian day            |  G  | Era                            |\n * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |\n * |  i! | ISO day of week                |  I! | ISO week of year               |\n * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |\n * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |\n * |  l* | (deprecated)                   |  L  | Stand-alone month              |\n * |  m  | Minute                         |  M  | Month                          |\n * |  n  |                                |  N  |                                |\n * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |\n * |  p! | Long localized time            |  P! | Long localized date            |\n * |  q  | Stand-alone quarter            |  Q  | Quarter                        |\n * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |\n * |  s  | Second                         |  S  | Fraction of second             |\n * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |\n * |  u  | Extended year                  |  U* | Cyclic year                    |\n * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |\n * |  w  | Local week of year             |  W* | Week of month                  |\n * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |\n * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |\n * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n *   i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n *   `R` is supposed to be used in conjunction with `I` and `i`\n *   for universal ISO week-numbering date, whereas\n *   `Y` is supposed to be used in conjunction with `w` and `e`\n *   for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n  // Era\n  G: function (date, token, localize) {\n    const era = date.getFullYear() > 0 ? 1 : 0;\n    switch (token) {\n      // AD, BC\n      case \"G\":\n      case \"GG\":\n      case \"GGG\":\n        return localize.era(era, { width: \"abbreviated\" });\n      // A, B\n      case \"GGGGG\":\n        return localize.era(era, { width: \"narrow\" });\n      // Anno Domini, Before Christ\n      case \"GGGG\":\n      default:\n        return localize.era(era, { width: \"wide\" });\n    }\n  },\n\n  // Year\n  y: function (date, token, localize) {\n    // Ordinal number\n    if (token === \"yo\") {\n      const signedYear = date.getFullYear();\n      // Returns 1 for 1 BC (which is year 0 in JavaScript)\n      const year = signedYear > 0 ? signedYear : 1 - signedYear;\n      return localize.ordinalNumber(year, { unit: \"year\" });\n    }\n\n    return lightFormatters.y(date, token);\n  },\n\n  // Local week-numbering year\n  Y: function (date, token, localize, options) {\n    const signedWeekYear = getWeekYear(date, options);\n    // Returns 1 for 1 BC (which is year 0 in JavaScript)\n    const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n    // Two digit year\n    if (token === \"YY\") {\n      const twoDigitYear = weekYear % 100;\n      return addLeadingZeros(twoDigitYear, 2);\n    }\n\n    // Ordinal number\n    if (token === \"Yo\") {\n      return localize.ordinalNumber(weekYear, { unit: \"year\" });\n    }\n\n    // Padding\n    return addLeadingZeros(weekYear, token.length);\n  },\n\n  // ISO week-numbering year\n  R: function (date, token) {\n    const isoWeekYear = getISOWeekYear(date);\n\n    // Padding\n    return addLeadingZeros(isoWeekYear, token.length);\n  },\n\n  // Extended year. This is a single number designating the year of this calendar system.\n  // The main difference between `y` and `u` localizers are B.C. years:\n  // | Year | `y` | `u` |\n  // |------|-----|-----|\n  // | AC 1 |   1 |   1 |\n  // | BC 1 |   1 |   0 |\n  // | BC 2 |   2 |  -1 |\n  // Also `yy` always returns the last two digits of a year,\n  // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n  u: function (date, token) {\n    const year = date.getFullYear();\n    return addLeadingZeros(year, token.length);\n  },\n\n  // Quarter\n  Q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"Q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"QQ\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"Qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"QQQ\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"QQQQQ\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"QQQQ\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone quarter\n  q: function (date, token, localize) {\n    const quarter = Math.ceil((date.getMonth() + 1) / 3);\n    switch (token) {\n      // 1, 2, 3, 4\n      case \"q\":\n        return String(quarter);\n      // 01, 02, 03, 04\n      case \"qq\":\n        return addLeadingZeros(quarter, 2);\n      // 1st, 2nd, 3rd, 4th\n      case \"qo\":\n        return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n      // Q1, Q2, Q3, Q4\n      case \"qqq\":\n        return localize.quarter(quarter, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n      case \"qqqqq\":\n        return localize.quarter(quarter, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // 1st quarter, 2nd quarter, ...\n      case \"qqqq\":\n      default:\n        return localize.quarter(quarter, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // Month\n  M: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      case \"M\":\n      case \"MM\":\n        return lightFormatters.M(date, token);\n      // 1st, 2nd, ..., 12th\n      case \"Mo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"MMM\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // J, F, ..., D\n      case \"MMMMM\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // January, February, ..., December\n      case \"MMMM\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"formatting\" });\n    }\n  },\n\n  // Stand-alone month\n  L: function (date, token, localize) {\n    const month = date.getMonth();\n    switch (token) {\n      // 1, 2, ..., 12\n      case \"L\":\n        return String(month + 1);\n      // 01, 02, ..., 12\n      case \"LL\":\n        return addLeadingZeros(month + 1, 2);\n      // 1st, 2nd, ..., 12th\n      case \"Lo\":\n        return localize.ordinalNumber(month + 1, { unit: \"month\" });\n      // Jan, Feb, ..., Dec\n      case \"LLL\":\n        return localize.month(month, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // J, F, ..., D\n      case \"LLLLL\":\n        return localize.month(month, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // January, February, ..., December\n      case \"LLLL\":\n      default:\n        return localize.month(month, { width: \"wide\", context: \"standalone\" });\n    }\n  },\n\n  // Local week of year\n  w: function (date, token, localize, options) {\n    const week = getWeek(date, options);\n\n    if (token === \"wo\") {\n      return localize.ordinalNumber(week, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(week, token.length);\n  },\n\n  // ISO week of year\n  I: function (date, token, localize) {\n    const isoWeek = getISOWeek(date);\n\n    if (token === \"Io\") {\n      return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n    }\n\n    return addLeadingZeros(isoWeek, token.length);\n  },\n\n  // Day of the month\n  d: function (date, token, localize) {\n    if (token === \"do\") {\n      return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n    }\n\n    return lightFormatters.d(date, token);\n  },\n\n  // Day of year\n  D: function (date, token, localize) {\n    const dayOfYear = getDayOfYear(date);\n\n    if (token === \"Do\") {\n      return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n    }\n\n    return addLeadingZeros(dayOfYear, token.length);\n  },\n\n  // Day of week\n  E: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    switch (token) {\n      // Tue\n      case \"E\":\n      case \"EE\":\n      case \"EEE\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"EEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"EEEEEE\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"EEEE\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Local day of week\n  e: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (Nth day of week with current locale or weekStartsOn)\n      case \"e\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"ee\":\n        return addLeadingZeros(localDayOfWeek, 2);\n      // 1st, 2nd, ..., 7th\n      case \"eo\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"eee\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"eeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"eeeeee\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"eeee\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Stand-alone local day of week\n  c: function (date, token, localize, options) {\n    const dayOfWeek = date.getDay();\n    const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n    switch (token) {\n      // Numerical value (same as in `e`)\n      case \"c\":\n        return String(localDayOfWeek);\n      // Padded numerical value\n      case \"cc\":\n        return addLeadingZeros(localDayOfWeek, token.length);\n      // 1st, 2nd, ..., 7th\n      case \"co\":\n        return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n      case \"ccc\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"standalone\",\n        });\n      // T\n      case \"ccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"standalone\",\n        });\n      // Tu\n      case \"cccccc\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"standalone\",\n        });\n      // Tuesday\n      case \"cccc\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"standalone\",\n        });\n    }\n  },\n\n  // ISO day of week\n  i: function (date, token, localize) {\n    const dayOfWeek = date.getDay();\n    const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n    switch (token) {\n      // 2\n      case \"i\":\n        return String(isoDayOfWeek);\n      // 02\n      case \"ii\":\n        return addLeadingZeros(isoDayOfWeek, token.length);\n      // 2nd\n      case \"io\":\n        return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n      // Tue\n      case \"iii\":\n        return localize.day(dayOfWeek, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      // T\n      case \"iiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      // Tu\n      case \"iiiiii\":\n        return localize.day(dayOfWeek, {\n          width: \"short\",\n          context: \"formatting\",\n        });\n      // Tuesday\n      case \"iiii\":\n      default:\n        return localize.day(dayOfWeek, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM or PM\n  a: function (date, token, localize) {\n    const hours = date.getHours();\n    const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n    switch (token) {\n      case \"a\":\n      case \"aa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"aaa\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"aaaaa\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"aaaa\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // AM, PM, midnight, noon\n  b: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours === 12) {\n      dayPeriodEnumValue = dayPeriodEnum.noon;\n    } else if (hours === 0) {\n      dayPeriodEnumValue = dayPeriodEnum.midnight;\n    } else {\n      dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n    }\n\n    switch (token) {\n      case \"b\":\n      case \"bb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"bbb\":\n        return localize\n          .dayPeriod(dayPeriodEnumValue, {\n            width: \"abbreviated\",\n            context: \"formatting\",\n          })\n          .toLowerCase();\n      case \"bbbbb\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"bbbb\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // in the morning, in the afternoon, in the evening, at night\n  B: function (date, token, localize) {\n    const hours = date.getHours();\n    let dayPeriodEnumValue;\n    if (hours >= 17) {\n      dayPeriodEnumValue = dayPeriodEnum.evening;\n    } else if (hours >= 12) {\n      dayPeriodEnumValue = dayPeriodEnum.afternoon;\n    } else if (hours >= 4) {\n      dayPeriodEnumValue = dayPeriodEnum.morning;\n    } else {\n      dayPeriodEnumValue = dayPeriodEnum.night;\n    }\n\n    switch (token) {\n      case \"B\":\n      case \"BB\":\n      case \"BBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"abbreviated\",\n          context: \"formatting\",\n        });\n      case \"BBBBB\":\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"narrow\",\n          context: \"formatting\",\n        });\n      case \"BBBB\":\n      default:\n        return localize.dayPeriod(dayPeriodEnumValue, {\n          width: \"wide\",\n          context: \"formatting\",\n        });\n    }\n  },\n\n  // Hour [1-12]\n  h: function (date, token, localize) {\n    if (token === \"ho\") {\n      let hours = date.getHours() % 12;\n      if (hours === 0) hours = 12;\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return lightFormatters.h(date, token);\n  },\n\n  // Hour [0-23]\n  H: function (date, token, localize) {\n    if (token === \"Ho\") {\n      return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n    }\n\n    return lightFormatters.H(date, token);\n  },\n\n  // Hour [0-11]\n  K: function (date, token, localize) {\n    const hours = date.getHours() % 12;\n\n    if (token === \"Ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Hour [1-24]\n  k: function (date, token, localize) {\n    let hours = date.getHours();\n    if (hours === 0) hours = 24;\n\n    if (token === \"ko\") {\n      return localize.ordinalNumber(hours, { unit: \"hour\" });\n    }\n\n    return addLeadingZeros(hours, token.length);\n  },\n\n  // Minute\n  m: function (date, token, localize) {\n    if (token === \"mo\") {\n      return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n    }\n\n    return lightFormatters.m(date, token);\n  },\n\n  // Second\n  s: function (date, token, localize) {\n    if (token === \"so\") {\n      return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n    }\n\n    return lightFormatters.s(date, token);\n  },\n\n  // Fraction of second\n  S: function (date, token) {\n    return lightFormatters.S(date, token);\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n  X: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    if (timezoneOffset === 0) {\n      return \"Z\";\n    }\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"X\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XX`\n      case \"XXXX\":\n      case \"XX\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `XXX`\n      case \"XXXXX\":\n      case \"XXX\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n  x: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Hours and optional minutes\n      case \"x\":\n        return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n      // Hours, minutes and optional seconds without `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xx`\n      case \"xxxx\":\n      case \"xx\": // Hours and minutes without `:` delimiter\n        return formatTimezone(timezoneOffset);\n\n      // Hours, minutes and optional seconds with `:` delimiter\n      // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n      // so this token always has the same output as `xxx`\n      case \"xxxxx\":\n      case \"xxx\": // Hours and minutes with `:` delimiter\n      default:\n        return formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (GMT)\n  O: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"O\":\n      case \"OO\":\n      case \"OOO\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"OOOO\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Timezone (specific non-location)\n  z: function (date, token, _localize) {\n    const timezoneOffset = date.getTimezoneOffset();\n\n    switch (token) {\n      // Short\n      case \"z\":\n      case \"zz\":\n      case \"zzz\":\n        return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n      // Long\n      case \"zzzz\":\n      default:\n        return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n    }\n  },\n\n  // Seconds timestamp\n  t: function (date, token, _localize) {\n    const timestamp = Math.trunc(date.getTime() / 1000);\n    return addLeadingZeros(timestamp, token.length);\n  },\n\n  // Milliseconds timestamp\n  T: function (date, token, _localize) {\n    const timestamp = date.getTime();\n    return addLeadingZeros(timestamp, token.length);\n  },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = Math.trunc(absOffset / 60);\n  const minutes = absOffset % 60;\n  if (minutes === 0) {\n    return sign + String(hours);\n  }\n  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n  if (offset % 60 === 0) {\n    const sign = offset > 0 ? \"-\" : \"+\";\n    return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n  }\n  return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n  const sign = offset > 0 ? \"-\" : \"+\";\n  const absOffset = Math.abs(offset);\n  const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n  const minutes = addLeadingZeros(absOffset % 60, 2);\n  return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"P\":\n      return formatLong.date({ width: \"short\" });\n    case \"PP\":\n      return formatLong.date({ width: \"medium\" });\n    case \"PPP\":\n      return formatLong.date({ width: \"long\" });\n    case \"PPPP\":\n    default:\n      return formatLong.date({ width: \"full\" });\n  }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n  switch (pattern) {\n    case \"p\":\n      return formatLong.time({ width: \"short\" });\n    case \"pp\":\n      return formatLong.time({ width: \"medium\" });\n    case \"ppp\":\n      return formatLong.time({ width: \"long\" });\n    case \"pppp\":\n    default:\n      return formatLong.time({ width: \"full\" });\n  }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n  const matchResult = pattern.match(/(P+)(p+)?/) || [];\n  const datePattern = matchResult[1];\n  const timePattern = matchResult[2];\n\n  if (!timePattern) {\n    return dateLongFormatter(pattern, formatLong);\n  }\n\n  let dateTimeFormat;\n\n  switch (datePattern) {\n    case \"P\":\n      dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n      break;\n    case \"PP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n      break;\n    case \"PPP\":\n      dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n      break;\n    case \"PPPP\":\n    default:\n      dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n      break;\n  }\n\n  return dateTimeFormat\n    .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n    .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n  p: timeLongFormatter,\n  P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n  return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n  return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n  const _message = message(token, format, input);\n  console.warn(_message);\n  if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n  const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n  return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n  if (!isDate(date) && typeof date !== \"number\") {\n    return false;\n  }\n  const _date = toDate(date);\n  return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n  return (\n    value instanceof Date ||\n    (typeof value === \"object\" &&\n      Object.prototype.toString.call(value) === \"[object Date]\")\n  );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n  isProtectedDayOfYearToken,\n  isProtectedWeekYearToken,\n  warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n//   (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n//   except a single quote symbol, which ends the sequence.\n//   Two quote characters do not end the sequence.\n//   If there is no matching single quote\n//   then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n  /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit                            | Pattern | Result examples                   | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era                             | G..GGG  | AD, BC                            |       |\n * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |\n * |                                 | GGGGG   | A, B                              |       |\n * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |\n * |                                 | yy      | 44, 01, 00, 17                    | 5     |\n * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |\n * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |\n * |                                 | yyyyy   | ...                               | 3,5   |\n * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |\n * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |\n * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |\n * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |\n * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |\n * |                                 | YYYYY   | ...                               | 3,5   |\n * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |\n * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |\n * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |\n * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |\n * |                                 | RRRRR   | ...                               | 3,5,7 |\n * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |\n * |                                 | uu      | -43, 01, 1900, 2017               | 5     |\n * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |\n * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |\n * |                                 | uuuuu   | ...                               | 3,5   |\n * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |\n * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | QQ      | 01, 02, 03, 04                    |       |\n * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |\n * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |\n * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |\n * |                                 | qq      | 01, 02, 03, 04                    |       |\n * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |\n * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |\n * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |\n * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |\n * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | MM      | 01, 02, ..., 12                   |       |\n * |                                 | MMM     | Jan, Feb, ..., Dec                |       |\n * |                                 | MMMM    | January, February, ..., December  | 2     |\n * |                                 | MMMMM   | J, F, ..., D                      |       |\n * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |\n * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |\n * |                                 | LL      | 01, 02, ..., 12                   |       |\n * |                                 | LLL     | Jan, Feb, ..., Dec                |       |\n * |                                 | LLLL    | January, February, ..., December  | 2     |\n * |                                 | LLLLL   | J, F, ..., D                      |       |\n * | Local week of year              | w       | 1, 2, ..., 53                     |       |\n * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | ww      | 01, 02, ..., 53                   |       |\n * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |\n * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |\n * |                                 | II      | 01, 02, ..., 53                   | 7     |\n * | Day of month                    | d       | 1, 2, ..., 31                     |       |\n * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |\n * |                                 | dd      | 01, 02, ..., 31                   |       |\n * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |\n * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |\n * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |\n * |                                 | DDD     | 001, 002, ..., 365, 366           |       |\n * |                                 | DDDD    | ...                               | 3     |\n * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |\n * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |\n * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |\n * |                                 | ii      | 01, 02, ..., 07                   | 7     |\n * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |\n * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |\n * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |\n * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |\n * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |\n * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | ee      | 02, 03, ..., 01                   |       |\n * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | eeeee   | M, T, W, T, F, S, S               |       |\n * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |\n * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |\n * |                                 | cc      | 02, 03, ..., 01                   |       |\n * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |\n * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |\n * |                                 | ccccc   | M, T, W, T, F, S, S               |       |\n * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |\n * | AM, PM                          | a..aa   | AM, PM                            |       |\n * |                                 | aaa     | am, pm                            |       |\n * |                                 | aaaa    | a.m., p.m.                        | 2     |\n * |                                 | aaaaa   | a, p                              |       |\n * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |\n * |                                 | bbb     | am, pm, noon, midnight            |       |\n * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |\n * |                                 | bbbbb   | a, p, n, mi                       |       |\n * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |\n * |                                 | BBBB    | at night, in the morning, ...     | 2     |\n * |                                 | BBBBB   | at night, in the morning, ...     |       |\n * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |\n * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |\n * |                                 | hh      | 01, 02, ..., 11, 12               |       |\n * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |\n * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |\n * |                                 | HH      | 00, 01, 02, ..., 23               |       |\n * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |\n * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |\n * |                                 | KK      | 01, 02, ..., 11, 00               |       |\n * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |\n * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |\n * |                                 | kk      | 24, 01, 02, ..., 23               |       |\n * | Minute                          | m       | 0, 1, ..., 59                     |       |\n * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | mm      | 00, 01, ..., 59                   |       |\n * | Second                          | s       | 0, 1, ..., 59                     |       |\n * |                                 | so      | 0th, 1st, ..., 59th               | 7     |\n * |                                 | ss      | 00, 01, ..., 59                   |       |\n * | Fraction of second              | S       | 0, 1, ..., 9                      |       |\n * |                                 | SS      | 00, 01, ..., 99                   |       |\n * |                                 | SSS     | 000, 001, ..., 999                |       |\n * |                                 | SSSS    | ...                               | 3     |\n * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |\n * |                                 | XX      | -0800, +0530, Z                   |       |\n * |                                 | XXX     | -08:00, +05:30, Z                 |       |\n * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |\n * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |\n * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |\n * |                                 | xx      | -0800, +0530, +0000               |       |\n * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |\n * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |\n * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |\n * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |\n * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |\n * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |\n * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |\n * | Seconds timestamp               | t       | 512969520                         | 7     |\n * |                                 | tt      | ...                               | 3,7   |\n * | Milliseconds timestamp          | T       | 512969520900                      | 7     |\n * |                                 | TT      | ...                               | 3,7   |\n * | Long localized date             | P       | 04/29/1453                        | 7     |\n * |                                 | PP      | Apr 29, 1453                      | 7     |\n * |                                 | PPP     | April 29th, 1453                  | 7     |\n * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |\n * | Long localized time             | p       | 12:00 AM                          | 7     |\n * |                                 | pp      | 12:00:00 AM                       | 7     |\n * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |\n * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |\n * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |\n * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |\n * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |\n * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n *    are the same as \"stand-alone\" units, but are different in some languages.\n *    \"Formatting\" units are declined according to the rules of the language\n *    in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n *    the single quote characters (see below).\n *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n *    the output will be the same as default pattern for this unit, usually\n *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n *    are marked with \"2\" in the last column of the table.\n *\n *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n *    The output will be padded with zeros to match the length of the pattern.\n *\n *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n *    These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n *    | Year | `y` | `u` |\n *    |------|-----|-----|\n *    | AC 1 |   1 |   1 |\n *    | BC 1 |   1 |   0 |\n *    | BC 2 |   2 |  -1 |\n *\n *    Also `yy` always returns the last two digits of a year,\n *    while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n *    | Year | `yy` | `uu` |\n *    |------|------|------|\n *    | 1    |   01 |   01 |\n *    | 14   |   14 |   14 |\n *    | 376  |   76 |  376 |\n *    | 1453 |   53 | 1453 |\n *\n *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n *    except local week-numbering years are dependent on `options.weekStartsOn`\n *    and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n *    and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n *    so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n *    - `i`: ISO day of week\n *    - `I`: ISO week of year\n *    - `R`: ISO week-numbering year\n *    - `t`: seconds timestamp\n *    - `T`: milliseconds timestamp\n *    - `o`: ordinal number modifier\n *    - `P`: long localized date\n *    - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n *   locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n  const firstWeekContainsDate =\n    options?.firstWeekContainsDate ??\n    options?.locale?.options?.firstWeekContainsDate ??\n    defaultOptions.firstWeekContainsDate ??\n    defaultOptions.locale?.options?.firstWeekContainsDate ??\n    1;\n\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const originalDate = toDate(date);\n\n  if (!isValid(originalDate)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  let parts = formatStr\n    .match(longFormattingTokensRegExp)\n    .map((substring) => {\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n        const longFormatter = longFormatters[firstCharacter];\n        return longFormatter(substring, locale.formatLong);\n      }\n      return substring;\n    })\n    .join(\"\")\n    .match(formattingTokensRegExp)\n    .map((substring) => {\n      // Replace two single quote characters with one single quote character\n      if (substring === \"''\") {\n        return { isToken: false, value: \"'\" };\n      }\n\n      const firstCharacter = substring[0];\n      if (firstCharacter === \"'\") {\n        return { isToken: false, value: cleanEscapedString(substring) };\n      }\n\n      if (formatters[firstCharacter]) {\n        return { isToken: true, value: substring };\n      }\n\n      if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n        throw new RangeError(\n          \"Format string contains an unescaped latin alphabet character `\" +\n            firstCharacter +\n            \"`\",\n        );\n      }\n\n      return { isToken: false, value: substring };\n    });\n\n  // invoke localize preprocessor (only for french locales at the moment)\n  if (locale.localize.preprocessor) {\n    parts = locale.localize.preprocessor(originalDate, parts);\n  }\n\n  const formatterOptions = {\n    firstWeekContainsDate,\n    weekStartsOn,\n    locale,\n  };\n\n  return parts\n    .map((part) => {\n      if (!part.isToken) return part.value;\n\n      const token = part.value;\n\n      if (\n        (!options?.useAdditionalWeekYearTokens &&\n          isProtectedWeekYearToken(token)) ||\n        (!options?.useAdditionalDayOfYearTokens &&\n          isProtectedDayOfYearToken(token))\n      ) {\n        warnOrThrowProtectedError(token, formatStr, String(date));\n      }\n\n      const formatter = formatters[token[0]];\n      return formatter(originalDate, token, locale.localize, formatterOptions);\n    })\n    .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n  const matched = input.match(escapedStringRegExp);\n\n  if (!matched) {\n    return input;\n  }\n\n  return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n *   new Date(1995, 6, 2),\n *   new Date(1987, 1, 11),\n *   new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * //   Wed Feb 11 1987 00:00:00,\n * //   Mon Jul 10 1989 00:00:00,\n * //   Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n  if (diff < 0) {\n    return -1;\n  } else if (diff > 0) {\n    return 1;\n    // Return 0 if diff is 0; return NaN if diff is NaN\n  } else {\n    return diff;\n  }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n  const _date = toDate(date);\n  return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n  const _date = toDate(date);\n  const month = _date.getMonth();\n  _date.setFullYear(_date.getFullYear(), month + 1, 0);\n  _date.setHours(23, 59, 59, 999);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const sign = compareAsc(_dateLeft, _dateRight);\n  const difference = Math.abs(\n    differenceInCalendarMonths(_dateLeft, _dateRight),\n  );\n  let result;\n\n  // Check for the difference of less than month\n  if (difference < 1) {\n    result = 0;\n  } else {\n    if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n      // This will check if the date is end of Feb and assign a higher end of month date\n      // to compare it with Jan\n      _dateLeft.setDate(30);\n    }\n\n    _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n    // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n    // If so, result must be decreased by 1 in absolute value\n    let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n    // Check for cases of one full calendar month\n    if (\n      isLastDayOfMonth(toDate(dateLeft)) &&\n      difference === 1 &&\n      compareAsc(dateLeft, _dateRight) === 1\n    ) {\n      isLastMonthNotFull = false;\n    }\n\n    result = sign * (difference - Number(isLastMonthNotFull));\n  }\n\n  // Prevent negative zero\n  return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n *   new Date(2014, 8, 1),\n *   new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n\n  const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n  const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n  return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n *   new Date(2014, 6, 2, 12, 30, 20, 0),\n *   new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n  const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n  return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n *   new Date(2014, 6, 2, 12, 30, 21, 700),\n *   new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n  return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","export function getRoundingMethod(method) {\n  return (number) => {\n    const round = method ? Math[method] : Math.trunc;\n    const result = round(number);\n    // Prevent negative zero\n    return result === 0 ? 0 : result;\n  };\n}\n","import { constructNow } from \"./constructNow.mjs\";\nimport { formatDistance } from \"./formatDistance.mjs\";\n\n/**\n * The {@link formatDistanceToNow} function options.\n */\n\n/**\n * @name formatDistanceToNow\n * @category Common Helpers\n * @summary Return the distance between the given date and now in words.\n * @pure false\n *\n * @description\n * Return the distance between the given date and now in words.\n *\n * | Distance to now                                                   | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance to now     | Result               |\n * |---------------------|----------------------|\n * | 0 secs ... 5 secs   | less than 5 seconds  |\n * | 5 secs ... 10 secs  | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute        |\n * | 40 secs ... 60 secs | less than a minute   |\n * | 60 secs ... 90 secs | 1 minute             |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - The object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // If today is 1 January 2015, what is the distance to 2 July 2014?\n * const result = formatDistanceToNow(\n *   new Date(2014, 6, 2)\n * )\n * //=> '6 months'\n *\n * @example\n * // If now is 1 January 2015 00:00:00,\n * // what is the distance to 1 January 2015 00:00:15, including seconds?\n * const result = formatDistanceToNow(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   {includeSeconds: true}\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 January 2016, with a suffix?\n * const result = formatDistanceToNow(\n *   new Date(2016, 0, 1),\n *   {addSuffix: true}\n * )\n * //=> 'in about 1 year'\n *\n * @example\n * // If today is 1 January 2015,\n * // what is the distance to 1 August 2016 in Esperanto?\n * const eoLocale = require('date-fns/locale/eo')\n * const result = formatDistanceToNow(\n *   new Date(2016, 7, 1),\n *   {locale: eoLocale}\n * )\n * //=> 'pli ol 1 jaro'\n */\nexport function formatDistanceToNow(date, options) {\n  return formatDistance(date, constructNow(date), options);\n}\n\n// Fallback for modularized imports:\nexport default formatDistanceToNow;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates                                            | Result              |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs                                                     | less than a minute  |\n * | 30 secs ... 1 min 30 secs                                         | 1 minute            |\n * | 1 min 30 secs ... 44 mins 30 secs                                 | [2..44] minutes     |\n * | 44 mins ... 30 secs ... 89 mins 30 secs                           | about 1 hour        |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs                        | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs                 | 1 day               |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs         | [2..30] days        |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month       |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months      |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr                           | [2..12] months      |\n * | 1 yr ... 1 yr 3 months                                            | about 1 year        |\n * | 1 yr 3 months ... 1 yr 9 month s                                  | over 1 year         |\n * | 1 yr 9 months ... 2 yrs                                           | almost 2 years      |\n * | N yrs ... N yrs 3 months                                          | about N years       |\n * | N yrs 3 months ... N yrs 9 months                                 | over N years        |\n * | N yrs 9 months ... N+1 yrs                                        | almost N+1 years    |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result               |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs      | less than 5 seconds  |\n * | 5 secs ... 10 secs     | less than 10 seconds |\n * | 10 secs ... 20 secs    | less than 20 seconds |\n * | 20 secs ... 40 secs    | half a minute        |\n * | 40 secs ... 60 secs    | less than a minute   |\n * | 60 secs ... 90 secs    | 1 minute             |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n *   new Date(2015, 0, 1, 0, 0, 15),\n *   new Date(2015, 0, 1, 0, 0, 0),\n *   { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n *   addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n *   locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n  const defaultOptions = getDefaultOptions();\n  const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n  const minutesInAlmostTwoDays = 2520;\n\n  const comparison = compareAsc(date, baseDate);\n\n  if (isNaN(comparison)) {\n    throw new RangeError(\"Invalid time value\");\n  }\n\n  const localizeOptions = Object.assign({}, options, {\n    addSuffix: options?.addSuffix,\n    comparison: comparison,\n  });\n\n  let dateLeft;\n  let dateRight;\n  if (comparison > 0) {\n    dateLeft = toDate(baseDate);\n    dateRight = toDate(date);\n  } else {\n    dateLeft = toDate(date);\n    dateRight = toDate(baseDate);\n  }\n\n  const seconds = differenceInSeconds(dateRight, dateLeft);\n  const offsetInSeconds =\n    (getTimezoneOffsetInMilliseconds(dateRight) -\n      getTimezoneOffsetInMilliseconds(dateLeft)) /\n    1000;\n  const minutes = Math.round((seconds - offsetInSeconds) / 60);\n  let months;\n\n  // 0 up to 2 mins\n  if (minutes < 2) {\n    if (options?.includeSeconds) {\n      if (seconds < 5) {\n        return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n      } else if (seconds < 10) {\n        return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n      } else if (seconds < 20) {\n        return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n      } else if (seconds < 40) {\n        return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n      } else if (seconds < 60) {\n        return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n      } else {\n        return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n      }\n    } else {\n      if (minutes === 0) {\n        return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n      } else {\n        return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n      }\n    }\n\n    // 2 mins up to 0.75 hrs\n  } else if (minutes < 45) {\n    return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n    // 0.75 hrs up to 1.5 hrs\n  } else if (minutes < 90) {\n    return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n    // 1.5 hrs up to 24 hrs\n  } else if (minutes < minutesInDay) {\n    const hours = Math.round(minutes / 60);\n    return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n    // 1 day up to 1.75 days\n  } else if (minutes < minutesInAlmostTwoDays) {\n    return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n    // 1.75 days up to 30 days\n  } else if (minutes < minutesInMonth) {\n    const days = Math.round(minutes / minutesInDay);\n    return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n    // 1 month up to 2 months\n  } else if (minutes < minutesInMonth * 2) {\n    months = Math.round(minutes / minutesInMonth);\n    return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n  }\n\n  months = differenceInMonths(dateRight, dateLeft);\n\n  // 2 months up to 12 months\n  if (months < 12) {\n    const nearestMonth = Math.round(minutes / minutesInMonth);\n    return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n    // 1 year up to max Date\n  } else {\n    const monthsSinceStartOfYear = months % 12;\n    const years = Math.trunc(months / 12);\n\n    // N years up to 1 years 3 months\n    if (monthsSinceStartOfYear < 3) {\n      return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n      // N years 3 months up to N years 9 months\n    } else if (monthsSinceStartOfYear < 9) {\n      return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n      // N years 9 months up to N year 12 months\n    } else {\n      return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n    }\n  }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { isSameYear } from \"./isSameYear.mjs\";\n\n/**\n * @name isThisYear\n * @category Year Helpers\n * @summary Is the given date in the same year as the current date?\n * @pure false\n *\n * @description\n * Is the given date in the same year as the current date?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is in this year\n *\n * @example\n * // If today is 25 September 2014, is 2 July 2014 in this year?\n * const result = isThisYear(new Date(2014, 6, 2))\n * //=> true\n */\nexport function isThisYear(date) {\n  return isSameYear(date, constructNow(date));\n}\n\n// Fallback for modularized imports:\nexport default isThisYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n *\n * @returns The dates are in the same year\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport function isSameYear(dateLeft, dateRight) {\n  const _dateLeft = toDate(dateLeft);\n  const _dateRight = toDate(dateRight);\n  return _dateLeft.getFullYear() === _dateRight.getFullYear();\n}\n\n// Fallback for modularized imports:\nexport default isSameYear;\n","import { constructNow } from \"./constructNow.mjs\";\nimport { isSameDay } from \"./isSameDay.mjs\";\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date) {\n  return isSameDay(date, constructNow(date));\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","import { startOfDay } from \"./startOfDay.mjs\";\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(dateLeft, dateRight) {\n  const dateLeftStartOfDay = startOfDay(dateLeft);\n  const dateRightStartOfDay = startOfDay(dateRight);\n\n  return +dateLeftStartOfDay === +dateRightStartOfDay;\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","export function buildFormatLongFn(args) {\n  return (options = {}) => {\n    // TODO: Remove String()\n    const width = options.width ? String(options.width) : args.defaultWidth;\n    const format = args.formats[width] || args.formats[args.defaultWidth];\n    return format;\n  };\n}\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n  return (value, options) => {\n    const context = options?.context ? String(options.context) : \"standalone\";\n\n    let valuesArray;\n    if (context === \"formatting\" && args.formattingValues) {\n      const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n      const width = options?.width ? String(options.width) : defaultWidth;\n\n      valuesArray =\n        args.formattingValues[width] || args.formattingValues[defaultWidth];\n    } else {\n      const defaultWidth = args.defaultWidth;\n      const width = options?.width ? String(options.width) : args.defaultWidth;\n\n      valuesArray = args.values[width] || args.values[defaultWidth];\n    }\n    const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n    // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n    return valuesArray[index];\n  };\n}\n","export function buildMatchFn(args) {\n  return (string, options = {}) => {\n    const width = options.width;\n\n    const matchPattern =\n      (width && args.matchPatterns[width]) ||\n      args.matchPatterns[args.defaultMatchWidth];\n    const matchResult = string.match(matchPattern);\n\n    if (!matchResult) {\n      return null;\n    }\n    const matchedString = matchResult[0];\n\n    const parsePatterns =\n      (width && args.parsePatterns[width]) ||\n      args.parsePatterns[args.defaultParseWidth];\n\n    const key = Array.isArray(parsePatterns)\n      ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n      : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n    let value;\n\n    value = args.valueCallback ? args.valueCallback(key) : key;\n    value = options.valueCallback\n      ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n        options.valueCallback(value)\n      : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n\nfunction findKey(object, predicate) {\n  for (const key in object) {\n    if (\n      Object.prototype.hasOwnProperty.call(object, key) &&\n      predicate(object[key])\n    ) {\n      return key;\n    }\n  }\n  return undefined;\n}\n\nfunction findIndex(array, predicate) {\n  for (let key = 0; key < array.length; key++) {\n    if (predicate(array[key])) {\n      return key;\n    }\n  }\n  return undefined;\n}\n","export function buildMatchPatternFn(args) {\n  return (string, options = {}) => {\n    const matchResult = string.match(args.matchPattern);\n    if (!matchResult) return null;\n    const matchedString = matchResult[0];\n\n    const parseResult = string.match(args.parsePattern);\n    if (!parseResult) return null;\n    let value = args.valueCallback\n      ? args.valueCallback(parseResult[0])\n      : parseResult[0];\n\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n    value = options.valueCallback ? options.valueCallback(value) : value;\n\n    const rest = string.slice(matchedString.length);\n\n    return { value, rest };\n  };\n}\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre end ét sekund\",\n    other: \"mindre end {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"1 sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"ét halvt minut\",\n\n  lessThanXMinutes: {\n    one: \"mindre end ét minut\",\n    other: \"mindre end {{count}} minutter\",\n  },\n\n  xMinutes: {\n    one: \"1 minut\",\n    other: \"{{count}} minutter\",\n  },\n\n  aboutXHours: {\n    one: \"cirka 1 time\",\n    other: \"cirka {{count}} timer\",\n  },\n\n  xHours: {\n    one: \"1 time\",\n    other: \"{{count}} timer\",\n  },\n\n  xDays: {\n    one: \"1 dag\",\n    other: \"{{count}} dage\",\n  },\n\n  aboutXWeeks: {\n    one: \"cirka 1 uge\",\n    other: \"cirka {{count}} uger\",\n  },\n\n  xWeeks: {\n    one: \"1 uge\",\n    other: \"{{count}} uger\",\n  },\n\n  aboutXMonths: {\n    one: \"cirka 1 måned\",\n    other: \"cirka {{count}} måneder\",\n  },\n\n  xMonths: {\n    one: \"1 måned\",\n    other: \"{{count}} måneder\",\n  },\n\n  aboutXYears: {\n    one: \"cirka 1 år\",\n    other: \"cirka {{count}} år\",\n  },\n\n  xYears: {\n    one: \"1 år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"over 1 år\",\n    other: \"over {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"næsten 1 år\",\n    other: \"næsten {{count}} år\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" siden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE 'den' d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl'. {{time}}\",\n  long: \"{{date}} 'kl'. {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'sidste' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"'på' eeee 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"fvt\", \"vt\"],\n  abbreviated: [\"f.v.t.\", \"v.t.\"],\n  wide: [\"før vesterlandsk tidsregning\", \"vesterlandsk tidsregning\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"1. kvt.\", \"2. kvt.\", \"3. kvt.\", \"4. kvt.\"],\n  wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mar.\",\n    \"apr.\",\n    \"maj\",\n    \"jun.\",\n    \"jul.\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januar\",\n    \"februar\",\n    \"marts\",\n    \"april\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"august\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\n// Note that 'Days - abbreviated - Formatting' has periods at the end.\n// https://www.unicode.org/cldr/charts/32/summary/da.html#1760\n// This makes grammatical sense in danish, as most abbreviations have periods.\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n  abbreviated: [\"søn.\", \"man.\", \"tir.\", \"ons.\", \"tor.\", \"fre.\", \"lør.\"],\n\n  wide: [\n    \"søndag\",\n    \"mandag\",\n    \"tirsdag\",\n    \"onsdag\",\n    \"torsdag\",\n    \"fredag\",\n    \"lørdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"morgen\",\n    afternoon: \"eftermiddag\",\n    evening: \"aften\",\n    night: \"nat\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnat\",\n    noon: \"middag\",\n    morning: \"om morgenen\",\n    afternoon: \"om eftermiddagen\",\n    evening: \"om aftenen\",\n    night: \"om natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(fKr|fvt|eKr|vt)/i,\n  abbreviated: /^(f\\.Kr\\.?|f\\.v\\.t\\.?|e\\.Kr\\.?|v\\.t\\.)/i,\n  wide: /^(f.Kr.|før vesterlandsk tidsregning|e.Kr.|vesterlandsk tidsregning)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^(v|e)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^[1234]. kvt\\./i,\n  wide: /^[1234]\\.? kvartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mar.|apr.|maj|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januar|februar|marts|april|maj|juni|juli|august|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^maj/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(søn.|man.|tir.|ons.|tor.|fre.|lør.)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^o/i, /^t/i, /^f/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /midnat/i,\n    noon: /middag/i,\n    morning: /morgen/i,\n    afternoon: /eftermiddag/i,\n    evening: /aften/i,\n    night: /nat/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./da/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./da/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./da/_lib/formatRelative.mjs\";\nimport { localize } from \"./da/_lib/localize.mjs\";\nimport { match } from \"./da/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Danish locale.\n * @language Danish\n * @iso-639-2 dan\n * @author Mathias Wøbbe [@MathiasKandelborg](https://github.com/MathiasKandelborg)\n * @author Anders B. Hansen [@Andersbiha](https://github.com/Andersbiha)\n * @author [@kgram](https://github.com/kgram)\n * @author [@stefanbugge](https://github.com/stefanbugge)\n */\nexport const da = {\n  code: \"da\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default da;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    standalone: {\n      one: \"weniger als 1 Sekunde\",\n      other: \"weniger als {{count}} Sekunden\",\n    },\n    withPreposition: {\n      one: \"weniger als 1 Sekunde\",\n      other: \"weniger als {{count}} Sekunden\",\n    },\n  },\n\n  xSeconds: {\n    standalone: {\n      one: \"1 Sekunde\",\n      other: \"{{count}} Sekunden\",\n    },\n    withPreposition: {\n      one: \"1 Sekunde\",\n      other: \"{{count}} Sekunden\",\n    },\n  },\n\n  halfAMinute: {\n    standalone: \"eine halbe Minute\",\n    withPreposition: \"einer halben Minute\",\n  },\n\n  lessThanXMinutes: {\n    standalone: {\n      one: \"weniger als 1 Minute\",\n      other: \"weniger als {{count}} Minuten\",\n    },\n    withPreposition: {\n      one: \"weniger als 1 Minute\",\n      other: \"weniger als {{count}} Minuten\",\n    },\n  },\n\n  xMinutes: {\n    standalone: {\n      one: \"1 Minute\",\n      other: \"{{count}} Minuten\",\n    },\n    withPreposition: {\n      one: \"1 Minute\",\n      other: \"{{count}} Minuten\",\n    },\n  },\n\n  aboutXHours: {\n    standalone: {\n      one: \"etwa 1 Stunde\",\n      other: \"etwa {{count}} Stunden\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Stunde\",\n      other: \"etwa {{count}} Stunden\",\n    },\n  },\n\n  xHours: {\n    standalone: {\n      one: \"1 Stunde\",\n      other: \"{{count}} Stunden\",\n    },\n    withPreposition: {\n      one: \"1 Stunde\",\n      other: \"{{count}} Stunden\",\n    },\n  },\n\n  xDays: {\n    standalone: {\n      one: \"1 Tag\",\n      other: \"{{count}} Tage\",\n    },\n    withPreposition: {\n      one: \"1 Tag\",\n      other: \"{{count}} Tagen\",\n    },\n  },\n\n  aboutXWeeks: {\n    standalone: {\n      one: \"etwa 1 Woche\",\n      other: \"etwa {{count}} Wochen\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Woche\",\n      other: \"etwa {{count}} Wochen\",\n    },\n  },\n\n  xWeeks: {\n    standalone: {\n      one: \"1 Woche\",\n      other: \"{{count}} Wochen\",\n    },\n    withPreposition: {\n      one: \"1 Woche\",\n      other: \"{{count}} Wochen\",\n    },\n  },\n\n  aboutXMonths: {\n    standalone: {\n      one: \"etwa 1 Monat\",\n      other: \"etwa {{count}} Monate\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Monat\",\n      other: \"etwa {{count}} Monaten\",\n    },\n  },\n\n  xMonths: {\n    standalone: {\n      one: \"1 Monat\",\n      other: \"{{count}} Monate\",\n    },\n    withPreposition: {\n      one: \"1 Monat\",\n      other: \"{{count}} Monaten\",\n    },\n  },\n\n  aboutXYears: {\n    standalone: {\n      one: \"etwa 1 Jahr\",\n      other: \"etwa {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"etwa 1 Jahr\",\n      other: \"etwa {{count}} Jahren\",\n    },\n  },\n\n  xYears: {\n    standalone: {\n      one: \"1 Jahr\",\n      other: \"{{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"1 Jahr\",\n      other: \"{{count}} Jahren\",\n    },\n  },\n\n  overXYears: {\n    standalone: {\n      one: \"mehr als 1 Jahr\",\n      other: \"mehr als {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"mehr als 1 Jahr\",\n      other: \"mehr als {{count}} Jahren\",\n    },\n  },\n\n  almostXYears: {\n    standalone: {\n      one: \"fast 1 Jahr\",\n      other: \"fast {{count}} Jahre\",\n    },\n    withPreposition: {\n      one: \"fast 1 Jahr\",\n      other: \"fast {{count}} Jahren\",\n    },\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = options?.addSuffix\n    ? formatDistanceLocale[token].withPreposition\n    : formatDistanceLocale[token].standalone;\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return \"vor \" + result;\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nconst dateFormats = {\n  full: \"EEEE, do MMMM y\", // Montag, 7. Januar 2018\n  long: \"do MMMM y\", // 7. Januar 2018\n  medium: \"do MMM y\", // 7. Jan. 2018\n  short: \"dd.MM.y\", // 07.01.2018\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'um' {{time}}\",\n  long: \"{{date}} 'um' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'letzten' eeee 'um' p\",\n  yesterday: \"'gestern um' p\",\n  today: \"'heute um' p\",\n  tomorrow: \"'morgen um' p\",\n  nextWeek: \"eeee 'um' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"v.Chr.\", \"n.Chr.\"],\n  abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n  wide: [\"vor Christus\", \"nach Christus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. Quartal\", \"2. Quartal\", \"3. Quartal\", \"4. Quartal\"],\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mär\",\n    \"Apr\",\n    \"Mai\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Okt\",\n    \"Nov\",\n    \"Dez\",\n  ],\n\n  wide: [\n    \"Januar\",\n    \"Februar\",\n    \"März\",\n    \"April\",\n    \"Mai\",\n    \"Juni\",\n    \"Juli\",\n    \"August\",\n    \"September\",\n    \"Oktober\",\n    \"November\",\n    \"Dezember\",\n  ],\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nconst formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: [\n    \"Jan.\",\n    \"Feb.\",\n    \"März\",\n    \"Apr.\",\n    \"Mai\",\n    \"Juni\",\n    \"Juli\",\n    \"Aug.\",\n    \"Sep.\",\n    \"Okt.\",\n    \"Nov.\",\n    \"Dez.\",\n  ],\n\n  wide: monthValues.wide,\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"D\", \"M\", \"D\", \"F\", \"S\"],\n  short: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n  abbreviated: [\"So.\", \"Mo.\", \"Di.\", \"Mi.\", \"Do.\", \"Fr.\", \"Sa.\"],\n  wide: [\n    \"Sonntag\",\n    \"Montag\",\n    \"Dienstag\",\n    \"Mittwoch\",\n    \"Donnerstag\",\n    \"Freitag\",\n    \"Samstag\",\n  ],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nconst dayPeriodValues = {\n  narrow: {\n    am: \"vm.\",\n    pm: \"nm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachm.\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n  abbreviated: {\n    am: \"vorm.\",\n    pm: \"nachm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachmittag\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n  wide: {\n    am: \"vormittags\",\n    pm: \"nachmittags\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"Morgen\",\n    afternoon: \"Nachmittag\",\n    evening: \"Abend\",\n    night: \"Nacht\",\n  },\n};\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"vm.\",\n    pm: \"nm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachm.\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n  abbreviated: {\n    am: \"vorm.\",\n    pm: \"nachm.\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachmittags\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n  wide: {\n    am: \"vormittags\",\n    pm: \"nachmittags\",\n    midnight: \"Mitternacht\",\n    noon: \"Mittag\",\n    morning: \"morgens\",\n    afternoon: \"nachmittags\",\n    evening: \"abends\",\n    night: \"nachts\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber) => {\n  const number = Number(dirtyNumber);\n\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    formattingValues: formattingMonthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n  wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i,\n};\nconst parseEraPatterns = {\n  any: [/^v/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? Quartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated:\n    /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n  wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^j[aä]/i,\n    /^f/i,\n    /^mär/i,\n    /^ap/i,\n    /^mai/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smdmf]/i,\n  short: /^(so|mo|di|mi|do|fr|sa)/i,\n  abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n  wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  abbreviated:\n    /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n  wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^v/i,\n    pm: /^n/i,\n    midnight: /^Mitte/i,\n    noon: /^Mitta/i,\n    morning: /morgens/i,\n    afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm`\n    evening: /abends/i,\n    night: /nachts/i, // will never be matched. Night is matched by `pm`\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./de/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./de/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./de/_lib/formatRelative.mjs\";\nimport { localize } from \"./de/_lib/localize.mjs\";\nimport { match } from \"./de/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu)\n * @author Asia [@asia-t](https://github.com/asia-t)\n * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo)\n * @author RomanErnst [@pex](https://github.com/pex)\n * @author Philipp Keck [@Philipp91](https://github.com/Philipp91)\n */\nexport const de = {\n  code: \"de\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default de;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, d MMMM yyyy\",\n  long: \"d MMMM yyyy\",\n  medium: \"d MMM yyyy\",\n  short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\nimport { formatLong } from \"./en-GB/_lib/formatLong.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United Kingdom).\n * @language English\n * @iso-639-2 eng\n * @author Alex [@glintik](https://github.com/glintik)\n */\nexport const enGB = {\n  code: \"en-GB\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enGB;\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, MMMM do, y\",\n  long: \"MMMM do, y\",\n  medium: \"MMM d, y\",\n  short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n  full: \"h:mm:ss a zzzz\",\n  long: \"h:mm:ss a z\",\n  medium: \"h:mm:ss a\",\n  short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'at' {{time}}\",\n  long: \"{{date}} 'at' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n  code: \"en-US\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 0 /* Sunday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"less than a second\",\n    other: \"less than {{count}} seconds\",\n  },\n\n  xSeconds: {\n    one: \"1 second\",\n    other: \"{{count}} seconds\",\n  },\n\n  halfAMinute: \"half a minute\",\n\n  lessThanXMinutes: {\n    one: \"less than a minute\",\n    other: \"less than {{count}} minutes\",\n  },\n\n  xMinutes: {\n    one: \"1 minute\",\n    other: \"{{count}} minutes\",\n  },\n\n  aboutXHours: {\n    one: \"about 1 hour\",\n    other: \"about {{count}} hours\",\n  },\n\n  xHours: {\n    one: \"1 hour\",\n    other: \"{{count}} hours\",\n  },\n\n  xDays: {\n    one: \"1 day\",\n    other: \"{{count}} days\",\n  },\n\n  aboutXWeeks: {\n    one: \"about 1 week\",\n    other: \"about {{count}} weeks\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weeks\",\n  },\n\n  aboutXMonths: {\n    one: \"about 1 month\",\n    other: \"about {{count}} months\",\n  },\n\n  xMonths: {\n    one: \"1 month\",\n    other: \"{{count}} months\",\n  },\n\n  aboutXYears: {\n    one: \"about 1 year\",\n    other: \"about {{count}} years\",\n  },\n\n  xYears: {\n    one: \"1 year\",\n    other: \"{{count}} years\",\n  },\n\n  overXYears: {\n    one: \"over 1 year\",\n    other: \"over {{count}} years\",\n  },\n\n  almostXYears: {\n    one: \"almost 1 year\",\n    other: \"almost {{count}} years\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"in \" + result;\n    } else {\n      return result + \" ago\";\n    }\n  }\n\n  return result;\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'last' eeee 'at' p\",\n  yesterday: \"'yesterday at' p\",\n  today: \"'today at' p\",\n  tomorrow: \"'tomorrow at' p\",\n  nextWeek: \"eeee 'at' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"B\", \"A\"],\n  abbreviated: [\"BC\", \"AD\"],\n  wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"Jan\",\n    \"Feb\",\n    \"Mar\",\n    \"Apr\",\n    \"May\",\n    \"Jun\",\n    \"Jul\",\n    \"Aug\",\n    \"Sep\",\n    \"Oct\",\n    \"Nov\",\n    \"Dec\",\n  ],\n\n  wide: [\n    \"January\",\n    \"February\",\n    \"March\",\n    \"April\",\n    \"May\",\n    \"June\",\n    \"July\",\n    \"August\",\n    \"September\",\n    \"October\",\n    \"November\",\n    \"December\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n  short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n  abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n  wide: [\n    \"Sunday\",\n    \"Monday\",\n    \"Tuesday\",\n    \"Wednesday\",\n    \"Thursday\",\n    \"Friday\",\n    \"Saturday\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"morning\",\n    afternoon: \"afternoon\",\n    evening: \"evening\",\n    night: \"night\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mi\",\n    noon: \"n\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnight\",\n    noon: \"noon\",\n    morning: \"in the morning\",\n    afternoon: \"in the afternoon\",\n    evening: \"in the evening\",\n    night: \"at night\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  // If ordinal numbers depend on context, for example,\n  // if they are different for different grammatical genders,\n  // use `options.unit`.\n  //\n  // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n  // 'day', 'hour', 'minute', 'second'.\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n        return number + \"st\";\n      case 2:\n        return number + \"nd\";\n      case 3:\n        return number + \"rd\";\n    }\n  }\n  return number + \"th\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(b|a)/i,\n  abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n  wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n  any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n  wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtwf]/i,\n  short: /^(su|mo|tu|we|th|fr|sa)/i,\n  abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n  wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n  any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mi/i,\n    noon: /^no/i,\n    morning: /morning/i,\n    afternoon: /afternoon/i,\n    evening: /evening/i,\n    night: /night/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"menos de un segundo\",\n    other: \"menos de {{count}} segundos\",\n  },\n\n  xSeconds: {\n    one: \"1 segundo\",\n    other: \"{{count}} segundos\",\n  },\n\n  halfAMinute: \"medio minuto\",\n\n  lessThanXMinutes: {\n    one: \"menos de un minuto\",\n    other: \"menos de {{count}} minutos\",\n  },\n\n  xMinutes: {\n    one: \"1 minuto\",\n    other: \"{{count}} minutos\",\n  },\n\n  aboutXHours: {\n    one: \"alrededor de 1 hora\",\n    other: \"alrededor de {{count}} horas\",\n  },\n\n  xHours: {\n    one: \"1 hora\",\n    other: \"{{count}} horas\",\n  },\n\n  xDays: {\n    one: \"1 día\",\n    other: \"{{count}} días\",\n  },\n\n  aboutXWeeks: {\n    one: \"alrededor de 1 semana\",\n    other: \"alrededor de {{count}} semanas\",\n  },\n\n  xWeeks: {\n    one: \"1 semana\",\n    other: \"{{count}} semanas\",\n  },\n\n  aboutXMonths: {\n    one: \"alrededor de 1 mes\",\n    other: \"alrededor de {{count}} meses\",\n  },\n\n  xMonths: {\n    one: \"1 mes\",\n    other: \"{{count}} meses\",\n  },\n\n  aboutXYears: {\n    one: \"alrededor de 1 año\",\n    other: \"alrededor de {{count}} años\",\n  },\n\n  xYears: {\n    one: \"1 año\",\n    other: \"{{count}} años\",\n  },\n\n  overXYears: {\n    one: \"más de 1 año\",\n    other: \"más de {{count}} años\",\n  },\n\n  almostXYears: {\n    one: \"casi 1 año\",\n    other: \"casi {{count}} años\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", count.toString());\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"en \" + result;\n    } else {\n      return \"hace \" + result;\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, d 'de' MMMM 'de' y\",\n  long: \"d 'de' MMMM 'de' y\",\n  medium: \"d MMM y\",\n  short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'a las' {{time}}\",\n  long: \"{{date}} 'a las' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'el' eeee 'pasado a la' p\",\n  yesterday: \"'ayer a la' p\",\n  today: \"'hoy a la' p\",\n  tomorrow: \"'mañana a la' p\",\n  nextWeek: \"eeee 'a la' p\",\n  other: \"P\",\n};\n\nconst formatRelativeLocalePlural = {\n  lastWeek: \"'el' eeee 'pasado a las' p\",\n  yesterday: \"'ayer a las' p\",\n  today: \"'hoy a las' p\",\n  tomorrow: \"'mañana a las' p\",\n  nextWeek: \"eeee 'a las' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n  if (date.getHours() !== 1) {\n    return formatRelativeLocalePlural[token];\n  } else {\n    return formatRelativeLocale[token];\n  }\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"AC\", \"DC\"],\n  abbreviated: [\"AC\", \"DC\"],\n  wide: [\"antes de cristo\", \"después de cristo\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n  wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n  narrow: [\"e\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n  abbreviated: [\n    \"ene\",\n    \"feb\",\n    \"mar\",\n    \"abr\",\n    \"may\",\n    \"jun\",\n    \"jul\",\n    \"ago\",\n    \"sep\",\n    \"oct\",\n    \"nov\",\n    \"dic\",\n  ],\n\n  wide: [\n    \"enero\",\n    \"febrero\",\n    \"marzo\",\n    \"abril\",\n    \"mayo\",\n    \"junio\",\n    \"julio\",\n    \"agosto\",\n    \"septiembre\",\n    \"octubre\",\n    \"noviembre\",\n    \"diciembre\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"d\", \"l\", \"m\", \"m\", \"j\", \"v\", \"s\"],\n  short: [\"do\", \"lu\", \"ma\", \"mi\", \"ju\", \"vi\", \"sá\"],\n  abbreviated: [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"],\n  wide: [\n    \"domingo\",\n    \"lunes\",\n    \"martes\",\n    \"miércoles\",\n    \"jueves\",\n    \"viernes\",\n    \"sábado\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mn\",\n    noon: \"md\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"mañana\",\n    afternoon: \"tarde\",\n    evening: \"tarde\",\n    night: \"noche\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"mn\",\n    noon: \"md\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"medianoche\",\n    noon: \"mediodia\",\n    morning: \"de la mañana\",\n    afternoon: \"de la tarde\",\n    evening: \"de la tarde\",\n    night: \"de la noche\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \"º\";\n};\n\nexport const localize = {\n  ordinalNumber: ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => Number(quarter) - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\nimport { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(ac|dc|a|d)/i,\n  abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n  wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i,\n};\nconst parseEraPatterns = {\n  any: [/^ac/i, /^dc/i],\n  wide: [\n    /^(antes de cristo|antes de la era com[uú]n)/i,\n    /^(despu[eé]s de cristo|era com[uú]n)/i,\n  ],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^T[1234]/i,\n  wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[efmajsond]/i,\n  abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n  wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^e/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^en/i,\n    /^feb/i,\n    /^mar/i,\n    /^abr/i,\n    /^may/i,\n    /^jun/i,\n    /^jul/i,\n    /^ago/i,\n    /^sep/i,\n    /^oct/i,\n    /^nov/i,\n    /^dic/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[dlmjvs]/i,\n  short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n  abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n  wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n  any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n  any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a/i,\n    pm: /^p/i,\n    midnight: /^mn/i,\n    noon: /^md/i,\n    morning: /mañana/i,\n    afternoon: /tarde/i,\n    evening: /tarde/i,\n    night: /noche/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: function (value) {\n      return parseInt(value, 10);\n    },\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./es/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./es/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./es/_lib/formatRelative.mjs\";\nimport { localize } from \"./es/_lib/localize.mjs\";\nimport { match } from \"./es/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto](https://github.com/juanangosto)\n * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa)\n * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero)\n * @author Gastón Haro [@harogaston](https://github.com/harogaston)\n * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo)\n */\nexport const es = {\n  code: \"es\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 1,\n  },\n};\n\n// Fallback for modularized imports:\nexport default es;\n","function futureSeconds(text) {\n  return text.replace(/sekuntia?/, \"sekunnin\");\n}\n\nfunction futureMinutes(text) {\n  return text.replace(/minuuttia?/, \"minuutin\");\n}\n\nfunction futureHours(text) {\n  return text.replace(/tuntia?/, \"tunnin\");\n}\n\nfunction futureDays(text) {\n  return text.replace(/päivää?/, \"päivän\");\n}\n\nfunction futureWeeks(text) {\n  return text.replace(/(viikko|viikkoa)/, \"viikon\");\n}\n\nfunction futureMonths(text) {\n  return text.replace(/(kuukausi|kuukautta)/, \"kuukauden\");\n}\n\nfunction futureYears(text) {\n  return text.replace(/(vuosi|vuotta)/, \"vuoden\");\n}\n\nconst formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"alle sekunti\",\n    other: \"alle {{count}} sekuntia\",\n    futureTense: futureSeconds,\n  },\n\n  xSeconds: {\n    one: \"sekunti\",\n    other: \"{{count}} sekuntia\",\n    futureTense: futureSeconds,\n  },\n\n  halfAMinute: {\n    one: \"puoli minuuttia\",\n    other: \"puoli minuuttia\",\n    futureTense: (_text) => \"puolen minuutin\",\n  },\n\n  lessThanXMinutes: {\n    one: \"alle minuutti\",\n    other: \"alle {{count}} minuuttia\",\n    futureTense: futureMinutes,\n  },\n\n  xMinutes: {\n    one: \"minuutti\",\n    other: \"{{count}} minuuttia\",\n    futureTense: futureMinutes,\n  },\n\n  aboutXHours: {\n    one: \"noin tunti\",\n    other: \"noin {{count}} tuntia\",\n    futureTense: futureHours,\n  },\n\n  xHours: {\n    one: \"tunti\",\n    other: \"{{count}} tuntia\",\n    futureTense: futureHours,\n  },\n\n  xDays: {\n    one: \"päivä\",\n    other: \"{{count}} päivää\",\n    futureTense: futureDays,\n  },\n\n  aboutXWeeks: {\n    one: \"noin viikko\",\n    other: \"noin {{count}} viikkoa\",\n    futureTense: futureWeeks,\n  },\n\n  xWeeks: {\n    one: \"viikko\",\n    other: \"{{count}} viikkoa\",\n    futureTense: futureWeeks,\n  },\n\n  aboutXMonths: {\n    one: \"noin kuukausi\",\n    other: \"noin {{count}} kuukautta\",\n    futureTense: futureMonths,\n  },\n\n  xMonths: {\n    one: \"kuukausi\",\n    other: \"{{count}} kuukautta\",\n    futureTense: futureMonths,\n  },\n\n  aboutXYears: {\n    one: \"noin vuosi\",\n    other: \"noin {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  xYears: {\n    one: \"vuosi\",\n    other: \"{{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  overXYears: {\n    one: \"yli vuosi\",\n    other: \"yli {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n\n  almostXYears: {\n    one: \"lähes vuosi\",\n    other: \"lähes {{count}} vuotta\",\n    futureTense: futureYears,\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  const tokenValue = formatDistanceLocale[token];\n  const result =\n    count === 1\n      ? tokenValue.one\n      : tokenValue.other.replace(\"{{count}}\", String(count));\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return tokenValue.futureTense(result) + \" kuluttua\";\n    } else {\n      return result + \" sitten\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"eeee d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"d.M.y\",\n};\n\nconst timeFormats = {\n  full: \"HH.mm.ss zzzz\",\n  long: \"HH.mm.ss z\",\n  medium: \"HH.mm.ss\",\n  short: \"HH.mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'klo' {{time}}\",\n  long: \"{{date}} 'klo' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'viime' eeee 'klo' p\",\n  yesterday: \"'eilen klo' p\",\n  today: \"'tänään klo' p\",\n  tomorrow: \"'huomenna klo' p\",\n  nextWeek: \"'ensi' eeee 'klo' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"eaa.\", \"jaa.\"],\n  abbreviated: [\"eaa.\", \"jaa.\"],\n  wide: [\"ennen ajanlaskun alkua\", \"jälkeen ajanlaskun alun\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. kvartaali\", \"2. kvartaali\", \"3. kvartaali\", \"4. kvartaali\"],\n};\n\nconst monthValues = {\n  narrow: [\"T\", \"H\", \"M\", \"H\", \"T\", \"K\", \"H\", \"E\", \"S\", \"L\", \"M\", \"J\"],\n  abbreviated: [\n    \"tammi\",\n    \"helmi\",\n    \"maalis\",\n    \"huhti\",\n    \"touko\",\n    \"kesä\",\n    \"heinä\",\n    \"elo\",\n    \"syys\",\n    \"loka\",\n    \"marras\",\n    \"joulu\",\n  ],\n\n  wide: [\n    \"tammikuu\",\n    \"helmikuu\",\n    \"maaliskuu\",\n    \"huhtikuu\",\n    \"toukokuu\",\n    \"kesäkuu\",\n    \"heinäkuu\",\n    \"elokuu\",\n    \"syyskuu\",\n    \"lokakuu\",\n    \"marraskuu\",\n    \"joulukuu\",\n  ],\n};\n\nconst formattingMonthValues = {\n  narrow: monthValues.narrow,\n  abbreviated: monthValues.abbreviated,\n  wide: [\n    \"tammikuuta\",\n    \"helmikuuta\",\n    \"maaliskuuta\",\n    \"huhtikuuta\",\n    \"toukokuuta\",\n    \"kesäkuuta\",\n    \"heinäkuuta\",\n    \"elokuuta\",\n    \"syyskuuta\",\n    \"lokakuuta\",\n    \"marraskuuta\",\n    \"joulukuuta\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"K\", \"T\", \"P\", \"L\"],\n  short: [\"su\", \"ma\", \"ti\", \"ke\", \"to\", \"pe\", \"la\"],\n  abbreviated: [\"sunn.\", \"maan.\", \"tiis.\", \"kesk.\", \"torst.\", \"perj.\", \"la\"],\n\n  wide: [\n    \"sunnuntai\",\n    \"maanantai\",\n    \"tiistai\",\n    \"keskiviikko\",\n    \"torstai\",\n    \"perjantai\",\n    \"lauantai\",\n  ],\n};\n\nconst formattingDayValues = {\n  narrow: dayValues.narrow,\n  short: dayValues.short,\n  abbreviated: dayValues.abbreviated,\n  wide: [\n    \"sunnuntaina\",\n    \"maanantaina\",\n    \"tiistaina\",\n    \"keskiviikkona\",\n    \"torstaina\",\n    \"perjantaina\",\n    \"lauantaina\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyö\",\n    noon: \"keskipäivä\",\n    morning: \"ap\",\n    afternoon: \"ip\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n  abbreviated: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyö\",\n    noon: \"keskipäivä\",\n    morning: \"ap\",\n    afternoon: \"ip\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n  wide: {\n    am: \"ap\",\n    pm: \"ip\",\n    midnight: \"keskiyöllä\",\n    noon: \"keskipäivällä\",\n    morning: \"aamupäivällä\",\n    afternoon: \"iltapäivällä\",\n    evening: \"illalla\",\n    night: \"yöllä\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingMonthValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(e|j)/i,\n  abbreviated: /^(eaa.|jaa.)/i,\n  wide: /^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i,\n};\nconst parseEraPatterns = {\n  any: [/^e/i, /^j/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234]\\.? kvartaali/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[thmkeslj]/i,\n  abbreviated:\n    /^(tammi|helmi|maalis|huhti|touko|kesä|heinä|elo|syys|loka|marras|joulu)/i,\n  wide: /^(tammikuu|helmikuu|maaliskuu|huhtikuu|toukokuu|kesäkuu|heinäkuu|elokuu|syyskuu|lokakuu|marraskuu|joulukuu)(ta)?/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^t/i,\n    /^h/i,\n    /^m/i,\n    /^h/i,\n    /^t/i,\n    /^k/i,\n    /^h/i,\n    /^e/i,\n    /^s/i,\n    /^l/i,\n    /^m/i,\n    /^j/i,\n  ],\n\n  any: [\n    /^ta/i,\n    /^hel/i,\n    /^maa/i,\n    /^hu/i,\n    /^to/i,\n    /^k/i,\n    /^hei/i,\n    /^e/i,\n    /^s/i,\n    /^l/i,\n    /^mar/i,\n    /^j/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtkpl]/i,\n  short: /^(su|ma|ti|ke|to|pe|la)/i,\n  abbreviated: /^(sunn.|maan.|tiis.|kesk.|torst.|perj.|la)/i,\n  wide: /^(sunnuntai|maanantai|tiistai|keskiviikko|torstai|perjantai|lauantai)(na)?/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^s/i, /^m/i, /^t/i, /^k/i, /^t/i, /^p/i, /^l/i],\n  any: [/^s/i, /^m/i, /^ti/i, /^k/i, /^to/i, /^p/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(ap|ip|keskiyö|keskipäivä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n  any: /^(ap|ip|keskiyöllä|keskipäivällä|aamupäivällä|iltapäivällä|illalla|yöllä)/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^ap/i,\n    pm: /^ip/i,\n    midnight: /^keskiyö/i,\n    noon: /^keskipäivä/i,\n    morning: /aamupäivällä/i,\n    afternoon: /iltapäivällä/i,\n    evening: /illalla/i,\n    night: /yöllä/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./fi/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./fi/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./fi/_lib/formatRelative.mjs\";\nimport { localize } from \"./fi/_lib/localize.mjs\";\nimport { match } from \"./fi/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Finnish locale.\n * @language Finnish\n * @iso-639-2 fin\n * @author Pyry-Samuli Lahti [@Pyppe](https://github.com/Pyppe)\n * @author Edo Rivai [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Samu Juvonen [@sjuvonen](https://github.com/sjuvonen)\n */\nexport const fi = {\n  code: \"fi\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default fi;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre enn ett sekund\",\n    other: \"mindre enn {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"ett sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"et halvt minutt\",\n\n  lessThanXMinutes: {\n    one: \"mindre enn ett minutt\",\n    other: \"mindre enn {{count}} minutter\",\n  },\n\n  xMinutes: {\n    one: \"ett minutt\",\n    other: \"{{count}} minutter\",\n  },\n\n  aboutXHours: {\n    one: \"omtrent en time\",\n    other: \"omtrent {{count}} timer\",\n  },\n\n  xHours: {\n    one: \"en time\",\n    other: \"{{count}} timer\",\n  },\n\n  xDays: {\n    one: \"en dag\",\n    other: \"{{count}} dager\",\n  },\n\n  aboutXWeeks: {\n    one: \"omtrent en uke\",\n    other: \"omtrent {{count}} uker\",\n  },\n\n  xWeeks: {\n    one: \"en uke\",\n    other: \"{{count}} uker\",\n  },\n\n  aboutXMonths: {\n    one: \"omtrent en måned\",\n    other: \"omtrent {{count}} måneder\",\n  },\n\n  xMonths: {\n    one: \"en måned\",\n    other: \"{{count}} måneder\",\n  },\n\n  aboutXYears: {\n    one: \"omtrent ett år\",\n    other: \"omtrent {{count}} år\",\n  },\n\n  xYears: {\n    one: \"ett år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"over ett år\",\n    other: \"over {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"nesten ett år\",\n    other: \"nesten {{count}} år\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" siden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d. MMMM y\",\n  long: \"d. MMMM y\",\n  medium: \"d. MMM y\",\n  short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'forrige' eeee 'kl.' p\",\n  yesterday: \"'i går kl.' p\",\n  today: \"'i dag kl.' p\",\n  tomorrow: \"'i morgen kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"f.Kr.\", \"e.Kr.\"],\n  abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n  wide: [\"før Kristus\", \"etter Kristus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1. kvartal\", \"2. kvartal\", \"3. kvartal\", \"4. kvartal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mars\",\n    \"apr.\",\n    \"mai\",\n    \"juni\",\n    \"juli\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"des.\",\n  ],\n\n  wide: [\n    \"januar\",\n    \"februar\",\n    \"mars\",\n    \"april\",\n    \"mai\",\n    \"juni\",\n    \"juli\",\n    \"august\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"desember\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sø\", \"ma\", \"ti\", \"on\", \"to\", \"fr\", \"lø\"],\n  abbreviated: [\"søn\", \"man\", \"tir\", \"ons\", \"tor\", \"fre\", \"lør\"],\n  wide: [\n    \"søndag\",\n    \"mandag\",\n    \"tirsdag\",\n    \"onsdag\",\n    \"torsdag\",\n    \"fredag\",\n    \"lørdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på etterm.\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n  abbreviated: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på etterm.\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n  wide: {\n    am: \"a.m.\",\n    pm: \"p.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morgenen\",\n    afternoon: \"på ettermiddagen\",\n    evening: \"på kvelden\",\n    night: \"på natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \".\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)\\.?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|fvt\\.?|e\\.? ?Kr\\.?|evt\\.?)/i,\n  wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^e/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](\\.)? kvartal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\\.?/i,\n  wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^mai/i,\n    /^jun/i,\n    /^jul/i,\n    /^aug/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sø|ma|ti|on|to|fr|lø)/i,\n  abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i,\n  wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,\n  any: /^([ap]\\.?\\s?m\\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^a(\\.?\\s?m\\.?)?$/i,\n    pm: /^p(\\.?\\s?m\\.?)?$/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgen/i,\n    afternoon: /ettermiddag/i,\n    evening: /kveld/i,\n    night: /natt/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./nb/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nb/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nb/_lib/formatRelative.mjs\";\nimport { localize } from \"./nb/_lib/localize.mjs\";\nimport { match } from \"./nb/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Norwegian Bokmål locale.\n * @language Norwegian Bokmål\n * @iso-639-2 nob\n * @author Hans-Kristian Koren [@Hanse](https://github.com/Hanse)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Dag Stuan [@dagstuan](https://github.com/dagstuan)\n */\nexport const nb = {\n  code: \"nb\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default nb;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"minder dan een seconde\",\n    other: \"minder dan {{count}} seconden\",\n  },\n\n  xSeconds: {\n    one: \"1 seconde\",\n    other: \"{{count}} seconden\",\n  },\n\n  halfAMinute: \"een halve minuut\",\n\n  lessThanXMinutes: {\n    one: \"minder dan een minuut\",\n    other: \"minder dan {{count}} minuten\",\n  },\n\n  xMinutes: {\n    one: \"een minuut\",\n    other: \"{{count}} minuten\",\n  },\n\n  aboutXHours: {\n    one: \"ongeveer 1 uur\",\n    other: \"ongeveer {{count}} uur\",\n  },\n\n  xHours: {\n    one: \"1 uur\",\n    other: \"{{count}} uur\",\n  },\n\n  xDays: {\n    one: \"1 dag\",\n    other: \"{{count}} dagen\",\n  },\n\n  aboutXWeeks: {\n    one: \"ongeveer 1 week\",\n    other: \"ongeveer {{count}} weken\",\n  },\n\n  xWeeks: {\n    one: \"1 week\",\n    other: \"{{count}} weken\",\n  },\n\n  aboutXMonths: {\n    one: \"ongeveer 1 maand\",\n    other: \"ongeveer {{count}} maanden\",\n  },\n\n  xMonths: {\n    one: \"1 maand\",\n    other: \"{{count}} maanden\",\n  },\n\n  aboutXYears: {\n    one: \"ongeveer 1 jaar\",\n    other: \"ongeveer {{count}} jaar\",\n  },\n\n  xYears: {\n    one: \"1 jaar\",\n    other: \"{{count}} jaar\",\n  },\n\n  overXYears: {\n    one: \"meer dan 1 jaar\",\n    other: \"meer dan {{count}} jaar\",\n  },\n\n  almostXYears: {\n    one: \"bijna 1 jaar\",\n    other: \"bijna {{count}} jaar\",\n  },\n};\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\"{{count}}\", String(count));\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"over \" + result;\n    } else {\n      return result + \" geleden\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d MMMM y\",\n  long: \"d MMMM y\",\n  medium: \"d MMM y\",\n  short: \"dd-MM-y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'om' {{time}}\",\n  long: \"{{date}} 'om' {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'afgelopen' eeee 'om' p\",\n  yesterday: \"'gisteren om' p\",\n  today: \"'vandaag om' p\",\n  tomorrow: \"'morgen om' p\",\n  nextWeek: \"eeee 'om' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"v.C.\", \"n.C.\"],\n  abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n  wide: [\"voor Christus\", \"na Christus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"K1\", \"K2\", \"K3\", \"K4\"],\n  wide: [\"1e kwartaal\", \"2e kwartaal\", \"3e kwartaal\", \"4e kwartaal\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mrt.\",\n    \"apr.\",\n    \"mei\",\n    \"jun.\",\n    \"jul.\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januari\",\n    \"februari\",\n    \"maart\",\n    \"april\",\n    \"mei\",\n    \"juni\",\n    \"juli\",\n    \"augustus\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"Z\", \"M\", \"D\", \"W\", \"D\", \"V\", \"Z\"],\n  short: [\"zo\", \"ma\", \"di\", \"wo\", \"do\", \"vr\", \"za\"],\n  abbreviated: [\"zon\", \"maa\", \"din\", \"woe\", \"don\", \"vri\", \"zat\"],\n  wide: [\n    \"zondag\",\n    \"maandag\",\n    \"dinsdag\",\n    \"woensdag\",\n    \"donderdag\",\n    \"vrijdag\",\n    \"zaterdag\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"middernacht\",\n    noon: \"het middaguur\",\n    morning: \"'s ochtends\",\n    afternoon: \"'s middags\",\n    evening: \"'s avonds\",\n    night: \"'s nachts\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n  return number + \"e\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)e?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^([vn]\\.? ?C\\.?)/,\n  abbreviated: /^([vn]\\. ?Chr\\.?)/,\n  wide: /^((voor|na) Christus)/,\n};\nconst parseEraPatterns = {\n  any: [/^v/, /^n/],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^K[1234]/i,\n  wide: /^[1234]e kwartaal/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated: /^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,\n  wide: /^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^jan/i,\n    /^feb/i,\n    /^m(r|a)/i,\n    /^apr/i,\n    /^mei/i,\n    /^jun/i,\n    /^jul/i,\n    /^aug/i,\n    /^sep/i,\n    /^okt/i,\n    /^nov/i,\n    /^dec/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[zmdwv]/i,\n  short: /^(zo|ma|di|wo|do|vr|za)/i,\n  abbreviated: /^(zon|maa|din|woe|don|vri|zat)/i,\n  wide: /^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^z/i, /^m/i, /^d/i, /^w/i, /^d/i, /^v/i, /^z/i],\n  any: [/^zo/i, /^ma/i, /^di/i, /^wo/i, /^do/i, /^vr/i, /^za/i],\n};\n\nconst matchDayPeriodPatterns = {\n  any: /^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /^middernacht/i,\n    noon: /^het middaguur/i,\n    morning: /ochtend/i,\n    afternoon: /middag/i,\n    evening: /avond/i,\n    night: /nacht/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./nl/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./nl/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./nl/_lib/formatRelative.mjs\";\nimport { localize } from \"./nl/_lib/localize.mjs\";\nimport { match } from \"./nl/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Dutch locale.\n * @language Dutch\n * @iso-639-2 nld\n * @author Jorik Tangelder [@jtangelder](https://github.com/jtangelder)\n * @author Ruben Stolk [@rubenstolk](https://github.com/rubenstolk)\n * @author Lode Vanhove [@bitcrumb](https://github.com/bitcrumb)\n * @author Edo Rivai [@edorivai](https://github.com/edorivai)\n * @author Niels Keurentjes [@curry684](https://github.com/curry684)\n * @author Stefan Vermaas [@stefanvermaas](https://github.com/stefanvermaas)\n */\nexport const nl = {\n  code: \"nl\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default nl;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: {\n      regular: \"mniej niż sekunda\",\n      past: \"mniej niż sekundę\",\n      future: \"mniej niż sekundę\",\n    },\n    twoFour: \"mniej niż {{count}} sekundy\",\n    other: \"mniej niż {{count}} sekund\",\n  },\n\n  xSeconds: {\n    one: {\n      regular: \"sekunda\",\n      past: \"sekundę\",\n      future: \"sekundę\",\n    },\n    twoFour: \"{{count}} sekundy\",\n    other: \"{{count}} sekund\",\n  },\n\n  halfAMinute: {\n    one: \"pół minuty\",\n    twoFour: \"pół minuty\",\n    other: \"pół minuty\",\n  },\n\n  lessThanXMinutes: {\n    one: {\n      regular: \"mniej niż minuta\",\n      past: \"mniej niż minutę\",\n      future: \"mniej niż minutę\",\n    },\n    twoFour: \"mniej niż {{count}} minuty\",\n    other: \"mniej niż {{count}} minut\",\n  },\n\n  xMinutes: {\n    one: {\n      regular: \"minuta\",\n      past: \"minutę\",\n      future: \"minutę\",\n    },\n    twoFour: \"{{count}} minuty\",\n    other: \"{{count}} minut\",\n  },\n\n  aboutXHours: {\n    one: {\n      regular: \"około godziny\",\n      past: \"około godziny\",\n      future: \"około godzinę\",\n    },\n    twoFour: \"około {{count}} godziny\",\n    other: \"około {{count}} godzin\",\n  },\n\n  xHours: {\n    one: {\n      regular: \"godzina\",\n      past: \"godzinę\",\n      future: \"godzinę\",\n    },\n    twoFour: \"{{count}} godziny\",\n    other: \"{{count}} godzin\",\n  },\n\n  xDays: {\n    one: {\n      regular: \"dzień\",\n      past: \"dzień\",\n      future: \"1 dzień\",\n    },\n    twoFour: \"{{count}} dni\",\n    other: \"{{count}} dni\",\n  },\n\n  aboutXWeeks: {\n    one: \"około tygodnia\",\n    twoFour: \"około {{count}} tygodni\",\n    other: \"około {{count}} tygodni\",\n  },\n\n  xWeeks: {\n    one: \"tydzień\",\n    twoFour: \"{{count}} tygodnie\",\n    other: \"{{count}} tygodni\",\n  },\n\n  aboutXMonths: {\n    one: \"około miesiąc\",\n    twoFour: \"około {{count}} miesiące\",\n    other: \"około {{count}} miesięcy\",\n  },\n\n  xMonths: {\n    one: \"miesiąc\",\n    twoFour: \"{{count}} miesiące\",\n    other: \"{{count}} miesięcy\",\n  },\n\n  aboutXYears: {\n    one: \"około rok\",\n    twoFour: \"około {{count}} lata\",\n    other: \"około {{count}} lat\",\n  },\n\n  xYears: {\n    one: \"rok\",\n    twoFour: \"{{count}} lata\",\n    other: \"{{count}} lat\",\n  },\n\n  overXYears: {\n    one: \"ponad rok\",\n    twoFour: \"ponad {{count}} lata\",\n    other: \"ponad {{count}} lat\",\n  },\n\n  almostXYears: {\n    one: \"prawie rok\",\n    twoFour: \"prawie {{count}} lata\",\n    other: \"prawie {{count}} lat\",\n  },\n};\n\nfunction declensionGroup(scheme, count) {\n  if (count === 1) {\n    return scheme.one;\n  }\n\n  const rem100 = count % 100;\n\n  // ends with 11-20\n  if (rem100 <= 20 && rem100 > 10) {\n    return scheme.other;\n  }\n\n  const rem10 = rem100 % 10;\n\n  // ends with 2, 3, 4\n  if (rem10 >= 2 && rem10 <= 4) {\n    return scheme.twoFour;\n  }\n\n  return scheme.other;\n}\n\nfunction declension(scheme, count, time) {\n  const group = declensionGroup(scheme, count);\n  const finalText = typeof group === \"string\" ? group : group[time];\n  return finalText.replace(\"{{count}}\", String(count));\n}\n\nexport const formatDistance = (token, count, options) => {\n  const scheme = formatDistanceLocale[token];\n  if (!options?.addSuffix) {\n    return declension(scheme, count, \"regular\");\n  }\n\n  if (options.comparison && options.comparison > 0) {\n    return \"za \" + declension(scheme, count, \"future\");\n  } else {\n    return declension(scheme, count, \"past\") + \" temu\";\n  }\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE, do MMMM y\",\n  long: \"do MMMM y\",\n  medium: \"do MMM y\",\n  short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n  full: \"HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} {{time}}\",\n  long: \"{{date}} {{time}}\",\n  medium: \"{{date}}, {{time}}\",\n  short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.mjs\";\n\nconst adjectivesLastWeek = {\n  masculine: \"ostatni\",\n  feminine: \"ostatnia\",\n};\n\nconst adjectivesThisWeek = {\n  masculine: \"ten\",\n  feminine: \"ta\",\n};\n\nconst adjectivesNextWeek = {\n  masculine: \"następny\",\n  feminine: \"następna\",\n};\n\nconst dayGrammaticalGender = {\n  0: \"feminine\",\n  1: \"masculine\",\n  2: \"masculine\",\n  3: \"feminine\",\n  4: \"masculine\",\n  5: \"masculine\",\n  6: \"feminine\",\n};\n\nfunction dayAndTimeWithAdjective(token, date, baseDate, options) {\n  let adjectives;\n  if (isSameWeek(date, baseDate, options)) {\n    adjectives = adjectivesThisWeek;\n  } else if (token === \"lastWeek\") {\n    adjectives = adjectivesLastWeek;\n  } else if (token === \"nextWeek\") {\n    adjectives = adjectivesNextWeek;\n  } else {\n    throw new Error(`Cannot determine adjectives for token ${token}`);\n  }\n\n  const day = date.getDay();\n  const grammaticalGender = dayGrammaticalGender[day];\n\n  const adjective = adjectives[grammaticalGender];\n\n  return `'${adjective}' eeee 'o' p`;\n}\n\nconst formatRelativeLocale = {\n  lastWeek: dayAndTimeWithAdjective,\n  yesterday: \"'wczoraj o' p\",\n  today: \"'dzisiaj o' p\",\n  tomorrow: \"'jutro o' p\",\n  nextWeek: dayAndTimeWithAdjective,\n  other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n  const format = formatRelativeLocale[token];\n\n  if (typeof format === \"function\") {\n    return format(token, date, baseDate, options);\n  }\n\n  return format;\n};\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to check\n * @param dateRight - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n *   weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(dateLeft, dateRight, options) {\n  const dateLeftStartOfWeek = startOfWeek(dateLeft, options);\n  const dateRightStartOfWeek = startOfWeek(dateRight, options);\n\n  return +dateLeftStartOfWeek === +dateRightStartOfWeek;\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"p.n.e.\", \"n.e.\"],\n  abbreviated: [\"p.n.e.\", \"n.e.\"],\n  wide: [\"przed naszą erą\", \"naszej ery\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"I kw.\", \"II kw.\", \"III kw.\", \"IV kw.\"],\n  wide: [\"I kwartał\", \"II kwartał\", \"III kwartał\", \"IV kwartał\"],\n};\n\nconst monthValues = {\n  narrow: [\"S\", \"L\", \"M\", \"K\", \"M\", \"C\", \"L\", \"S\", \"W\", \"P\", \"L\", \"G\"],\n  abbreviated: [\n    \"sty\",\n    \"lut\",\n    \"mar\",\n    \"kwi\",\n    \"maj\",\n    \"cze\",\n    \"lip\",\n    \"sie\",\n    \"wrz\",\n    \"paź\",\n    \"lis\",\n    \"gru\",\n  ],\n\n  wide: [\n    \"styczeń\",\n    \"luty\",\n    \"marzec\",\n    \"kwiecień\",\n    \"maj\",\n    \"czerwiec\",\n    \"lipiec\",\n    \"sierpień\",\n    \"wrzesień\",\n    \"październik\",\n    \"listopad\",\n    \"grudzień\",\n  ],\n};\nconst monthFormattingValues = {\n  narrow: [\"s\", \"l\", \"m\", \"k\", \"m\", \"c\", \"l\", \"s\", \"w\", \"p\", \"l\", \"g\"],\n  abbreviated: [\n    \"sty\",\n    \"lut\",\n    \"mar\",\n    \"kwi\",\n    \"maj\",\n    \"cze\",\n    \"lip\",\n    \"sie\",\n    \"wrz\",\n    \"paź\",\n    \"lis\",\n    \"gru\",\n  ],\n\n  wide: [\n    \"stycznia\",\n    \"lutego\",\n    \"marca\",\n    \"kwietnia\",\n    \"maja\",\n    \"czerwca\",\n    \"lipca\",\n    \"sierpnia\",\n    \"września\",\n    \"października\",\n    \"listopada\",\n    \"grudnia\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"N\", \"P\", \"W\", \"Ś\", \"C\", \"P\", \"S\"],\n  short: [\"nie\", \"pon\", \"wto\", \"śro\", \"czw\", \"pią\", \"sob\"],\n  abbreviated: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\n  wide: [\n    \"niedziela\",\n    \"poniedziałek\",\n    \"wtorek\",\n    \"środa\",\n    \"czwartek\",\n    \"piątek\",\n    \"sobota\",\n  ],\n};\nconst dayFormattingValues = {\n  narrow: [\"n\", \"p\", \"w\", \"ś\", \"c\", \"p\", \"s\"],\n  short: [\"nie\", \"pon\", \"wto\", \"śro\", \"czw\", \"pią\", \"sob\"],\n  abbreviated: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\n  wide: [\n    \"niedziela\",\n    \"poniedziałek\",\n    \"wtorek\",\n    \"środa\",\n    \"czwartek\",\n    \"piątek\",\n    \"sobota\",\n  ],\n};\n\nconst dayPeriodValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"półn.\",\n    noon: \"poł\",\n    morning: \"rano\",\n    afternoon: \"popoł.\",\n    evening: \"wiecz.\",\n    night: \"noc\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"północ\",\n    noon: \"południe\",\n    morning: \"rano\",\n    afternoon: \"popołudnie\",\n    evening: \"wieczór\",\n    night: \"noc\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"północ\",\n    noon: \"południe\",\n    morning: \"rano\",\n    afternoon: \"popołudnie\",\n    evening: \"wieczór\",\n    night: \"noc\",\n  },\n};\n\nconst dayPeriodFormattingValues = {\n  narrow: {\n    am: \"a\",\n    pm: \"p\",\n    midnight: \"o półn.\",\n    noon: \"w poł.\",\n    morning: \"rano\",\n    afternoon: \"po poł.\",\n    evening: \"wiecz.\",\n    night: \"w nocy\",\n  },\n  abbreviated: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"o północy\",\n    noon: \"w południe\",\n    morning: \"rano\",\n    afternoon: \"po południu\",\n    evening: \"wieczorem\",\n    night: \"w nocy\",\n  },\n  wide: {\n    am: \"AM\",\n    pm: \"PM\",\n    midnight: \"o północy\",\n    noon: \"w południe\",\n    morning: \"rano\",\n    afternoon: \"po południu\",\n    evening: \"wieczorem\",\n    night: \"w nocy\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  return String(dirtyNumber);\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n    formattingValues: monthFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n    formattingValues: dayFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: dayPeriodFormattingValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  abbreviated: /^(p\\.?\\s*n\\.?\\s*e\\.?\\s*|n\\.?\\s*e\\.?\\s*)/i,\n  wide: /^(przed\\s*nasz(ą|a)\\s*er(ą|a)|naszej\\s*ery)/i,\n};\nconst parseEraPatterns = {\n  any: [/^p/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^(I|II|III|IV)\\s*kw\\.?/i,\n  wide: /^(I|II|III|IV)\\s*kwarta(ł|l)/i,\n};\nconst parseQuarterPatterns = {\n  narrow: [/1/i, /2/i, /3/i, /4/i],\n  any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[slmkcwpg]/i,\n  abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,\n  wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^s/i,\n    /^l/i,\n    /^m/i,\n    /^k/i,\n    /^m/i,\n    /^c/i,\n    /^l/i,\n    /^s/i,\n    /^w/i,\n    /^p/i,\n    /^l/i,\n    /^g/i,\n  ],\n\n  any: [\n    /^st/i,\n    /^lu/i,\n    /^mar/i,\n    /^k/i,\n    /^maj/i,\n    /^c/i,\n    /^lip/i,\n    /^si/i,\n    /^w/i,\n    /^p/i,\n    /^lis/i,\n    /^g/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[npwścs]/i,\n  short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,\n  abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\\.?/i,\n  wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i,\n};\nconst parseDayPatterns = {\n  narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i],\n  abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i],\n\n  any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i],\n};\n\nconst matchDayPeriodPatterns = {\n  narrow:\n    /^(^a$|^p$|pó(ł|l)n\\.?|o\\s*pó(ł|l)n\\.?|po(ł|l)\\.?|w\\s*po(ł|l)\\.?|po\\s*po(ł|l)\\.?|rano|wiecz\\.?|noc|w\\s*nocy)/i,\n  any: /^(am|pm|pó(ł|l)noc|o\\s*pó(ł|l)nocy|po(ł|l)udnie|w\\s*po(ł|l)udnie|popo(ł|l)udnie|po\\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\\s*nocy)/i,\n};\nconst parseDayPeriodPatterns = {\n  narrow: {\n    am: /^a$/i,\n    pm: /^p$/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i,\n  },\n  any: {\n    am: /^am/i,\n    pm: /^pm/i,\n    midnight: /pó(ł|l)n/i,\n    noon: /po(ł|l)/i,\n    morning: /rano/i,\n    afternoon: /po\\s*po(ł|l)/i,\n    evening: /wiecz/i,\n    night: /noc/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./pl/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./pl/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./pl/_lib/formatRelative.mjs\";\nimport { localize } from \"./pl/_lib/localize.mjs\";\nimport { match } from \"./pl/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Polish locale.\n * @language Polish\n * @iso-639-2 pol\n * @author Mateusz Derks [@ertrzyiks](https://github.com/ertrzyiks)\n * @author Just RAG [@justrag](https://github.com/justrag)\n * @author Mikolaj Grzyb [@mikolajgrzyb](https://github.com/mikolajgrzyb)\n * @author Mateusz Tokarski [@mutisz](https://github.com/mutisz)\n */\nexport const pl = {\n  code: \"pl\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default pl;\n","const formatDistanceLocale = {\n  lessThanXSeconds: {\n    one: \"mindre än en sekund\",\n    other: \"mindre än {{count}} sekunder\",\n  },\n\n  xSeconds: {\n    one: \"en sekund\",\n    other: \"{{count}} sekunder\",\n  },\n\n  halfAMinute: \"en halv minut\",\n\n  lessThanXMinutes: {\n    one: \"mindre än en minut\",\n    other: \"mindre än {{count}} minuter\",\n  },\n\n  xMinutes: {\n    one: \"en minut\",\n    other: \"{{count}} minuter\",\n  },\n\n  aboutXHours: {\n    one: \"ungefär en timme\",\n    other: \"ungefär {{count}} timmar\",\n  },\n\n  xHours: {\n    one: \"en timme\",\n    other: \"{{count}} timmar\",\n  },\n\n  xDays: {\n    one: \"en dag\",\n    other: \"{{count}} dagar\",\n  },\n\n  aboutXWeeks: {\n    one: \"ungefär en vecka\",\n    other: \"ungefär {{count}} veckor\",\n  },\n\n  xWeeks: {\n    one: \"en vecka\",\n    other: \"{{count}} veckor\",\n  },\n\n  aboutXMonths: {\n    one: \"ungefär en månad\",\n    other: \"ungefär {{count}} månader\",\n  },\n\n  xMonths: {\n    one: \"en månad\",\n    other: \"{{count}} månader\",\n  },\n\n  aboutXYears: {\n    one: \"ungefär ett år\",\n    other: \"ungefär {{count}} år\",\n  },\n\n  xYears: {\n    one: \"ett år\",\n    other: \"{{count}} år\",\n  },\n\n  overXYears: {\n    one: \"över ett år\",\n    other: \"över {{count}} år\",\n  },\n\n  almostXYears: {\n    one: \"nästan ett år\",\n    other: \"nästan {{count}} år\",\n  },\n};\n\nconst wordMapping = [\n  \"noll\",\n  \"en\",\n  \"två\",\n  \"tre\",\n  \"fyra\",\n  \"fem\",\n  \"sex\",\n  \"sju\",\n  \"åtta\",\n  \"nio\",\n  \"tio\",\n  \"elva\",\n  \"tolv\",\n];\n\nexport const formatDistance = (token, count, options) => {\n  let result;\n\n  const tokenValue = formatDistanceLocale[token];\n  if (typeof tokenValue === \"string\") {\n    result = tokenValue;\n  } else if (count === 1) {\n    result = tokenValue.one;\n  } else {\n    result = tokenValue.other.replace(\n      \"{{count}}\",\n      count < 13 ? wordMapping[count] : String(count),\n    );\n  }\n\n  if (options?.addSuffix) {\n    if (options.comparison && options.comparison > 0) {\n      return \"om \" + result;\n    } else {\n      return result + \" sedan\";\n    }\n  }\n\n  return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n  full: \"EEEE d MMMM y\",\n  long: \"d MMMM y\",\n  medium: \"d MMM y\",\n  short: \"y-MM-dd\",\n};\n\nconst timeFormats = {\n  full: \"'kl'. HH:mm:ss zzzz\",\n  long: \"HH:mm:ss z\",\n  medium: \"HH:mm:ss\",\n  short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n  full: \"{{date}} 'kl.' {{time}}\",\n  long: \"{{date}} 'kl.' {{time}}\",\n  medium: \"{{date}} {{time}}\",\n  short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n  date: buildFormatLongFn({\n    formats: dateFormats,\n    defaultWidth: \"full\",\n  }),\n\n  time: buildFormatLongFn({\n    formats: timeFormats,\n    defaultWidth: \"full\",\n  }),\n\n  dateTime: buildFormatLongFn({\n    formats: dateTimeFormats,\n    defaultWidth: \"full\",\n  }),\n};\n","const formatRelativeLocale = {\n  lastWeek: \"'i' EEEE's kl.' p\",\n  yesterday: \"'igår kl.' p\",\n  today: \"'idag kl.' p\",\n  tomorrow: \"'imorgon kl.' p\",\n  nextWeek: \"EEEE 'kl.' p\",\n  other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n  formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n  narrow: [\"f.Kr.\", \"e.Kr.\"],\n  abbreviated: [\"f.Kr.\", \"e.Kr.\"],\n  wide: [\"före Kristus\", \"efter Kristus\"],\n};\n\nconst quarterValues = {\n  narrow: [\"1\", \"2\", \"3\", \"4\"],\n  abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n  wide: [\"1:a kvartalet\", \"2:a kvartalet\", \"3:e kvartalet\", \"4:e kvartalet\"],\n};\n\nconst monthValues = {\n  narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n  abbreviated: [\n    \"jan.\",\n    \"feb.\",\n    \"mars\",\n    \"apr.\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"aug.\",\n    \"sep.\",\n    \"okt.\",\n    \"nov.\",\n    \"dec.\",\n  ],\n\n  wide: [\n    \"januari\",\n    \"februari\",\n    \"mars\",\n    \"april\",\n    \"maj\",\n    \"juni\",\n    \"juli\",\n    \"augusti\",\n    \"september\",\n    \"oktober\",\n    \"november\",\n    \"december\",\n  ],\n};\n\nconst dayValues = {\n  narrow: [\"S\", \"M\", \"T\", \"O\", \"T\", \"F\", \"L\"],\n  short: [\"sö\", \"må\", \"ti\", \"on\", \"to\", \"fr\", \"lö\"],\n  abbreviated: [\"sön\", \"mån\", \"tis\", \"ons\", \"tors\", \"fre\", \"lör\"],\n  wide: [\"söndag\", \"måndag\", \"tisdag\", \"onsdag\", \"torsdag\", \"fredag\", \"lördag\"],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/sv.html#1888\nconst dayPeriodValues = {\n  narrow: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morg.\",\n    afternoon: \"efterm.\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n  abbreviated: {\n    am: \"f.m.\",\n    pm: \"e.m.\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morgon\",\n    afternoon: \"efterm.\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n  wide: {\n    am: \"förmiddag\",\n    pm: \"eftermiddag\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"morgon\",\n    afternoon: \"eftermiddag\",\n    evening: \"kväll\",\n    night: \"natt\",\n  },\n};\n\nconst formattingDayPeriodValues = {\n  narrow: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på efterm.\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n  abbreviated: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morg.\",\n    afternoon: \"på efterm.\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n  wide: {\n    am: \"fm\",\n    pm: \"em\",\n    midnight: \"midnatt\",\n    noon: \"middag\",\n    morning: \"på morgonen\",\n    afternoon: \"på eftermiddagen\",\n    evening: \"på kvällen\",\n    night: \"på natten\",\n  },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n  const number = Number(dirtyNumber);\n\n  const rem100 = number % 100;\n  if (rem100 > 20 || rem100 < 10) {\n    switch (rem100 % 10) {\n      case 1:\n      case 2:\n        return number + \":a\";\n    }\n  }\n  return number + \":e\";\n};\n\nexport const localize = {\n  ordinalNumber,\n\n  era: buildLocalizeFn({\n    values: eraValues,\n    defaultWidth: \"wide\",\n  }),\n\n  quarter: buildLocalizeFn({\n    values: quarterValues,\n    defaultWidth: \"wide\",\n    argumentCallback: (quarter) => quarter - 1,\n  }),\n\n  month: buildLocalizeFn({\n    values: monthValues,\n    defaultWidth: \"wide\",\n  }),\n\n  day: buildLocalizeFn({\n    values: dayValues,\n    defaultWidth: \"wide\",\n  }),\n\n  dayPeriod: buildLocalizeFn({\n    values: dayPeriodValues,\n    defaultWidth: \"wide\",\n    formattingValues: formattingDayPeriodValues,\n    defaultFormattingWidth: \"wide\",\n  }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(:a|:e)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n  narrow: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  abbreviated: /^(f\\.? ?Kr\\.?|f\\.? ?v\\.? ?t\\.?|e\\.? ?Kr\\.?|v\\.? ?t\\.?)/i,\n  wide: /^(före Kristus|före vår tid|efter Kristus|vår tid)/i,\n};\nconst parseEraPatterns = {\n  any: [/^f/i, /^[ev]/i],\n};\n\nconst matchQuarterPatterns = {\n  narrow: /^[1234]/i,\n  abbreviated: /^q[1234]/i,\n  wide: /^[1234](:a|:e)? kvartalet/i,\n};\nconst parseQuarterPatterns = {\n  any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n  narrow: /^[jfmasond]/i,\n  abbreviated:\n    /^(jan|feb|mar[s]?|apr|maj|jun[i]?|jul[i]?|aug|sep|okt|nov|dec)\\.?/i,\n  wide: /^(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/i,\n};\nconst parseMonthPatterns = {\n  narrow: [\n    /^j/i,\n    /^f/i,\n    /^m/i,\n    /^a/i,\n    /^m/i,\n    /^j/i,\n    /^j/i,\n    /^a/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n\n  any: [\n    /^ja/i,\n    /^f/i,\n    /^mar/i,\n    /^ap/i,\n    /^maj/i,\n    /^jun/i,\n    /^jul/i,\n    /^au/i,\n    /^s/i,\n    /^o/i,\n    /^n/i,\n    /^d/i,\n  ],\n};\n\nconst matchDayPatterns = {\n  narrow: /^[smtofl]/i,\n  short: /^(sö|må|ti|on|to|fr|lö)/i,\n  abbreviated: /^(sön|mån|tis|ons|tors|fre|lör)/i,\n  wide: /^(söndag|måndag|tisdag|onsdag|torsdag|fredag|lördag)/i,\n};\nconst parseDayPatterns = {\n  any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i],\n};\n\nconst matchDayPeriodPatterns = {\n  any: /^([fe]\\.?\\s?m\\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i,\n};\nconst parseDayPeriodPatterns = {\n  any: {\n    am: /^f/i,\n    pm: /^e/i,\n    midnight: /^midn/i,\n    noon: /^midd/i,\n    morning: /morgon/i,\n    afternoon: /eftermiddag/i,\n    evening: /kväll/i,\n    night: /natt/i,\n  },\n};\n\nexport const match = {\n  ordinalNumber: buildMatchPatternFn({\n    matchPattern: matchOrdinalNumberPattern,\n    parsePattern: parseOrdinalNumberPattern,\n    valueCallback: (value) => parseInt(value, 10),\n  }),\n\n  era: buildMatchFn({\n    matchPatterns: matchEraPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseEraPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  quarter: buildMatchFn({\n    matchPatterns: matchQuarterPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseQuarterPatterns,\n    defaultParseWidth: \"any\",\n    valueCallback: (index) => index + 1,\n  }),\n\n  month: buildMatchFn({\n    matchPatterns: matchMonthPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseMonthPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  day: buildMatchFn({\n    matchPatterns: matchDayPatterns,\n    defaultMatchWidth: \"wide\",\n    parsePatterns: parseDayPatterns,\n    defaultParseWidth: \"any\",\n  }),\n\n  dayPeriod: buildMatchFn({\n    matchPatterns: matchDayPeriodPatterns,\n    defaultMatchWidth: \"any\",\n    parsePatterns: parseDayPeriodPatterns,\n    defaultParseWidth: \"any\",\n  }),\n};\n","import { formatDistance } from \"./sv/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./sv/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./sv/_lib/formatRelative.mjs\";\nimport { localize } from \"./sv/_lib/localize.mjs\";\nimport { match } from \"./sv/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Swedish locale.\n * @language Swedish\n * @iso-639-2 swe\n * @author Johannes Ulén [@ejulen](https://github.com/ejulen)\n * @author Alexander Nanberg [@alexandernanberg](https://github.com/alexandernanberg)\n * @author Henrik Andersson [@limelights](https://github.com/limelights)\n */\nexport const sv = {\n  code: \"sv\",\n  formatDistance: formatDistance,\n  formatLong: formatLong,\n  formatRelative: formatRelative,\n  localize: localize,\n  match: match,\n  options: {\n    weekStartsOn: 1 /* Monday */,\n    firstWeekContainsDate: 4,\n  },\n};\n\n// Fallback for modularized imports:\nexport default sv;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n  const _date = toDate(date);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n  const defaultOptions = getDefaultOptions();\n  const weekStartsOn =\n    options?.weekStartsOn ??\n    options?.locale?.options?.weekStartsOn ??\n    defaultOptions.weekStartsOn ??\n    defaultOptions.locale?.options?.weekStartsOn ??\n    0;\n\n  const _date = toDate(date);\n  const day = _date.getDay();\n  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n  _date.setDate(_date.getDate() - diff);\n  _date.setHours(0, 0, 0, 0);\n  return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n  const argStr = Object.prototype.toString.call(argument);\n\n  // Clone the date\n  if (\n    argument instanceof Date ||\n    (typeof argument === \"object\" && argStr === \"[object Date]\")\n  ) {\n    // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n    return new argument.constructor(+argument);\n  } else if (\n    typeof argument === \"number\" ||\n    argStr === \"[object Number]\" ||\n    typeof argument === \"string\" ||\n    argStr === \"[object String]\"\n  ) {\n    // TODO: Can we get rid of as?\n    return new Date(argument);\n  } else {\n    // TODO: Can we get rid of as?\n    return new Date(NaN);\n  }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import * as React from 'react';\n\n/**\n * Taken from https://github.com/radix-ui/primitives/blob/main/packages/react/compose-refs/src/compose-refs.tsx\n */\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef(ref, value) {\n    if (typeof ref === \"function\") {\n        return ref(value);\n    }\n    else if (ref !== null && ref !== undefined) {\n        ref.current = value;\n    }\n}\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs(...refs) {\n    return (node) => {\n        let hasCleanup = false;\n        const cleanups = refs.map((ref) => {\n            const cleanup = setRef(ref, node);\n            if (!hasCleanup && typeof cleanup === \"function\") {\n                hasCleanup = true;\n            }\n            return cleanup;\n        });\n        // React <19 will log an error to the console if a callback ref returns a\n        // value. We don't use ref cleanups internally so this will only happen if a\n        // user's ref callback returns a value, which we only expect if they are\n        // using the cleanup functionality added in React 19.\n        if (hasCleanup) {\n            return () => {\n                for (let i = 0; i < cleanups.length; i++) {\n                    const cleanup = cleanups[i];\n                    if (typeof cleanup === \"function\") {\n                        cleanup();\n                    }\n                    else {\n                        setRef(refs[i], null);\n                    }\n                }\n            };\n        }\n    };\n}\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs(...refs) {\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { useComposedRefs };\n//# sourceMappingURL=use-composed-ref.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { isHTMLElement } from 'motion-dom';\nimport * as React from 'react';\nimport { useId, useRef, useContext, useInsertionEffect } from 'react';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { useComposedRefs } from '../../utils/use-composed-ref.mjs';\n\n/**\n * Measurement functionality has to be within a separate component\n * to leverage snapshot lifecycle.\n */\nclass PopChildMeasure extends React.Component {\n    getSnapshotBeforeUpdate(prevProps) {\n        const element = this.props.childRef.current;\n        if (element && prevProps.isPresent && !this.props.isPresent && this.props.pop !== false) {\n            const parent = element.offsetParent;\n            const parentWidth = isHTMLElement(parent)\n                ? parent.offsetWidth || 0\n                : 0;\n            const parentHeight = isHTMLElement(parent)\n                ? parent.offsetHeight || 0\n                : 0;\n            const size = this.props.sizeRef.current;\n            size.height = element.offsetHeight || 0;\n            size.width = element.offsetWidth || 0;\n            size.top = element.offsetTop;\n            size.left = element.offsetLeft;\n            size.right = parentWidth - size.width - size.left;\n            size.bottom = parentHeight - size.height - size.top;\n        }\n        return null;\n    }\n    /**\n     * Required with getSnapshotBeforeUpdate to stop React complaining.\n     */\n    componentDidUpdate() { }\n    render() {\n        return this.props.children;\n    }\n}\nfunction PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {\n    const id = useId();\n    const ref = useRef(null);\n    const size = useRef({\n        width: 0,\n        height: 0,\n        top: 0,\n        left: 0,\n        right: 0,\n        bottom: 0,\n    });\n    const { nonce } = useContext(MotionConfigContext);\n    /**\n     * In React 19, refs are passed via props.ref instead of element.ref.\n     * We check props.ref first (React 19) and fall back to element.ref (React 18).\n     */\n    const childRef = children.props?.ref ??\n        children?.ref;\n    const composedRef = useComposedRefs(ref, childRef);\n    /**\n     * We create and inject a style block so we can apply this explicit\n     * sizing in a non-destructive manner by just deleting the style block.\n     *\n     * We can't apply size via render as the measurement happens\n     * in getSnapshotBeforeUpdate (post-render), likewise if we apply the\n     * styles directly on the DOM node, we might be overwriting\n     * styles set via the style prop.\n     */\n    useInsertionEffect(() => {\n        const { width, height, top, left, right, bottom } = size.current;\n        if (isPresent || pop === false || !ref.current || !width || !height)\n            return;\n        const x = anchorX === \"left\" ? `left: ${left}` : `right: ${right}`;\n        const y = anchorY === \"bottom\" ? `bottom: ${bottom}` : `top: ${top}`;\n        ref.current.dataset.motionPopId = id;\n        const style = document.createElement(\"style\");\n        if (nonce)\n            style.nonce = nonce;\n        const parent = root ?? document.head;\n        parent.appendChild(style);\n        if (style.sheet) {\n            style.sheet.insertRule(`\n          [data-motion-pop-id=\"${id}\"] {\n            position: absolute !important;\n            width: ${width}px !important;\n            height: ${height}px !important;\n            ${x}px !important;\n            ${y}px !important;\n          }\n        `);\n        }\n        return () => {\n            if (parent.contains(style)) {\n                parent.removeChild(style);\n            }\n        };\n    }, [isPresent]);\n    return (jsx(PopChildMeasure, { isPresent: isPresent, childRef: ref, sizeRef: size, pop: pop, children: pop === false\n            ? children\n            : React.cloneElement(children, { ref: composedRef }) }));\n}\n\nexport { PopChild };\n//# sourceMappingURL=PopChild.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { useId, useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { PopChild } from './PopChild.mjs';\n\nconst PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {\n    const presenceChildren = useConstant(newChildrenMap);\n    const id = useId();\n    let isReusedContext = true;\n    let context = useMemo(() => {\n        isReusedContext = false;\n        return {\n            id,\n            initial,\n            isPresent,\n            custom,\n            onExitComplete: (childId) => {\n                presenceChildren.set(childId, true);\n                for (const isComplete of presenceChildren.values()) {\n                    if (!isComplete)\n                        return; // can stop searching when any is incomplete\n                }\n                onExitComplete && onExitComplete();\n            },\n            register: (childId) => {\n                presenceChildren.set(childId, false);\n                return () => presenceChildren.delete(childId);\n            },\n        };\n    }, [isPresent, presenceChildren, onExitComplete]);\n    /**\n     * If the presence of a child affects the layout of the components around it,\n     * we want to make a new context value to ensure they get re-rendered\n     * so they can detect that layout change.\n     */\n    if (presenceAffectsLayout && isReusedContext) {\n        context = { ...context };\n    }\n    useMemo(() => {\n        presenceChildren.forEach((_, key) => presenceChildren.set(key, false));\n    }, [isPresent]);\n    /**\n     * If there's no `motion` components to fire exit animations, we want to remove this\n     * component immediately.\n     */\n    React.useEffect(() => {\n        !isPresent &&\n            !presenceChildren.size &&\n            onExitComplete &&\n            onExitComplete();\n    }, [isPresent]);\n    children = (jsx(PopChild, { pop: mode === \"popLayout\", isPresent: isPresent, anchorX: anchorX, anchorY: anchorY, root: root, children: children }));\n    return (jsx(PresenceContext.Provider, { value: context, children: children }));\n};\nfunction newChildrenMap() {\n    return new Map();\n}\n\nexport { PresenceChild };\n//# sourceMappingURL=PresenceChild.mjs.map\n","import { Children, isValidElement } from 'react';\n\nconst getChildKey = (child) => child.key || \"\";\nfunction onlyElements(children) {\n    const filtered = [];\n    // We use forEach here instead of map as map mutates the component key by preprending `.$`\n    Children.forEach(children, (child) => {\n        if (isValidElement(child))\n            filtered.push(child);\n    });\n    return filtered;\n}\n\nexport { getChildKey, onlyElements };\n//# sourceMappingURL=utils.mjs.map\n","\"use client\";\nimport { jsx, Fragment } from 'react/jsx-runtime';\nimport { useMemo, useRef, useState, useContext } from 'react';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { PresenceChild } from './PresenceChild.mjs';\nimport { usePresence } from './use-presence.mjs';\nimport { onlyElements, getChildKey } from './utils.mjs';\n\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n *   <AnimatePresence>\n *     {items.map(item => (\n *       <motion.div\n *         key={item.id}\n *         initial={{ opacity: 0 }}\n *         animate={{ opacity: 1 }}\n *         exit={{ opacity: 0 }}\n *       />\n *     ))}\n *   </AnimatePresence>\n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nconst AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = \"sync\", propagate = false, anchorX = \"left\", anchorY = \"top\", root }) => {\n    const [isParentPresent, safeToRemove] = usePresence(propagate);\n    /**\n     * Filter any children that aren't ReactElements. We can only track components\n     * between renders with a props.key.\n     */\n    const presentChildren = useMemo(() => onlyElements(children), [children]);\n    /**\n     * Track the keys of the currently rendered children. This is used to\n     * determine which children are exiting.\n     */\n    const presentKeys = propagate && !isParentPresent ? [] : presentChildren.map(getChildKey);\n    /**\n     * If `initial={false}` we only want to pass this to components in the first render.\n     */\n    const isInitialRender = useRef(true);\n    /**\n     * A ref containing the currently present children. When all exit animations\n     * are complete, we use this to re-render the component with the latest children\n     * *committed* rather than the latest children *rendered*.\n     */\n    const pendingPresentChildren = useRef(presentChildren);\n    /**\n     * Track which exiting children have finished animating out.\n     */\n    const exitComplete = useConstant(() => new Map());\n    /**\n     * Track which components are currently processing exit to prevent duplicate processing.\n     */\n    const exitingComponents = useRef(new Set());\n    /**\n     * Save children to render as React state. To ensure this component is concurrent-safe,\n     * we check for exiting children via an effect.\n     */\n    const [diffedChildren, setDiffedChildren] = useState(presentChildren);\n    const [renderedChildren, setRenderedChildren] = useState(presentChildren);\n    useIsomorphicLayoutEffect(() => {\n        isInitialRender.current = false;\n        pendingPresentChildren.current = presentChildren;\n        /**\n         * Update complete status of exiting children.\n         */\n        for (let i = 0; i < renderedChildren.length; i++) {\n            const key = getChildKey(renderedChildren[i]);\n            if (!presentKeys.includes(key)) {\n                if (exitComplete.get(key) !== true) {\n                    exitComplete.set(key, false);\n                }\n            }\n            else {\n                exitComplete.delete(key);\n                exitingComponents.current.delete(key);\n            }\n        }\n    }, [renderedChildren, presentKeys.length, presentKeys.join(\"-\")]);\n    const exitingChildren = [];\n    if (presentChildren !== diffedChildren) {\n        let nextChildren = [...presentChildren];\n        /**\n         * Loop through all the currently rendered components and decide which\n         * are exiting.\n         */\n        for (let i = 0; i < renderedChildren.length; i++) {\n            const child = renderedChildren[i];\n            const key = getChildKey(child);\n            if (!presentKeys.includes(key)) {\n                nextChildren.splice(i, 0, child);\n                exitingChildren.push(child);\n            }\n        }\n        /**\n         * If we're in \"wait\" mode, and we have exiting children, we want to\n         * only render these until they've all exited.\n         */\n        if (mode === \"wait\" && exitingChildren.length) {\n            nextChildren = exitingChildren;\n        }\n        setRenderedChildren(onlyElements(nextChildren));\n        setDiffedChildren(presentChildren);\n        /**\n         * Early return to ensure once we've set state with the latest diffed\n         * children, we can immediately re-render.\n         */\n        return null;\n    }\n    if (process.env.NODE_ENV !== \"production\" &&\n        mode === \"wait\" &&\n        renderedChildren.length > 1) {\n        console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`);\n    }\n    /**\n     * If we've been provided a forceRender function by the LayoutGroupContext,\n     * we can use it to force a re-render amongst all surrounding components once\n     * all components have finished animating out.\n     */\n    const { forceRender } = useContext(LayoutGroupContext);\n    return (jsx(Fragment, { children: renderedChildren.map((child) => {\n            const key = getChildKey(child);\n            const isPresent = propagate && !isParentPresent\n                ? false\n                : presentChildren === renderedChildren ||\n                    presentKeys.includes(key);\n            const onExit = () => {\n                if (exitingComponents.current.has(key)) {\n                    return;\n                }\n                exitingComponents.current.add(key);\n                if (exitComplete.has(key)) {\n                    exitComplete.set(key, true);\n                }\n                else {\n                    return;\n                }\n                let isEveryExitComplete = true;\n                exitComplete.forEach((isExitComplete) => {\n                    if (!isExitComplete)\n                        isEveryExitComplete = false;\n                });\n                if (isEveryExitComplete) {\n                    forceRender?.();\n                    setRenderedChildren(pendingPresentChildren.current);\n                    propagate && safeToRemove?.();\n                    onExitComplete && onExitComplete();\n                }\n            };\n            return (jsx(PresenceChild, { isPresent: isPresent, initial: !isInitialRender.current || initial\n                    ? undefined\n                    : false, custom: custom, presenceAffectsLayout: presenceAffectsLayout, mode: mode, root: root, onExitComplete: isPresent ? undefined : onExit, anchorX: anchorX, anchorY: anchorY, children: child }, key));\n        }) }));\n};\n\nexport { AnimatePresence };\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nimport { useContext, useId, useEffect, useCallback } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const [isPresent, safeToRemove] = usePresence()\n *\n *   useEffect(() => {\n *     !isPresent && setTimeout(safeToRemove, 1000)\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed from the tree,\n * but `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence(subscribe = true) {\n    const context = useContext(PresenceContext);\n    if (context === null)\n        return [true, null];\n    const { isPresent, onExitComplete, register } = context;\n    // It's safe to call the following hooks conditionally (after an early return) because the context will always\n    // either be null or non-null for the lifespan of the component.\n    const id = useId();\n    useEffect(() => {\n        if (subscribe) {\n            return register(id);\n        }\n    }, [subscribe]);\n    const safeToRemove = useCallback(() => subscribe && onExitComplete && onExitComplete(id), [id, onExitComplete, subscribe]);\n    return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n *   const isPresent = useIsPresent()\n *\n *   useEffect(() => {\n *     !isPresent && console.log(\"I've been removed!\")\n *   }, [isPresent])\n *\n *   return <div />\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n    return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n    return context === null ? true : context.isPresent;\n}\n\nexport { isPresent, useIsPresent, usePresence };\n//# sourceMappingURL=use-presence.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LayoutGroupContext = createContext({});\n\nexport { LayoutGroupContext };\n//# sourceMappingURL=LayoutGroupContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n//# sourceMappingURL=LazyContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst MotionConfigContext = createContext({\n    transformPagePoint: (p) => p,\n    isStatic: false,\n    reducedMotion: \"never\",\n});\n\nexport { MotionConfigContext };\n//# sourceMappingURL=MotionConfigContext.mjs.map\n","\"use client\";\nimport { useContext, useMemo } from 'react';\nimport { MotionContext } from './index.mjs';\nimport { getCurrentTreeVariants } from './utils.mjs';\n\nfunction useCreateMotionContext(props) {\n    const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));\n    return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);\n}\nfunction variantLabelsAsDependency(prop) {\n    return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n//# sourceMappingURL=create.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\nconst MotionContext = /* @__PURE__ */ createContext({});\n\nexport { MotionContext };\n//# sourceMappingURL=index.mjs.map\n","import { isControllingVariants, isVariantLabel } from 'motion-dom';\n\nfunction getCurrentTreeVariants(props, context) {\n    if (isControllingVariants(props)) {\n        const { initial, animate } = props;\n        return {\n            initial: initial === false || isVariantLabel(initial)\n                ? initial\n                : undefined,\n            animate: isVariantLabel(animate) ? animate : undefined,\n        };\n    }\n    return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n//# sourceMappingURL=utils.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * @public\n */\nconst PresenceContext = \n/* @__PURE__ */ createContext(null);\n\nexport { PresenceContext };\n//# sourceMappingURL=PresenceContext.mjs.map\n","\"use client\";\nimport { createContext } from 'react';\n\n/**\n * Internal, exported only for usage in Framer\n */\nconst SwitchLayoutGroupContext = createContext({});\n\nexport { SwitchLayoutGroupContext };\n//# sourceMappingURL=SwitchLayoutGroupContext.mjs.map\n","import { addDomEvent } from 'motion-dom';\nimport { addPointerInfo } from './event-info.mjs';\n\nfunction addPointerEvent(target, eventName, handler, options) {\n    return addDomEvent(target, eventName, addPointerInfo(handler), options);\n}\n\nexport { addPointerEvent };\n//# sourceMappingURL=add-pointer-event.mjs.map\n","import { isPrimaryPointer } from 'motion-dom';\n\nfunction extractEventInfo(event) {\n    return {\n        point: {\n            x: event.pageX,\n            y: event.pageY,\n        },\n    };\n}\nconst addPointerInfo = (handler) => {\n    return (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));\n};\n\nexport { addPointerInfo, extractEventInfo };\n//# sourceMappingURL=event-info.mjs.map\n","import { createBox, frame, eachAxis, measurePageBox, convertBoxToBoundingBox, convertBoundingBoxToBox, addValueToWillChange, animateMotionValue, mixNumber, isElementTextInput, addDomEvent, setDragLock, percent, calcLength, resize } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { PanSession } from '../pan/PanSession.mjs';\nimport { applyConstraints, calcRelativeConstraints, resolveDragElastic, rebaseAxisConstraints, calcViewportConstraints, calcOrigin, defaultElastic } from './utils/constraints.mjs';\n\nconst elementDragControls = new WeakMap();\nclass VisualElementDragControls {\n    constructor(visualElement) {\n        this.openDragLock = null;\n        this.isDragging = false;\n        this.currentDirection = null;\n        this.originPoint = { x: 0, y: 0 };\n        /**\n         * The permitted boundaries of travel, in pixels.\n         */\n        this.constraints = false;\n        this.hasMutatedConstraints = false;\n        /**\n         * The per-axis resolved elastic values.\n         */\n        this.elastic = createBox();\n        /**\n         * The latest pointer event. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n         */\n        this.latestPointerEvent = null;\n        /**\n         * The latest pan info. Used as fallback when the `cancel` and `stop` functions are called without arguments.\n         */\n        this.latestPanInfo = null;\n        this.visualElement = visualElement;\n    }\n    start(originEvent, { snapToCursor = false, distanceThreshold } = {}) {\n        /**\n         * Don't start dragging if this component is exiting\n         */\n        const { presenceContext } = this.visualElement;\n        if (presenceContext && presenceContext.isPresent === false)\n            return;\n        const onSessionStart = (event) => {\n            if (snapToCursor) {\n                this.snapToCursor(extractEventInfo(event).point);\n            }\n            this.stopAnimation();\n        };\n        const onStart = (event, info) => {\n            // Attempt to grab the global drag gesture lock - maybe make this part of PanSession\n            const { drag, dragPropagation, onDragStart } = this.getProps();\n            if (drag && !dragPropagation) {\n                if (this.openDragLock)\n                    this.openDragLock();\n                this.openDragLock = setDragLock(drag);\n                // If we don 't have the lock, don't start dragging\n                if (!this.openDragLock)\n                    return;\n            }\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            this.isDragging = true;\n            this.currentDirection = null;\n            this.resolveConstraints();\n            if (this.visualElement.projection) {\n                this.visualElement.projection.isAnimationBlocked = true;\n                this.visualElement.projection.target = undefined;\n            }\n            /**\n             * Record gesture origin and pointer offset\n             */\n            eachAxis((axis) => {\n                let current = this.getAxisMotionValue(axis).get() || 0;\n                /**\n                 * If the MotionValue is a percentage value convert to px\n                 */\n                if (percent.test(current)) {\n                    const { projection } = this.visualElement;\n                    if (projection && projection.layout) {\n                        const measuredAxis = projection.layout.layoutBox[axis];\n                        if (measuredAxis) {\n                            const length = calcLength(measuredAxis);\n                            current = length * (parseFloat(current) / 100);\n                        }\n                    }\n                }\n                this.originPoint[axis] = current;\n            });\n            // Fire onDragStart event\n            if (onDragStart) {\n                frame.update(() => onDragStart(event, info), false, true);\n            }\n            addValueToWillChange(this.visualElement, \"transform\");\n            const { animationState } = this.visualElement;\n            animationState && animationState.setActive(\"whileDrag\", true);\n        };\n        const onMove = (event, info) => {\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            const { dragPropagation, dragDirectionLock, onDirectionLock, onDrag, } = this.getProps();\n            // If we didn't successfully receive the gesture lock, early return.\n            if (!dragPropagation && !this.openDragLock)\n                return;\n            const { offset } = info;\n            // Attempt to detect drag direction if directionLock is true\n            if (dragDirectionLock && this.currentDirection === null) {\n                this.currentDirection = getCurrentDirection(offset);\n                // If we've successfully set a direction, notify listener\n                if (this.currentDirection !== null) {\n                    onDirectionLock && onDirectionLock(this.currentDirection);\n                }\n                return;\n            }\n            // Update each point with the latest position\n            this.updateAxis(\"x\", info.point, offset);\n            this.updateAxis(\"y\", info.point, offset);\n            /**\n             * Ideally we would leave the renderer to fire naturally at the end of\n             * this frame but if the element is about to change layout as the result\n             * of a re-render we want to ensure the browser can read the latest\n             * bounding box to ensure the pointer and element don't fall out of sync.\n             */\n            this.visualElement.render();\n            /**\n             * This must fire after the render call as it might trigger a state\n             * change which itself might trigger a layout update.\n             */\n            if (onDrag) {\n                frame.update(() => onDrag(event, info), false, true);\n            }\n        };\n        const onSessionEnd = (event, info) => {\n            this.latestPointerEvent = event;\n            this.latestPanInfo = info;\n            this.stop(event, info);\n            this.latestPointerEvent = null;\n            this.latestPanInfo = null;\n        };\n        const resumeAnimation = () => {\n            const { dragSnapToOrigin: snap } = this.getProps();\n            if (snap || this.constraints) {\n                this.startAnimation({ x: 0, y: 0 });\n            }\n        };\n        const { dragSnapToOrigin } = this.getProps();\n        this.panSession = new PanSession(originEvent, {\n            onSessionStart,\n            onStart,\n            onMove,\n            onSessionEnd,\n            resumeAnimation,\n        }, {\n            transformPagePoint: this.visualElement.getTransformPagePoint(),\n            dragSnapToOrigin,\n            distanceThreshold,\n            contextWindow: getContextWindow(this.visualElement),\n            element: this.visualElement.current,\n        });\n    }\n    /**\n     * @internal\n     */\n    stop(event, panInfo) {\n        const finalEvent = event || this.latestPointerEvent;\n        const finalPanInfo = panInfo || this.latestPanInfo;\n        const isDragging = this.isDragging;\n        this.cancel();\n        if (!isDragging || !finalPanInfo || !finalEvent)\n            return;\n        const { velocity } = finalPanInfo;\n        this.startAnimation(velocity);\n        const { onDragEnd } = this.getProps();\n        if (onDragEnd) {\n            frame.postRender(() => onDragEnd(finalEvent, finalPanInfo));\n        }\n    }\n    /**\n     * @internal\n     */\n    cancel() {\n        this.isDragging = false;\n        const { projection, animationState } = this.visualElement;\n        if (projection) {\n            projection.isAnimationBlocked = false;\n        }\n        this.endPanSession();\n        const { dragPropagation } = this.getProps();\n        if (!dragPropagation && this.openDragLock) {\n            this.openDragLock();\n            this.openDragLock = null;\n        }\n        animationState && animationState.setActive(\"whileDrag\", false);\n    }\n    /**\n     * Clean up the pan session without modifying other drag state.\n     * This is used during unmount to ensure event listeners are removed\n     * without affecting projection animations or drag locks.\n     * @internal\n     */\n    endPanSession() {\n        this.panSession && this.panSession.end();\n        this.panSession = undefined;\n    }\n    updateAxis(axis, _point, offset) {\n        const { drag } = this.getProps();\n        // If we're not dragging this axis, do an early return.\n        if (!offset || !shouldDrag(axis, drag, this.currentDirection))\n            return;\n        const axisValue = this.getAxisMotionValue(axis);\n        let next = this.originPoint[axis] + offset[axis];\n        // Apply constraints\n        if (this.constraints && this.constraints[axis]) {\n            next = applyConstraints(next, this.constraints[axis], this.elastic[axis]);\n        }\n        axisValue.set(next);\n    }\n    resolveConstraints() {\n        const { dragConstraints, dragElastic } = this.getProps();\n        const layout = this.visualElement.projection &&\n            !this.visualElement.projection.layout\n            ? this.visualElement.projection.measure(false)\n            : this.visualElement.projection?.layout;\n        const prevConstraints = this.constraints;\n        if (dragConstraints && isRefObject(dragConstraints)) {\n            if (!this.constraints) {\n                this.constraints = this.resolveRefConstraints();\n            }\n        }\n        else {\n            if (dragConstraints && layout) {\n                this.constraints = calcRelativeConstraints(layout.layoutBox, dragConstraints);\n            }\n            else {\n                this.constraints = false;\n            }\n        }\n        this.elastic = resolveDragElastic(dragElastic);\n        /**\n         * If we're outputting to external MotionValues, we want to rebase the measured constraints\n         * from viewport-relative to component-relative. This only applies to relative (non-ref)\n         * constraints, as ref-based constraints from calcViewportConstraints are already in the\n         * correct coordinate space for the motion value transform offset.\n         */\n        if (prevConstraints !== this.constraints &&\n            !isRefObject(dragConstraints) &&\n            layout &&\n            this.constraints &&\n            !this.hasMutatedConstraints) {\n            eachAxis((axis) => {\n                if (this.constraints !== false &&\n                    this.getAxisMotionValue(axis)) {\n                    this.constraints[axis] = rebaseAxisConstraints(layout.layoutBox[axis], this.constraints[axis]);\n                }\n            });\n        }\n    }\n    resolveRefConstraints() {\n        const { dragConstraints: constraints, onMeasureDragConstraints } = this.getProps();\n        if (!constraints || !isRefObject(constraints))\n            return false;\n        const constraintsElement = constraints.current;\n        invariant(constraintsElement !== null, \"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.\", \"drag-constraints-ref\");\n        const { projection } = this.visualElement;\n        // TODO\n        if (!projection || !projection.layout)\n            return false;\n        const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());\n        let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);\n        /**\n         * If there's an onMeasureDragConstraints listener we call it and\n         * if different constraints are returned, set constraints to that\n         */\n        if (onMeasureDragConstraints) {\n            const userConstraints = onMeasureDragConstraints(convertBoxToBoundingBox(measuredConstraints));\n            this.hasMutatedConstraints = !!userConstraints;\n            if (userConstraints) {\n                measuredConstraints = convertBoundingBoxToBox(userConstraints);\n            }\n        }\n        return measuredConstraints;\n    }\n    startAnimation(velocity) {\n        const { drag, dragMomentum, dragElastic, dragTransition, dragSnapToOrigin, onDragTransitionEnd, } = this.getProps();\n        const constraints = this.constraints || {};\n        const momentumAnimations = eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, this.currentDirection)) {\n                return;\n            }\n            let transition = (constraints && constraints[axis]) || {};\n            if (dragSnapToOrigin)\n                transition = { min: 0, max: 0 };\n            /**\n             * Overdamp the boundary spring if `dragElastic` is disabled. There's still a frame\n             * of spring animations so we should look into adding a disable spring option to `inertia`.\n             * We could do something here where we affect the `bounceStiffness` and `bounceDamping`\n             * using the value of `dragElastic`.\n             */\n            const bounceStiffness = dragElastic ? 200 : 1000000;\n            const bounceDamping = dragElastic ? 40 : 10000000;\n            const inertia = {\n                type: \"inertia\",\n                velocity: dragMomentum ? velocity[axis] : 0,\n                bounceStiffness,\n                bounceDamping,\n                timeConstant: 750,\n                restDelta: 1,\n                restSpeed: 10,\n                ...dragTransition,\n                ...transition,\n            };\n            // If we're not animating on an externally-provided `MotionValue` we can use the\n            // component's animation controls which will handle interactions with whileHover (etc),\n            // otherwise we just have to animate the `MotionValue` itself.\n            return this.startAxisValueAnimation(axis, inertia);\n        });\n        // Run all animations and then resolve the new drag constraints.\n        return Promise.all(momentumAnimations).then(onDragTransitionEnd);\n    }\n    startAxisValueAnimation(axis, transition) {\n        const axisValue = this.getAxisMotionValue(axis);\n        addValueToWillChange(this.visualElement, axis);\n        return axisValue.start(animateMotionValue(axis, axisValue, 0, transition, this.visualElement, false));\n    }\n    stopAnimation() {\n        eachAxis((axis) => this.getAxisMotionValue(axis).stop());\n    }\n    /**\n     * Drag works differently depending on which props are provided.\n     *\n     * - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.\n     * - Otherwise, we apply the delta to the x/y motion values.\n     */\n    getAxisMotionValue(axis) {\n        const dragKey = `_drag${axis.toUpperCase()}`;\n        const props = this.visualElement.getProps();\n        const externalMotionValue = props[dragKey];\n        return externalMotionValue\n            ? externalMotionValue\n            : this.visualElement.getValue(axis, (props.initial\n                ? props.initial[axis]\n                : undefined) || 0);\n    }\n    snapToCursor(point) {\n        eachAxis((axis) => {\n            const { drag } = this.getProps();\n            // If we're not dragging this axis, do an early return.\n            if (!shouldDrag(axis, drag, this.currentDirection))\n                return;\n            const { projection } = this.visualElement;\n            const axisValue = this.getAxisMotionValue(axis);\n            if (projection && projection.layout) {\n                const { min, max } = projection.layout.layoutBox[axis];\n                /**\n                 * The layout measurement includes the current transform value,\n                 * so we need to add it back to get the correct snap position.\n                 * This fixes an issue where elements with initial coordinates\n                 * would snap to the wrong position on the first drag.\n                 */\n                const current = axisValue.get() || 0;\n                axisValue.set(point[axis] - mixNumber(min, max, 0.5) + current);\n            }\n        });\n    }\n    /**\n     * When the viewport resizes we want to check if the measured constraints\n     * have changed and, if so, reposition the element within those new constraints\n     * relative to where it was before the resize.\n     */\n    scalePositionWithinConstraints() {\n        if (!this.visualElement.current)\n            return;\n        const { drag, dragConstraints } = this.getProps();\n        const { projection } = this.visualElement;\n        if (!isRefObject(dragConstraints) || !projection || !this.constraints)\n            return;\n        /**\n         * Stop current animations as there can be visual glitching if we try to do\n         * this mid-animation\n         */\n        this.stopAnimation();\n        /**\n         * Record the relative position of the dragged element relative to the\n         * constraints box and save as a progress value.\n         */\n        const boxProgress = { x: 0, y: 0 };\n        eachAxis((axis) => {\n            const axisValue = this.getAxisMotionValue(axis);\n            if (axisValue && this.constraints !== false) {\n                const latest = axisValue.get();\n                boxProgress[axis] = calcOrigin({ min: latest, max: latest }, this.constraints[axis]);\n            }\n        });\n        /**\n         * Update the layout of this element and resolve the latest drag constraints\n         */\n        const { transformTemplate } = this.visualElement.getProps();\n        this.visualElement.current.style.transform = transformTemplate\n            ? transformTemplate({}, \"\")\n            : \"none\";\n        projection.root && projection.root.updateScroll();\n        projection.updateLayout();\n        /**\n         * Reset constraints so resolveConstraints() will recalculate them\n         * with the freshly measured layout rather than returning the cached value.\n         */\n        this.constraints = false;\n        this.resolveConstraints();\n        /**\n         * For each axis, calculate the current progress of the layout axis\n         * within the new constraints.\n         */\n        eachAxis((axis) => {\n            if (!shouldDrag(axis, drag, null))\n                return;\n            /**\n             * Calculate a new transform based on the previous box progress\n             */\n            const axisValue = this.getAxisMotionValue(axis);\n            const { min, max } = this.constraints[axis];\n            axisValue.set(mixNumber(min, max, boxProgress[axis]));\n        });\n        /**\n         * Flush the updated transform to the DOM synchronously to prevent\n         * a visual flash at the element's CSS layout position (0,0) when\n         * the transform was stripped for measurement.\n         */\n        this.visualElement.render();\n    }\n    addListeners() {\n        if (!this.visualElement.current)\n            return;\n        elementDragControls.set(this.visualElement, this);\n        const element = this.visualElement.current;\n        /**\n         * Attach a pointerdown event listener on this DOM element to initiate drag tracking.\n         */\n        const stopPointerListener = addPointerEvent(element, \"pointerdown\", (event) => {\n            const { drag, dragListener = true } = this.getProps();\n            const target = event.target;\n            /**\n             * Only block drag if clicking on a text input child element\n             * (input, textarea, select, contenteditable) where users might\n             * want to select text or interact with the control.\n             *\n             * Buttons and links don't block drag since they don't have\n             * click-and-move actions of their own.\n             */\n            const isClickingTextInputChild = target !== element && isElementTextInput(target);\n            if (drag && dragListener && !isClickingTextInputChild) {\n                this.start(event);\n            }\n        });\n        /**\n         * If using ref-based constraints, observe both the draggable element\n         * and the constraint container for size changes via ResizeObserver.\n         * Setup is deferred because dragConstraints.current is null when\n         * addListeners first runs (React hasn't committed the ref yet).\n         */\n        let stopResizeObservers;\n        const measureDragConstraints = () => {\n            const { dragConstraints } = this.getProps();\n            if (isRefObject(dragConstraints) && dragConstraints.current) {\n                this.constraints = this.resolveRefConstraints();\n                if (!stopResizeObservers) {\n                    stopResizeObservers = startResizeObservers(element, dragConstraints.current, () => this.scalePositionWithinConstraints());\n                }\n            }\n        };\n        const { projection } = this.visualElement;\n        const stopMeasureLayoutListener = projection.addEventListener(\"measure\", measureDragConstraints);\n        if (projection && !projection.layout) {\n            projection.root && projection.root.updateScroll();\n            projection.updateLayout();\n        }\n        frame.read(measureDragConstraints);\n        /**\n         * Attach a window resize listener to scale the draggable target within its defined\n         * constraints as the window resizes.\n         */\n        const stopResizeListener = addDomEvent(window, \"resize\", () => this.scalePositionWithinConstraints());\n        /**\n         * If the element's layout changes, calculate the delta and apply that to\n         * the drag gesture's origin point.\n         */\n        const stopLayoutUpdateListener = projection.addEventListener(\"didUpdate\", (({ delta, hasLayoutChanged }) => {\n            if (this.isDragging && hasLayoutChanged) {\n                eachAxis((axis) => {\n                    const motionValue = this.getAxisMotionValue(axis);\n                    if (!motionValue)\n                        return;\n                    this.originPoint[axis] += delta[axis].translate;\n                    motionValue.set(motionValue.get() + delta[axis].translate);\n                });\n                this.visualElement.render();\n            }\n        }));\n        return () => {\n            stopResizeListener();\n            stopPointerListener();\n            stopMeasureLayoutListener();\n            stopLayoutUpdateListener && stopLayoutUpdateListener();\n            stopResizeObservers && stopResizeObservers();\n        };\n    }\n    getProps() {\n        const props = this.visualElement.getProps();\n        const { drag = false, dragDirectionLock = false, dragPropagation = false, dragConstraints = false, dragElastic = defaultElastic, dragMomentum = true, } = props;\n        return {\n            ...props,\n            drag,\n            dragDirectionLock,\n            dragPropagation,\n            dragConstraints,\n            dragElastic,\n            dragMomentum,\n        };\n    }\n}\nfunction skipFirstCall(callback) {\n    let isFirst = true;\n    return () => {\n        if (isFirst) {\n            isFirst = false;\n            return;\n        }\n        callback();\n    };\n}\nfunction startResizeObservers(element, constraintsElement, onResize) {\n    const stopElement = resize(element, skipFirstCall(onResize));\n    const stopContainer = resize(constraintsElement, skipFirstCall(onResize));\n    return () => {\n        stopElement();\n        stopContainer();\n    };\n}\nfunction shouldDrag(direction, drag, currentDirection) {\n    return ((drag === true || drag === direction) &&\n        (currentDirection === null || currentDirection === direction));\n}\n/**\n * Based on an x/y offset determine the current drag direction. If both axis' offsets are lower\n * than the provided threshold, return `null`.\n *\n * @param offset - The x/y offset from origin.\n * @param lockThreshold - (Optional) - the minimum absolute offset before we can determine a drag direction.\n */\nfunction getCurrentDirection(offset, lockThreshold = 10) {\n    let direction = null;\n    if (Math.abs(offset.y) > lockThreshold) {\n        direction = \"y\";\n    }\n    else if (Math.abs(offset.x) > lockThreshold) {\n        direction = \"x\";\n    }\n    return direction;\n}\n\nexport { VisualElementDragControls, elementDragControls };\n//# sourceMappingURL=VisualElementDragControls.mjs.map\n","import { Feature } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { VisualElementDragControls } from './VisualElementDragControls.mjs';\n\nclass DragGesture extends Feature {\n    constructor(node) {\n        super(node);\n        this.removeGroupControls = noop;\n        this.removeListeners = noop;\n        this.controls = new VisualElementDragControls(node);\n    }\n    mount() {\n        // If we've been provided a DragControls for manual control over the drag gesture,\n        // subscribe this component to it on mount.\n        const { dragControls } = this.node.getProps();\n        if (dragControls) {\n            this.removeGroupControls = dragControls.subscribe(this.controls);\n        }\n        this.removeListeners = this.controls.addListeners() || noop;\n    }\n    update() {\n        const { dragControls } = this.node.getProps();\n        const { dragControls: prevDragControls } = this.node.prevProps || {};\n        if (dragControls !== prevDragControls) {\n            this.removeGroupControls();\n            if (dragControls) {\n                this.removeGroupControls = dragControls.subscribe(this.controls);\n            }\n        }\n    }\n    unmount() {\n        this.removeGroupControls();\n        this.removeListeners();\n        /**\n         * In React 19, during list reorder reconciliation, components may\n         * briefly unmount and remount while the drag is still active. If we're\n         * actively dragging, we should NOT end the pan session - it will\n         * continue tracking pointer events via its window-level listeners.\n         *\n         * The pan session will be properly cleaned up when:\n         * 1. The drag ends naturally (pointerup/pointercancel)\n         * 2. The component is truly removed from the DOM\n         */\n        if (!this.controls.isDragging) {\n            this.controls.endPanSession();\n        }\n    }\n}\n\nexport { DragGesture };\n//# sourceMappingURL=index.mjs.map\n","import { mixNumber, calcLength } from 'motion-dom';\nimport { progress, clamp } from 'motion-utils';\n\n/**\n * Apply constraints to a point. These constraints are both physical along an\n * axis, and an elastic factor that determines how much to constrain the point\n * by if it does lie outside the defined parameters.\n */\nfunction applyConstraints(point, { min, max }, elastic) {\n    if (min !== undefined && point < min) {\n        // If we have a min point defined, and this is outside of that, constrain\n        point = elastic\n            ? mixNumber(min, point, elastic.min)\n            : Math.max(point, min);\n    }\n    else if (max !== undefined && point > max) {\n        // If we have a max point defined, and this is outside of that, constrain\n        point = elastic\n            ? mixNumber(max, point, elastic.max)\n            : Math.min(point, max);\n    }\n    return point;\n}\n/**\n * Calculate constraints in terms of the viewport when defined relatively to the\n * measured axis. This is measured from the nearest edge, so a max constraint of 200\n * on an axis with a max value of 300 would return a constraint of 500 - axis length\n */\nfunction calcRelativeAxisConstraints(axis, min, max) {\n    return {\n        min: min !== undefined ? axis.min + min : undefined,\n        max: max !== undefined\n            ? axis.max + max - (axis.max - axis.min)\n            : undefined,\n    };\n}\n/**\n * Calculate constraints in terms of the viewport when\n * defined relatively to the measured bounding box.\n */\nfunction calcRelativeConstraints(layoutBox, { top, left, bottom, right }) {\n    return {\n        x: calcRelativeAxisConstraints(layoutBox.x, left, right),\n        y: calcRelativeAxisConstraints(layoutBox.y, top, bottom),\n    };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative axis\n */\nfunction calcViewportAxisConstraints(layoutAxis, constraintsAxis) {\n    let min = constraintsAxis.min - layoutAxis.min;\n    let max = constraintsAxis.max - layoutAxis.max;\n    // If the constraints axis is actually smaller than the layout axis then we can\n    // flip the constraints\n    if (constraintsAxis.max - constraintsAxis.min <\n        layoutAxis.max - layoutAxis.min) {\n        [min, max] = [max, min];\n    }\n    return { min, max };\n}\n/**\n * Calculate viewport constraints when defined as another viewport-relative box\n */\nfunction calcViewportConstraints(layoutBox, constraintsBox) {\n    return {\n        x: calcViewportAxisConstraints(layoutBox.x, constraintsBox.x),\n        y: calcViewportAxisConstraints(layoutBox.y, constraintsBox.y),\n    };\n}\n/**\n * Calculate a transform origin relative to the source axis, between 0-1, that results\n * in an asthetically pleasing scale/transform needed to project from source to target.\n */\nfunction calcOrigin(source, target) {\n    let origin = 0.5;\n    const sourceLength = calcLength(source);\n    const targetLength = calcLength(target);\n    if (targetLength > sourceLength) {\n        origin = progress(target.min, target.max - sourceLength, source.min);\n    }\n    else if (sourceLength > targetLength) {\n        origin = progress(source.min, source.max - targetLength, target.min);\n    }\n    return clamp(0, 1, origin);\n}\n/**\n * Rebase the calculated viewport constraints relative to the layout.min point.\n */\nfunction rebaseAxisConstraints(layout, constraints) {\n    const relativeConstraints = {};\n    if (constraints.min !== undefined) {\n        relativeConstraints.min = constraints.min - layout.min;\n    }\n    if (constraints.max !== undefined) {\n        relativeConstraints.max = constraints.max - layout.min;\n    }\n    return relativeConstraints;\n}\nconst defaultElastic = 0.35;\n/**\n * Accepts a dragElastic prop and returns resolved elastic values for each axis.\n */\nfunction resolveDragElastic(dragElastic = defaultElastic) {\n    if (dragElastic === false) {\n        dragElastic = 0;\n    }\n    else if (dragElastic === true) {\n        dragElastic = defaultElastic;\n    }\n    return {\n        x: resolveAxisElastic(dragElastic, \"left\", \"right\"),\n        y: resolveAxisElastic(dragElastic, \"top\", \"bottom\"),\n    };\n}\nfunction resolveAxisElastic(dragElastic, minLabel, maxLabel) {\n    return {\n        min: resolvePointElastic(dragElastic, minLabel),\n        max: resolvePointElastic(dragElastic, maxLabel),\n    };\n}\nfunction resolvePointElastic(dragElastic, label) {\n    return typeof dragElastic === \"number\"\n        ? dragElastic\n        : dragElastic[label] || 0;\n}\n\nexport { applyConstraints, calcOrigin, calcRelativeAxisConstraints, calcRelativeConstraints, calcViewportAxisConstraints, calcViewportConstraints, defaultElastic, rebaseAxisConstraints, resolveAxisElastic, resolveDragElastic, resolvePointElastic };\n//# sourceMappingURL=constraints.mjs.map\n","import { Feature, addDomEvent } from 'motion-dom';\nimport { pipe } from 'motion-utils';\n\nclass FocusGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.isActive = false;\n    }\n    onFocus() {\n        let isFocusVisible = false;\n        /**\n         * If this element doesn't match focus-visible then don't\n         * apply whileHover. But, if matches throws that focus-visible\n         * is not a valid selector then in that browser outline styles will be applied\n         * to the element by default and we want to match that behaviour with whileFocus.\n         */\n        try {\n            isFocusVisible = this.node.current.matches(\":focus-visible\");\n        }\n        catch (e) {\n            isFocusVisible = true;\n        }\n        if (!isFocusVisible || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", true);\n        this.isActive = true;\n    }\n    onBlur() {\n        if (!this.isActive || !this.node.animationState)\n            return;\n        this.node.animationState.setActive(\"whileFocus\", false);\n        this.isActive = false;\n    }\n    mount() {\n        this.unmount = pipe(addDomEvent(this.node.current, \"focus\", () => this.onFocus()), addDomEvent(this.node.current, \"blur\", () => this.onBlur()));\n    }\n    unmount() { }\n}\n\nexport { FocusGesture };\n//# sourceMappingURL=focus.mjs.map\n","import { Feature, hover, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\n\nfunction handleHoverEvent(node, event, lifecycle) {\n    const { props } = node;\n    if (node.animationState && props.whileHover) {\n        node.animationState.setActive(\"whileHover\", lifecycle === \"Start\");\n    }\n    const eventName = (\"onHover\" + lifecycle);\n    const callback = props[eventName];\n    if (callback) {\n        frame.postRender(() => callback(event, extractEventInfo(event)));\n    }\n}\nclass HoverGesture extends Feature {\n    mount() {\n        const { current } = this.node;\n        if (!current)\n            return;\n        this.unmount = hover(current, (_element, startEvent) => {\n            handleHoverEvent(this.node, startEvent, \"Start\");\n            return (endEvent) => handleHoverEvent(this.node, endEvent, \"End\");\n        });\n    }\n    unmount() { }\n}\n\nexport { HoverGesture };\n//# sourceMappingURL=hover.mjs.map\n","import { frame, isPrimaryPointer, cancelFrame, frameData } from 'motion-dom';\nimport { pipe, secondsToMilliseconds, millisecondsToSeconds } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { extractEventInfo } from '../../events/event-info.mjs';\nimport { distance2D } from '../../utils/distance.mjs';\n\nconst overflowStyles = /*#__PURE__*/ new Set([\"auto\", \"scroll\"]);\n/**\n * @internal\n */\nclass PanSession {\n    constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element, } = {}) {\n        /**\n         * @internal\n         */\n        this.startEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEvent = null;\n        /**\n         * @internal\n         */\n        this.lastMoveEventInfo = null;\n        /**\n         * @internal\n         */\n        this.handlers = {};\n        /**\n         * @internal\n         */\n        this.contextWindow = window;\n        /**\n         * Scroll positions of scrollable ancestors and window.\n         * @internal\n         */\n        this.scrollPositions = new Map();\n        /**\n         * Cleanup function for scroll listeners.\n         * @internal\n         */\n        this.removeScrollListeners = null;\n        this.onElementScroll = (event) => {\n            this.handleScroll(event.target);\n        };\n        this.onWindowScroll = () => {\n            this.handleScroll(window);\n        };\n        this.updatePoint = () => {\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const info = getPanInfo(this.lastMoveEventInfo, this.history);\n            const isPanStarted = this.startEvent !== null;\n            // Only start panning if the offset is larger than 3 pixels. If we make it\n            // any larger than this we'll want to reset the pointer history\n            // on the first update to avoid visual snapping to the cursor.\n            const isDistancePastThreshold = distance2D(info.offset, { x: 0, y: 0 }) >= this.distanceThreshold;\n            if (!isPanStarted && !isDistancePastThreshold)\n                return;\n            const { point } = info;\n            const { timestamp } = frameData;\n            this.history.push({ ...point, timestamp });\n            const { onStart, onMove } = this.handlers;\n            if (!isPanStarted) {\n                onStart && onStart(this.lastMoveEvent, info);\n                this.startEvent = this.lastMoveEvent;\n            }\n            onMove && onMove(this.lastMoveEvent, info);\n        };\n        this.handlePointerMove = (event, info) => {\n            this.lastMoveEvent = event;\n            this.lastMoveEventInfo = transformPoint(info, this.transformPagePoint);\n            // Throttle mouse move event to once per frame\n            frame.update(this.updatePoint, true);\n        };\n        this.handlePointerUp = (event, info) => {\n            this.end();\n            const { onEnd, onSessionEnd, resumeAnimation } = this.handlers;\n            // Resume animation if dragSnapToOrigin is set OR if no drag started (user just clicked)\n            // This ensures constraint animations continue when interrupted by a click\n            if (this.dragSnapToOrigin || !this.startEvent) {\n                resumeAnimation && resumeAnimation();\n            }\n            if (!(this.lastMoveEvent && this.lastMoveEventInfo))\n                return;\n            const panInfo = getPanInfo(event.type === \"pointercancel\"\n                ? this.lastMoveEventInfo\n                : transformPoint(info, this.transformPagePoint), this.history);\n            if (this.startEvent && onEnd) {\n                onEnd(event, panInfo);\n            }\n            onSessionEnd && onSessionEnd(event, panInfo);\n        };\n        // If we have more than one touch, don't start detecting this gesture\n        if (!isPrimaryPointer(event))\n            return;\n        this.dragSnapToOrigin = dragSnapToOrigin;\n        this.handlers = handlers;\n        this.transformPagePoint = transformPagePoint;\n        this.distanceThreshold = distanceThreshold;\n        this.contextWindow = contextWindow || window;\n        const info = extractEventInfo(event);\n        const initialInfo = transformPoint(info, this.transformPagePoint);\n        const { point } = initialInfo;\n        const { timestamp } = frameData;\n        this.history = [{ ...point, timestamp }];\n        const { onSessionStart } = handlers;\n        onSessionStart &&\n            onSessionStart(event, getPanInfo(initialInfo, this.history));\n        this.removeListeners = pipe(addPointerEvent(this.contextWindow, \"pointermove\", this.handlePointerMove), addPointerEvent(this.contextWindow, \"pointerup\", this.handlePointerUp), addPointerEvent(this.contextWindow, \"pointercancel\", this.handlePointerUp));\n        // Start scroll tracking if element provided\n        if (element) {\n            this.startScrollTracking(element);\n        }\n    }\n    /**\n     * Start tracking scroll on ancestors and window.\n     */\n    startScrollTracking(element) {\n        // Store initial scroll positions for scrollable ancestors\n        let current = element.parentElement;\n        while (current) {\n            const style = getComputedStyle(current);\n            if (overflowStyles.has(style.overflowX) ||\n                overflowStyles.has(style.overflowY)) {\n                this.scrollPositions.set(current, {\n                    x: current.scrollLeft,\n                    y: current.scrollTop,\n                });\n            }\n            current = current.parentElement;\n        }\n        // Track window scroll\n        this.scrollPositions.set(window, {\n            x: window.scrollX,\n            y: window.scrollY,\n        });\n        // Capture listener catches element scroll events as they bubble\n        window.addEventListener(\"scroll\", this.onElementScroll, {\n            capture: true,\n        });\n        // Direct window scroll listener (window scroll doesn't bubble)\n        window.addEventListener(\"scroll\", this.onWindowScroll);\n        this.removeScrollListeners = () => {\n            window.removeEventListener(\"scroll\", this.onElementScroll, {\n                capture: true,\n            });\n            window.removeEventListener(\"scroll\", this.onWindowScroll);\n        };\n    }\n    /**\n     * Handle scroll compensation during drag.\n     *\n     * For element scroll: adjusts history origin since pageX/pageY doesn't change.\n     * For window scroll: adjusts lastMoveEventInfo since pageX/pageY would change.\n     */\n    handleScroll(target) {\n        const initial = this.scrollPositions.get(target);\n        if (!initial)\n            return;\n        const isWindow = target === window;\n        const current = isWindow\n            ? { x: window.scrollX, y: window.scrollY }\n            : {\n                x: target.scrollLeft,\n                y: target.scrollTop,\n            };\n        const delta = { x: current.x - initial.x, y: current.y - initial.y };\n        if (delta.x === 0 && delta.y === 0)\n            return;\n        if (isWindow) {\n            // Window scroll: pageX/pageY changes, so update lastMoveEventInfo\n            if (this.lastMoveEventInfo) {\n                this.lastMoveEventInfo.point.x += delta.x;\n                this.lastMoveEventInfo.point.y += delta.y;\n            }\n        }\n        else {\n            // Element scroll: pageX/pageY unchanged, so adjust history origin\n            if (this.history.length > 0) {\n                this.history[0].x -= delta.x;\n                this.history[0].y -= delta.y;\n            }\n        }\n        this.scrollPositions.set(target, current);\n        frame.update(this.updatePoint, true);\n    }\n    updateHandlers(handlers) {\n        this.handlers = handlers;\n    }\n    end() {\n        this.removeListeners && this.removeListeners();\n        this.removeScrollListeners && this.removeScrollListeners();\n        this.scrollPositions.clear();\n        cancelFrame(this.updatePoint);\n    }\n}\nfunction transformPoint(info, transformPagePoint) {\n    return transformPagePoint ? { point: transformPagePoint(info.point) } : info;\n}\nfunction subtractPoint(a, b) {\n    return { x: a.x - b.x, y: a.y - b.y };\n}\nfunction getPanInfo({ point }, history) {\n    return {\n        point,\n        delta: subtractPoint(point, lastDevicePoint(history)),\n        offset: subtractPoint(point, startDevicePoint(history)),\n        velocity: getVelocity(history, 0.1),\n    };\n}\nfunction startDevicePoint(history) {\n    return history[0];\n}\nfunction lastDevicePoint(history) {\n    return history[history.length - 1];\n}\nfunction getVelocity(history, timeDelta) {\n    if (history.length < 2) {\n        return { x: 0, y: 0 };\n    }\n    let i = history.length - 1;\n    let timestampedPoint = null;\n    const lastPoint = lastDevicePoint(history);\n    while (i >= 0) {\n        timestampedPoint = history[i];\n        if (lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta)) {\n            break;\n        }\n        i--;\n    }\n    if (!timestampedPoint) {\n        return { x: 0, y: 0 };\n    }\n    /**\n     * If the selected point is the pointer-down origin (history[0]),\n     * there are better movement points available, and the time gap\n     * is suspiciously large (>2x timeDelta), use the next point instead.\n     * This prevents stale pointer-down points from diluting velocity\n     * in hold-then-flick gestures.\n     */\n    if (timestampedPoint === history[0] &&\n        history.length > 2 &&\n        lastPoint.timestamp - timestampedPoint.timestamp >\n            secondsToMilliseconds(timeDelta) * 2) {\n        timestampedPoint = history[1];\n    }\n    const time = millisecondsToSeconds(lastPoint.timestamp - timestampedPoint.timestamp);\n    if (time === 0) {\n        return { x: 0, y: 0 };\n    }\n    const currentVelocity = {\n        x: (lastPoint.x - timestampedPoint.x) / time,\n        y: (lastPoint.y - timestampedPoint.y) / time,\n    };\n    if (currentVelocity.x === Infinity) {\n        currentVelocity.x = 0;\n    }\n    if (currentVelocity.y === Infinity) {\n        currentVelocity.y = 0;\n    }\n    return currentVelocity;\n}\n\nexport { PanSession };\n//# sourceMappingURL=PanSession.mjs.map\n","import { Feature, frame } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { addPointerEvent } from '../../events/add-pointer-event.mjs';\nimport { getContextWindow } from '../../utils/get-context-window.mjs';\nimport { PanSession } from './PanSession.mjs';\n\nconst asyncHandler = (handler) => (event, info) => {\n    if (handler) {\n        frame.update(() => handler(event, info), false, true);\n    }\n};\nclass PanGesture extends Feature {\n    constructor() {\n        super(...arguments);\n        this.removePointerDownListener = noop;\n    }\n    onPointerDown(pointerDownEvent) {\n        this.session = new PanSession(pointerDownEvent, this.createPanHandlers(), {\n            transformPagePoint: this.node.getTransformPagePoint(),\n            contextWindow: getContextWindow(this.node),\n        });\n    }\n    createPanHandlers() {\n        const { onPanSessionStart, onPanStart, onPan, onPanEnd } = this.node.getProps();\n        return {\n            onSessionStart: asyncHandler(onPanSessionStart),\n            onStart: asyncHandler(onPanStart),\n            onMove: asyncHandler(onPan),\n            onEnd: (event, info) => {\n                delete this.session;\n                if (onPanEnd) {\n                    frame.postRender(() => onPanEnd(event, info));\n                }\n            },\n        };\n    }\n    mount() {\n        this.removePointerDownListener = addPointerEvent(this.node.current, \"pointerdown\", (event) => this.onPointerDown(event));\n    }\n    update() {\n        this.session && this.session.updateHandlers(this.createPanHandlers());\n    }\n    unmount() {\n        this.removePointerDownListener();\n        this.session && this.session.end();\n    }\n}\n\nexport { PanGesture };\n//# sourceMappingURL=index.mjs.map\n","import { Feature, press, frame } from 'motion-dom';\nimport { extractEventInfo } from '../events/event-info.mjs';\n\nfunction handlePressEvent(node, event, lifecycle) {\n    const { props } = node;\n    if (node.current instanceof HTMLButtonElement && node.current.disabled) {\n        return;\n    }\n    if (node.animationState && props.whileTap) {\n        node.animationState.setActive(\"whileTap\", lifecycle === \"Start\");\n    }\n    const eventName = (\"onTap\" + (lifecycle === \"End\" ? \"\" : lifecycle));\n    const callback = props[eventName];\n    if (callback) {\n        frame.postRender(() => callback(event, extractEventInfo(event)));\n    }\n}\nclass PressGesture extends Feature {\n    mount() {\n        const { current } = this.node;\n        if (!current)\n            return;\n        const { globalTapTarget, propagate } = this.node.props;\n        this.unmount = press(current, (_element, startEvent) => {\n            handlePressEvent(this.node, startEvent, \"Start\");\n            return (endEvent, { success }) => handlePressEvent(this.node, endEvent, success ? \"End\" : \"Cancel\");\n        }, {\n            useGlobalTarget: globalTapTarget,\n            stopPropagation: propagate?.tap === false,\n        });\n    }\n    unmount() { }\n}\n\nexport { PressGesture };\n//# sourceMappingURL=press.mjs.map\n","import { Feature } from 'motion-dom';\n\nlet id = 0;\nclass ExitAnimationFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.id = id++;\n    }\n    update() {\n        if (!this.node.presenceContext)\n            return;\n        const { isPresent, onExitComplete } = this.node.presenceContext;\n        const { isPresent: prevIsPresent } = this.node.prevPresenceContext || {};\n        if (!this.node.animationState || isPresent === prevIsPresent) {\n            return;\n        }\n        const exitAnimation = this.node.animationState.setActive(\"exit\", !isPresent);\n        if (onExitComplete && !isPresent) {\n            exitAnimation.then(() => {\n                onExitComplete(this.id);\n            });\n        }\n    }\n    mount() {\n        const { register, onExitComplete } = this.node.presenceContext || {};\n        if (onExitComplete) {\n            onExitComplete(this.id);\n        }\n        if (register) {\n            this.unmount = register(this.id);\n        }\n    }\n    unmount() { }\n}\n\nexport { ExitAnimationFeature };\n//# sourceMappingURL=exit.mjs.map\n","import { Feature, createAnimationState, isAnimationControls } from 'motion-dom';\n\nclass AnimationFeature extends Feature {\n    /**\n     * We dynamically generate the AnimationState manager as it contains a reference\n     * to the underlying animation library. We only want to load that if we load this,\n     * so people can optionally code split it out using the `m` component.\n     */\n    constructor(node) {\n        super(node);\n        node.animationState || (node.animationState = createAnimationState(node));\n    }\n    updateAnimationControlsSubscription() {\n        const { animate } = this.node.getProps();\n        if (isAnimationControls(animate)) {\n            this.unmountControls = animate.subscribe(this.node);\n        }\n    }\n    /**\n     * Subscribe any provided AnimationControls to the component's VisualElement\n     */\n    mount() {\n        this.updateAnimationControlsSubscription();\n    }\n    update() {\n        const { animate } = this.node.getProps();\n        const { animate: prevAnimate } = this.node.prevProps || {};\n        if (animate !== prevAnimate) {\n            this.updateAnimationControlsSubscription();\n        }\n    }\n    unmount() {\n        this.node.animationState.reset();\n        this.unmountControls?.();\n    }\n}\n\nexport { AnimationFeature };\n//# sourceMappingURL=index.mjs.map\n","import { AnimationFeature } from './animation/index.mjs';\nimport { ExitAnimationFeature } from './animation/exit.mjs';\n\nconst animations = {\n    animation: {\n        Feature: AnimationFeature,\n    },\n    exit: {\n        Feature: ExitAnimationFeature,\n    },\n};\n\nexport { animations };\n//# sourceMappingURL=animations.mjs.map\n","import { getFeatureDefinitions, setFeatureDefinitions } from 'motion-dom';\n\nconst featureProps = {\n    animation: [\n        \"animate\",\n        \"variants\",\n        \"whileHover\",\n        \"whileTap\",\n        \"exit\",\n        \"whileInView\",\n        \"whileFocus\",\n        \"whileDrag\",\n    ],\n    exit: [\"exit\"],\n    drag: [\"drag\", \"dragControls\"],\n    focus: [\"whileFocus\"],\n    hover: [\"whileHover\", \"onHoverStart\", \"onHoverEnd\"],\n    tap: [\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"],\n    pan: [\"onPan\", \"onPanStart\", \"onPanSessionStart\", \"onPanEnd\"],\n    inView: [\"whileInView\", \"onViewportEnter\", \"onViewportLeave\"],\n    layout: [\"layout\", \"layoutId\"],\n};\nlet isInitialized = false;\n/**\n * Initialize feature definitions with isEnabled checks.\n * This must be called before any motion components are rendered.\n */\nfunction initFeatureDefinitions() {\n    if (isInitialized)\n        return;\n    const initialFeatureDefinitions = {};\n    for (const key in featureProps) {\n        initialFeatureDefinitions[key] = {\n            isEnabled: (props) => featureProps[key].some((name) => !!props[name]),\n        };\n    }\n    setFeatureDefinitions(initialFeatureDefinitions);\n    isInitialized = true;\n}\n/**\n * Get the current feature definitions, initializing if needed.\n */\nfunction getInitializedFeatureDefinitions() {\n    initFeatureDefinitions();\n    return getFeatureDefinitions();\n}\n\nexport { getInitializedFeatureDefinitions, initFeatureDefinitions };\n//# sourceMappingURL=definitions.mjs.map\n","import { DragGesture } from '../../gestures/drag/index.mjs';\nimport { PanGesture } from '../../gestures/pan/index.mjs';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\nimport { HTMLProjectionNode } from 'motion-dom';\n\nconst drag = {\n    pan: {\n        Feature: PanGesture,\n    },\n    drag: {\n        Feature: DragGesture,\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { drag };\n//# sourceMappingURL=drag.mjs.map\n","import { HoverGesture } from '../../gestures/hover.mjs';\nimport { FocusGesture } from '../../gestures/focus.mjs';\nimport { PressGesture } from '../../gestures/press.mjs';\nimport { InViewFeature } from './viewport/index.mjs';\n\nconst gestureAnimations = {\n    inView: {\n        Feature: InViewFeature,\n    },\n    tap: {\n        Feature: PressGesture,\n    },\n    focus: {\n        Feature: FocusGesture,\n    },\n    hover: {\n        Feature: HoverGesture,\n    },\n};\n\nexport { gestureAnimations };\n//# sourceMappingURL=gestures.mjs.map\n","import { HTMLProjectionNode } from 'motion-dom';\nimport { MeasureLayout } from './layout/MeasureLayout.mjs';\n\nconst layout = {\n    layout: {\n        ProjectionNode: HTMLProjectionNode,\n        MeasureLayout,\n    },\n};\n\nexport { layout };\n//# sourceMappingURL=layout.mjs.map\n","\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { globalProjectionState, frame, microtask } from 'motion-dom';\nimport { useContext, Component } from 'react';\nimport { usePresence } from '../../../components/AnimatePresence/use-presence.mjs';\nimport { LayoutGroupContext } from '../../../context/LayoutGroupContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../../context/SwitchLayoutGroupContext.mjs';\n\n/**\n * Track whether we've taken any snapshots yet. If not,\n * we can safely skip notification of didUpdate.\n *\n * Difficult to capture in a test but to prevent flickering\n * we must set this to true either on update or unmount.\n * Running `next-env/layout-id` in Safari will show this behaviour if broken.\n */\nlet hasTakenAnySnapshot = false;\nclass MeasureLayoutWithContext extends Component {\n    /**\n     * This only mounts projection nodes for components that\n     * need measuring, we might want to do it for all components\n     * in order to incorporate transforms\n     */\n    componentDidMount() {\n        const { visualElement, layoutGroup, switchLayoutGroup, layoutId } = this.props;\n        const { projection } = visualElement;\n        if (projection) {\n            if (layoutGroup.group)\n                layoutGroup.group.add(projection);\n            if (switchLayoutGroup && switchLayoutGroup.register && layoutId) {\n                switchLayoutGroup.register(projection);\n            }\n            if (hasTakenAnySnapshot) {\n                projection.root.didUpdate();\n            }\n            projection.addEventListener(\"animationComplete\", () => {\n                this.safeToRemove();\n            });\n            projection.setOptions({\n                ...projection.options,\n                layoutDependency: this.props.layoutDependency,\n                onExitComplete: () => this.safeToRemove(),\n            });\n        }\n        globalProjectionState.hasEverUpdated = true;\n    }\n    getSnapshotBeforeUpdate(prevProps) {\n        const { layoutDependency, visualElement, drag, isPresent } = this.props;\n        const { projection } = visualElement;\n        if (!projection)\n            return null;\n        /**\n         * TODO: We use this data in relegate to determine whether to\n         * promote a previous element. There's no guarantee its presence data\n         * will have updated by this point - if a bug like this arises it will\n         * have to be that we markForRelegation and then find a new lead some other way,\n         * perhaps in didUpdate\n         */\n        projection.isPresent = isPresent;\n        if (prevProps.layoutDependency !== layoutDependency) {\n            projection.setOptions({\n                ...projection.options,\n                layoutDependency,\n            });\n        }\n        hasTakenAnySnapshot = true;\n        if (drag ||\n            prevProps.layoutDependency !== layoutDependency ||\n            layoutDependency === undefined ||\n            prevProps.isPresent !== isPresent) {\n            projection.willUpdate();\n        }\n        else {\n            this.safeToRemove();\n        }\n        if (prevProps.isPresent !== isPresent) {\n            if (isPresent) {\n                projection.promote();\n            }\n            else if (!projection.relegate()) {\n                /**\n                 * If there's another stack member taking over from this one,\n                 * it's in charge of the exit animation and therefore should\n                 * be in charge of the safe to remove. Otherwise we call it here.\n                 */\n                frame.postRender(() => {\n                    const stack = projection.getStack();\n                    if (!stack || !stack.members.length) {\n                        this.safeToRemove();\n                    }\n                });\n            }\n        }\n        return null;\n    }\n    componentDidUpdate() {\n        const { projection } = this.props.visualElement;\n        if (projection) {\n            projection.root.didUpdate();\n            microtask.postRender(() => {\n                if (!projection.currentAnimation && projection.isLead()) {\n                    this.safeToRemove();\n                }\n            });\n        }\n    }\n    componentWillUnmount() {\n        const { visualElement, layoutGroup, switchLayoutGroup: promoteContext, } = this.props;\n        const { projection } = visualElement;\n        hasTakenAnySnapshot = true;\n        if (projection) {\n            projection.scheduleCheckAfterUnmount();\n            if (layoutGroup && layoutGroup.group)\n                layoutGroup.group.remove(projection);\n            if (promoteContext && promoteContext.deregister)\n                promoteContext.deregister(projection);\n        }\n    }\n    safeToRemove() {\n        const { safeToRemove } = this.props;\n        safeToRemove && safeToRemove();\n    }\n    render() {\n        return null;\n    }\n}\nfunction MeasureLayout(props) {\n    const [isPresent, safeToRemove] = usePresence();\n    const layoutGroup = useContext(LayoutGroupContext);\n    return (jsx(MeasureLayoutWithContext, { ...props, layoutGroup: layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent: isPresent, safeToRemove: safeToRemove }));\n}\n\nexport { MeasureLayout };\n//# sourceMappingURL=MeasureLayout.mjs.map\n","import { setFeatureDefinitions } from 'motion-dom';\nimport { getInitializedFeatureDefinitions } from './definitions.mjs';\n\nfunction loadFeatures(features) {\n    const featureDefinitions = getInitializedFeatureDefinitions();\n    for (const key in features) {\n        featureDefinitions[key] = {\n            ...featureDefinitions[key],\n            ...features[key],\n        };\n    }\n    setFeatureDefinitions(featureDefinitions);\n}\n\nexport { loadFeatures };\n//# sourceMappingURL=load-features.mjs.map\n","import { Feature } from 'motion-dom';\nimport { observeIntersection } from './observers.mjs';\n\nconst thresholdNames = {\n    some: 0,\n    all: 1,\n};\nclass InViewFeature extends Feature {\n    constructor() {\n        super(...arguments);\n        this.hasEnteredView = false;\n        this.isInView = false;\n    }\n    startObserver() {\n        this.unmount();\n        const { viewport = {} } = this.node.getProps();\n        const { root, margin: rootMargin, amount = \"some\", once } = viewport;\n        const options = {\n            root: root ? root.current : undefined,\n            rootMargin,\n            threshold: typeof amount === \"number\" ? amount : thresholdNames[amount],\n        };\n        const onIntersectionUpdate = (entry) => {\n            const { isIntersecting } = entry;\n            /**\n             * If there's been no change in the viewport state, early return.\n             */\n            if (this.isInView === isIntersecting)\n                return;\n            this.isInView = isIntersecting;\n            /**\n             * Handle hasEnteredView. If this is only meant to run once, and\n             * element isn't visible, early return. Otherwise set hasEnteredView to true.\n             */\n            if (once && !isIntersecting && this.hasEnteredView) {\n                return;\n            }\n            else if (isIntersecting) {\n                this.hasEnteredView = true;\n            }\n            if (this.node.animationState) {\n                this.node.animationState.setActive(\"whileInView\", isIntersecting);\n            }\n            /**\n             * Use the latest committed props rather than the ones in scope\n             * when this observer is created\n             */\n            const { onViewportEnter, onViewportLeave } = this.node.getProps();\n            const callback = isIntersecting ? onViewportEnter : onViewportLeave;\n            callback && callback(entry);\n        };\n        return observeIntersection(this.node.current, options, onIntersectionUpdate);\n    }\n    mount() {\n        this.startObserver();\n    }\n    update() {\n        if (typeof IntersectionObserver === \"undefined\")\n            return;\n        const { props, prevProps } = this.node;\n        const hasOptionsChanged = [\"amount\", \"margin\", \"root\"].some(hasViewportOptionChanged(props, prevProps));\n        if (hasOptionsChanged) {\n            this.startObserver();\n        }\n    }\n    unmount() { }\n}\nfunction hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport = {} } = {}) {\n    return (name) => viewport[name] !== prevViewport[name];\n}\n\nexport { InViewFeature };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Map an IntersectionHandler callback to an element. We only ever make one handler for one\n * element, so even though these handlers might all be triggered by different\n * observers, we can keep them in the same map.\n */\nconst observerCallbacks = new WeakMap();\n/**\n * Multiple observers can be created for multiple element/document roots. Each with\n * different settings. So here we store dictionaries of observers to each root,\n * using serialised settings (threshold/margin) as lookup keys.\n */\nconst observers = new WeakMap();\nconst fireObserverCallback = (entry) => {\n    const callback = observerCallbacks.get(entry.target);\n    callback && callback(entry);\n};\nconst fireAllObserverCallbacks = (entries) => {\n    entries.forEach(fireObserverCallback);\n};\nfunction initIntersectionObserver({ root, ...options }) {\n    const lookupRoot = root || document;\n    /**\n     * If we don't have an observer lookup map for this root, create one.\n     */\n    if (!observers.has(lookupRoot)) {\n        observers.set(lookupRoot, {});\n    }\n    const rootObservers = observers.get(lookupRoot);\n    const key = JSON.stringify(options);\n    /**\n     * If we don't have an observer for this combination of root and settings,\n     * create one.\n     */\n    if (!rootObservers[key]) {\n        rootObservers[key] = new IntersectionObserver(fireAllObserverCallbacks, { root, ...options });\n    }\n    return rootObservers[key];\n}\nfunction observeIntersection(element, options, callback) {\n    const rootInteresectionObserver = initIntersectionObserver(options);\n    observerCallbacks.set(element, callback);\n    rootInteresectionObserver.observe(element);\n    return () => {\n        observerCallbacks.delete(element);\n        rootInteresectionObserver.unobserve(element);\n    };\n}\n\nexport { observeIntersection };\n//# sourceMappingURL=observers.mjs.map\n","\"use client\";\nimport { jsxs, jsx } from 'react/jsx-runtime';\nimport { warning, invariant } from 'motion-utils';\nimport { forwardRef, useContext } from 'react';\nimport { LayoutGroupContext } from '../context/LayoutGroupContext.mjs';\nimport { LazyContext } from '../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../context/MotionContext/index.mjs';\nimport { useCreateMotionContext } from '../context/MotionContext/create.mjs';\nimport { useRender } from '../render/dom/use-render.mjs';\nimport { isSVGComponent } from '../render/dom/utils/is-svg-component.mjs';\nimport { useHTMLVisualState } from '../render/html/use-html-visual-state.mjs';\nimport { useSVGVisualState } from '../render/svg/use-svg-visual-state.mjs';\nimport { isBrowser } from '../utils/is-browser.mjs';\nimport { getInitializedFeatureDefinitions } from './features/definitions.mjs';\nimport { loadFeatures } from './features/load-features.mjs';\nimport { motionComponentSymbol } from './utils/symbol.mjs';\nimport { useMotionRef } from './utils/use-motion-ref.mjs';\nimport { useVisualElement } from './utils/use-visual-element.mjs';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n */\nfunction createMotionComponent(Component, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {\n    preloadedFeatures && loadFeatures(preloadedFeatures);\n    /**\n     * Determine whether to use SVG or HTML rendering based on:\n     * 1. Explicit `type` option (highest priority)\n     * 2. Auto-detection via `isSVGComponent`\n     */\n    const isSVG = type ? type === \"svg\" : isSVGComponent(Component);\n    const useVisualState = isSVG ? useSVGVisualState : useHTMLVisualState;\n    function MotionDOMComponent(props, externalRef) {\n        /**\n         * If we need to measure the element we load this functionality in a\n         * separate class component in order to gain access to getSnapshotBeforeUpdate.\n         */\n        let MeasureLayout;\n        const configAndProps = {\n            ...useContext(MotionConfigContext),\n            ...props,\n            layoutId: useLayoutId(props),\n        };\n        const { isStatic } = configAndProps;\n        const context = useCreateMotionContext(props);\n        const visualState = useVisualState(props, isStatic);\n        if (!isStatic && isBrowser) {\n            useStrictMode(configAndProps, preloadedFeatures);\n            const layoutProjection = getProjectionFunctionality(configAndProps);\n            MeasureLayout = layoutProjection.MeasureLayout;\n            /**\n             * Create a VisualElement for this component. A VisualElement provides a common\n             * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n             * providing a way of rendering to these APIs outside of the React render loop\n             * for more performant animations and interactions\n             */\n            context.visualElement = useVisualElement(Component, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);\n        }\n        /**\n         * The mount order and hierarchy is specific to ensure our element ref\n         * is hydrated by the time features fire their effects.\n         */\n        return (jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout && context.visualElement ? (jsx(MeasureLayout, { visualElement: context.visualElement, ...configAndProps })) : null, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] }));\n    }\n    MotionDOMComponent.displayName = `motion.${typeof Component === \"string\"\n        ? Component\n        : `create(${Component.displayName ?? Component.name ?? \"\"})`}`;\n    const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);\n    ForwardRefMotionComponent[motionComponentSymbol] = Component;\n    return ForwardRefMotionComponent;\n}\nfunction useLayoutId({ layoutId }) {\n    const layoutGroupId = useContext(LayoutGroupContext).id;\n    return layoutGroupId && layoutId !== undefined\n        ? layoutGroupId + \"-\" + layoutId\n        : layoutId;\n}\nfunction useStrictMode(configAndProps, preloadedFeatures) {\n    const isStrict = useContext(LazyContext).strict;\n    /**\n     * If we're in development mode, check to make sure we're not rendering a motion component\n     * as a child of LazyMotion, as this will break the file-size benefits of using it.\n     */\n    if (process.env.NODE_ENV !== \"production\" &&\n        preloadedFeatures &&\n        isStrict) {\n        const strictMessage = \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\";\n        configAndProps.ignoreStrict\n            ? warning(false, strictMessage, \"lazy-strict-mode\")\n            : invariant(false, strictMessage, \"lazy-strict-mode\");\n    }\n}\nfunction getProjectionFunctionality(props) {\n    const featureDefinitions = getInitializedFeatureDefinitions();\n    const { drag, layout } = featureDefinitions;\n    if (!drag && !layout)\n        return {};\n    const combined = { ...drag, ...layout };\n    return {\n        MeasureLayout: drag?.isEnabled(props) || layout?.isEnabled(props)\n            ? combined.MeasureLayout\n            : undefined,\n        ProjectionNode: combined.ProjectionNode,\n    };\n}\n\nexport { createMotionComponent };\n//# sourceMappingURL=index.mjs.map\n","const motionComponentSymbol = Symbol.for(\"motionComponentSymbol\");\n\nexport { motionComponentSymbol };\n//# sourceMappingURL=symbol.mjs.map\n","\"use client\";\nimport { useRef, useInsertionEffect, useCallback } from 'react';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n    /**\n     * Store externalRef in a ref to avoid including it in the useCallback\n     * dependency array. Including externalRef in dependencies causes issues\n     * with libraries like Radix UI that create new callback refs on each render\n     * when using asChild - this would cause the callback to be recreated,\n     * triggering element remounts and breaking AnimatePresence exit animations.\n     */\n    const externalRefContainer = useRef(externalRef);\n    useInsertionEffect(() => {\n        externalRefContainer.current = externalRef;\n    });\n    // Store cleanup function returned by callback refs (React 19 feature)\n    const refCleanup = useRef(null);\n    return useCallback((instance) => {\n        if (instance) {\n            visualState.onMount?.(instance);\n        }\n        if (visualElement) {\n            instance ? visualElement.mount(instance) : visualElement.unmount();\n        }\n        const ref = externalRefContainer.current;\n        if (typeof ref === \"function\") {\n            if (instance) {\n                const cleanup = ref(instance);\n                if (typeof cleanup === \"function\") {\n                    refCleanup.current = cleanup;\n                }\n            }\n            else if (refCleanup.current) {\n                refCleanup.current();\n                refCleanup.current = null;\n            }\n            else {\n                ref(instance);\n            }\n        }\n        else if (ref) {\n            ref.current = instance;\n        }\n    }, [visualElement]);\n}\n\nexport { useMotionRef };\n//# sourceMappingURL=use-motion-ref.mjs.map\n","\"use client\";\nimport { optimizedAppearDataAttribute } from 'motion-dom';\nimport { useContext, useRef, useInsertionEffect, useEffect } from 'react';\nimport { LazyContext } from '../../context/LazyContext.mjs';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.mjs';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { SwitchLayoutGroupContext } from '../../context/SwitchLayoutGroupContext.mjs';\nimport { isRefObject } from '../../utils/is-ref-object.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\n\nfunction useVisualElement(Component, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {\n    const { visualElement: parent } = useContext(MotionContext);\n    const lazyContext = useContext(LazyContext);\n    const presenceContext = useContext(PresenceContext);\n    const motionConfig = useContext(MotionConfigContext);\n    const reducedMotionConfig = motionConfig.reducedMotion;\n    const skipAnimations = motionConfig.skipAnimations;\n    const visualElementRef = useRef(null);\n    /**\n     * Track whether the component has been through React's commit phase.\n     * Used to detect when LazyMotion features load after the component has mounted.\n     */\n    const hasMountedOnce = useRef(false);\n    /**\n     * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n     */\n    createVisualElement =\n        createVisualElement ||\n            lazyContext.renderer;\n    if (!visualElementRef.current && createVisualElement) {\n        visualElementRef.current = createVisualElement(Component, {\n            visualState,\n            parent,\n            props,\n            presenceContext,\n            blockInitialAnimation: presenceContext\n                ? presenceContext.initial === false\n                : false,\n            reducedMotionConfig,\n            skipAnimations,\n            isSVG,\n        });\n        /**\n         * If the component has already mounted before features loaded (e.g. via\n         * LazyMotion with async feature loading), we need to force the initial\n         * animation to run. Otherwise state changes that occurred before features\n         * loaded will be lost and the element will snap to its final state.\n         */\n        if (hasMountedOnce.current && visualElementRef.current) {\n            visualElementRef.current.manuallyAnimateOnMount = true;\n        }\n    }\n    const visualElement = visualElementRef.current;\n    /**\n     * Load Motion gesture and animation features. These are rendered as renderless\n     * components so each feature can optionally make use of React lifecycle methods.\n     */\n    const initialLayoutGroupConfig = useContext(SwitchLayoutGroupContext);\n    if (visualElement &&\n        !visualElement.projection &&\n        ProjectionNodeConstructor &&\n        (visualElement.type === \"html\" || visualElement.type === \"svg\")) {\n        createProjectionNode(visualElementRef.current, props, ProjectionNodeConstructor, initialLayoutGroupConfig);\n    }\n    const isMounted = useRef(false);\n    useInsertionEffect(() => {\n        /**\n         * Check the component has already mounted before calling\n         * `update` unnecessarily. This ensures we skip the initial update.\n         */\n        if (visualElement && isMounted.current) {\n            visualElement.update(props, presenceContext);\n        }\n    });\n    /**\n     * Cache this value as we want to know whether HandoffAppearAnimations\n     * was present on initial render - it will be deleted after this.\n     */\n    const optimisedAppearId = props[optimizedAppearDataAttribute];\n    const wantsHandoff = useRef(Boolean(optimisedAppearId) &&\n        !window.MotionHandoffIsComplete?.(optimisedAppearId) &&\n        window.MotionHasOptimisedAnimation?.(optimisedAppearId));\n    useIsomorphicLayoutEffect(() => {\n        /**\n         * Track that this component has mounted. This is used to detect when\n         * LazyMotion features load after the component has already committed.\n         */\n        hasMountedOnce.current = true;\n        if (!visualElement)\n            return;\n        isMounted.current = true;\n        window.MotionIsMounted = true;\n        visualElement.updateFeatures();\n        visualElement.scheduleRenderMicrotask();\n        /**\n         * Ideally this function would always run in a useEffect.\n         *\n         * However, if we have optimised appear animations to handoff from,\n         * it needs to happen synchronously to ensure there's no flash of\n         * incorrect styles in the event of a hydration error.\n         *\n         * So if we detect a situtation where optimised appear animations\n         * are running, we use useLayoutEffect to trigger animations.\n         */\n        if (wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n    });\n    useEffect(() => {\n        if (!visualElement)\n            return;\n        if (!wantsHandoff.current && visualElement.animationState) {\n            visualElement.animationState.animateChanges();\n        }\n        if (wantsHandoff.current) {\n            // This ensures all future calls to animateChanges() in this component will run in useEffect\n            queueMicrotask(() => {\n                window.MotionHandoffMarkAsComplete?.(optimisedAppearId);\n            });\n            wantsHandoff.current = false;\n        }\n        /**\n         * Now we've finished triggering animations for this element we\n         * can wipe the enteringChildren set for the next render.\n         */\n        visualElement.enteringChildren = undefined;\n    });\n    return visualElement;\n}\nfunction createProjectionNode(visualElement, props, ProjectionNodeConstructor, initialPromotionConfig) {\n    const { layoutId, layout, drag, dragConstraints, layoutScroll, layoutRoot, layoutCrossfade, } = props;\n    visualElement.projection = new ProjectionNodeConstructor(visualElement.latestValues, props[\"data-framer-portal-id\"]\n        ? undefined\n        : getClosestProjectingNode(visualElement.parent));\n    visualElement.projection.setOptions({\n        layoutId,\n        layout,\n        alwaysMeasureLayout: Boolean(drag) || (dragConstraints && isRefObject(dragConstraints)),\n        visualElement,\n        /**\n         * TODO: Update options in an effect. This could be tricky as it'll be too late\n         * to update by the time layout animations run.\n         * We also need to fix this safeToRemove by linking it up to the one returned by usePresence,\n         * ensuring it gets called if there's no potential layout animations.\n         *\n         */\n        animationType: typeof layout === \"string\" ? layout : \"both\",\n        initialPromotionConfig,\n        crossfade: layoutCrossfade,\n        layoutScroll,\n        layoutRoot,\n    });\n}\nfunction getClosestProjectingNode(visualElement) {\n    if (!visualElement)\n        return undefined;\n    return visualElement.options.allowProjection !== false\n        ? visualElement.projection\n        : getClosestProjectingNode(visualElement.parent);\n}\n\nexport { useVisualElement };\n//# sourceMappingURL=use-visual-element.mjs.map\n","\"use client\";\nimport { resolveMotionValue, isControllingVariants, isVariantNode, isAnimationControls, resolveVariantFromProps } from 'motion-dom';\nimport { useContext } from 'react';\nimport { MotionContext } from '../../context/MotionContext/index.mjs';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\n\nfunction makeState({ scrapeMotionValuesFromProps, createRenderState, }, props, context, presenceContext) {\n    const state = {\n        latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n        renderState: createRenderState(),\n    };\n    return state;\n}\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n    const values = {};\n    const motionValues = scrapeMotionValues(props, {});\n    for (const key in motionValues) {\n        values[key] = resolveMotionValue(motionValues[key]);\n    }\n    let { initial, animate } = props;\n    const isControllingVariants$1 = isControllingVariants(props);\n    const isVariantNode$1 = isVariantNode(props);\n    if (context &&\n        isVariantNode$1 &&\n        !isControllingVariants$1 &&\n        props.inherit !== false) {\n        if (initial === undefined)\n            initial = context.initial;\n        if (animate === undefined)\n            animate = context.animate;\n    }\n    let isInitialAnimationBlocked = presenceContext\n        ? presenceContext.initial === false\n        : false;\n    isInitialAnimationBlocked = isInitialAnimationBlocked || initial === false;\n    const variantToSet = isInitialAnimationBlocked ? animate : initial;\n    if (variantToSet &&\n        typeof variantToSet !== \"boolean\" &&\n        !isAnimationControls(variantToSet)) {\n        const list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n        for (let i = 0; i < list.length; i++) {\n            const resolved = resolveVariantFromProps(props, list[i]);\n            if (resolved) {\n                const { transitionEnd, transition, ...target } = resolved;\n                for (const key in target) {\n                    let valueTarget = target[key];\n                    if (Array.isArray(valueTarget)) {\n                        /**\n                         * Take final keyframe if the initial animation is blocked because\n                         * we want to initialise at the end of that blocked animation.\n                         */\n                        const index = isInitialAnimationBlocked\n                            ? valueTarget.length - 1\n                            : 0;\n                        valueTarget = valueTarget[index];\n                    }\n                    if (valueTarget !== null) {\n                        values[key] = valueTarget;\n                    }\n                }\n                for (const key in transitionEnd) {\n                    values[key] = transitionEnd[key];\n                }\n            }\n        }\n    }\n    return values;\n}\nconst makeUseVisualState = (config) => (props, isStatic) => {\n    const context = useContext(MotionContext);\n    const presenceContext = useContext(PresenceContext);\n    const make = () => makeState(config, props, context, presenceContext);\n    return isStatic ? make() : useConstant(make);\n};\n\nexport { makeUseVisualState };\n//# sourceMappingURL=use-visual-state.mjs.map\n","/**\n * A list of all valid MotionProps.\n *\n * @privateRemarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nconst validMotionProps = new Set([\n    \"animate\",\n    \"exit\",\n    \"variants\",\n    \"initial\",\n    \"style\",\n    \"values\",\n    \"variants\",\n    \"transition\",\n    \"transformTemplate\",\n    \"custom\",\n    \"inherit\",\n    \"onBeforeLayoutMeasure\",\n    \"onAnimationStart\",\n    \"onAnimationComplete\",\n    \"onUpdate\",\n    \"onDragStart\",\n    \"onDrag\",\n    \"onDragEnd\",\n    \"onMeasureDragConstraints\",\n    \"onDirectionLock\",\n    \"onDragTransitionEnd\",\n    \"_dragX\",\n    \"_dragY\",\n    \"onHoverStart\",\n    \"onHoverEnd\",\n    \"onViewportEnter\",\n    \"onViewportLeave\",\n    \"globalTapTarget\",\n    \"propagate\",\n    \"ignoreStrict\",\n    \"viewport\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n    return (key.startsWith(\"while\") ||\n        (key.startsWith(\"drag\") && key !== \"draggable\") ||\n        key.startsWith(\"layout\") ||\n        key.startsWith(\"onTap\") ||\n        key.startsWith(\"onPan\") ||\n        key.startsWith(\"onLayout\") ||\n        validMotionProps.has(key));\n}\n\nexport { isValidMotionProp };\n//# sourceMappingURL=valid-prop.mjs.map\n","import { warnOnce } from 'motion-utils';\nimport { createMotionComponent } from '../../motion/index.mjs';\n\nfunction createMotionProxy(preloadedFeatures, createVisualElement) {\n    if (typeof Proxy === \"undefined\") {\n        return createMotionComponent;\n    }\n    /**\n     * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n     * Rather than generating them anew every render.\n     */\n    const componentCache = new Map();\n    const factory = (Component, options) => {\n        return createMotionComponent(Component, options, preloadedFeatures, createVisualElement);\n    };\n    /**\n     * Support for deprecated`motion(Component)` pattern\n     */\n    const deprecatedFactoryFunction = (Component, options) => {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, \"motion() is deprecated. Use motion.create() instead.\");\n        }\n        return factory(Component, options);\n    };\n    return new Proxy(deprecatedFactoryFunction, {\n        /**\n         * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n         * The prop name is passed through as `key` and we can use that to generate a `motion`\n         * DOM component with that name.\n         */\n        get: (_target, key) => {\n            if (key === \"create\")\n                return factory;\n            /**\n             * If this element doesn't exist in the component cache, create it and cache.\n             */\n            if (!componentCache.has(key)) {\n                componentCache.set(key, createMotionComponent(key, undefined, preloadedFeatures, createVisualElement));\n            }\n            return componentCache.get(key);\n        },\n    });\n}\n\nexport { createMotionProxy };\n//# sourceMappingURL=create-proxy.mjs.map\n","import { animations } from '../../../motion/features/animations.mjs';\nimport { drag } from '../../../motion/features/drag.mjs';\nimport { gestureAnimations } from '../../../motion/features/gestures.mjs';\nimport { layout } from '../../../motion/features/layout.mjs';\n\nconst featureBundle = {\n    ...animations,\n    ...gestureAnimations,\n    ...drag,\n    ...layout,\n};\n\nexport { featureBundle };\n//# sourceMappingURL=feature-bundle.mjs.map\n","import { createDomVisualElement } from '../../dom/create-visual-element.mjs';\nimport { createMotionProxy } from '../create-proxy.mjs';\nimport { featureBundle } from './feature-bundle.mjs';\n\nconst motion = /*@__PURE__*/ createMotionProxy(featureBundle, createDomVisualElement);\n\nexport { motion };\n//# sourceMappingURL=proxy.mjs.map\n","import { SVGVisualElement, HTMLVisualElement } from 'motion-dom';\nimport { Fragment } from 'react';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nconst createDomVisualElement = (Component, options) => {\n    /**\n     * Use explicit isSVG override if provided, otherwise auto-detect\n     */\n    const isSVG = options.isSVG ?? isSVGComponent(Component);\n    return isSVG\n        ? new SVGVisualElement(options)\n        : new HTMLVisualElement(options, {\n            allowProjection: Component !== Fragment,\n        });\n};\n\nexport { createDomVisualElement };\n//# sourceMappingURL=create-visual-element.mjs.map\n","\"use client\";\nimport { isMotionValue } from 'motion-dom';\nimport { Fragment, useMemo, createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.mjs';\nimport { useSVGProps } from '../svg/use-props.mjs';\nimport { filterProps } from './utils/filter-props.mjs';\nimport { isSVGComponent } from './utils/is-svg-component.mjs';\n\nfunction useRender(Component, props, ref, { latestValues, }, isStatic, forwardMotionProps = false, isSVG) {\n    const useVisualProps = (isSVG ?? isSVGComponent(Component)) ? useSVGProps : useHTMLProps;\n    const visualProps = useVisualProps(props, latestValues, isStatic, Component);\n    const filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n    const elementProps = Component !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};\n    /**\n     * If component has been handed a motion value as its child,\n     * memoise its initial value and render that. Subsequent updates\n     * will be handled by the onChange handler\n     */\n    const { children } = props;\n    const renderedChildren = useMemo(() => (isMotionValue(children) ? children.get() : children), [children]);\n    return createElement(Component, {\n        ...elementProps,\n        children: renderedChildren,\n    });\n}\n\nexport { useRender };\n//# sourceMappingURL=use-render.mjs.map\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.mjs';\n\nlet shouldForward = (key) => !isValidMotionProp(key);\nfunction loadExternalIsValidProp(isValidProp) {\n    if (typeof isValidProp !== \"function\")\n        return;\n    // Explicitly filter our events\n    shouldForward = (key) => key.startsWith(\"on\") ? !isValidMotionProp(key) : isValidProp(key);\n}\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n    /**\n     * We attempt to import this package but require won't be defined in esm environments, in that case\n     * isPropValid will have to be provided via `MotionContext`. In a 6.0.0 this should probably be removed\n     * in favour of explicit injection.\n     */\n    loadExternalIsValidProp(require(\"@emotion/is-prop-valid\").default);\n}\ncatch {\n    // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n    const filteredProps = {};\n    for (const key in props) {\n        /**\n         * values is considered a valid prop by Emotion, so if it's present\n         * this will be rendered out to the DOM unless explicitly filtered.\n         *\n         * We check the type as it could be used with the `feColorMatrix`\n         * element, which we support.\n         */\n        if (key === \"values\" && typeof props.values === \"object\")\n            continue;\n        if (shouldForward(key) ||\n            (forwardMotionProps === true && isValidMotionProp(key)) ||\n            (!isDom && !isValidMotionProp(key)) ||\n            // If trying to use native HTML drag events, forward drag listeners\n            (props[\"draggable\"] &&\n                key.startsWith(\"onDrag\"))) {\n            filteredProps[key] =\n                props[key];\n        }\n    }\n    return filteredProps;\n}\n\nexport { filterProps, loadExternalIsValidProp };\n//# sourceMappingURL=filter-props.mjs.map\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.mjs';\n\nfunction isSVGComponent(Component) {\n    if (\n    /**\n     * If it's not a string, it's a custom React component. Currently we only support\n     * HTML custom React components.\n     */\n    typeof Component !== \"string\" ||\n        /**\n         * If it contains a dash, the element is a custom HTML webcomponent.\n         */\n        Component.includes(\"-\")) {\n        return false;\n    }\n    else if (\n    /**\n     * If it's in our list of lowercase SVG tags, it's an SVG component\n     */\n    lowercaseSVGElements.indexOf(Component) > -1 ||\n        /**\n         * If it contains a capital letter, it's an SVG component\n         */\n        /[A-Z]/u.test(Component)) {\n        return true;\n    }\n    return false;\n}\n\nexport { isSVGComponent };\n//# sourceMappingURL=is-svg-component.mjs.map\n","\"use client\";\nimport { scrapeHTMLMotionValuesFromProps } from 'motion-dom';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nconst useHTMLVisualState = /*@__PURE__*/ makeUseVisualState({\n    scrapeMotionValuesFromProps: scrapeHTMLMotionValuesFromProps,\n    createRenderState: createHtmlRenderState,\n});\n\nexport { useHTMLVisualState };\n//# sourceMappingURL=use-html-visual-state.mjs.map\n","\"use client\";\nimport { isMotionValue, isForcedMotionValue, buildHTMLStyles } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { createHtmlRenderState } from './utils/create-render-state.mjs';\n\nfunction copyRawValuesOnly(target, source, props) {\n    for (const key in source) {\n        if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n            target[key] = source[key];\n        }\n    }\n}\nfunction useInitialMotionValues({ transformTemplate }, visualState) {\n    return useMemo(() => {\n        const state = createHtmlRenderState();\n        buildHTMLStyles(state, visualState, transformTemplate);\n        return Object.assign({}, state.vars, state.style);\n    }, [visualState]);\n}\nfunction useStyle(props, visualState) {\n    const styleProp = props.style || {};\n    const style = {};\n    /**\n     * Copy non-Motion Values straight into style\n     */\n    copyRawValuesOnly(style, styleProp, props);\n    Object.assign(style, useInitialMotionValues(props, visualState));\n    return style;\n}\nfunction useHTMLProps(props, visualState) {\n    // The `any` isn't ideal but it is the type of createElement props argument\n    const htmlProps = {};\n    const style = useStyle(props, visualState);\n    if (props.drag && props.dragListener !== false) {\n        // Disable the ghost element when a user drags\n        htmlProps.draggable = false;\n        // Disable text selection\n        style.userSelect =\n            style.WebkitUserSelect =\n                style.WebkitTouchCallout =\n                    \"none\";\n        // Disable scrolling on the draggable direction\n        style.touchAction =\n            props.drag === true\n                ? \"none\"\n                : `pan-${props.drag === \"x\" ? \"y\" : \"x\"}`;\n    }\n    if (props.tabIndex === undefined &&\n        (props.onTap || props.onTapStart || props.whileTap)) {\n        htmlProps.tabIndex = 0;\n    }\n    htmlProps.style = style;\n    return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps };\n//# sourceMappingURL=use-props.mjs.map\n","const createHtmlRenderState = () => ({\n    style: {},\n    transform: {},\n    transformOrigin: {},\n    vars: {},\n});\n\nexport { createHtmlRenderState };\n//# sourceMappingURL=create-render-state.mjs.map\n","/**\n * We keep these listed separately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nconst lowercaseSVGElements = [\n    \"animate\",\n    \"circle\",\n    \"defs\",\n    \"desc\",\n    \"ellipse\",\n    \"g\",\n    \"image\",\n    \"line\",\n    \"filter\",\n    \"marker\",\n    \"mask\",\n    \"metadata\",\n    \"path\",\n    \"pattern\",\n    \"polygon\",\n    \"polyline\",\n    \"rect\",\n    \"stop\",\n    \"switch\",\n    \"symbol\",\n    \"svg\",\n    \"text\",\n    \"tspan\",\n    \"use\",\n    \"view\",\n];\n\nexport { lowercaseSVGElements };\n//# sourceMappingURL=lowercase-elements.mjs.map\n","\"use client\";\nimport { buildSVGAttrs, isSVGTag } from 'motion-dom';\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nfunction useSVGProps(props, visualState, _isStatic, Component) {\n    const visualProps = useMemo(() => {\n        const state = createSvgRenderState();\n        buildSVGAttrs(state, visualState, isSVGTag(Component), props.transformTemplate, props.style);\n        return {\n            ...state.attrs,\n            style: { ...state.style },\n        };\n    }, [visualState]);\n    if (props.style) {\n        const rawStyles = {};\n        copyRawValuesOnly(rawStyles, props.style, props);\n        visualProps.style = { ...rawStyles, ...visualProps.style };\n    }\n    return visualProps;\n}\n\nexport { useSVGProps };\n//# sourceMappingURL=use-props.mjs.map\n","\"use client\";\nimport { scrapeSVGMotionValuesFromProps } from 'motion-dom';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.mjs';\nimport { createSvgRenderState } from './utils/create-render-state.mjs';\n\nconst useSVGVisualState = /*@__PURE__*/ makeUseVisualState({\n    scrapeMotionValuesFromProps: scrapeSVGMotionValuesFromProps,\n    createRenderState: createSvgRenderState,\n});\n\nexport { useSVGVisualState };\n//# sourceMappingURL=use-svg-visual-state.mjs.map\n","import { createHtmlRenderState } from '../../html/utils/create-render-state.mjs';\n\nconst createSvgRenderState = () => ({\n    ...createHtmlRenderState(),\n    attrs: {},\n});\n\nexport { createSvgRenderState };\n//# sourceMappingURL=create-render-state.mjs.map\n","const distance = (a, b) => Math.abs(a - b);\nfunction distance2D(a, b) {\n    // Multi-dimensional\n    const xDelta = distance(a.x, b.x);\n    const yDelta = distance(a.y, b.y);\n    return Math.sqrt(xDelta ** 2 + yDelta ** 2);\n}\n\nexport { distance, distance2D };\n//# sourceMappingURL=distance.mjs.map\n","// Fixes https://github.com/motiondivision/motion/issues/2270\nconst getContextWindow = ({ current }) => {\n    return current ? current.ownerDocument.defaultView : null;\n};\n\nexport { getContextWindow };\n//# sourceMappingURL=get-context-window.mjs.map\n","const isBrowser = typeof window !== \"undefined\";\n\nexport { isBrowser };\n//# sourceMappingURL=is-browser.mjs.map\n","function isRefObject(ref) {\n    return (ref &&\n        typeof ref === \"object\" &&\n        Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n//# sourceMappingURL=is-ref-object.mjs.map\n","\"use client\";\nimport { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport { useConstant };\n//# sourceMappingURL=use-constant.mjs.map\n","\"use client\";\nimport { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.mjs';\n\nconst useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n//# sourceMappingURL=use-isomorphic-effect.mjs.map\n","import { MotionGlobalConfig, noop } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { KeyframeResolver, flushKeyframeResolvers } from './keyframes/KeyframesResolver.mjs';\nimport { NativeAnimationExtended } from './NativeAnimationExtended.mjs';\nimport { canAnimate } from './utils/can-animate.mjs';\nimport { makeAnimationInstant } from './utils/make-animation-instant.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { supportsBrowserAnimation } from './waapi/supports/waapi.mjs';\n\n/**\n * Maximum time allowed between an animation being created and it being\n * resolved for us to use the latter as the start time.\n *\n * This is to ensure that while we prefer to \"start\" an animation as soon\n * as it's triggered, we also want to avoid a visual jump if there's a big delay\n * between these two moments.\n */\nconst MAX_RESOLVE_DELAY = 40;\nclass AsyncMotionValueAnimation extends WithPromise {\n    constructor({ autoplay = true, delay = 0, type = \"keyframes\", repeat = 0, repeatDelay = 0, repeatType = \"loop\", keyframes, name, motionValue, element, ...options }) {\n        super();\n        /**\n         * Bound to support return animation.stop pattern\n         */\n        this.stop = () => {\n            if (this._animation) {\n                this._animation.stop();\n                this.stopTimeline?.();\n            }\n            this.keyframeResolver?.cancel();\n        };\n        this.createdAt = time.now();\n        const optionsWithDefaults = {\n            autoplay,\n            delay,\n            type,\n            repeat,\n            repeatDelay,\n            repeatType,\n            name,\n            motionValue,\n            element,\n            ...options,\n        };\n        const KeyframeResolver$1 = element?.KeyframeResolver || KeyframeResolver;\n        this.keyframeResolver = new KeyframeResolver$1(keyframes, (resolvedKeyframes, finalKeyframe, forced) => this.onKeyframesResolved(resolvedKeyframes, finalKeyframe, optionsWithDefaults, !forced), name, motionValue, element);\n        this.keyframeResolver?.scheduleResolve();\n    }\n    onKeyframesResolved(keyframes, finalKeyframe, options, sync) {\n        this.keyframeResolver = undefined;\n        const { name, type, velocity, delay, isHandoff, onUpdate } = options;\n        this.resolvedAt = time.now();\n        /**\n         * If we can't animate this value with the resolved keyframes\n         * then we should complete it immediately.\n         */\n        if (!canAnimate(keyframes, name, type, velocity)) {\n            if (MotionGlobalConfig.instantAnimations || !delay) {\n                onUpdate?.(getFinalKeyframe(keyframes, options, finalKeyframe));\n            }\n            keyframes[0] = keyframes[keyframes.length - 1];\n            makeAnimationInstant(options);\n            options.repeat = 0;\n        }\n        /**\n         * Resolve startTime for the animation.\n         *\n         * This method uses the createdAt and resolvedAt to calculate the\n         * animation startTime. *Ideally*, we would use the createdAt time as t=0\n         * as the following frame would then be the first frame of the animation in\n         * progress, which would feel snappier.\n         *\n         * However, if there's a delay (main thread work) between the creation of\n         * the animation and the first committed frame, we prefer to use resolvedAt\n         * to avoid a sudden jump into the animation.\n         */\n        const startTime = sync\n            ? !this.resolvedAt\n                ? this.createdAt\n                : this.resolvedAt - this.createdAt > MAX_RESOLVE_DELAY\n                    ? this.resolvedAt\n                    : this.createdAt\n            : undefined;\n        const resolvedOptions = {\n            startTime,\n            finalKeyframe,\n            ...options,\n            keyframes,\n        };\n        /**\n         * Animate via WAAPI if possible. If this is a handoff animation, the optimised animation will be running via\n         * WAAPI. Therefore, this animation must be JS to ensure it runs \"under\" the\n         * optimised animation.\n         */\n        const useWaapi = !isHandoff && supportsBrowserAnimation(resolvedOptions);\n        const element = resolvedOptions.motionValue?.owner?.current;\n        const animation = useWaapi\n            ? new NativeAnimationExtended({\n                ...resolvedOptions,\n                element,\n            })\n            : new JSAnimation(resolvedOptions);\n        animation.finished.then(() => {\n            this.notifyFinished();\n        }).catch(noop);\n        if (this.pendingTimeline) {\n            this.stopTimeline = animation.attachTimeline(this.pendingTimeline);\n            this.pendingTimeline = undefined;\n        }\n        this._animation = animation;\n    }\n    get finished() {\n        if (!this._animation) {\n            return this._finished;\n        }\n        else {\n            return this.animation.finished;\n        }\n    }\n    then(onResolve, _onReject) {\n        return this.finished.finally(onResolve).then(() => { });\n    }\n    get animation() {\n        if (!this._animation) {\n            this.keyframeResolver?.resume();\n            flushKeyframeResolvers();\n        }\n        return this._animation;\n    }\n    get duration() {\n        return this.animation.duration;\n    }\n    get iterationDuration() {\n        return this.animation.iterationDuration;\n    }\n    get time() {\n        return this.animation.time;\n    }\n    set time(newTime) {\n        this.animation.time = newTime;\n    }\n    get speed() {\n        return this.animation.speed;\n    }\n    get state() {\n        return this.animation.state;\n    }\n    set speed(newSpeed) {\n        this.animation.speed = newSpeed;\n    }\n    get startTime() {\n        return this.animation.startTime;\n    }\n    attachTimeline(timeline) {\n        if (this._animation) {\n            this.stopTimeline = this.animation.attachTimeline(timeline);\n        }\n        else {\n            this.pendingTimeline = timeline;\n        }\n        return () => this.stop();\n    }\n    play() {\n        this.animation.play();\n    }\n    pause() {\n        this.animation.pause();\n    }\n    complete() {\n        this.animation.complete();\n    }\n    cancel() {\n        if (this._animation) {\n            this.animation.cancel();\n        }\n        this.keyframeResolver?.cancel();\n    }\n}\n\nexport { AsyncMotionValueAnimation };\n//# sourceMappingURL=AsyncMotionValueAnimation.mjs.map\n","import { invariant, pipe, clamp, millisecondsToSeconds, secondsToMilliseconds } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { activeAnimations } from '../stats/animation-count.mjs';\nimport { mix } from '../utils/mix/index.mjs';\nimport { frameloopDriver } from './drivers/frame.mjs';\nimport { inertia } from './generators/inertia.mjs';\nimport { keyframes } from './generators/keyframes.mjs';\nimport { calcGeneratorDuration } from './generators/utils/calc-duration.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\n\nconst percentToProgress = (percent) => percent / 100;\nclass JSAnimation extends WithPromise {\n    constructor(options) {\n        super();\n        this.state = \"idle\";\n        this.startTime = null;\n        this.isStopped = false;\n        /**\n         * The current time of the animation.\n         */\n        this.currentTime = 0;\n        /**\n         * The time at which the animation was paused.\n         */\n        this.holdTime = null;\n        /**\n         * Playback speed as a factor. 0 would be stopped, -1 reverse and 2 double speed.\n         */\n        this.playbackSpeed = 1;\n        /**\n         * This method is bound to the instance to fix a pattern where\n         * animation.stop is returned as a reference from a useEffect.\n         */\n        this.stop = () => {\n            const { motionValue } = this.options;\n            if (motionValue && motionValue.updatedAt !== time.now()) {\n                this.tick(time.now());\n            }\n            this.isStopped = true;\n            if (this.state === \"idle\")\n                return;\n            this.teardown();\n            this.options.onStop?.();\n        };\n        activeAnimations.mainThread++;\n        this.options = options;\n        this.initAnimation();\n        this.play();\n        if (options.autoplay === false)\n            this.pause();\n    }\n    initAnimation() {\n        const { options } = this;\n        replaceTransitionType(options);\n        const { type = keyframes, repeat = 0, repeatDelay = 0, repeatType, velocity = 0, } = options;\n        let { keyframes: keyframes$1 } = options;\n        const generatorFactory = type || keyframes;\n        if (process.env.NODE_ENV !== \"production\" &&\n            generatorFactory !== keyframes) {\n            invariant(keyframes$1.length <= 2, `Only two keyframes currently supported with spring and inertia animations. Trying to animate ${keyframes$1}`, \"spring-two-frames\");\n        }\n        if (generatorFactory !== keyframes &&\n            typeof keyframes$1[0] !== \"number\") {\n            this.mixKeyframes = pipe(percentToProgress, mix(keyframes$1[0], keyframes$1[1]));\n            keyframes$1 = [0, 100];\n        }\n        const generator = generatorFactory({ ...options, keyframes: keyframes$1 });\n        /**\n         * If we have a mirror repeat type we need to create a second generator that outputs the\n         * mirrored (not reversed) animation and later ping pong between the two generators.\n         */\n        if (repeatType === \"mirror\") {\n            this.mirroredGenerator = generatorFactory({\n                ...options,\n                keyframes: [...keyframes$1].reverse(),\n                velocity: -velocity,\n            });\n        }\n        /**\n         * If duration is undefined and we have repeat options,\n         * we need to calculate a duration from the generator.\n         *\n         * We set it to the generator itself to cache the duration.\n         * Any timeline resolver will need to have already precalculated\n         * the duration by this step.\n         */\n        if (generator.calculatedDuration === null) {\n            generator.calculatedDuration = calcGeneratorDuration(generator);\n        }\n        const { calculatedDuration } = generator;\n        this.calculatedDuration = calculatedDuration;\n        this.resolvedDuration = calculatedDuration + repeatDelay;\n        this.totalDuration = this.resolvedDuration * (repeat + 1) - repeatDelay;\n        this.generator = generator;\n    }\n    updateTime(timestamp) {\n        const animationTime = Math.round(timestamp - this.startTime) * this.playbackSpeed;\n        // Update currentTime\n        if (this.holdTime !== null) {\n            this.currentTime = this.holdTime;\n        }\n        else {\n            // Rounding the time because floating point arithmetic is not always accurate, e.g. 3000.367 - 1000.367 =\n            // 2000.0000000000002. This is a problem when we are comparing the currentTime with the duration, for\n            // example.\n            this.currentTime = animationTime;\n        }\n    }\n    tick(timestamp, sample = false) {\n        const { generator, totalDuration, mixKeyframes, mirroredGenerator, resolvedDuration, calculatedDuration, } = this;\n        if (this.startTime === null)\n            return generator.next(0);\n        const { delay = 0, keyframes, repeat, repeatType, repeatDelay, type, onUpdate, finalKeyframe, } = this.options;\n        /**\n         * requestAnimationFrame timestamps can come through as lower than\n         * the startTime as set by performance.now(). Here we prevent this,\n         * though in the future it could be possible to make setting startTime\n         * a pending operation that gets resolved here.\n         */\n        if (this.speed > 0) {\n            this.startTime = Math.min(this.startTime, timestamp);\n        }\n        else if (this.speed < 0) {\n            this.startTime = Math.min(timestamp - totalDuration / this.speed, this.startTime);\n        }\n        if (sample) {\n            this.currentTime = timestamp;\n        }\n        else {\n            this.updateTime(timestamp);\n        }\n        // Rebase on delay\n        const timeWithoutDelay = this.currentTime - delay * (this.playbackSpeed >= 0 ? 1 : -1);\n        const isInDelayPhase = this.playbackSpeed >= 0\n            ? timeWithoutDelay < 0\n            : timeWithoutDelay > totalDuration;\n        this.currentTime = Math.max(timeWithoutDelay, 0);\n        // If this animation has finished, set the current time  to the total duration.\n        if (this.state === \"finished\" && this.holdTime === null) {\n            this.currentTime = totalDuration;\n        }\n        let elapsed = this.currentTime;\n        let frameGenerator = generator;\n        if (repeat) {\n            /**\n             * Get the current progress (0-1) of the animation. If t is >\n             * than duration we'll get values like 2.5 (midway through the\n             * third iteration)\n             */\n            const progress = Math.min(this.currentTime, totalDuration) / resolvedDuration;\n            /**\n             * Get the current iteration (0 indexed). For instance the floor of\n             * 2.5 is 2.\n             */\n            let currentIteration = Math.floor(progress);\n            /**\n             * Get the current progress of the iteration by taking the remainder\n             * so 2.5 is 0.5 through iteration 2\n             */\n            let iterationProgress = progress % 1.0;\n            /**\n             * If iteration progress is 1 we count that as the end\n             * of the previous iteration.\n             */\n            if (!iterationProgress && progress >= 1) {\n                iterationProgress = 1;\n            }\n            iterationProgress === 1 && currentIteration--;\n            currentIteration = Math.min(currentIteration, repeat + 1);\n            /**\n             * Reverse progress if we're not running in \"normal\" direction\n             */\n            const isOddIteration = Boolean(currentIteration % 2);\n            if (isOddIteration) {\n                if (repeatType === \"reverse\") {\n                    iterationProgress = 1 - iterationProgress;\n                    if (repeatDelay) {\n                        iterationProgress -= repeatDelay / resolvedDuration;\n                    }\n                }\n                else if (repeatType === \"mirror\") {\n                    frameGenerator = mirroredGenerator;\n                }\n            }\n            elapsed = clamp(0, 1, iterationProgress) * resolvedDuration;\n        }\n        /**\n         * If we're in negative time, set state as the initial keyframe.\n         * This prevents delay: x, duration: 0 animations from finishing\n         * instantly.\n         */\n        const state = isInDelayPhase\n            ? { done: false, value: keyframes[0] }\n            : frameGenerator.next(elapsed);\n        if (mixKeyframes) {\n            state.value = mixKeyframes(state.value);\n        }\n        let { done } = state;\n        if (!isInDelayPhase && calculatedDuration !== null) {\n            done =\n                this.playbackSpeed >= 0\n                    ? this.currentTime >= totalDuration\n                    : this.currentTime <= 0;\n        }\n        const isAnimationFinished = this.holdTime === null &&\n            (this.state === \"finished\" || (this.state === \"running\" && done));\n        // TODO: The exception for inertia could be cleaner here\n        if (isAnimationFinished && type !== inertia) {\n            state.value = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n        }\n        if (onUpdate) {\n            onUpdate(state.value);\n        }\n        if (isAnimationFinished) {\n            this.finish();\n        }\n        return state;\n    }\n    /**\n     * Allows the returned animation to be awaited or promise-chained. Currently\n     * resolves when the animation finishes at all but in a future update could/should\n     * reject if its cancels.\n     */\n    then(resolve, reject) {\n        return this.finished.then(resolve, reject);\n    }\n    get duration() {\n        return millisecondsToSeconds(this.calculatedDuration);\n    }\n    get iterationDuration() {\n        const { delay = 0 } = this.options || {};\n        return this.duration + millisecondsToSeconds(delay);\n    }\n    get time() {\n        return millisecondsToSeconds(this.currentTime);\n    }\n    set time(newTime) {\n        newTime = secondsToMilliseconds(newTime);\n        this.currentTime = newTime;\n        if (this.startTime === null ||\n            this.holdTime !== null ||\n            this.playbackSpeed === 0) {\n            this.holdTime = newTime;\n        }\n        else if (this.driver) {\n            this.startTime = this.driver.now() - newTime / this.playbackSpeed;\n        }\n        this.driver?.start(false);\n    }\n    get speed() {\n        return this.playbackSpeed;\n    }\n    set speed(newSpeed) {\n        this.updateTime(time.now());\n        const hasChanged = this.playbackSpeed !== newSpeed;\n        this.playbackSpeed = newSpeed;\n        if (hasChanged) {\n            this.time = millisecondsToSeconds(this.currentTime);\n        }\n    }\n    play() {\n        if (this.isStopped)\n            return;\n        const { driver = frameloopDriver, startTime } = this.options;\n        if (!this.driver) {\n            this.driver = driver((timestamp) => this.tick(timestamp));\n        }\n        this.options.onPlay?.();\n        const now = this.driver.now();\n        if (this.state === \"finished\") {\n            this.updateFinished();\n            this.startTime = now;\n        }\n        else if (this.holdTime !== null) {\n            this.startTime = now - this.holdTime;\n        }\n        else if (!this.startTime) {\n            this.startTime = startTime ?? now;\n        }\n        if (this.state === \"finished\" && this.speed < 0) {\n            this.startTime += this.calculatedDuration;\n        }\n        this.holdTime = null;\n        /**\n         * Set playState to running only after we've used it in\n         * the previous logic.\n         */\n        this.state = \"running\";\n        this.driver.start();\n    }\n    pause() {\n        this.state = \"paused\";\n        this.updateTime(time.now());\n        this.holdTime = this.currentTime;\n    }\n    complete() {\n        if (this.state !== \"running\") {\n            this.play();\n        }\n        this.state = \"finished\";\n        this.holdTime = null;\n    }\n    finish() {\n        this.notifyFinished();\n        this.teardown();\n        this.state = \"finished\";\n        this.options.onComplete?.();\n    }\n    cancel() {\n        this.holdTime = null;\n        this.startTime = 0;\n        this.tick(0);\n        this.teardown();\n        this.options.onCancel?.();\n    }\n    teardown() {\n        this.state = \"idle\";\n        this.stopDriver();\n        this.startTime = this.holdTime = null;\n        activeAnimations.mainThread--;\n    }\n    stopDriver() {\n        if (!this.driver)\n            return;\n        this.driver.stop();\n        this.driver = undefined;\n    }\n    sample(sampleTime) {\n        this.startTime = 0;\n        return this.tick(sampleTime, true);\n    }\n    attachTimeline(timeline) {\n        if (this.options.allowFlatten) {\n            this.options.type = \"keyframes\";\n            this.options.ease = \"linear\";\n            this.initAnimation();\n        }\n        this.driver?.stop();\n        return timeline.observe(this);\n    }\n}\n// Legacy function support\nfunction animateValue(options) {\n    return new JSAnimation(options);\n}\n\nexport { JSAnimation, animateValue };\n//# sourceMappingURL=JSAnimation.mjs.map\n","import { invariant, millisecondsToSeconds, secondsToMilliseconds, noop } from 'motion-utils';\nimport { setStyle } from '../render/dom/style-set.mjs';\nimport { supportsScrollTimeline } from '../utils/supports/scroll-timeline.mjs';\nimport { getFinalKeyframe } from './keyframes/get-final.mjs';\nimport { WithPromise } from './utils/WithPromise.mjs';\nimport { startWaapiAnimation } from './waapi/start-waapi-animation.mjs';\nimport { applyGeneratorOptions } from './waapi/utils/apply-generator.mjs';\n\n/**\n * NativeAnimation implements AnimationPlaybackControls for the browser's Web Animations API.\n */\nclass NativeAnimation extends WithPromise {\n    constructor(options) {\n        super();\n        this.finishedTime = null;\n        this.isStopped = false;\n        /**\n         * Tracks a manually-set start time that takes precedence over WAAPI's\n         * dynamic startTime. This is cleared when play() or time setter is called,\n         * allowing WAAPI to take over timing.\n         */\n        this.manualStartTime = null;\n        if (!options)\n            return;\n        const { element, name, keyframes, pseudoElement, allowFlatten = false, finalKeyframe, onComplete, } = options;\n        this.isPseudoElement = Boolean(pseudoElement);\n        this.allowFlatten = allowFlatten;\n        this.options = options;\n        invariant(typeof options.type !== \"string\", `Mini animate() doesn't support \"type\" as a string.`, \"mini-spring\");\n        const transition = applyGeneratorOptions(options);\n        this.animation = startWaapiAnimation(element, name, keyframes, transition, pseudoElement);\n        if (transition.autoplay === false) {\n            this.animation.pause();\n        }\n        this.animation.onfinish = () => {\n            this.finishedTime = this.time;\n            if (!pseudoElement) {\n                const keyframe = getFinalKeyframe(keyframes, this.options, finalKeyframe, this.speed);\n                if (this.updateMotionValue) {\n                    this.updateMotionValue(keyframe);\n                }\n                else {\n                    /**\n                     * If we can, we want to commit the final style as set by the user,\n                     * rather than the computed keyframe value supplied by the animation.\n                     */\n                    setStyle(element, name, keyframe);\n                }\n                this.animation.cancel();\n            }\n            onComplete?.();\n            this.notifyFinished();\n        };\n    }\n    play() {\n        if (this.isStopped)\n            return;\n        this.manualStartTime = null;\n        this.animation.play();\n        if (this.state === \"finished\") {\n            this.updateFinished();\n        }\n    }\n    pause() {\n        this.animation.pause();\n    }\n    complete() {\n        this.animation.finish?.();\n    }\n    cancel() {\n        try {\n            this.animation.cancel();\n        }\n        catch (e) { }\n    }\n    stop() {\n        if (this.isStopped)\n            return;\n        this.isStopped = true;\n        const { state } = this;\n        if (state === \"idle\" || state === \"finished\") {\n            return;\n        }\n        if (this.updateMotionValue) {\n            this.updateMotionValue();\n        }\n        else {\n            this.commitStyles();\n        }\n        if (!this.isPseudoElement)\n            this.cancel();\n    }\n    /**\n     * WAAPI doesn't natively have any interruption capabilities.\n     *\n     * In this method, we commit styles back to the DOM before cancelling\n     * the animation.\n     *\n     * This is designed to be overridden by NativeAnimationExtended, which\n     * will create a renderless JS animation and sample it twice to calculate\n     * its current value, \"previous\" value, and therefore allow\n     * Motion to also correctly calculate velocity for any subsequent animation\n     * while deferring the commit until the next animation frame.\n     */\n    commitStyles() {\n        const element = this.options?.element;\n        if (!this.isPseudoElement && element?.isConnected) {\n            this.animation.commitStyles?.();\n        }\n    }\n    get duration() {\n        const duration = this.animation.effect?.getComputedTiming?.().duration || 0;\n        return millisecondsToSeconds(Number(duration));\n    }\n    get iterationDuration() {\n        const { delay = 0 } = this.options || {};\n        return this.duration + millisecondsToSeconds(delay);\n    }\n    get time() {\n        return millisecondsToSeconds(Number(this.animation.currentTime) || 0);\n    }\n    set time(newTime) {\n        this.manualStartTime = null;\n        this.finishedTime = null;\n        this.animation.currentTime = secondsToMilliseconds(newTime);\n    }\n    /**\n     * The playback speed of the animation.\n     * 1 = normal speed, 2 = double speed, 0.5 = half speed.\n     */\n    get speed() {\n        return this.animation.playbackRate;\n    }\n    set speed(newSpeed) {\n        // Allow backwards playback after finishing\n        if (newSpeed < 0)\n            this.finishedTime = null;\n        this.animation.playbackRate = newSpeed;\n    }\n    get state() {\n        return this.finishedTime !== null\n            ? \"finished\"\n            : this.animation.playState;\n    }\n    get startTime() {\n        return this.manualStartTime ?? Number(this.animation.startTime);\n    }\n    set startTime(newStartTime) {\n        this.manualStartTime = this.animation.startTime = newStartTime;\n    }\n    /**\n     * Attaches a timeline to the animation, for instance the `ScrollTimeline`.\n     */\n    attachTimeline({ timeline, observe }) {\n        if (this.allowFlatten) {\n            this.animation.effect?.updateTiming({ easing: \"linear\" });\n        }\n        this.animation.onfinish = null;\n        if (timeline && supportsScrollTimeline()) {\n            this.animation.timeline = timeline;\n            return noop;\n        }\n        else {\n            return observe(this);\n        }\n    }\n}\n\nexport { NativeAnimation };\n//# sourceMappingURL=NativeAnimation.mjs.map\n","import { clamp } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { JSAnimation } from './JSAnimation.mjs';\nimport { NativeAnimation } from './NativeAnimation.mjs';\nimport { replaceTransitionType } from './utils/replace-transition-type.mjs';\nimport { replaceStringEasing } from './waapi/utils/unsupported-easing.mjs';\n\n/**\n * 10ms is chosen here as it strikes a balance between smooth\n * results (more than one keyframe per frame at 60fps) and\n * keyframe quantity.\n */\nconst sampleDelta = 10; //ms\nclass NativeAnimationExtended extends NativeAnimation {\n    constructor(options) {\n        /**\n         * The base NativeAnimation function only supports a subset\n         * of Motion easings, and WAAPI also only supports some\n         * easing functions via string/cubic-bezier definitions.\n         *\n         * This function replaces those unsupported easing functions\n         * with a JS easing function. This will later get compiled\n         * to a linear() easing function.\n         */\n        replaceStringEasing(options);\n        /**\n         * Ensure we replace the transition type with a generator function\n         * before passing to WAAPI.\n         *\n         * TODO: Does this have a better home? It could be shared with\n         * JSAnimation.\n         */\n        replaceTransitionType(options);\n        super(options);\n        if (options.startTime !== undefined) {\n            this.startTime = options.startTime;\n        }\n        this.options = options;\n    }\n    /**\n     * WAAPI doesn't natively have any interruption capabilities.\n     *\n     * Rather than read committed styles back out of the DOM, we can\n     * create a renderless JS animation and sample it twice to calculate\n     * its current value, \"previous\" value, and therefore allow\n     * Motion to calculate velocity for any subsequent animation.\n     */\n    updateMotionValue(value) {\n        const { motionValue, onUpdate, onComplete, element, ...options } = this.options;\n        if (!motionValue)\n            return;\n        if (value !== undefined) {\n            motionValue.set(value);\n            return;\n        }\n        const sampleAnimation = new JSAnimation({\n            ...options,\n            autoplay: false,\n        });\n        /**\n         * Use wall-clock elapsed time for sampling.\n         * Under CPU load, WAAPI's currentTime may not reflect actual\n         * elapsed time, causing incorrect sampling and visual jumps.\n         */\n        const sampleTime = Math.max(sampleDelta, time.now() - this.startTime);\n        const delta = clamp(0, sampleDelta, sampleTime - sampleDelta);\n        motionValue.setWithVelocity(sampleAnimation.sample(Math.max(0, sampleTime - delta)).value, sampleAnimation.sample(sampleTime).value, delta);\n        sampleAnimation.stop();\n    }\n}\n\nexport { NativeAnimationExtended };\n//# sourceMappingURL=NativeAnimationExtended.mjs.map\n","import { animateMotionValue } from '../interfaces/motion-value.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\nfunction animateSingleValue(value, keyframes, options) {\n    const motionValue$1 = isMotionValue(value) ? value : motionValue(value);\n    motionValue$1.start(animateMotionValue(\"\", motionValue$1, keyframes, options));\n    return motionValue$1.animation;\n}\n\nexport { animateSingleValue };\n//# sourceMappingURL=single-value.mjs.map\n","import { time } from '../../frameloop/sync-time.mjs';\nimport { frame, cancelFrame, frameData } from '../../frameloop/frame.mjs';\n\nconst frameloopDriver = (update) => {\n    const passTimestamp = ({ timestamp }) => update(timestamp);\n    return {\n        start: (keepAlive = true) => frame.update(passTimestamp, keepAlive),\n        stop: () => cancelFrame(passTimestamp),\n        /**\n         * If we're processing this frame we can use the\n         * framelocked timestamp to keep things in sync.\n         */\n        now: () => (frameData.isProcessing ? frameData.timestamp : time.now()),\n    };\n};\n\nexport { frameloopDriver };\n//# sourceMappingURL=frame.mjs.map\n","import { spring } from './spring/index.mjs';\nimport { calcGeneratorVelocity } from './utils/velocity.mjs';\n\nfunction inertia({ keyframes, velocity = 0.0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed, }) {\n    const origin = keyframes[0];\n    const state = {\n        done: false,\n        value: origin,\n    };\n    const isOutOfBounds = (v) => (min !== undefined && v < min) || (max !== undefined && v > max);\n    const nearestBoundary = (v) => {\n        if (min === undefined)\n            return max;\n        if (max === undefined)\n            return min;\n        return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n    };\n    let amplitude = power * velocity;\n    const ideal = origin + amplitude;\n    const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n    /**\n     * If the target has changed we need to re-calculate the amplitude, otherwise\n     * the animation will start from the wrong position.\n     */\n    if (target !== ideal)\n        amplitude = target - origin;\n    const calcDelta = (t) => -amplitude * Math.exp(-t / timeConstant);\n    const calcLatest = (t) => target + calcDelta(t);\n    const applyFriction = (t) => {\n        const delta = calcDelta(t);\n        const latest = calcLatest(t);\n        state.done = Math.abs(delta) <= restDelta;\n        state.value = state.done ? target : latest;\n    };\n    /**\n     * Ideally this would resolve for t in a stateless way, we could\n     * do that by always precalculating the animation but as we know\n     * this will be done anyway we can assume that spring will\n     * be discovered during that.\n     */\n    let timeReachedBoundary;\n    let spring$1;\n    const checkCatchBoundary = (t) => {\n        if (!isOutOfBounds(state.value))\n            return;\n        timeReachedBoundary = t;\n        spring$1 = spring({\n            keyframes: [state.value, nearestBoundary(state.value)],\n            velocity: calcGeneratorVelocity(calcLatest, t, state.value), // TODO: This should be passing * 1000\n            damping: bounceDamping,\n            stiffness: bounceStiffness,\n            restDelta,\n            restSpeed,\n        });\n    };\n    checkCatchBoundary(0);\n    return {\n        calculatedDuration: null,\n        next: (t) => {\n            /**\n             * We need to resolve the friction to figure out if we need a\n             * spring but we don't want to do this twice per frame. So here\n             * we flag if we updated for this frame and later if we did\n             * we can skip doing it again.\n             */\n            let hasUpdatedFrame = false;\n            if (!spring$1 && timeReachedBoundary === undefined) {\n                hasUpdatedFrame = true;\n                applyFriction(t);\n                checkCatchBoundary(t);\n            }\n            /**\n             * If we have a spring and the provided t is beyond the moment the friction\n             * animation crossed the min/max boundary, use the spring.\n             */\n            if (timeReachedBoundary !== undefined && t >= timeReachedBoundary) {\n                return spring$1.next(t - timeReachedBoundary);\n            }\n            else {\n                !hasUpdatedFrame && applyFriction(t);\n                return state;\n            }\n        },\n    };\n}\n\nexport { inertia };\n//# sourceMappingURL=inertia.mjs.map\n","import { easeInOut, isEasingArray, easingDefinitionToFunction } from 'motion-utils';\nimport { interpolate } from '../../utils/interpolate.mjs';\nimport { defaultOffset } from '../keyframes/offsets/default.mjs';\nimport { convertOffsetToTimes } from '../keyframes/offsets/time.mjs';\n\nfunction defaultEasing(values, easing) {\n    return values.map(() => easing || easeInOut).splice(0, values.length - 1);\n}\nfunction keyframes({ duration = 300, keyframes: keyframeValues, times, ease = \"easeInOut\", }) {\n    /**\n     * Easing functions can be externally defined as strings. Here we convert them\n     * into actual functions.\n     */\n    const easingFunctions = isEasingArray(ease)\n        ? ease.map(easingDefinitionToFunction)\n        : easingDefinitionToFunction(ease);\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = {\n        done: false,\n        value: keyframeValues[0],\n    };\n    /**\n     * Create a times array based on the provided 0-1 offsets\n     */\n    const absoluteTimes = convertOffsetToTimes(\n    // Only use the provided offsets if they're the correct length\n    // TODO Maybe we should warn here if there's a length mismatch\n    times && times.length === keyframeValues.length\n        ? times\n        : defaultOffset(keyframeValues), duration);\n    const mapTimeToKeyframe = interpolate(absoluteTimes, keyframeValues, {\n        ease: Array.isArray(easingFunctions)\n            ? easingFunctions\n            : defaultEasing(keyframeValues, easingFunctions),\n    });\n    return {\n        calculatedDuration: duration,\n        next: (t) => {\n            state.value = mapTimeToKeyframe(t);\n            state.done = t >= duration;\n            return state;\n        },\n    };\n}\n\nexport { defaultEasing, keyframes };\n//# sourceMappingURL=keyframes.mjs.map\n","const springDefaults = {\n    // Default spring physics\n    stiffness: 100,\n    damping: 10,\n    mass: 1.0,\n    velocity: 0.0,\n    // Default duration/bounce-based options\n    duration: 800, // in ms\n    bounce: 0.3,\n    visualDuration: 0.3, // in seconds\n    // Rest thresholds\n    restSpeed: {\n        granular: 0.01,\n        default: 2,\n    },\n    restDelta: {\n        granular: 0.005,\n        default: 0.5,\n    },\n    // Limits\n    minDuration: 0.01, // in seconds\n    maxDuration: 10.0, // in seconds\n    minDamping: 0.05,\n    maxDamping: 1,\n};\n\nexport { springDefaults };\n//# sourceMappingURL=defaults.mjs.map\n","import { warning, secondsToMilliseconds, clamp, millisecondsToSeconds } from 'motion-utils';\nimport { springDefaults } from './defaults.mjs';\n\nconst safeMin = 0.001;\nfunction findSpring({ duration = springDefaults.duration, bounce = springDefaults.bounce, velocity = springDefaults.velocity, mass = springDefaults.mass, }) {\n    let envelope;\n    let derivative;\n    warning(duration <= secondsToMilliseconds(springDefaults.maxDuration), \"Spring duration must be 10 seconds or less\", \"spring-duration-limit\");\n    let dampingRatio = 1 - bounce;\n    /**\n     * Restrict dampingRatio and duration to within acceptable ranges.\n     */\n    dampingRatio = clamp(springDefaults.minDamping, springDefaults.maxDamping, dampingRatio);\n    duration = clamp(springDefaults.minDuration, springDefaults.maxDuration, millisecondsToSeconds(duration));\n    if (dampingRatio < 1) {\n        /**\n         * Underdamped spring\n         */\n        envelope = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const a = exponentialDecay - velocity;\n            const b = calcAngularFreq(undampedFreq, dampingRatio);\n            const c = Math.exp(-delta);\n            return safeMin - (a / b) * c;\n        };\n        derivative = (undampedFreq) => {\n            const exponentialDecay = undampedFreq * dampingRatio;\n            const delta = exponentialDecay * duration;\n            const d = delta * velocity + velocity;\n            const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n            const f = Math.exp(-delta);\n            const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n            const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n            return (factor * ((d - e) * f)) / g;\n        };\n    }\n    else {\n        /**\n         * Critically-damped spring\n         */\n        envelope = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (undampedFreq - velocity) * duration + 1;\n            return -safeMin + a * b;\n        };\n        derivative = (undampedFreq) => {\n            const a = Math.exp(-undampedFreq * duration);\n            const b = (velocity - undampedFreq) * (duration * duration);\n            return a * b;\n        };\n    }\n    const initialGuess = 5 / duration;\n    const undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n    duration = secondsToMilliseconds(duration);\n    if (isNaN(undampedFreq)) {\n        return {\n            stiffness: springDefaults.stiffness,\n            damping: springDefaults.damping,\n            duration,\n        };\n    }\n    else {\n        const stiffness = Math.pow(undampedFreq, 2) * mass;\n        return {\n            stiffness,\n            damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n            duration,\n        };\n    }\n}\nconst rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n    let result = initialGuess;\n    for (let i = 1; i < rootIterations; i++) {\n        result = result - envelope(result) / derivative(result);\n    }\n    return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n    return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring };\n//# sourceMappingURL=find.mjs.map\n","import { millisecondsToSeconds, secondsToMilliseconds, clamp } from 'motion-utils';\nimport { generateLinearEasing } from '../../waapi/utils/linear.mjs';\nimport { calcGeneratorDuration, maxGeneratorDuration } from '../utils/calc-duration.mjs';\nimport { createGeneratorEasing } from '../utils/create-generator-easing.mjs';\nimport { calcGeneratorVelocity } from '../utils/velocity.mjs';\nimport { springDefaults } from './defaults.mjs';\nimport { findSpring, calcAngularFreq } from './find.mjs';\n\nconst durationKeys = [\"duration\", \"bounce\"];\nconst physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n    return keys.some((key) => options[key] !== undefined);\n}\nfunction getSpringOptions(options) {\n    let springOptions = {\n        velocity: springDefaults.velocity,\n        stiffness: springDefaults.stiffness,\n        damping: springDefaults.damping,\n        mass: springDefaults.mass,\n        isResolvedFromDuration: false,\n        ...options,\n    };\n    // stiffness/damping/mass overrides duration/bounce\n    if (!isSpringType(options, physicsKeys) &&\n        isSpringType(options, durationKeys)) {\n        // Time-defined springs should ignore inherited velocity.\n        // Velocity from interrupted animations can cause findSpring()\n        // to compute wildly different spring parameters, leading to\n        // massive oscillation on small-range animations.\n        springOptions.velocity = 0;\n        if (options.visualDuration) {\n            const visualDuration = options.visualDuration;\n            const root = (2 * Math.PI) / (visualDuration * 1.2);\n            const stiffness = root * root;\n            const damping = 2 *\n                clamp(0.05, 1, 1 - (options.bounce || 0)) *\n                Math.sqrt(stiffness);\n            springOptions = {\n                ...springOptions,\n                mass: springDefaults.mass,\n                stiffness,\n                damping,\n            };\n        }\n        else {\n            const derived = findSpring({ ...options, velocity: 0 });\n            springOptions = {\n                ...springOptions,\n                ...derived,\n                mass: springDefaults.mass,\n            };\n            springOptions.isResolvedFromDuration = true;\n        }\n    }\n    return springOptions;\n}\nfunction spring(optionsOrVisualDuration = springDefaults.visualDuration, bounce = springDefaults.bounce) {\n    const options = typeof optionsOrVisualDuration !== \"object\"\n        ? {\n            visualDuration: optionsOrVisualDuration,\n            keyframes: [0, 1],\n            bounce,\n        }\n        : optionsOrVisualDuration;\n    let { restSpeed, restDelta } = options;\n    const origin = options.keyframes[0];\n    const target = options.keyframes[options.keyframes.length - 1];\n    /**\n     * This is the Iterator-spec return value. We ensure it's mutable rather than using a generator\n     * to reduce GC during animation.\n     */\n    const state = { done: false, value: origin };\n    const { stiffness, damping, mass, duration, velocity, isResolvedFromDuration, } = getSpringOptions({\n        ...options,\n        velocity: -millisecondsToSeconds(options.velocity || 0),\n    });\n    const initialVelocity = velocity || 0.0;\n    const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n    const initialDelta = target - origin;\n    const undampedAngularFreq = millisecondsToSeconds(Math.sqrt(stiffness / mass));\n    /**\n     * If we're working on a granular scale, use smaller defaults for determining\n     * when the spring is finished.\n     *\n     * These defaults have been selected emprically based on what strikes a good\n     * ratio between feeling good and finishing as soon as changes are imperceptible.\n     */\n    const isGranularScale = Math.abs(initialDelta) < 5;\n    restSpeed || (restSpeed = isGranularScale\n        ? springDefaults.restSpeed.granular\n        : springDefaults.restSpeed.default);\n    restDelta || (restDelta = isGranularScale\n        ? springDefaults.restDelta.granular\n        : springDefaults.restDelta.default);\n    let resolveSpring;\n    if (dampingRatio < 1) {\n        const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);\n        // Underdamped spring\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            return (target -\n                envelope *\n                    (((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) /\n                        angularFreq) *\n                        Math.sin(angularFreq * t) +\n                        initialDelta * Math.cos(angularFreq * t)));\n        };\n    }\n    else if (dampingRatio === 1) {\n        // Critically damped spring\n        resolveSpring = (t) => target -\n            Math.exp(-undampedAngularFreq * t) *\n                (initialDelta +\n                    (initialVelocity + undampedAngularFreq * initialDelta) * t);\n    }\n    else {\n        // Overdamped spring\n        const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n        resolveSpring = (t) => {\n            const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n            // When performing sinh or cosh values can hit Infinity so we cap them here\n            const freqForT = Math.min(dampedAngularFreq * t, 300);\n            return (target -\n                (envelope *\n                    ((initialVelocity +\n                        dampingRatio * undampedAngularFreq * initialDelta) *\n                        Math.sinh(freqForT) +\n                        dampedAngularFreq *\n                            initialDelta *\n                            Math.cosh(freqForT))) /\n                    dampedAngularFreq);\n        };\n    }\n    const generator = {\n        calculatedDuration: isResolvedFromDuration ? duration || null : null,\n        next: (t) => {\n            const current = resolveSpring(t);\n            if (!isResolvedFromDuration) {\n                let currentVelocity = t === 0 ? initialVelocity : 0.0;\n                /**\n                 * We only need to calculate velocity for under-damped springs\n                 * as over- and critically-damped springs can't overshoot, so\n                 * checking only for displacement is enough.\n                 */\n                if (dampingRatio < 1) {\n                    currentVelocity =\n                        t === 0\n                            ? secondsToMilliseconds(initialVelocity)\n                            : calcGeneratorVelocity(resolveSpring, t, current);\n                }\n                const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n                const isBelowDisplacementThreshold = Math.abs(target - current) <= restDelta;\n                state.done =\n                    isBelowVelocityThreshold && isBelowDisplacementThreshold;\n            }\n            else {\n                state.done = t >= duration;\n            }\n            state.value = state.done ? target : current;\n            return state;\n        },\n        toString: () => {\n            const calculatedDuration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n            const easing = generateLinearEasing((progress) => generator.next(calculatedDuration * progress).value, calculatedDuration, 30);\n            return calculatedDuration + \"ms \" + easing;\n        },\n        toTransition: () => { },\n    };\n    return generator;\n}\nspring.applyToOptions = (options) => {\n    const generatorOptions = createGeneratorEasing(options, 100, spring);\n    options.ease = generatorOptions.ease;\n    options.duration = secondsToMilliseconds(generatorOptions.duration);\n    options.type = \"keyframes\";\n    return options;\n};\n\nexport { spring };\n//# sourceMappingURL=index.mjs.map\n","/**\n * Implement a practical max duration for keyframe generation\n * to prevent infinite loops\n */\nconst maxGeneratorDuration = 20000;\nfunction calcGeneratorDuration(generator) {\n    let duration = 0;\n    const timeStep = 50;\n    let state = generator.next(duration);\n    while (!state.done && duration < maxGeneratorDuration) {\n        duration += timeStep;\n        state = generator.next(duration);\n    }\n    return duration >= maxGeneratorDuration ? Infinity : duration;\n}\n\nexport { calcGeneratorDuration, maxGeneratorDuration };\n//# sourceMappingURL=calc-duration.mjs.map\n","import { millisecondsToSeconds } from 'motion-utils';\nimport { calcGeneratorDuration, maxGeneratorDuration } from './calc-duration.mjs';\n\n/**\n * Create a progress => progress easing function from a generator.\n */\nfunction createGeneratorEasing(options, scale = 100, createGenerator) {\n    const generator = createGenerator({ ...options, keyframes: [0, scale] });\n    const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);\n    return {\n        type: \"keyframes\",\n        ease: (progress) => {\n            return generator.next(duration * progress).value / scale;\n        },\n        duration: millisecondsToSeconds(duration),\n    };\n}\n\nexport { createGeneratorEasing };\n//# sourceMappingURL=create-generator-easing.mjs.map\n","function isGenerator(type) {\n    return typeof type === \"function\" && \"applyToOptions\" in type;\n}\n\nexport { isGenerator };\n//# sourceMappingURL=is-generator.mjs.map\n","import { velocityPerSecond } from 'motion-utils';\n\nconst velocitySampleDuration = 5; // ms\nfunction calcGeneratorVelocity(resolveValue, t, current) {\n    const prevT = Math.max(t - velocitySampleDuration, 0);\n    return velocityPerSecond(current - resolveValue(prevT), t - prevT);\n}\n\nexport { calcGeneratorVelocity };\n//# sourceMappingURL=velocity.mjs.map\n","import { secondsToMilliseconds, MotionGlobalConfig } from 'motion-utils';\nimport { AsyncMotionValueAnimation } from '../AsyncMotionValueAnimation.mjs';\nimport { JSAnimation } from '../JSAnimation.mjs';\nimport { getValueTransition } from '../utils/get-value-transition.mjs';\nimport { makeAnimationInstant } from '../utils/make-animation-instant.mjs';\nimport { getDefaultTransition } from '../utils/default-transitions.mjs';\nimport { getFinalKeyframe } from '../utils/get-final-keyframe.mjs';\nimport { isTransitionDefined } from '../utils/is-transition-defined.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {\n    const valueTransition = getValueTransition(transition, name) || {};\n    /**\n     * Most transition values are currently completely overwritten by value-specific\n     * transitions. In the future it'd be nicer to blend these transitions. But for now\n     * delay actually does inherit from the root transition if not value-specific.\n     */\n    const delay = valueTransition.delay || transition.delay || 0;\n    /**\n     * Elapsed isn't a public transition option but can be passed through from\n     * optimized appear effects in milliseconds.\n     */\n    let { elapsed = 0 } = transition;\n    elapsed = elapsed - secondsToMilliseconds(delay);\n    const options = {\n        keyframes: Array.isArray(target) ? target : [null, target],\n        ease: \"easeOut\",\n        velocity: value.getVelocity(),\n        ...valueTransition,\n        delay: -elapsed,\n        onUpdate: (v) => {\n            value.set(v);\n            valueTransition.onUpdate && valueTransition.onUpdate(v);\n        },\n        onComplete: () => {\n            onComplete();\n            valueTransition.onComplete && valueTransition.onComplete();\n        },\n        name,\n        motionValue: value,\n        element: isHandoff ? undefined : element,\n    };\n    /**\n     * If there's no transition defined for this value, we can generate\n     * unique transition settings for this value.\n     */\n    if (!isTransitionDefined(valueTransition)) {\n        Object.assign(options, getDefaultTransition(name, options));\n    }\n    /**\n     * Both WAAPI and our internal animation functions use durations\n     * as defined by milliseconds, while our external API defines them\n     * as seconds.\n     */\n    options.duration && (options.duration = secondsToMilliseconds(options.duration));\n    options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));\n    /**\n     * Support deprecated way to set initial value. Prefer keyframe syntax.\n     */\n    if (options.from !== undefined) {\n        options.keyframes[0] = options.from;\n    }\n    let shouldSkip = false;\n    if (options.type === false ||\n        (options.duration === 0 && !options.repeatDelay)) {\n        makeAnimationInstant(options);\n        if (options.delay === 0) {\n            shouldSkip = true;\n        }\n    }\n    if (MotionGlobalConfig.instantAnimations ||\n        MotionGlobalConfig.skipAnimations ||\n        element?.shouldSkipAnimations) {\n        shouldSkip = true;\n        makeAnimationInstant(options);\n        options.delay = 0;\n    }\n    /**\n     * If the transition type or easing has been explicitly set by the user\n     * then we don't want to allow flattening the animation.\n     */\n    options.allowFlatten = !valueTransition.type && !valueTransition.ease;\n    /**\n     * If we can or must skip creating the animation, and apply only\n     * the final keyframe, do so. We also check once keyframes are resolved but\n     * this early check prevents the need to create an animation at all.\n     */\n    if (shouldSkip && !isHandoff && value.get() !== undefined) {\n        const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);\n        if (finalKeyframe !== undefined) {\n            frame.update(() => {\n                options.onUpdate(finalKeyframe);\n                options.onComplete();\n            });\n            return;\n        }\n    }\n    return valueTransition.isSync\n        ? new JSAnimation(options)\n        : new AsyncMotionValueAnimation(options);\n};\n\nexport { animateMotionValue };\n//# sourceMappingURL=motion-value.mjs.map\n","import { getValueTransition } from '../utils/get-value-transition.mjs';\nimport { resolveTransition } from '../utils/resolve-transition.mjs';\nimport { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { setTarget } from '../../render/utils/setters.mjs';\nimport { addValueToWillChange } from '../../value/will-change/add-will-change.mjs';\nimport { getOptimisedAppearId } from '../optimized-appear/get-appear-id.mjs';\nimport { animateMotionValue } from './motion-value.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {\n    const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n    needsAnimating[key] = false;\n    return shouldBlock;\n}\nfunction animateTarget(visualElement, targetAndTransition, { delay = 0, transitionOverride, type } = {}) {\n    let { transition, transitionEnd, ...target } = targetAndTransition;\n    const defaultTransition = visualElement.getDefaultTransition();\n    transition = transition\n        ? resolveTransition(transition, defaultTransition)\n        : defaultTransition;\n    const reduceMotion = transition?.reduceMotion;\n    if (transitionOverride)\n        transition = transitionOverride;\n    const animations = [];\n    const animationTypeState = type &&\n        visualElement.animationState &&\n        visualElement.animationState.getState()[type];\n    for (const key in target) {\n        const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);\n        const valueTarget = target[key];\n        if (valueTarget === undefined ||\n            (animationTypeState &&\n                shouldBlockAnimation(animationTypeState, key))) {\n            continue;\n        }\n        const valueTransition = {\n            delay,\n            ...getValueTransition(transition || {}, key),\n        };\n        /**\n         * If the value is already at the defined target, skip the animation.\n         */\n        const currentValue = value.get();\n        if (currentValue !== undefined &&\n            !value.isAnimating &&\n            !Array.isArray(valueTarget) &&\n            valueTarget === currentValue &&\n            !valueTransition.velocity) {\n            continue;\n        }\n        /**\n         * If this is the first time a value is being animated, check\n         * to see if we're handling off from an existing animation.\n         */\n        let isHandoff = false;\n        if (window.MotionHandoffAnimation) {\n            const appearId = getOptimisedAppearId(visualElement);\n            if (appearId) {\n                const startTime = window.MotionHandoffAnimation(appearId, key, frame);\n                if (startTime !== null) {\n                    valueTransition.startTime = startTime;\n                    isHandoff = true;\n                }\n            }\n        }\n        addValueToWillChange(visualElement, key);\n        const shouldReduceMotion = reduceMotion ?? visualElement.shouldReduceMotion;\n        value.start(animateMotionValue(key, value, valueTarget, shouldReduceMotion && positionalKeys.has(key)\n            ? { type: false }\n            : valueTransition, visualElement, isHandoff));\n        const animation = value.animation;\n        if (animation) {\n            animations.push(animation);\n        }\n    }\n    if (transitionEnd) {\n        const applyTransitionEnd = () => frame.update(() => {\n            transitionEnd && setTarget(visualElement, transitionEnd);\n        });\n        if (animations.length) {\n            Promise.all(animations).then(applyTransitionEnd);\n        }\n        else {\n            applyTransitionEnd();\n        }\n    }\n    return animations;\n}\n\nexport { animateTarget };\n//# sourceMappingURL=visual-element-target.mjs.map\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { calcChildStagger } from '../utils/calc-child-stagger.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\n\nfunction animateVariant(visualElement, variant, options = {}) {\n    const resolved = resolveVariant(visualElement, variant, options.type === \"exit\"\n        ? visualElement.presenceContext?.custom\n        : undefined);\n    let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};\n    if (options.transitionOverride) {\n        transition = options.transitionOverride;\n    }\n    /**\n     * If we have a variant, create a callback that runs it as an animation.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getAnimation = resolved\n        ? () => Promise.all(animateTarget(visualElement, resolved, options))\n        : () => Promise.resolve();\n    /**\n     * If we have children, create a callback that runs all their animations.\n     * Otherwise, we resolve a Promise immediately for a composable no-op.\n     */\n    const getChildAnimations = visualElement.variantChildren && visualElement.variantChildren.size\n        ? (forwardDelay = 0) => {\n            const { delayChildren = 0, staggerChildren, staggerDirection, } = transition;\n            return animateChildren(visualElement, variant, forwardDelay, delayChildren, staggerChildren, staggerDirection, options);\n        }\n        : () => Promise.resolve();\n    /**\n     * If the transition explicitly defines a \"when\" option, we need to resolve either\n     * this animation or all children animations before playing the other.\n     */\n    const { when } = transition;\n    if (when) {\n        const [first, last] = when === \"beforeChildren\"\n            ? [getAnimation, getChildAnimations]\n            : [getChildAnimations, getAnimation];\n        return first().then(() => last());\n    }\n    else {\n        return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n    }\n}\nfunction animateChildren(visualElement, variant, delay = 0, delayChildren = 0, staggerChildren = 0, staggerDirection = 1, options) {\n    const animations = [];\n    for (const child of visualElement.variantChildren) {\n        child.notify(\"AnimationStart\", variant);\n        animations.push(animateVariant(child, variant, {\n            ...options,\n            delay: delay +\n                (typeof delayChildren === \"function\" ? 0 : delayChildren) +\n                calcChildStagger(visualElement.variantChildren, child, delayChildren, staggerChildren, staggerDirection),\n        }).then(() => child.notify(\"AnimationComplete\", variant)));\n    }\n    return Promise.all(animations);\n}\n\nexport { animateVariant };\n//# sourceMappingURL=visual-element-variant.mjs.map\n","import { resolveVariant } from '../../render/utils/resolve-dynamic-variants.mjs';\nimport { animateTarget } from './visual-element-target.mjs';\nimport { animateVariant } from './visual-element-variant.mjs';\n\nfunction animateVisualElement(visualElement, definition, options = {}) {\n    visualElement.notify(\"AnimationStart\", definition);\n    let animation;\n    if (Array.isArray(definition)) {\n        const animations = definition.map((variant) => animateVariant(visualElement, variant, options));\n        animation = Promise.all(animations);\n    }\n    else if (typeof definition === \"string\") {\n        animation = animateVariant(visualElement, definition, options);\n    }\n    else {\n        const resolvedDefinition = typeof definition === \"function\"\n            ? resolveVariant(visualElement, definition, options.custom)\n            : definition;\n        animation = Promise.all(animateTarget(visualElement, resolvedDefinition, options));\n    }\n    return animation.then(() => {\n        visualElement.notify(\"AnimationComplete\", definition);\n    });\n}\n\nexport { animateVisualElement };\n//# sourceMappingURL=visual-element.mjs.map\n","import { positionalKeys } from '../../render/utils/keys-position.mjs';\nimport { findDimensionValueType } from '../../value/types/dimensions.mjs';\nimport { getVariableValue } from '../utils/css-variables-conversion.mjs';\nimport { isCSSVariableToken, containsCSSVariable } from '../utils/is-css-variable.mjs';\nimport { KeyframeResolver } from './KeyframesResolver.mjs';\nimport { isNone } from './utils/is-none.mjs';\nimport { makeNoneKeyframesAnimatable } from './utils/make-none-animatable.mjs';\nimport { positionalValues, isNumOrPxType } from './utils/unit-conversion.mjs';\n\nclass DOMKeyframesResolver extends KeyframeResolver {\n    constructor(unresolvedKeyframes, onComplete, name, motionValue, element) {\n        super(unresolvedKeyframes, onComplete, name, motionValue, element, true);\n    }\n    readKeyframes() {\n        const { unresolvedKeyframes, element, name } = this;\n        if (!element || !element.current)\n            return;\n        super.readKeyframes();\n        /**\n         * If any keyframe is a CSS variable, we need to find its value by sampling the element\n         */\n        for (let i = 0; i < unresolvedKeyframes.length; i++) {\n            let keyframe = unresolvedKeyframes[i];\n            if (typeof keyframe === \"string\") {\n                keyframe = keyframe.trim();\n                if (isCSSVariableToken(keyframe)) {\n                    const resolved = getVariableValue(keyframe, element.current);\n                    if (resolved !== undefined) {\n                        unresolvedKeyframes[i] = resolved;\n                    }\n                    if (i === unresolvedKeyframes.length - 1) {\n                        this.finalKeyframe = keyframe;\n                    }\n                }\n            }\n        }\n        /**\n         * Resolve \"none\" values. We do this potentially twice - once before and once after measuring keyframes.\n         * This could be seen as inefficient but it's a trade-off to avoid measurements in more situations, which\n         * have a far bigger performance impact.\n         */\n        this.resolveNoneKeyframes();\n        /**\n         * Check to see if unit type has changed. If so schedule jobs that will\n         * temporarily set styles to the destination keyframes.\n         * Skip if we have more than two keyframes or this isn't a positional value.\n         * TODO: We can throw if there are multiple keyframes and the value type changes.\n         */\n        if (!positionalKeys.has(name) || unresolvedKeyframes.length !== 2) {\n            return;\n        }\n        const [origin, target] = unresolvedKeyframes;\n        const originType = findDimensionValueType(origin);\n        const targetType = findDimensionValueType(target);\n        /**\n         * If one keyframe contains embedded CSS variables (e.g. in calc()) and the other\n         * doesn't, we need to measure to convert to pixels. This handles GitHub issue #3410.\n         */\n        const originHasVar = containsCSSVariable(origin);\n        const targetHasVar = containsCSSVariable(target);\n        if (originHasVar !== targetHasVar && positionalValues[name]) {\n            this.needsMeasurement = true;\n            return;\n        }\n        /**\n         * Either we don't recognise these value types or we can animate between them.\n         */\n        if (originType === targetType)\n            return;\n        /**\n         * If both values are numbers or pixels, we can animate between them by\n         * converting them to numbers.\n         */\n        if (isNumOrPxType(originType) && isNumOrPxType(targetType)) {\n            for (let i = 0; i < unresolvedKeyframes.length; i++) {\n                const value = unresolvedKeyframes[i];\n                if (typeof value === \"string\") {\n                    unresolvedKeyframes[i] = parseFloat(value);\n                }\n            }\n        }\n        else if (positionalValues[name]) {\n            /**\n             * Else, the only way to resolve this is by measuring the element.\n             */\n            this.needsMeasurement = true;\n        }\n    }\n    resolveNoneKeyframes() {\n        const { unresolvedKeyframes, name } = this;\n        const noneKeyframeIndexes = [];\n        for (let i = 0; i < unresolvedKeyframes.length; i++) {\n            if (unresolvedKeyframes[i] === null ||\n                isNone(unresolvedKeyframes[i])) {\n                noneKeyframeIndexes.push(i);\n            }\n        }\n        if (noneKeyframeIndexes.length) {\n            makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name);\n        }\n    }\n    measureInitialState() {\n        const { element, unresolvedKeyframes, name } = this;\n        if (!element || !element.current)\n            return;\n        if (name === \"height\") {\n            this.suspendedScrollY = window.pageYOffset;\n        }\n        this.measuredOrigin = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n        unresolvedKeyframes[0] = this.measuredOrigin;\n        // Set final key frame to measure after next render\n        const measureKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n        if (measureKeyframe !== undefined) {\n            element.getValue(name, measureKeyframe).jump(measureKeyframe, false);\n        }\n    }\n    measureEndState() {\n        const { element, name, unresolvedKeyframes } = this;\n        if (!element || !element.current)\n            return;\n        const value = element.getValue(name);\n        value && value.jump(this.measuredOrigin, false);\n        const finalKeyframeIndex = unresolvedKeyframes.length - 1;\n        const finalKeyframe = unresolvedKeyframes[finalKeyframeIndex];\n        unresolvedKeyframes[finalKeyframeIndex] = positionalValues[name](element.measureViewportBox(), window.getComputedStyle(element.current));\n        if (finalKeyframe !== null && this.finalKeyframe === undefined) {\n            this.finalKeyframe = finalKeyframe;\n        }\n        // If we removed transform values, reapply them before the next render\n        if (this.removedTransforms?.length) {\n            this.removedTransforms.forEach(([unsetTransformName, unsetTransformValue]) => {\n                element\n                    .getValue(unsetTransformName)\n                    .set(unsetTransformValue);\n            });\n        }\n        this.resolveNoneKeyframes();\n    }\n}\n\nexport { DOMKeyframesResolver };\n//# sourceMappingURL=DOMKeyframesResolver.mjs.map\n","import { fillWildcards } from './utils/fill-wildcards.mjs';\nimport { removeNonTranslationalTransform } from './utils/unit-conversion.mjs';\nimport { frame } from '../../frameloop/frame.mjs';\n\nconst toResolve = new Set();\nlet isScheduled = false;\nlet anyNeedsMeasurement = false;\nlet isForced = false;\nfunction measureAllKeyframes() {\n    if (anyNeedsMeasurement) {\n        const resolversToMeasure = Array.from(toResolve).filter((resolver) => resolver.needsMeasurement);\n        const elementsToMeasure = new Set(resolversToMeasure.map((resolver) => resolver.element));\n        const transformsToRestore = new Map();\n        /**\n         * Write pass\n         * If we're measuring elements we want to remove bounding box-changing transforms.\n         */\n        elementsToMeasure.forEach((element) => {\n            const removedTransforms = removeNonTranslationalTransform(element);\n            if (!removedTransforms.length)\n                return;\n            transformsToRestore.set(element, removedTransforms);\n            element.render();\n        });\n        // Read\n        resolversToMeasure.forEach((resolver) => resolver.measureInitialState());\n        // Write\n        elementsToMeasure.forEach((element) => {\n            element.render();\n            const restore = transformsToRestore.get(element);\n            if (restore) {\n                restore.forEach(([key, value]) => {\n                    element.getValue(key)?.set(value);\n                });\n            }\n        });\n        // Read\n        resolversToMeasure.forEach((resolver) => resolver.measureEndState());\n        // Write\n        resolversToMeasure.forEach((resolver) => {\n            if (resolver.suspendedScrollY !== undefined) {\n                window.scrollTo(0, resolver.suspendedScrollY);\n            }\n        });\n    }\n    anyNeedsMeasurement = false;\n    isScheduled = false;\n    toResolve.forEach((resolver) => resolver.complete(isForced));\n    toResolve.clear();\n}\nfunction readAllKeyframes() {\n    toResolve.forEach((resolver) => {\n        resolver.readKeyframes();\n        if (resolver.needsMeasurement) {\n            anyNeedsMeasurement = true;\n        }\n    });\n}\nfunction flushKeyframeResolvers() {\n    isForced = true;\n    readAllKeyframes();\n    measureAllKeyframes();\n    isForced = false;\n}\nclass KeyframeResolver {\n    constructor(unresolvedKeyframes, onComplete, name, motionValue, element, isAsync = false) {\n        this.state = \"pending\";\n        /**\n         * Track whether this resolver is async. If it is, it'll be added to the\n         * resolver queue and flushed in the next frame. Resolvers that aren't going\n         * to trigger read/write thrashing don't need to be async.\n         */\n        this.isAsync = false;\n        /**\n         * Track whether this resolver needs to perform a measurement\n         * to resolve its keyframes.\n         */\n        this.needsMeasurement = false;\n        this.unresolvedKeyframes = [...unresolvedKeyframes];\n        this.onComplete = onComplete;\n        this.name = name;\n        this.motionValue = motionValue;\n        this.element = element;\n        this.isAsync = isAsync;\n    }\n    scheduleResolve() {\n        this.state = \"scheduled\";\n        if (this.isAsync) {\n            toResolve.add(this);\n            if (!isScheduled) {\n                isScheduled = true;\n                frame.read(readAllKeyframes);\n                frame.resolveKeyframes(measureAllKeyframes);\n            }\n        }\n        else {\n            this.readKeyframes();\n            this.complete();\n        }\n    }\n    readKeyframes() {\n        const { unresolvedKeyframes, name, element, motionValue } = this;\n        // If initial keyframe is null we need to read it from the DOM\n        if (unresolvedKeyframes[0] === null) {\n            const currentValue = motionValue?.get();\n            // TODO: This doesn't work if the final keyframe is a wildcard\n            const finalKeyframe = unresolvedKeyframes[unresolvedKeyframes.length - 1];\n            if (currentValue !== undefined) {\n                unresolvedKeyframes[0] = currentValue;\n            }\n            else if (element && name) {\n                const valueAsRead = element.readValue(name, finalKeyframe);\n                if (valueAsRead !== undefined && valueAsRead !== null) {\n                    unresolvedKeyframes[0] = valueAsRead;\n                }\n            }\n            if (unresolvedKeyframes[0] === undefined) {\n                unresolvedKeyframes[0] = finalKeyframe;\n            }\n            if (motionValue && currentValue === undefined) {\n                motionValue.set(unresolvedKeyframes[0]);\n            }\n        }\n        fillWildcards(unresolvedKeyframes);\n    }\n    setFinalKeyframe() { }\n    measureInitialState() { }\n    renderEndStyles() { }\n    measureEndState() { }\n    complete(isForcedComplete = false) {\n        this.state = \"complete\";\n        this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, isForcedComplete);\n        toResolve.delete(this);\n    }\n    cancel() {\n        if (this.state === \"scheduled\") {\n            toResolve.delete(this);\n            this.state = \"pending\";\n        }\n    }\n    resume() {\n        if (this.state === \"pending\")\n            this.scheduleResolve();\n    }\n}\n\nexport { KeyframeResolver, flushKeyframeResolvers };\n//# sourceMappingURL=KeyframesResolver.mjs.map\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe, speed = 1) {\n    const resolvedKeyframes = keyframes.filter(isNotNull);\n    const useFirstKeyframe = speed < 0 || (repeat && repeatType !== \"loop\" && repeat % 2 === 1);\n    const index = useFirstKeyframe ? 0 : resolvedKeyframes.length - 1;\n    return !index || finalKeyframe === undefined\n        ? resolvedKeyframes[index]\n        : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n//# sourceMappingURL=get-final.mjs.map\n","import { fillOffset } from './fill.mjs';\n\nfunction defaultOffset(arr) {\n    const offset = [0];\n    fillOffset(offset, arr.length - 1);\n    return offset;\n}\n\nexport { defaultOffset };\n//# sourceMappingURL=default.mjs.map\n","import { progress } from 'motion-utils';\nimport { mixNumber } from '../../../utils/mix/number.mjs';\n\nfunction fillOffset(offset, remaining) {\n    const min = offset[offset.length - 1];\n    for (let i = 1; i <= remaining; i++) {\n        const offsetProgress = progress(0, remaining, i);\n        offset.push(mixNumber(min, 1, offsetProgress));\n    }\n}\n\nexport { fillOffset };\n//# sourceMappingURL=fill.mjs.map\n","function convertOffsetToTimes(offset, duration) {\n    return offset.map((o) => o * duration);\n}\n\nexport { convertOffsetToTimes };\n//# sourceMappingURL=time.mjs.map\n","function fillWildcards(keyframes) {\n    for (let i = 1; i < keyframes.length; i++) {\n        keyframes[i] ?? (keyframes[i] = keyframes[i - 1]);\n    }\n}\n\nexport { fillWildcards };\n//# sourceMappingURL=fill-wildcards.mjs.map\n","import { isZeroValueString } from 'motion-utils';\n\nfunction isNone(value) {\n    if (typeof value === \"number\") {\n        return value === 0;\n    }\n    else if (value !== null) {\n        return value === \"none\" || value === \"0\" || isZeroValueString(value);\n    }\n    else {\n        return true;\n    }\n}\n\nexport { isNone };\n//# sourceMappingURL=is-none.mjs.map\n","import { analyseComplexValue } from '../../../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../../../value/types/utils/animatable-none.mjs';\n\n/**\n * If we encounter keyframes like \"none\" or \"0\" and we also have keyframes like\n * \"#fff\" or \"200px 200px\" we want to find a keyframe to serve as a template for\n * the \"none\" keyframes. In this case \"#fff\" or \"200px 200px\" - then these get turned into\n * zero equivalents, i.e. \"#fff0\" or \"0px 0px\".\n */\nconst invalidTemplates = new Set([\"auto\", \"none\", \"0\"]);\nfunction makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {\n    let i = 0;\n    let animatableTemplate = undefined;\n    while (i < unresolvedKeyframes.length && !animatableTemplate) {\n        const keyframe = unresolvedKeyframes[i];\n        if (typeof keyframe === \"string\" &&\n            !invalidTemplates.has(keyframe) &&\n            analyseComplexValue(keyframe).values.length) {\n            animatableTemplate = unresolvedKeyframes[i];\n        }\n        i++;\n    }\n    if (animatableTemplate && name) {\n        for (const noneIndex of noneKeyframeIndexes) {\n            unresolvedKeyframes[noneIndex] = getAnimatableNone(name, animatableTemplate);\n        }\n    }\n}\n\nexport { makeNoneKeyframesAnimatable };\n//# sourceMappingURL=make-none-animatable.mjs.map\n","import { parseValueFromTransform } from '../../../render/dom/parse-transform.mjs';\nimport { transformPropOrder } from '../../../render/utils/keys-transform.mjs';\nimport { number } from '../../../value/types/numbers/index.mjs';\nimport { px } from '../../../value/types/numbers/units.mjs';\n\nconst isNumOrPxType = (v) => v === number || v === px;\nconst transformKeys = new Set([\"x\", \"y\", \"z\"]);\nconst nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));\nfunction removeNonTranslationalTransform(visualElement) {\n    const removedTransforms = [];\n    nonTranslationalTransformKeys.forEach((key) => {\n        const value = visualElement.getValue(key);\n        if (value !== undefined) {\n            removedTransforms.push([key, value.get()]);\n            value.set(key.startsWith(\"scale\") ? 1 : 0);\n        }\n    });\n    return removedTransforms;\n}\nconst positionalValues = {\n    // Dimensions\n    width: ({ x }, { paddingLeft = \"0\", paddingRight = \"0\" }) => x.max - x.min - parseFloat(paddingLeft) - parseFloat(paddingRight),\n    height: ({ y }, { paddingTop = \"0\", paddingBottom = \"0\" }) => y.max - y.min - parseFloat(paddingTop) - parseFloat(paddingBottom),\n    top: (_bbox, { top }) => parseFloat(top),\n    left: (_bbox, { left }) => parseFloat(left),\n    bottom: ({ y }, { top }) => parseFloat(top) + (y.max - y.min),\n    right: ({ x }, { left }) => parseFloat(left) + (x.max - x.min),\n    // Transform\n    x: (_bbox, { transform }) => parseValueFromTransform(transform, \"x\"),\n    y: (_bbox, { transform }) => parseValueFromTransform(transform, \"y\"),\n};\n// Alias translate longform names\npositionalValues.translateX = positionalValues.x;\npositionalValues.translateY = positionalValues.y;\n\nexport { isNumOrPxType, positionalValues, removeNonTranslationalTransform };\n//# sourceMappingURL=unit-conversion.mjs.map\n","import { camelToDash } from '../../render/dom/utils/camel-to-dash.mjs';\n\nconst optimizedAppearDataId = \"framerAppearId\";\nconst optimizedAppearDataAttribute = \"data-\" + camelToDash(optimizedAppearDataId);\n\nexport { optimizedAppearDataAttribute, optimizedAppearDataId };\n//# sourceMappingURL=data-id.mjs.map\n","import { optimizedAppearDataAttribute } from './data-id.mjs';\n\nfunction getOptimisedAppearId(visualElement) {\n    return visualElement.props[optimizedAppearDataAttribute];\n}\n\nexport { getOptimisedAppearId };\n//# sourceMappingURL=get-appear-id.mjs.map\n","class WithPromise {\n    constructor() {\n        this.updateFinished();\n    }\n    get finished() {\n        return this._finished;\n    }\n    updateFinished() {\n        this._finished = new Promise((resolve) => {\n            this.resolve = resolve;\n        });\n    }\n    notifyFinished() {\n        this.resolve();\n    }\n    /**\n     * Allows the animation to be awaited.\n     *\n     * @deprecated Use `finished` instead.\n     */\n    then(onResolve, onReject) {\n        return this.finished.then(onResolve, onReject);\n    }\n}\n\nexport { WithPromise };\n//# sourceMappingURL=WithPromise.mjs.map\n","function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {\n    const index = Array.from(children)\n        .sort((a, b) => a.sortNodePosition(b))\n        .indexOf(child);\n    const numChildren = children.size;\n    const maxStaggerDuration = (numChildren - 1) * staggerChildren;\n    const delayIsFunction = typeof delayChildren === \"function\";\n    return delayIsFunction\n        ? delayChildren(index, numChildren)\n        : staggerDirection === 1\n            ? index * staggerChildren\n            : maxStaggerDuration - index * staggerChildren;\n}\n\nexport { calcChildStagger };\n//# sourceMappingURL=calc-child-stagger.mjs.map\n","import { warning } from 'motion-utils';\nimport { isGenerator } from '../generators/utils/is-generator.mjs';\nimport { isAnimatable } from './is-animatable.mjs';\n\nfunction hasKeyframesChanged(keyframes) {\n    const current = keyframes[0];\n    if (keyframes.length === 1)\n        return true;\n    for (let i = 0; i < keyframes.length; i++) {\n        if (keyframes[i] !== current)\n            return true;\n    }\n}\nfunction canAnimate(keyframes, name, type, velocity) {\n    /**\n     * Check if we're able to animate between the start and end keyframes,\n     * and throw a warning if we're attempting to animate between one that's\n     * animatable and another that isn't.\n     */\n    const originKeyframe = keyframes[0];\n    if (originKeyframe === null) {\n        return false;\n    }\n    /**\n     * These aren't traditionally animatable but we do support them.\n     * In future we could look into making this more generic or replacing\n     * this function with mix() === mixImmediate\n     */\n    if (name === \"display\" || name === \"visibility\")\n        return true;\n    const targetKeyframe = keyframes[keyframes.length - 1];\n    const isOriginAnimatable = isAnimatable(originKeyframe, name);\n    const isTargetAnimatable = isAnimatable(targetKeyframe, name);\n    warning(isOriginAnimatable === isTargetAnimatable, `You are trying to animate ${name} from \"${originKeyframe}\" to \"${targetKeyframe}\". \"${isOriginAnimatable ? targetKeyframe : originKeyframe}\" is not an animatable value.`, \"value-not-animatable\");\n    // Always skip if any of these are true\n    if (!isOriginAnimatable || !isTargetAnimatable) {\n        return false;\n    }\n    return (hasKeyframesChanged(keyframes) ||\n        ((type === \"spring\" || isGenerator(type)) && velocity));\n}\n\nexport { canAnimate };\n//# sourceMappingURL=can-animate.mjs.map\n","import { invariant, isNumericalString } from 'motion-utils';\nimport { isCSSVariableToken } from './is-css-variable.mjs';\n\n/**\n * Parse Framer's special CSS variable format into a CSS token and a fallback.\n *\n * ```\n * `var(--foo, #fff)` => [`--foo`, '#fff']\n * ```\n *\n * @param current\n */\nconst splitCSSVariableRegex = \n// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words\n/^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;\nfunction parseCSSVariable(current) {\n    const match = splitCSSVariableRegex.exec(current);\n    if (!match)\n        return [,];\n    const [, token1, token2, fallback] = match;\n    return [`--${token1 ?? token2}`, fallback];\n}\nconst maxDepth = 4;\nfunction getVariableValue(current, element, depth = 1) {\n    invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property \"${current}\". This may indicate a circular fallback dependency.`, \"max-css-var-depth\");\n    const [token, fallback] = parseCSSVariable(current);\n    // No CSS variable detected\n    if (!token)\n        return;\n    // Attempt to read this CSS variable off the element\n    const resolved = window.getComputedStyle(element).getPropertyValue(token);\n    if (resolved) {\n        const trimmed = resolved.trim();\n        return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;\n    }\n    return isCSSVariableToken(fallback)\n        ? getVariableValue(fallback, element, depth + 1)\n        : fallback;\n}\n\nexport { getVariableValue, parseCSSVariable };\n//# sourceMappingURL=css-variables-conversion.mjs.map\n","import { transformProps } from '../../render/utils/keys-transform.mjs';\n\nconst underDampedSpring = {\n    type: \"spring\",\n    stiffness: 500,\n    damping: 25,\n    restSpeed: 10,\n};\nconst criticallyDampedSpring = (target) => ({\n    type: \"spring\",\n    stiffness: 550,\n    damping: target === 0 ? 2 * Math.sqrt(550) : 30,\n    restSpeed: 10,\n});\nconst keyframesTransition = {\n    type: \"keyframes\",\n    duration: 0.8,\n};\n/**\n * Default easing curve is a slightly shallower version of\n * the default browser easing curve.\n */\nconst ease = {\n    type: \"keyframes\",\n    ease: [0.25, 0.1, 0.35, 1],\n    duration: 0.3,\n};\nconst getDefaultTransition = (valueKey, { keyframes }) => {\n    if (keyframes.length > 2) {\n        return keyframesTransition;\n    }\n    else if (transformProps.has(valueKey)) {\n        return valueKey.startsWith(\"scale\")\n            ? criticallyDampedSpring(keyframes[1])\n            : underDampedSpring;\n    }\n    return ease;\n};\n\nexport { getDefaultTransition };\n//# sourceMappingURL=default-transitions.mjs.map\n","const isNotNull = (value) => value !== null;\nfunction getFinalKeyframe(keyframes, { repeat, repeatType = \"loop\" }, finalKeyframe) {\n    const resolvedKeyframes = keyframes.filter(isNotNull);\n    const index = repeat && repeatType !== \"loop\" && repeat % 2 === 1\n        ? 0\n        : resolvedKeyframes.length - 1;\n    return !index || finalKeyframe === undefined\n        ? resolvedKeyframes[index]\n        : finalKeyframe;\n}\n\nexport { getFinalKeyframe };\n//# sourceMappingURL=get-final-keyframe.mjs.map\n","import { resolveTransition } from './resolve-transition.mjs';\n\nfunction getValueTransition(transition, key) {\n    const valueTransition = transition?.[key] ??\n        transition?.[\"default\"] ??\n        transition;\n    if (valueTransition !== transition) {\n        return resolveTransition(valueTransition, transition);\n    }\n    return valueTransition;\n}\n\nexport { getValueTransition };\n//# sourceMappingURL=get-value-transition.mjs.map\n","import { complex } from '../../value/types/complex/index.mjs';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nconst isAnimatable = (value, name) => {\n    // If the list of keys that might be non-animatable grows, replace with Set\n    if (name === \"zIndex\")\n        return false;\n    // If it's a number or a keyframes array, we can animate it. We might at some point\n    // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n    // but for now lets leave it like this for performance reasons\n    if (typeof value === \"number\" || Array.isArray(value))\n        return true;\n    if (typeof value === \"string\" && // It's animatable if we have a string\n        (complex.test(value) || value === \"0\") && // And it contains numbers and/or colors\n        !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n    ) {\n        return true;\n    }\n    return false;\n};\n\nexport { isAnimatable };\n//# sourceMappingURL=is-animatable.mjs.map\n","const checkStringStartsWith = (token) => (key) => typeof key === \"string\" && key.startsWith(token);\nconst isCSSVariableName = \n/*@__PURE__*/ checkStringStartsWith(\"--\");\nconst startsAsVariableToken = \n/*@__PURE__*/ checkStringStartsWith(\"var(--\");\nconst isCSSVariableToken = (value) => {\n    const startsWithToken = startsAsVariableToken(value);\n    if (!startsWithToken)\n        return false;\n    // Ensure any comments are stripped from the value as this can harm performance of the regex.\n    return singleCssVariableRegex.test(value.split(\"/*\")[0].trim());\n};\nconst singleCssVariableRegex = /var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu;\n/**\n * Check if a value contains a CSS variable anywhere (e.g. inside calc()).\n * Unlike isCSSVariableToken which checks if the value IS a var() token,\n * this checks if the value CONTAINS var() somewhere in the string.\n */\nfunction containsCSSVariable(value) {\n    if (typeof value !== \"string\")\n        return false;\n    // Strip comments to avoid false positives\n    return value.split(\"/*\")[0].includes(\"var(--\");\n}\n\nexport { containsCSSVariable, isCSSVariableName, isCSSVariableToken };\n//# sourceMappingURL=is-css-variable.mjs.map\n","/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined({ when, delay: _delay, delayChildren, staggerChildren, staggerDirection, repeat, repeatType, repeatDelay, from, elapsed, ...transition }) {\n    return !!Object.keys(transition).length;\n}\n\nexport { isTransitionDefined };\n//# sourceMappingURL=is-transition-defined.mjs.map\n","function makeAnimationInstant(options) {\n    options.duration = 0;\n    options.type = \"keyframes\";\n}\n\nexport { makeAnimationInstant };\n//# sourceMappingURL=make-animation-instant.mjs.map\n","import { inertia } from '../generators/inertia.mjs';\nimport { keyframes } from '../generators/keyframes.mjs';\nimport { spring } from '../generators/spring/index.mjs';\n\nconst transitionTypeMap = {\n    decay: inertia,\n    inertia,\n    tween: keyframes,\n    keyframes: keyframes,\n    spring,\n};\nfunction replaceTransitionType(transition) {\n    if (typeof transition.type === \"string\") {\n        transition.type = transitionTypeMap[transition.type];\n    }\n}\n\nexport { replaceTransitionType };\n//# sourceMappingURL=replace-transition-type.mjs.map\n","/**\n * If `transition` has `inherit: true`, shallow-merge it with\n * `parentTransition` (child keys win) and strip the `inherit` key.\n * Otherwise return `transition` unchanged.\n */\nfunction resolveTransition(transition, parentTransition) {\n    if (transition?.inherit && parentTransition) {\n        const { inherit: _, ...rest } = transition;\n        return { ...parentTransition, ...rest };\n    }\n    return transition;\n}\n\nexport { resolveTransition };\n//# sourceMappingURL=resolve-transition.mjs.map\n","const cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;\n\nexport { cubicBezierAsString };\n//# sourceMappingURL=cubic-bezier.mjs.map\n","import { isBezierDefinition } from 'motion-utils';\nimport { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { generateLinearEasing } from '../utils/linear.mjs';\nimport { cubicBezierAsString } from './cubic-bezier.mjs';\nimport { supportedWaapiEasing } from './supported.mjs';\n\nfunction mapEasingToNativeEasing(easing, duration) {\n    if (!easing) {\n        return undefined;\n    }\n    else if (typeof easing === \"function\") {\n        return supportsLinearEasing()\n            ? generateLinearEasing(easing, duration)\n            : \"ease-out\";\n    }\n    else if (isBezierDefinition(easing)) {\n        return cubicBezierAsString(easing);\n    }\n    else if (Array.isArray(easing)) {\n        return easing.map((segmentEasing) => mapEasingToNativeEasing(segmentEasing, duration) ||\n            supportedWaapiEasing.easeOut);\n    }\n    else {\n        return supportedWaapiEasing[easing];\n    }\n}\n\nexport { mapEasingToNativeEasing };\n//# sourceMappingURL=map-easing.mjs.map\n","import { cubicBezierAsString } from './cubic-bezier.mjs';\n\nconst supportedWaapiEasing = {\n    linear: \"linear\",\n    ease: \"ease\",\n    easeIn: \"ease-in\",\n    easeOut: \"ease-out\",\n    easeInOut: \"ease-in-out\",\n    circIn: /*@__PURE__*/ cubicBezierAsString([0, 0.65, 0.55, 1]),\n    circOut: /*@__PURE__*/ cubicBezierAsString([0.55, 0, 1, 0.45]),\n    backIn: /*@__PURE__*/ cubicBezierAsString([0.31, 0.01, 0.66, -0.59]),\n    backOut: /*@__PURE__*/ cubicBezierAsString([0.33, 1.53, 0.69, 0.99]),\n};\n\nexport { supportedWaapiEasing };\n//# sourceMappingURL=supported.mjs.map\n","import { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { mapEasingToNativeEasing } from './easing/map-easing.mjs';\n\nfunction startWaapiAnimation(element, valueName, keyframes, { delay = 0, duration = 300, repeat = 0, repeatType = \"loop\", ease = \"easeOut\", times, } = {}, pseudoElement = undefined) {\n    const keyframeOptions = {\n        [valueName]: keyframes,\n    };\n    if (times)\n        keyframeOptions.offset = times;\n    const easing = mapEasingToNativeEasing(ease, duration);\n    /**\n     * If this is an easing array, apply to keyframes, not animation as a whole\n     */\n    if (Array.isArray(easing))\n        keyframeOptions.easing = easing;\n    if (statsBuffer.value) {\n        activeAnimations.waapi++;\n    }\n    const options = {\n        delay,\n        duration,\n        easing: !Array.isArray(easing) ? easing : \"linear\",\n        fill: \"both\",\n        iterations: repeat + 1,\n        direction: repeatType === \"reverse\" ? \"alternate\" : \"normal\",\n    };\n    if (pseudoElement)\n        options.pseudoElement = pseudoElement;\n    const animation = element.animate(keyframeOptions, options);\n    if (statsBuffer.value) {\n        animation.finished.finally(() => {\n            activeAnimations.waapi--;\n        });\n    }\n    return animation;\n}\n\nexport { startWaapiAnimation };\n//# sourceMappingURL=start-waapi-animation.mjs.map\n","import { memo } from 'motion-utils';\n\n/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n    \"opacity\",\n    \"clipPath\",\n    \"filter\",\n    \"transform\",\n    // TODO: Could be re-enabled now we have support for linear() easing\n    // \"background-color\"\n]);\nconst supportsWaapi = /*@__PURE__*/ memo(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\nfunction supportsBrowserAnimation(options) {\n    const { motionValue, name, repeatDelay, repeatType, damping, type } = options;\n    const subject = motionValue?.owner?.current;\n    /**\n     * We use this check instead of isHTMLElement() because we explicitly\n     * **don't** want elements in different timing contexts (i.e. popups)\n     * to be accelerated, as it's not possible to sync these animations\n     * properly with those driven from the main window frameloop.\n     */\n    if (!(subject instanceof HTMLElement)) {\n        return false;\n    }\n    const { onUpdate, transformTemplate } = motionValue.owner.getProps();\n    return (supportsWaapi() &&\n        name &&\n        acceleratedValues.has(name) &&\n        (name !== \"transform\" || !transformTemplate) &&\n        /**\n         * If we're outputting values to onUpdate then we can't use WAAPI as there's\n         * no way to read the value from WAAPI every frame.\n         */\n        !onUpdate &&\n        !repeatDelay &&\n        repeatType !== \"mirror\" &&\n        damping !== 0 &&\n        type !== \"inertia\");\n}\n\nexport { supportsBrowserAnimation };\n//# sourceMappingURL=waapi.mjs.map\n","/**\n * A list of values that can be hardware-accelerated.\n */\nconst acceleratedValues = new Set([\n    \"opacity\",\n    \"clipPath\",\n    \"filter\",\n    \"transform\",\n    // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved\n    // or until we implement support for linear() easing.\n    // \"background-color\"\n]);\n\nexport { acceleratedValues };\n//# sourceMappingURL=accelerated-values.mjs.map\n","import { supportsLinearEasing } from '../../../utils/supports/linear-easing.mjs';\nimport { isGenerator } from '../../generators/utils/is-generator.mjs';\n\nfunction applyGeneratorOptions({ type, ...options }) {\n    if (isGenerator(type) && supportsLinearEasing()) {\n        return type.applyToOptions(options);\n    }\n    else {\n        options.duration ?? (options.duration = 300);\n        options.ease ?? (options.ease = \"easeOut\");\n    }\n    return options;\n}\n\nexport { applyGeneratorOptions };\n//# sourceMappingURL=apply-generator.mjs.map\n","const generateLinearEasing = (easing, duration, // as milliseconds\nresolution = 10 // as milliseconds\n) => {\n    let points = \"\";\n    const numPoints = Math.max(Math.round(duration / resolution), 2);\n    for (let i = 0; i < numPoints; i++) {\n        points += Math.round(easing(i / (numPoints - 1)) * 10000) / 10000 + \", \";\n    }\n    return `linear(${points.substring(0, points.length - 2)})`;\n};\n\nexport { generateLinearEasing };\n//# sourceMappingURL=linear.mjs.map\n","import { anticipate, backInOut, circInOut } from 'motion-utils';\n\nconst unsupportedEasingFunctions = {\n    anticipate,\n    backInOut,\n    circInOut,\n};\nfunction isUnsupportedEase(key) {\n    return key in unsupportedEasingFunctions;\n}\nfunction replaceStringEasing(transition) {\n    if (typeof transition.ease === \"string\" &&\n        isUnsupportedEase(transition.ease)) {\n        transition.ease = unsupportedEasingFunctions[transition.ease];\n    }\n}\n\nexport { replaceStringEasing };\n//# sourceMappingURL=unsupported-easing.mjs.map\n","function addDomEvent(target, eventName, handler, options = { passive: true }) {\n    target.addEventListener(eventName, handler, options);\n    return () => target.removeEventListener(eventName, handler);\n}\n\nexport { addDomEvent };\n//# sourceMappingURL=add-dom-event.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { stepsOrder } from './order.mjs';\nimport { createRenderStep } from './render-step.mjs';\n\nconst maxElapsed = 40;\nfunction createRenderBatcher(scheduleNextBatch, allowKeepAlive) {\n    let runNextFrame = false;\n    let useDefaultElapsed = true;\n    const state = {\n        delta: 0.0,\n        timestamp: 0.0,\n        isProcessing: false,\n    };\n    const flagRunNextFrame = () => (runNextFrame = true);\n    const steps = stepsOrder.reduce((acc, key) => {\n        acc[key] = createRenderStep(flagRunNextFrame, allowKeepAlive ? key : undefined);\n        return acc;\n    }, {});\n    const { setup, read, resolveKeyframes, preUpdate, update, preRender, render, postRender, } = steps;\n    const processBatch = () => {\n        const timestamp = MotionGlobalConfig.useManualTiming\n            ? state.timestamp\n            : performance.now();\n        runNextFrame = false;\n        if (!MotionGlobalConfig.useManualTiming) {\n            state.delta = useDefaultElapsed\n                ? 1000 / 60\n                : Math.max(Math.min(timestamp - state.timestamp, maxElapsed), 1);\n        }\n        state.timestamp = timestamp;\n        state.isProcessing = true;\n        // Unrolled render loop for better per-frame performance\n        setup.process(state);\n        read.process(state);\n        resolveKeyframes.process(state);\n        preUpdate.process(state);\n        update.process(state);\n        preRender.process(state);\n        render.process(state);\n        postRender.process(state);\n        state.isProcessing = false;\n        if (runNextFrame && allowKeepAlive) {\n            useDefaultElapsed = false;\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const wake = () => {\n        runNextFrame = true;\n        useDefaultElapsed = true;\n        if (!state.isProcessing) {\n            scheduleNextBatch(processBatch);\n        }\n    };\n    const schedule = stepsOrder.reduce((acc, key) => {\n        const step = steps[key];\n        acc[key] = (process, keepAlive = false, immediate = false) => {\n            if (!runNextFrame)\n                wake();\n            return step.schedule(process, keepAlive, immediate);\n        };\n        return acc;\n    }, {});\n    const cancel = (process) => {\n        for (let i = 0; i < stepsOrder.length; i++) {\n            steps[stepsOrder[i]].cancel(process);\n        }\n    };\n    return { schedule, cancel, state, steps };\n}\n\nexport { createRenderBatcher };\n//# sourceMappingURL=batcher.mjs.map\n","import { noop } from 'motion-utils';\nimport { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps, } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== \"undefined\" ? requestAnimationFrame : noop, true);\n\nexport { cancelFrame, frame, frameData, frameSteps };\n//# sourceMappingURL=frame.mjs.map\n","import { createRenderBatcher } from './batcher.mjs';\n\nconst { schedule: microtask, cancel: cancelMicrotask } = \n/* @__PURE__ */ createRenderBatcher(queueMicrotask, false);\n\nexport { cancelMicrotask, microtask };\n//# sourceMappingURL=microtask.mjs.map\n","const stepsOrder = [\n    \"setup\", // Compute\n    \"read\", // Read\n    \"resolveKeyframes\", // Write/Read/Write/Read\n    \"preUpdate\", // Compute\n    \"update\", // Compute\n    \"preRender\", // Compute\n    \"render\", // Write\n    \"postRender\", // Compute\n];\n\nexport { stepsOrder };\n//# sourceMappingURL=order.mjs.map\n","import { statsBuffer } from '../stats/buffer.mjs';\n\nfunction createRenderStep(runNextFrame, stepName) {\n    /**\n     * We create and reuse two queues, one to queue jobs for the current frame\n     * and one for the next. We reuse to avoid triggering GC after x frames.\n     */\n    let thisFrame = new Set();\n    let nextFrame = new Set();\n    /**\n     * Track whether we're currently processing jobs in this step. This way\n     * we can decide whether to schedule new jobs for this frame or next.\n     */\n    let isProcessing = false;\n    let flushNextFrame = false;\n    /**\n     * A set of processes which were marked keepAlive when scheduled.\n     */\n    const toKeepAlive = new WeakSet();\n    let latestFrameData = {\n        delta: 0.0,\n        timestamp: 0.0,\n        isProcessing: false,\n    };\n    let numCalls = 0;\n    function triggerCallback(callback) {\n        if (toKeepAlive.has(callback)) {\n            step.schedule(callback);\n            runNextFrame();\n        }\n        numCalls++;\n        callback(latestFrameData);\n    }\n    const step = {\n        /**\n         * Schedule a process to run on the next frame.\n         */\n        schedule: (callback, keepAlive = false, immediate = false) => {\n            const addToCurrentFrame = immediate && isProcessing;\n            const queue = addToCurrentFrame ? thisFrame : nextFrame;\n            if (keepAlive)\n                toKeepAlive.add(callback);\n            if (!queue.has(callback))\n                queue.add(callback);\n            return callback;\n        },\n        /**\n         * Cancel the provided callback from running on the next frame.\n         */\n        cancel: (callback) => {\n            nextFrame.delete(callback);\n            toKeepAlive.delete(callback);\n        },\n        /**\n         * Execute all schedule callbacks.\n         */\n        process: (frameData) => {\n            latestFrameData = frameData;\n            /**\n             * If we're already processing we've probably been triggered by a flushSync\n             * inside an existing process. Instead of executing, mark flushNextFrame\n             * as true and ensure we flush the following frame at the end of this one.\n             */\n            if (isProcessing) {\n                flushNextFrame = true;\n                return;\n            }\n            isProcessing = true;\n            [thisFrame, nextFrame] = [nextFrame, thisFrame];\n            // Execute this frame\n            thisFrame.forEach(triggerCallback);\n            /**\n             * If we're recording stats then\n             */\n            if (stepName && statsBuffer.value) {\n                statsBuffer.value.frameloop[stepName].push(numCalls);\n            }\n            numCalls = 0;\n            // Clear the frame so no callbacks remain. This is to avoid\n            // memory leaks should this render step not run for a while.\n            thisFrame.clear();\n            isProcessing = false;\n            if (flushNextFrame) {\n                flushNextFrame = false;\n                step.process(frameData);\n            }\n        },\n    };\n    return step;\n}\n\nexport { createRenderStep };\n//# sourceMappingURL=render-step.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { frameData } from './frame.mjs';\n\nlet now;\nfunction clearTime() {\n    now = undefined;\n}\n/**\n * An eventloop-synchronous alternative to performance.now().\n *\n * Ensures that time measurements remain consistent within a synchronous context.\n * Usually calling performance.now() twice within the same synchronous context\n * will return different values which isn't useful for animations when we're usually\n * trying to sync animations to the same frame.\n */\nconst time = {\n    now: () => {\n        if (now === undefined) {\n            time.set(frameData.isProcessing || MotionGlobalConfig.useManualTiming\n                ? frameData.timestamp\n                : performance.now());\n        }\n        return now;\n    },\n    set: (newTime) => {\n        now = newTime;\n        queueMicrotask(clearTime);\n    },\n};\n\nexport { time };\n//# sourceMappingURL=sync-time.mjs.map\n","const isDragging = {\n    x: false,\n    y: false,\n};\nfunction isDragActive() {\n    return isDragging.x || isDragging.y;\n}\n\nexport { isDragActive, isDragging };\n//# sourceMappingURL=is-active.mjs.map\n","import { isDragging } from './is-active.mjs';\n\nfunction setDragLock(axis) {\n    if (axis === \"x\" || axis === \"y\") {\n        if (isDragging[axis]) {\n            return null;\n        }\n        else {\n            isDragging[axis] = true;\n            return () => {\n                isDragging[axis] = false;\n            };\n        }\n    }\n    else {\n        if (isDragging.x || isDragging.y) {\n            return null;\n        }\n        else {\n            isDragging.x = isDragging.y = true;\n            return () => {\n                isDragging.x = isDragging.y = false;\n            };\n        }\n    }\n}\n\nexport { setDragLock };\n//# sourceMappingURL=set-active.mjs.map\n","import { isDragActive } from './drag/state/is-active.mjs';\nimport { setupGesture } from './utils/setup.mjs';\n\nfunction isValidHover(event) {\n    return !(event.pointerType === \"touch\" || isDragActive());\n}\n/**\n * Create a hover gesture. hover() is different to .addEventListener(\"pointerenter\")\n * in that it has an easier syntax, filters out polyfilled touch events, interoperates\n * with drag gestures, and automatically removes the \"pointerennd\" event listener when the hover ends.\n *\n * @public\n */\nfunction hover(elementOrSelector, onHoverStart, options = {}) {\n    const [elements, eventOptions, cancel] = setupGesture(elementOrSelector, options);\n    elements.forEach((element) => {\n        let isPressed = false;\n        let deferredHoverEnd = false;\n        let hoverEndCallback;\n        const removePointerLeave = () => {\n            element.removeEventListener(\"pointerleave\", onPointerLeave);\n        };\n        const endHover = (event) => {\n            if (hoverEndCallback) {\n                hoverEndCallback(event);\n                hoverEndCallback = undefined;\n            }\n            removePointerLeave();\n        };\n        const onPointerUp = (event) => {\n            isPressed = false;\n            window.removeEventListener(\"pointerup\", onPointerUp);\n            window.removeEventListener(\"pointercancel\", onPointerUp);\n            if (deferredHoverEnd) {\n                deferredHoverEnd = false;\n                endHover(event);\n            }\n        };\n        const onPointerDown = () => {\n            isPressed = true;\n            window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n            window.addEventListener(\"pointercancel\", onPointerUp, eventOptions);\n        };\n        const onPointerLeave = (leaveEvent) => {\n            if (leaveEvent.pointerType === \"touch\")\n                return;\n            if (isPressed) {\n                deferredHoverEnd = true;\n                return;\n            }\n            endHover(leaveEvent);\n        };\n        const onPointerEnter = (enterEvent) => {\n            if (!isValidHover(enterEvent))\n                return;\n            deferredHoverEnd = false;\n            const onHoverEnd = onHoverStart(element, enterEvent);\n            if (typeof onHoverEnd !== \"function\")\n                return;\n            hoverEndCallback = onHoverEnd;\n            element.addEventListener(\"pointerleave\", onPointerLeave, eventOptions);\n        };\n        element.addEventListener(\"pointerenter\", onPointerEnter, eventOptions);\n        element.addEventListener(\"pointerdown\", onPointerDown, eventOptions);\n    });\n    return cancel;\n}\n\nexport { hover };\n//# sourceMappingURL=hover.mjs.map\n","import { isHTMLElement } from '../../utils/is-html-element.mjs';\nimport { isDragActive } from '../drag/state/is-active.mjs';\nimport { isNodeOrChild } from '../utils/is-node-or-child.mjs';\nimport { isPrimaryPointer } from '../utils/is-primary-pointer.mjs';\nimport { setupGesture } from '../utils/setup.mjs';\nimport { isElementKeyboardAccessible } from './utils/is-keyboard-accessible.mjs';\nimport { enableKeyboardPress } from './utils/keyboard.mjs';\nimport { isPressing } from './utils/state.mjs';\n\n/**\n * Filter out events that are not primary pointer events, or are triggering\n * while a Motion gesture is active.\n */\nfunction isValidPressEvent(event) {\n    return isPrimaryPointer(event) && !isDragActive();\n}\nconst claimedPointerDownEvents = new WeakSet();\n/**\n * Create a press gesture.\n *\n * Press is different to `\"pointerdown\"`, `\"pointerup\"` in that it\n * automatically filters out secondary pointer events like right\n * click and multitouch.\n *\n * It also adds accessibility support for keyboards, where\n * an element with a press gesture will receive focus and\n *  trigger on Enter `\"keydown\"` and `\"keyup\"` events.\n *\n * This is different to a browser's `\"click\"` event, which does\n * respond to keyboards but only for the `\"click\"` itself, rather\n * than the press start and end/cancel. The element also needs\n * to be focusable for this to work, whereas a press gesture will\n * make an element focusable by default.\n *\n * @public\n */\nfunction press(targetOrSelector, onPressStart, options = {}) {\n    const [targets, eventOptions, cancelEvents] = setupGesture(targetOrSelector, options);\n    const startPress = (startEvent) => {\n        const target = startEvent.currentTarget;\n        if (!isValidPressEvent(startEvent))\n            return;\n        if (claimedPointerDownEvents.has(startEvent))\n            return;\n        isPressing.add(target);\n        if (options.stopPropagation) {\n            claimedPointerDownEvents.add(startEvent);\n        }\n        const onPressEnd = onPressStart(target, startEvent);\n        const onPointerEnd = (endEvent, success) => {\n            window.removeEventListener(\"pointerup\", onPointerUp);\n            window.removeEventListener(\"pointercancel\", onPointerCancel);\n            if (isPressing.has(target)) {\n                isPressing.delete(target);\n            }\n            if (!isValidPressEvent(endEvent)) {\n                return;\n            }\n            if (typeof onPressEnd === \"function\") {\n                onPressEnd(endEvent, { success });\n            }\n        };\n        const onPointerUp = (upEvent) => {\n            onPointerEnd(upEvent, target === window ||\n                target === document ||\n                options.useGlobalTarget ||\n                isNodeOrChild(target, upEvent.target));\n        };\n        const onPointerCancel = (cancelEvent) => {\n            onPointerEnd(cancelEvent, false);\n        };\n        window.addEventListener(\"pointerup\", onPointerUp, eventOptions);\n        window.addEventListener(\"pointercancel\", onPointerCancel, eventOptions);\n    };\n    targets.forEach((target) => {\n        const pointerDownTarget = options.useGlobalTarget ? window : target;\n        pointerDownTarget.addEventListener(\"pointerdown\", startPress, eventOptions);\n        if (isHTMLElement(target)) {\n            target.addEventListener(\"focus\", (event) => enableKeyboardPress(event, eventOptions));\n            if (!isElementKeyboardAccessible(target) &&\n                !target.hasAttribute(\"tabindex\")) {\n                target.tabIndex = 0;\n            }\n        }\n    });\n    return cancelEvents;\n}\n\nexport { press };\n//# sourceMappingURL=index.mjs.map\n","const keyboardAccessibleElements = new Set([\n    \"BUTTON\",\n    \"INPUT\",\n    \"SELECT\",\n    \"TEXTAREA\",\n    \"A\",\n]);\n/**\n * Checks if an element is natively keyboard accessible (focusable).\n * Used by the press gesture to determine if we need to add tabIndex.\n */\nfunction isElementKeyboardAccessible(element) {\n    return (keyboardAccessibleElements.has(element.tagName) ||\n        element.isContentEditable === true);\n}\nconst textInputElements = new Set([\"INPUT\", \"SELECT\", \"TEXTAREA\"]);\n/**\n * Checks if an element has text selection or direct interaction behavior\n * that should block drag gestures from starting.\n *\n * This specifically targets form controls where the user might want to select\n * text or interact with the control (e.g., sliders, dropdowns).\n *\n * Buttons and links are NOT included because they don't have click-and-move\n * actions of their own - they only respond to click events, so dragging\n * should still work when initiated from these elements.\n */\nfunction isElementTextInput(element) {\n    return (textInputElements.has(element.tagName) ||\n        element.isContentEditable === true);\n}\n\nexport { isElementKeyboardAccessible, isElementTextInput };\n//# sourceMappingURL=is-keyboard-accessible.mjs.map\n","import { isPressing } from './state.mjs';\n\n/**\n * Filter out events that are not \"Enter\" keys.\n */\nfunction filterEvents(callback) {\n    return (event) => {\n        if (event.key !== \"Enter\")\n            return;\n        callback(event);\n    };\n}\nfunction firePointerEvent(target, type) {\n    target.dispatchEvent(new PointerEvent(\"pointer\" + type, { isPrimary: true, bubbles: true }));\n}\nconst enableKeyboardPress = (focusEvent, eventOptions) => {\n    const element = focusEvent.currentTarget;\n    if (!element)\n        return;\n    const handleKeydown = filterEvents(() => {\n        if (isPressing.has(element))\n            return;\n        firePointerEvent(element, \"down\");\n        const handleKeyup = filterEvents(() => {\n            firePointerEvent(element, \"up\");\n        });\n        const handleBlur = () => firePointerEvent(element, \"cancel\");\n        element.addEventListener(\"keyup\", handleKeyup, eventOptions);\n        element.addEventListener(\"blur\", handleBlur, eventOptions);\n    });\n    element.addEventListener(\"keydown\", handleKeydown, eventOptions);\n    /**\n     * Add an event listener that fires on blur to remove the keydown events.\n     */\n    element.addEventListener(\"blur\", () => element.removeEventListener(\"keydown\", handleKeydown), eventOptions);\n};\n\nexport { enableKeyboardPress };\n//# sourceMappingURL=keyboard.mjs.map\n","const isPressing = new WeakSet();\n\nexport { isPressing };\n//# sourceMappingURL=state.mjs.map\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nconst isNodeOrChild = (parent, child) => {\n    if (!child) {\n        return false;\n    }\n    else if (parent === child) {\n        return true;\n    }\n    else {\n        return isNodeOrChild(parent, child.parentElement);\n    }\n};\n\nexport { isNodeOrChild };\n//# sourceMappingURL=is-node-or-child.mjs.map\n","const isPrimaryPointer = (event) => {\n    if (event.pointerType === \"mouse\") {\n        return typeof event.button !== \"number\" || event.button <= 0;\n    }\n    else {\n        /**\n         * isPrimary is true for all mice buttons, whereas every touch point\n         * is regarded as its own input. So subsequent concurrent touch points\n         * will be false.\n         *\n         * Specifically match against false here as incomplete versions of\n         * PointerEvents in very old browser might have it set as undefined.\n         */\n        return event.isPrimary !== false;\n    }\n};\n\nexport { isPrimaryPointer };\n//# sourceMappingURL=is-primary-pointer.mjs.map\n","import { resolveElements } from '../../utils/resolve-elements.mjs';\n\nfunction setupGesture(elementOrSelector, options) {\n    const elements = resolveElements(elementOrSelector);\n    const gestureAbortController = new AbortController();\n    const eventOptions = {\n        passive: true,\n        ...options,\n        signal: gestureAbortController.signal,\n    };\n    const cancel = () => gestureAbortController.abort();\n    return [elements, eventOptions, cancel];\n}\n\nexport { setupGesture };\n//# sourceMappingURL=setup.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent, px } from '../../value/types/numbers/units.mjs';\nimport { progress, circOut, noop } from 'motion-utils';\n\nconst borders = [\"TopLeft\", \"TopRight\", \"BottomLeft\", \"BottomRight\"];\nconst numBorders = borders.length;\nconst asNumber = (value) => typeof value === \"string\" ? parseFloat(value) : value;\nconst isPx = (value) => typeof value === \"number\" || px.test(value);\nfunction mixValues(target, follow, lead, progress, shouldCrossfadeOpacity, isOnlyMember) {\n    if (shouldCrossfadeOpacity) {\n        target.opacity = mixNumber(0, lead.opacity ?? 1, easeCrossfadeIn(progress));\n        target.opacityExit = mixNumber(follow.opacity ?? 1, 0, easeCrossfadeOut(progress));\n    }\n    else if (isOnlyMember) {\n        target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress);\n    }\n    /**\n     * Mix border radius\n     */\n    for (let i = 0; i < numBorders; i++) {\n        const borderLabel = `border${borders[i]}Radius`;\n        let followRadius = getRadius(follow, borderLabel);\n        let leadRadius = getRadius(lead, borderLabel);\n        if (followRadius === undefined && leadRadius === undefined)\n            continue;\n        followRadius || (followRadius = 0);\n        leadRadius || (leadRadius = 0);\n        const canMix = followRadius === 0 ||\n            leadRadius === 0 ||\n            isPx(followRadius) === isPx(leadRadius);\n        if (canMix) {\n            target[borderLabel] = Math.max(mixNumber(asNumber(followRadius), asNumber(leadRadius), progress), 0);\n            if (percent.test(leadRadius) || percent.test(followRadius)) {\n                target[borderLabel] += \"%\";\n            }\n        }\n        else {\n            target[borderLabel] = leadRadius;\n        }\n    }\n    /**\n     * Mix rotation\n     */\n    if (follow.rotate || lead.rotate) {\n        target.rotate = mixNumber(follow.rotate || 0, lead.rotate || 0, progress);\n    }\n}\nfunction getRadius(values, radiusName) {\n    return values[radiusName] !== undefined\n        ? values[radiusName]\n        : values.borderRadius;\n}\nconst easeCrossfadeIn = /*@__PURE__*/ compress(0, 0.5, circOut);\nconst easeCrossfadeOut = /*@__PURE__*/ compress(0.5, 0.95, noop);\nfunction compress(min, max, easing) {\n    return (p) => {\n        // Could replace ifs with clamp\n        if (p < min)\n            return 0;\n        if (p > max)\n            return 1;\n        return easing(progress(min, max, p));\n    };\n}\n\nexport { mixValues };\n//# sourceMappingURL=mix-values.mjs.map\n","/**\n * Bounding boxes tend to be defined as top, left, right, bottom. For various operations\n * it's easier to consider each axis individually. This function returns a bounding box\n * as a map of single-axis min/max values.\n */\nfunction convertBoundingBoxToBox({ top, left, right, bottom, }) {\n    return {\n        x: { min: left, max: right },\n        y: { min: top, max: bottom },\n    };\n}\nfunction convertBoxToBoundingBox({ x, y }) {\n    return { top: y.min, right: x.max, bottom: y.max, left: x.min };\n}\n/**\n * Applies a TransformPoint function to a bounding box. TransformPoint is usually a function\n * provided by Framer to allow measured points to be corrected for device scaling. This is used\n * when measuring DOM elements and DOM event points.\n */\nfunction transformBoxPoints(point, transformPoint) {\n    if (!transformPoint)\n        return point;\n    const topLeft = transformPoint({ x: point.left, y: point.top });\n    const bottomRight = transformPoint({ x: point.right, y: point.bottom });\n    return {\n        top: topLeft.y,\n        left: topLeft.x,\n        bottom: bottomRight.y,\n        right: bottomRight.x,\n    };\n}\n\nexport { convertBoundingBoxToBox, convertBoxToBoundingBox, transformBoxPoints };\n//# sourceMappingURL=conversion.mjs.map\n","/**\n * Reset an axis to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisInto(axis, originAxis) {\n    axis.min = originAxis.min;\n    axis.max = originAxis.max;\n}\n/**\n * Reset a box to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyBoxInto(box, originBox) {\n    copyAxisInto(box.x, originBox.x);\n    copyAxisInto(box.y, originBox.y);\n}\n/**\n * Reset a delta to the provided origin box.\n *\n * This is a mutative operation.\n */\nfunction copyAxisDeltaInto(delta, originDelta) {\n    delta.translate = originDelta.translate;\n    delta.scale = originDelta.scale;\n    delta.originPoint = originDelta.originPoint;\n    delta.origin = originDelta.origin;\n}\n\nexport { copyAxisDeltaInto, copyAxisInto, copyBoxInto };\n//# sourceMappingURL=copy.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { hasTransform } from '../utils/has-transform.mjs';\n\n/**\n * Scales a point based on a factor and an originPoint\n */\nfunction scalePoint(point, scale, originPoint) {\n    const distanceFromOrigin = point - originPoint;\n    const scaled = scale * distanceFromOrigin;\n    return originPoint + scaled;\n}\n/**\n * Applies a translate/scale delta to a point\n */\nfunction applyPointDelta(point, translate, scale, originPoint, boxScale) {\n    if (boxScale !== undefined) {\n        point = scalePoint(point, boxScale, originPoint);\n    }\n    return scalePoint(point, scale, originPoint) + translate;\n}\n/**\n * Applies a translate/scale delta to an axis\n */\nfunction applyAxisDelta(axis, translate = 0, scale = 1, originPoint, boxScale) {\n    axis.min = applyPointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = applyPointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Applies a translate/scale delta to a box\n */\nfunction applyBoxDelta(box, { x, y }) {\n    applyAxisDelta(box.x, x.translate, x.scale, x.originPoint);\n    applyAxisDelta(box.y, y.translate, y.scale, y.originPoint);\n}\nconst TREE_SCALE_SNAP_MIN = 0.999999999999;\nconst TREE_SCALE_SNAP_MAX = 1.0000000000001;\n/**\n * Apply a tree of deltas to a box. We do this to calculate the effect of all the transforms\n * in a tree upon our box before then calculating how to project it into our desired viewport-relative box\n *\n * This is the final nested loop within updateLayoutDelta for future refactoring\n */\nfunction applyTreeDeltas(box, treeScale, treePath, isSharedTransition = false) {\n    const treeLength = treePath.length;\n    if (!treeLength)\n        return;\n    // Reset the treeScale\n    treeScale.x = treeScale.y = 1;\n    let node;\n    let delta;\n    for (let i = 0; i < treeLength; i++) {\n        node = treePath[i];\n        delta = node.projectionDelta;\n        /**\n         * TODO: Prefer to remove this, but currently we have motion components with\n         * display: contents in Framer.\n         */\n        const { visualElement } = node.options;\n        if (visualElement &&\n            visualElement.props.style &&\n            visualElement.props.style.display === \"contents\") {\n            continue;\n        }\n        if (isSharedTransition &&\n            node.options.layoutScroll &&\n            node.scroll &&\n            node !== node.root) {\n            transformBox(box, {\n                x: -node.scroll.offset.x,\n                y: -node.scroll.offset.y,\n            });\n        }\n        if (delta) {\n            // Incoporate each ancestor's scale into a cumulative treeScale for this component\n            treeScale.x *= delta.x.scale;\n            treeScale.y *= delta.y.scale;\n            // Apply each ancestor's calculated delta into this component's recorded layout box\n            applyBoxDelta(box, delta);\n        }\n        if (isSharedTransition && hasTransform(node.latestValues)) {\n            transformBox(box, node.latestValues);\n        }\n    }\n    /**\n     * Snap tree scale back to 1 if it's within a non-perceivable threshold.\n     * This will help reduce useless scales getting rendered.\n     */\n    if (treeScale.x < TREE_SCALE_SNAP_MAX &&\n        treeScale.x > TREE_SCALE_SNAP_MIN) {\n        treeScale.x = 1.0;\n    }\n    if (treeScale.y < TREE_SCALE_SNAP_MAX &&\n        treeScale.y > TREE_SCALE_SNAP_MIN) {\n        treeScale.y = 1.0;\n    }\n}\nfunction translateAxis(axis, distance) {\n    axis.min = axis.min + distance;\n    axis.max = axis.max + distance;\n}\n/**\n * Apply a transform to an axis from the latest resolved motion values.\n * This function basically acts as a bridge between a flat motion value map\n * and applyAxisDelta\n */\nfunction transformAxis(axis, axisTranslate, axisScale, boxScale, axisOrigin = 0.5) {\n    const originPoint = mixNumber(axis.min, axis.max, axisOrigin);\n    // Apply the axis delta to the final axis\n    applyAxisDelta(axis, axisTranslate, axisScale, originPoint, boxScale);\n}\n/**\n * Apply a transform to a box from the latest resolved motion values.\n */\nfunction transformBox(box, transform) {\n    transformAxis(box.x, transform.x, transform.scaleX, transform.scale, transform.originX);\n    transformAxis(box.y, transform.y, transform.scaleY, transform.scale, transform.originY);\n}\n\nexport { applyAxisDelta, applyBoxDelta, applyPointDelta, applyTreeDeltas, scalePoint, transformAxis, transformBox, translateAxis };\n//# sourceMappingURL=delta-apply.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\n\nconst SCALE_PRECISION = 0.0001;\nconst SCALE_MIN = 1 - SCALE_PRECISION;\nconst SCALE_MAX = 1 + SCALE_PRECISION;\nconst TRANSLATE_PRECISION = 0.01;\nconst TRANSLATE_MIN = 0 - TRANSLATE_PRECISION;\nconst TRANSLATE_MAX = 0 + TRANSLATE_PRECISION;\nfunction calcLength(axis) {\n    return axis.max - axis.min;\n}\nfunction isNear(value, target, maxDistance) {\n    return Math.abs(value - target) <= maxDistance;\n}\nfunction calcAxisDelta(delta, source, target, origin = 0.5) {\n    delta.origin = origin;\n    delta.originPoint = mixNumber(source.min, source.max, delta.origin);\n    delta.scale = calcLength(target) / calcLength(source);\n    delta.translate =\n        mixNumber(target.min, target.max, delta.origin) - delta.originPoint;\n    if ((delta.scale >= SCALE_MIN && delta.scale <= SCALE_MAX) ||\n        isNaN(delta.scale)) {\n        delta.scale = 1.0;\n    }\n    if ((delta.translate >= TRANSLATE_MIN &&\n        delta.translate <= TRANSLATE_MAX) ||\n        isNaN(delta.translate)) {\n        delta.translate = 0.0;\n    }\n}\nfunction calcBoxDelta(delta, source, target, origin) {\n    calcAxisDelta(delta.x, source.x, target.x, origin ? origin.originX : undefined);\n    calcAxisDelta(delta.y, source.y, target.y, origin ? origin.originY : undefined);\n}\nfunction calcRelativeAxis(target, relative, parent) {\n    target.min = parent.min + relative.min;\n    target.max = target.min + calcLength(relative);\n}\nfunction calcRelativeBox(target, relative, parent) {\n    calcRelativeAxis(target.x, relative.x, parent.x);\n    calcRelativeAxis(target.y, relative.y, parent.y);\n}\nfunction calcRelativeAxisPosition(target, layout, parent) {\n    target.min = layout.min - parent.min;\n    target.max = target.min + calcLength(layout);\n}\nfunction calcRelativePosition(target, layout, parent) {\n    calcRelativeAxisPosition(target.x, layout.x, parent.x);\n    calcRelativeAxisPosition(target.y, layout.y, parent.y);\n}\n\nexport { calcAxisDelta, calcBoxDelta, calcLength, calcRelativeAxis, calcRelativeAxisPosition, calcRelativeBox, calcRelativePosition, isNear };\n//# sourceMappingURL=delta-calc.mjs.map\n","import { mixNumber } from '../../utils/mix/number.mjs';\nimport { percent } from '../../value/types/numbers/units.mjs';\nimport { scalePoint } from './delta-apply.mjs';\n\n/**\n * Remove a delta from a point. This is essentially the steps of applyPointDelta in reverse\n */\nfunction removePointDelta(point, translate, scale, originPoint, boxScale) {\n    point -= translate;\n    point = scalePoint(point, 1 / scale, originPoint);\n    if (boxScale !== undefined) {\n        point = scalePoint(point, 1 / boxScale, originPoint);\n    }\n    return point;\n}\n/**\n * Remove a delta from an axis. This is essentially the steps of applyAxisDelta in reverse\n */\nfunction removeAxisDelta(axis, translate = 0, scale = 1, origin = 0.5, boxScale, originAxis = axis, sourceAxis = axis) {\n    if (percent.test(translate)) {\n        translate = parseFloat(translate);\n        const relativeProgress = mixNumber(sourceAxis.min, sourceAxis.max, translate / 100);\n        translate = relativeProgress - sourceAxis.min;\n    }\n    if (typeof translate !== \"number\")\n        return;\n    let originPoint = mixNumber(originAxis.min, originAxis.max, origin);\n    if (axis === originAxis)\n        originPoint -= translate;\n    axis.min = removePointDelta(axis.min, translate, scale, originPoint, boxScale);\n    axis.max = removePointDelta(axis.max, translate, scale, originPoint, boxScale);\n}\n/**\n * Remove a transforms from an axis. This is essentially the steps of applyAxisTransforms in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeAxisTransforms(axis, transforms, [key, scaleKey, originKey], origin, sourceAxis) {\n    removeAxisDelta(axis, transforms[key], transforms[scaleKey], transforms[originKey], transforms.scale, origin, sourceAxis);\n}\n/**\n * The names of the motion values we want to apply as translation, scale and origin.\n */\nconst xKeys = [\"x\", \"scaleX\", \"originX\"];\nconst yKeys = [\"y\", \"scaleY\", \"originY\"];\n/**\n * Remove a transforms from an box. This is essentially the steps of applyAxisBox in reverse\n * and acts as a bridge between motion values and removeAxisDelta\n */\nfunction removeBoxTransforms(box, transforms, originBox, sourceBox) {\n    removeAxisTransforms(box.x, transforms, xKeys, originBox ? originBox.x : undefined, sourceBox ? sourceBox.x : undefined);\n    removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : undefined, sourceBox ? sourceBox.y : undefined);\n}\n\nexport { removeAxisDelta, removeAxisTransforms, removeBoxTransforms, removePointDelta };\n//# sourceMappingURL=delta-remove.mjs.map\n","const createAxisDelta = () => ({\n    translate: 0,\n    scale: 1,\n    origin: 0,\n    originPoint: 0,\n});\nconst createDelta = () => ({\n    x: createAxisDelta(),\n    y: createAxisDelta(),\n});\nconst createAxis = () => ({ min: 0, max: 0 });\nconst createBox = () => ({\n    x: createAxis(),\n    y: createAxis(),\n});\n\nexport { createAxis, createAxisDelta, createBox, createDelta };\n//# sourceMappingURL=models.mjs.map\n","import { calcLength } from './delta-calc.mjs';\n\nfunction isAxisDeltaZero(delta) {\n    return delta.translate === 0 && delta.scale === 1;\n}\nfunction isDeltaZero(delta) {\n    return isAxisDeltaZero(delta.x) && isAxisDeltaZero(delta.y);\n}\nfunction axisEquals(a, b) {\n    return a.min === b.min && a.max === b.max;\n}\nfunction boxEquals(a, b) {\n    return axisEquals(a.x, b.x) && axisEquals(a.y, b.y);\n}\nfunction axisEqualsRounded(a, b) {\n    return (Math.round(a.min) === Math.round(b.min) &&\n        Math.round(a.max) === Math.round(b.max));\n}\nfunction boxEqualsRounded(a, b) {\n    return axisEqualsRounded(a.x, b.x) && axisEqualsRounded(a.y, b.y);\n}\nfunction aspectRatio(box) {\n    return calcLength(box.x) / calcLength(box.y);\n}\nfunction axisDeltaEquals(a, b) {\n    return (a.translate === b.translate &&\n        a.scale === b.scale &&\n        a.originPoint === b.originPoint);\n}\n\nexport { aspectRatio, axisDeltaEquals, axisEquals, axisEqualsRounded, boxEquals, boxEqualsRounded, isDeltaZero };\n//# sourceMappingURL=utils.mjs.map\n","import { addDomEvent } from '../../events/add-dom-event.mjs';\nimport { createProjectionNode } from './create-projection-node.mjs';\n\nconst DocumentProjectionNode = createProjectionNode({\n    attachResizeListener: (ref, notify) => addDomEvent(ref, \"resize\", notify),\n    measureScroll: () => ({\n        x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0,\n        y: document.documentElement.scrollTop || document.body?.scrollTop || 0,\n    }),\n    checkIsScrollRoot: () => true,\n});\n\nexport { DocumentProjectionNode };\n//# sourceMappingURL=DocumentProjectionNode.mjs.map\n","import { createProjectionNode } from './create-projection-node.mjs';\nimport { DocumentProjectionNode } from './DocumentProjectionNode.mjs';\n\nconst rootProjectionNode = {\n    current: undefined,\n};\nconst HTMLProjectionNode = createProjectionNode({\n    measureScroll: (instance) => ({\n        x: instance.scrollLeft,\n        y: instance.scrollTop,\n    }),\n    defaultParent: () => {\n        if (!rootProjectionNode.current) {\n            const documentNode = new DocumentProjectionNode({});\n            documentNode.mount(window);\n            documentNode.setOptions({ layoutScroll: true });\n            rootProjectionNode.current = documentNode;\n        }\n        return rootProjectionNode.current;\n    },\n    resetTransform: (instance, value) => {\n        instance.style.transform = value !== undefined ? value : \"none\";\n    },\n    checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === \"fixed\"),\n});\n\nexport { HTMLProjectionNode, rootProjectionNode };\n//# sourceMappingURL=HTMLProjectionNode.mjs.map\n","import { SubscriptionManager, clamp, noop } from 'motion-utils';\nimport { animateSingleValue } from '../../animation/animate/single-value.mjs';\nimport { getOptimisedAppearId } from '../../animation/optimized-appear/get-appear-id.mjs';\nimport { getValueTransition } from '../../animation/utils/get-value-transition.mjs';\nimport { microtask } from '../../frameloop/microtask.mjs';\nimport { time } from '../../frameloop/sync-time.mjs';\nimport { scaleCorrectors } from '../styles/scale-correction.mjs';\nimport { activeAnimations } from '../../stats/animation-count.mjs';\nimport { statsBuffer } from '../../stats/buffer.mjs';\nimport { delay } from '../../utils/delay.mjs';\nimport { isSVGElement } from '../../utils/is-svg-element.mjs';\nimport { isSVGSVGElement } from '../../utils/is-svg-svg-element.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\nimport { motionValue } from '../../value/index.mjs';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.mjs';\nimport { mixValues } from '../animation/mix-values.mjs';\nimport { copyBoxInto, copyAxisDeltaInto } from '../geometry/copy.mjs';\nimport { translateAxis, transformBox, applyBoxDelta, applyTreeDeltas } from '../geometry/delta-apply.mjs';\nimport { calcLength, calcRelativeBox, calcRelativePosition, calcBoxDelta, isNear } from '../geometry/delta-calc.mjs';\nimport { removeBoxTransforms } from '../geometry/delta-remove.mjs';\nimport { createBox, createDelta } from '../geometry/models.mjs';\nimport { boxEqualsRounded, isDeltaZero, axisDeltaEquals, aspectRatio, boxEquals } from '../geometry/utils.mjs';\nimport { NodeStack } from '../shared/stack.mjs';\nimport { buildProjectionTransform } from '../styles/transform.mjs';\nimport { eachAxis } from '../utils/each-axis.mjs';\nimport { FlatTree } from '../utils/flat-tree.mjs';\nimport { hasTransform, hasScale, has2DTranslate } from '../utils/has-transform.mjs';\nimport { globalProjectionState } from './state.mjs';\nimport { frame, cancelFrame, frameData, frameSteps } from '../../frameloop/frame.mjs';\n\nconst metrics = {\n    nodes: 0,\n    calculatedTargetDeltas: 0,\n    calculatedProjections: 0,\n};\nconst transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * We use 1000 as the animation target as 0-1000 maps better to pixels than 0-1\n * which has a noticeable difference in spring animations\n */\nconst animationTarget = 1000;\nlet id = 0;\nfunction resetDistortingTransform(key, visualElement, values, sharedAnimationValues) {\n    const { latestValues } = visualElement;\n    // Record the distorting transform and then temporarily set it to 0\n    if (latestValues[key]) {\n        values[key] = latestValues[key];\n        visualElement.setStaticValue(key, 0);\n        if (sharedAnimationValues) {\n            sharedAnimationValues[key] = 0;\n        }\n    }\n}\nfunction cancelTreeOptimisedTransformAnimations(projectionNode) {\n    projectionNode.hasCheckedOptimisedAppear = true;\n    if (projectionNode.root === projectionNode)\n        return;\n    const { visualElement } = projectionNode.options;\n    if (!visualElement)\n        return;\n    const appearId = getOptimisedAppearId(visualElement);\n    if (window.MotionHasOptimisedAnimation(appearId, \"transform\")) {\n        const { layout, layoutId } = projectionNode.options;\n        window.MotionCancelOptimisedAnimation(appearId, \"transform\", frame, !(layout || layoutId));\n    }\n    const { parent } = projectionNode;\n    if (parent && !parent.hasCheckedOptimisedAppear) {\n        cancelTreeOptimisedTransformAnimations(parent);\n    }\n}\nfunction createProjectionNode({ attachResizeListener, defaultParent, measureScroll, checkIsScrollRoot, resetTransform, }) {\n    return class ProjectionNode {\n        constructor(latestValues = {}, parent = defaultParent?.()) {\n            /**\n             * A unique ID generated for every projection node.\n             */\n            this.id = id++;\n            /**\n             * An id that represents a unique session instigated by startUpdate.\n             */\n            this.animationId = 0;\n            this.animationCommitId = 0;\n            /**\n             * A Set containing all this component's children. This is used to iterate\n             * through the children.\n             *\n             * TODO: This could be faster to iterate as a flat array stored on the root node.\n             */\n            this.children = new Set();\n            /**\n             * Options for the node. We use this to configure what kind of layout animations\n             * we should perform (if any).\n             */\n            this.options = {};\n            /**\n             * We use this to detect when its safe to shut down part of a projection tree.\n             * We have to keep projecting children for scale correction and relative projection\n             * until all their parents stop performing layout animations.\n             */\n            this.isTreeAnimating = false;\n            this.isAnimationBlocked = false;\n            /**\n             * Flag to true if we think this layout has been changed. We can't always know this,\n             * currently we set it to true every time a component renders, or if it has a layoutDependency\n             * if that has changed between renders. Additionally, components can be grouped by LayoutGroup\n             * and if one node is dirtied, they all are.\n             */\n            this.isLayoutDirty = false;\n            /**\n             * Flag to true if we think the projection calculations for this node needs\n             * recalculating as a result of an updated transform or layout animation.\n             */\n            this.isProjectionDirty = false;\n            /**\n             * Flag to true if the layout *or* transform has changed. This then gets propagated\n             * throughout the projection tree, forcing any element below to recalculate on the next frame.\n             */\n            this.isSharedProjectionDirty = false;\n            /**\n             * Flag transform dirty. This gets propagated throughout the whole tree but is only\n             * respected by shared nodes.\n             */\n            this.isTransformDirty = false;\n            /**\n             * Block layout updates for instant layout transitions throughout the tree.\n             */\n            this.updateManuallyBlocked = false;\n            this.updateBlockedByResize = false;\n            /**\n             * Set to true between the start of the first `willUpdate` call and the end of the `didUpdate`\n             * call.\n             */\n            this.isUpdating = false;\n            /**\n             * If this is an SVG element we currently disable projection transforms\n             */\n            this.isSVG = false;\n            /**\n             * Flag to true (during promotion) if a node doing an instant layout transition needs to reset\n             * its projection styles.\n             */\n            this.needsReset = false;\n            /**\n             * Flags whether this node should have its transform reset prior to measuring.\n             */\n            this.shouldResetTransform = false;\n            /**\n             * Store whether this node has been checked for optimised appear animations. As\n             * effects fire bottom-up, and we want to look up the tree for appear animations,\n             * this makes sure we only check each path once, stopping at nodes that\n             * have already been checked.\n             */\n            this.hasCheckedOptimisedAppear = false;\n            /**\n             * An object representing the calculated contextual/accumulated/tree scale.\n             * This will be used to scale calculcated projection transforms, as these are\n             * calculated in screen-space but need to be scaled for elements to layoutly\n             * make it to their calculated destinations.\n             *\n             * TODO: Lazy-init\n             */\n            this.treeScale = { x: 1, y: 1 };\n            /**\n             *\n             */\n            this.eventHandlers = new Map();\n            this.hasTreeAnimated = false;\n            this.layoutVersion = 0;\n            // Note: Currently only running on root node\n            this.updateScheduled = false;\n            this.scheduleUpdate = () => this.update();\n            this.projectionUpdateScheduled = false;\n            this.checkUpdateFailed = () => {\n                if (this.isUpdating) {\n                    this.isUpdating = false;\n                    this.clearAllSnapshots();\n                }\n            };\n            /**\n             * This is a multi-step process as shared nodes might be of different depths. Nodes\n             * are sorted by depth order, so we need to resolve the entire tree before moving to\n             * the next step.\n             */\n            this.updateProjection = () => {\n                this.projectionUpdateScheduled = false;\n                /**\n                 * Reset debug counts. Manually resetting rather than creating a new\n                 * object each frame.\n                 */\n                if (statsBuffer.value) {\n                    metrics.nodes =\n                        metrics.calculatedTargetDeltas =\n                            metrics.calculatedProjections =\n                                0;\n                }\n                this.nodes.forEach(propagateDirtyNodes);\n                this.nodes.forEach(resolveTargetDelta);\n                this.nodes.forEach(calcProjection);\n                this.nodes.forEach(cleanDirtyNodes);\n                if (statsBuffer.addProjectionMetrics) {\n                    statsBuffer.addProjectionMetrics(metrics);\n                }\n            };\n            /**\n             * Frame calculations\n             */\n            this.resolvedRelativeTargetAt = 0.0;\n            this.linkedParentVersion = 0;\n            this.hasProjected = false;\n            this.isVisible = true;\n            this.animationProgress = 0;\n            /**\n             * Shared layout\n             */\n            // TODO Only running on root node\n            this.sharedNodes = new Map();\n            this.latestValues = latestValues;\n            this.root = parent ? parent.root || parent : this;\n            this.path = parent ? [...parent.path, parent] : [];\n            this.parent = parent;\n            this.depth = parent ? parent.depth + 1 : 0;\n            for (let i = 0; i < this.path.length; i++) {\n                this.path[i].shouldResetTransform = true;\n            }\n            if (this.root === this)\n                this.nodes = new FlatTree();\n        }\n        addEventListener(name, handler) {\n            if (!this.eventHandlers.has(name)) {\n                this.eventHandlers.set(name, new SubscriptionManager());\n            }\n            return this.eventHandlers.get(name).add(handler);\n        }\n        notifyListeners(name, ...args) {\n            const subscriptionManager = this.eventHandlers.get(name);\n            subscriptionManager && subscriptionManager.notify(...args);\n        }\n        hasListeners(name) {\n            return this.eventHandlers.has(name);\n        }\n        /**\n         * Lifecycles\n         */\n        mount(instance) {\n            if (this.instance)\n                return;\n            this.isSVG = isSVGElement(instance) && !isSVGSVGElement(instance);\n            this.instance = instance;\n            const { layoutId, layout, visualElement } = this.options;\n            if (visualElement && !visualElement.current) {\n                visualElement.mount(instance);\n            }\n            this.root.nodes.add(this);\n            this.parent && this.parent.children.add(this);\n            if (this.root.hasTreeAnimated && (layout || layoutId)) {\n                this.isLayoutDirty = true;\n            }\n            if (attachResizeListener) {\n                let cancelDelay;\n                let innerWidth = 0;\n                const resizeUnblockUpdate = () => (this.root.updateBlockedByResize = false);\n                // Set initial innerWidth in a frame.read callback to batch the read\n                frame.read(() => {\n                    innerWidth = window.innerWidth;\n                });\n                attachResizeListener(instance, () => {\n                    const newInnerWidth = window.innerWidth;\n                    if (newInnerWidth === innerWidth)\n                        return;\n                    innerWidth = newInnerWidth;\n                    this.root.updateBlockedByResize = true;\n                    cancelDelay && cancelDelay();\n                    cancelDelay = delay(resizeUnblockUpdate, 250);\n                    if (globalProjectionState.hasAnimatedSinceResize) {\n                        globalProjectionState.hasAnimatedSinceResize = false;\n                        this.nodes.forEach(finishAnimation);\n                    }\n                });\n            }\n            if (layoutId) {\n                this.root.registerSharedNode(layoutId, this);\n            }\n            // Only register the handler if it requires layout animation\n            if (this.options.animate !== false &&\n                visualElement &&\n                (layoutId || layout)) {\n                this.addEventListener(\"didUpdate\", ({ delta, hasLayoutChanged, hasRelativeLayoutChanged, layout: newLayout, }) => {\n                    if (this.isTreeAnimationBlocked()) {\n                        this.target = undefined;\n                        this.relativeTarget = undefined;\n                        return;\n                    }\n                    // TODO: Check here if an animation exists\n                    const layoutTransition = this.options.transition ||\n                        visualElement.getDefaultTransition() ||\n                        defaultLayoutTransition;\n                    const { onLayoutAnimationStart, onLayoutAnimationComplete, } = visualElement.getProps();\n                    /**\n                     * The target layout of the element might stay the same,\n                     * but its position relative to its parent has changed.\n                     */\n                    const hasTargetChanged = !this.targetLayout ||\n                        !boxEqualsRounded(this.targetLayout, newLayout);\n                    /*\n                     * Note: Disabled to fix relative animations always triggering new\n                     * layout animations. If this causes further issues, we can try\n                     * a different approach to detecting relative target changes.\n                     */\n                    // || hasRelativeLayoutChanged\n                    /**\n                     * If the layout hasn't seemed to have changed, it might be that the\n                     * element is visually in the same place in the document but its position\n                     * relative to its parent has indeed changed. So here we check for that.\n                     */\n                    const hasOnlyRelativeTargetChanged = !hasLayoutChanged && hasRelativeLayoutChanged;\n                    if (this.options.layoutRoot ||\n                        this.resumeFrom ||\n                        hasOnlyRelativeTargetChanged ||\n                        (hasLayoutChanged &&\n                            (hasTargetChanged || !this.currentAnimation))) {\n                        if (this.resumeFrom) {\n                            this.resumingFrom = this.resumeFrom;\n                            this.resumingFrom.resumingFrom = undefined;\n                        }\n                        const animationOptions = {\n                            ...getValueTransition(layoutTransition, \"layout\"),\n                            onPlay: onLayoutAnimationStart,\n                            onComplete: onLayoutAnimationComplete,\n                        };\n                        if (visualElement.shouldReduceMotion ||\n                            this.options.layoutRoot) {\n                            animationOptions.delay = 0;\n                            animationOptions.type = false;\n                        }\n                        this.startAnimation(animationOptions);\n                        /**\n                         * Set animation origin after starting animation to avoid layout jump\n                         * caused by stopping previous layout animation\n                         */\n                        this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);\n                    }\n                    else {\n                        /**\n                         * If the layout hasn't changed and we have an animation that hasn't started yet,\n                         * finish it immediately. Otherwise it will be animating from a location\n                         * that was probably never committed to screen and look like a jumpy box.\n                         */\n                        if (!hasLayoutChanged) {\n                            finishAnimation(this);\n                        }\n                        if (this.isLead() && this.options.onExitComplete) {\n                            this.options.onExitComplete();\n                        }\n                    }\n                    this.targetLayout = newLayout;\n                });\n            }\n        }\n        unmount() {\n            this.options.layoutId && this.willUpdate();\n            this.root.nodes.remove(this);\n            const stack = this.getStack();\n            stack && stack.remove(this);\n            this.parent && this.parent.children.delete(this);\n            this.instance = undefined;\n            this.eventHandlers.clear();\n            cancelFrame(this.updateProjection);\n        }\n        // only on the root\n        blockUpdate() {\n            this.updateManuallyBlocked = true;\n        }\n        unblockUpdate() {\n            this.updateManuallyBlocked = false;\n        }\n        isUpdateBlocked() {\n            return this.updateManuallyBlocked || this.updateBlockedByResize;\n        }\n        isTreeAnimationBlocked() {\n            return (this.isAnimationBlocked ||\n                (this.parent && this.parent.isTreeAnimationBlocked()) ||\n                false);\n        }\n        // Note: currently only running on root node\n        startUpdate() {\n            if (this.isUpdateBlocked())\n                return;\n            this.isUpdating = true;\n            this.nodes && this.nodes.forEach(resetSkewAndRotation);\n            this.animationId++;\n        }\n        getTransformTemplate() {\n            const { visualElement } = this.options;\n            return visualElement && visualElement.getProps().transformTemplate;\n        }\n        willUpdate(shouldNotifyListeners = true) {\n            this.root.hasTreeAnimated = true;\n            if (this.root.isUpdateBlocked()) {\n                this.options.onExitComplete && this.options.onExitComplete();\n                return;\n            }\n            /**\n             * If we're running optimised appear animations then these must be\n             * cancelled before measuring the DOM. This is so we can measure\n             * the true layout of the element rather than the WAAPI animation\n             * which will be unaffected by the resetSkewAndRotate step.\n             *\n             * Note: This is a DOM write. Worst case scenario is this is sandwiched\n             * between other snapshot reads which will cause unnecessary style recalculations.\n             * This has to happen here though, as we don't yet know which nodes will need\n             * snapshots in startUpdate(), but we only want to cancel optimised animations\n             * if a layout animation measurement is actually going to be affected by them.\n             */\n            if (window.MotionCancelOptimisedAnimation &&\n                !this.hasCheckedOptimisedAppear) {\n                cancelTreeOptimisedTransformAnimations(this);\n            }\n            !this.root.isUpdating && this.root.startUpdate();\n            if (this.isLayoutDirty)\n                return;\n            this.isLayoutDirty = true;\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                node.shouldResetTransform = true;\n                node.updateScroll(\"snapshot\");\n                if (node.options.layoutRoot) {\n                    node.willUpdate(false);\n                }\n            }\n            const { layoutId, layout } = this.options;\n            if (layoutId === undefined && !layout)\n                return;\n            const transformTemplate = this.getTransformTemplate();\n            this.prevTransformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            this.updateSnapshot();\n            shouldNotifyListeners && this.notifyListeners(\"willUpdate\");\n        }\n        update() {\n            this.updateScheduled = false;\n            const updateWasBlocked = this.isUpdateBlocked();\n            // When doing an instant transition, we skip the layout update,\n            // but should still clean up the measurements so that the next\n            // snapshot could be taken correctly.\n            if (updateWasBlocked) {\n                this.unblockUpdate();\n                this.clearAllSnapshots();\n                this.nodes.forEach(clearMeasurements);\n                return;\n            }\n            /**\n             * If this is a repeat of didUpdate then ignore the animation.\n             */\n            if (this.animationId <= this.animationCommitId) {\n                this.nodes.forEach(clearIsLayoutDirty);\n                return;\n            }\n            this.animationCommitId = this.animationId;\n            if (!this.isUpdating) {\n                this.nodes.forEach(clearIsLayoutDirty);\n            }\n            else {\n                this.isUpdating = false;\n                /**\n                 * Write\n                 */\n                this.nodes.forEach(resetTransformStyle);\n                /**\n                 * Read ==================\n                 */\n                // Update layout measurements of updated children\n                this.nodes.forEach(updateLayout);\n                /**\n                 * Write\n                 */\n                // Notify listeners that the layout is updated\n                this.nodes.forEach(notifyLayoutUpdate);\n            }\n            this.clearAllSnapshots();\n            /**\n             * Manually flush any pending updates. Ideally\n             * we could leave this to the following requestAnimationFrame but this seems\n             * to leave a flash of incorrectly styled content.\n             */\n            const now = time.now();\n            frameData.delta = clamp(0, 1000 / 60, now - frameData.timestamp);\n            frameData.timestamp = now;\n            frameData.isProcessing = true;\n            frameSteps.update.process(frameData);\n            frameSteps.preRender.process(frameData);\n            frameSteps.render.process(frameData);\n            frameData.isProcessing = false;\n        }\n        didUpdate() {\n            if (!this.updateScheduled) {\n                this.updateScheduled = true;\n                microtask.read(this.scheduleUpdate);\n            }\n        }\n        clearAllSnapshots() {\n            this.nodes.forEach(clearSnapshot);\n            this.sharedNodes.forEach(removeLeadSnapshots);\n        }\n        scheduleUpdateProjection() {\n            if (!this.projectionUpdateScheduled) {\n                this.projectionUpdateScheduled = true;\n                frame.preRender(this.updateProjection, false, true);\n            }\n        }\n        scheduleCheckAfterUnmount() {\n            /**\n             * If the unmounting node is in a layoutGroup and did trigger a willUpdate,\n             * we manually call didUpdate to give a chance to the siblings to animate.\n             * Otherwise, cleanup all snapshots to prevents future nodes from reusing them.\n             */\n            frame.postRender(() => {\n                if (this.isLayoutDirty) {\n                    this.root.didUpdate();\n                }\n                else {\n                    this.root.checkUpdateFailed();\n                }\n            });\n        }\n        /**\n         * Update measurements\n         */\n        updateSnapshot() {\n            if (this.snapshot || !this.instance)\n                return;\n            this.snapshot = this.measure();\n            if (this.snapshot &&\n                !calcLength(this.snapshot.measuredBox.x) &&\n                !calcLength(this.snapshot.measuredBox.y)) {\n                this.snapshot = undefined;\n            }\n        }\n        updateLayout() {\n            if (!this.instance)\n                return;\n            this.updateScroll();\n            if (!(this.options.alwaysMeasureLayout && this.isLead()) &&\n                !this.isLayoutDirty) {\n                return;\n            }\n            /**\n             * When a node is mounted, it simply resumes from the prevLead's\n             * snapshot instead of taking a new one, but the ancestors scroll\n             * might have updated while the prevLead is unmounted. We need to\n             * update the scroll again to make sure the layout we measure is\n             * up to date.\n             */\n            if (this.resumeFrom && !this.resumeFrom.instance) {\n                for (let i = 0; i < this.path.length; i++) {\n                    const node = this.path[i];\n                    node.updateScroll();\n                }\n            }\n            const prevLayout = this.layout;\n            this.layout = this.measure(false);\n            this.layoutVersion++;\n            this.layoutCorrected = createBox();\n            this.isLayoutDirty = false;\n            this.projectionDelta = undefined;\n            this.notifyListeners(\"measure\", this.layout.layoutBox);\n            const { visualElement } = this.options;\n            visualElement &&\n                visualElement.notify(\"LayoutMeasure\", this.layout.layoutBox, prevLayout ? prevLayout.layoutBox : undefined);\n        }\n        updateScroll(phase = \"measure\") {\n            let needsMeasurement = Boolean(this.options.layoutScroll && this.instance);\n            if (this.scroll &&\n                this.scroll.animationId === this.root.animationId &&\n                this.scroll.phase === phase) {\n                needsMeasurement = false;\n            }\n            if (needsMeasurement && this.instance) {\n                const isRoot = checkIsScrollRoot(this.instance);\n                this.scroll = {\n                    animationId: this.root.animationId,\n                    phase,\n                    isRoot,\n                    offset: measureScroll(this.instance),\n                    wasRoot: this.scroll ? this.scroll.isRoot : isRoot,\n                };\n            }\n        }\n        resetTransform() {\n            if (!resetTransform)\n                return;\n            const isResetRequested = this.isLayoutDirty ||\n                this.shouldResetTransform ||\n                this.options.alwaysMeasureLayout;\n            const hasProjection = this.projectionDelta && !isDeltaZero(this.projectionDelta);\n            const transformTemplate = this.getTransformTemplate();\n            const transformTemplateValue = transformTemplate\n                ? transformTemplate(this.latestValues, \"\")\n                : undefined;\n            const transformTemplateHasChanged = transformTemplateValue !== this.prevTransformTemplateValue;\n            if (isResetRequested &&\n                this.instance &&\n                (hasProjection ||\n                    hasTransform(this.latestValues) ||\n                    transformTemplateHasChanged)) {\n                resetTransform(this.instance, transformTemplateValue);\n                this.shouldResetTransform = false;\n                this.scheduleRender();\n            }\n        }\n        measure(removeTransform = true) {\n            const pageBox = this.measurePageBox();\n            let layoutBox = this.removeElementScroll(pageBox);\n            /**\n             * Measurements taken during the pre-render stage\n             * still have transforms applied so we remove them\n             * via calculation.\n             */\n            if (removeTransform) {\n                layoutBox = this.removeTransform(layoutBox);\n            }\n            roundBox(layoutBox);\n            return {\n                animationId: this.root.animationId,\n                measuredBox: pageBox,\n                layoutBox,\n                latestValues: {},\n                source: this.id,\n            };\n        }\n        measurePageBox() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return createBox();\n            const box = visualElement.measureViewportBox();\n            const wasInScrollRoot = this.scroll?.wasRoot || this.path.some(checkNodeWasScrollRoot);\n            if (!wasInScrollRoot) {\n                // Remove viewport scroll to give page-relative coordinates\n                const { scroll } = this.root;\n                if (scroll) {\n                    translateAxis(box.x, scroll.offset.x);\n                    translateAxis(box.y, scroll.offset.y);\n                }\n            }\n            return box;\n        }\n        removeElementScroll(box) {\n            const boxWithoutScroll = createBox();\n            copyBoxInto(boxWithoutScroll, box);\n            if (this.scroll?.wasRoot) {\n                return boxWithoutScroll;\n            }\n            /**\n             * Performance TODO: Keep a cumulative scroll offset down the tree\n             * rather than loop back up the path.\n             */\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                const { scroll, options } = node;\n                if (node !== this.root && scroll && options.layoutScroll) {\n                    /**\n                     * If this is a new scroll root, we want to remove all previous scrolls\n                     * from the viewport box.\n                     */\n                    if (scroll.wasRoot) {\n                        copyBoxInto(boxWithoutScroll, box);\n                    }\n                    translateAxis(boxWithoutScroll.x, scroll.offset.x);\n                    translateAxis(boxWithoutScroll.y, scroll.offset.y);\n                }\n            }\n            return boxWithoutScroll;\n        }\n        applyTransform(box, transformOnly = false) {\n            const withTransforms = createBox();\n            copyBoxInto(withTransforms, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!transformOnly &&\n                    node.options.layoutScroll &&\n                    node.scroll &&\n                    node !== node.root) {\n                    transformBox(withTransforms, {\n                        x: -node.scroll.offset.x,\n                        y: -node.scroll.offset.y,\n                    });\n                }\n                if (!hasTransform(node.latestValues))\n                    continue;\n                transformBox(withTransforms, node.latestValues);\n            }\n            if (hasTransform(this.latestValues)) {\n                transformBox(withTransforms, this.latestValues);\n            }\n            return withTransforms;\n        }\n        removeTransform(box) {\n            const boxWithoutTransform = createBox();\n            copyBoxInto(boxWithoutTransform, box);\n            for (let i = 0; i < this.path.length; i++) {\n                const node = this.path[i];\n                if (!node.instance)\n                    continue;\n                if (!hasTransform(node.latestValues))\n                    continue;\n                hasScale(node.latestValues) && node.updateSnapshot();\n                const sourceBox = createBox();\n                const nodeBox = node.measurePageBox();\n                copyBoxInto(sourceBox, nodeBox);\n                removeBoxTransforms(boxWithoutTransform, node.latestValues, node.snapshot ? node.snapshot.layoutBox : undefined, sourceBox);\n            }\n            if (hasTransform(this.latestValues)) {\n                removeBoxTransforms(boxWithoutTransform, this.latestValues);\n            }\n            return boxWithoutTransform;\n        }\n        setTargetDelta(delta) {\n            this.targetDelta = delta;\n            this.root.scheduleUpdateProjection();\n            this.isProjectionDirty = true;\n        }\n        setOptions(options) {\n            this.options = {\n                ...this.options,\n                ...options,\n                crossfade: options.crossfade !== undefined ? options.crossfade : true,\n            };\n        }\n        clearMeasurements() {\n            this.scroll = undefined;\n            this.layout = undefined;\n            this.snapshot = undefined;\n            this.prevTransformTemplateValue = undefined;\n            this.targetDelta = undefined;\n            this.target = undefined;\n            this.isLayoutDirty = false;\n        }\n        forceRelativeParentToResolveTarget() {\n            if (!this.relativeParent)\n                return;\n            /**\n             * If the parent target isn't up-to-date, force it to update.\n             * This is an unfortunate de-optimisation as it means any updating relative\n             * projection will cause all the relative parents to recalculate back\n             * up the tree.\n             */\n            if (this.relativeParent.resolvedRelativeTargetAt !==\n                frameData.timestamp) {\n                this.relativeParent.resolveTargetDelta(true);\n            }\n        }\n        resolveTargetDelta(forceRecalculation = false) {\n            /**\n             * Once the dirty status of nodes has been spread through the tree, we also\n             * need to check if we have a shared node of a different depth that has itself\n             * been dirtied.\n             */\n            const lead = this.getLead();\n            this.isProjectionDirty || (this.isProjectionDirty = lead.isProjectionDirty);\n            this.isTransformDirty || (this.isTransformDirty = lead.isTransformDirty);\n            this.isSharedProjectionDirty || (this.isSharedProjectionDirty = lead.isSharedProjectionDirty);\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            /**\n             * We don't use transform for this step of processing so we don't\n             * need to check whether any nodes have changed transform.\n             */\n            const canSkip = !(forceRecalculation ||\n                (isShared && this.isSharedProjectionDirty) ||\n                this.isProjectionDirty ||\n                this.parent?.isProjectionDirty ||\n                this.attemptToResolveRelativeTarget ||\n                this.root.updateBlockedByResize);\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If we have no layout, we can't perform projection, so early return\n             */\n            if (!this.layout || !(layout || layoutId))\n                return;\n            this.resolvedRelativeTargetAt = frameData.timestamp;\n            const relativeParent = this.getClosestProjectingParent();\n            if (relativeParent &&\n                this.linkedParentVersion !== relativeParent.layoutVersion &&\n                !relativeParent.options.layoutRoot) {\n                this.removeRelativeTarget();\n            }\n            /**\n             * If we don't have a targetDelta but do have a layout, we can attempt to resolve\n             * a relativeParent. This will allow a component to perform scale correction\n             * even if no animation has started.\n             */\n            if (!this.targetDelta && !this.relativeTarget) {\n                if (relativeParent && relativeParent.layout) {\n                    this.createRelativeTarget(relativeParent, this.layout.layoutBox, relativeParent.layout.layoutBox);\n                }\n                else {\n                    this.removeRelativeTarget();\n                }\n            }\n            /**\n             * If we have no relative target or no target delta our target isn't valid\n             * for this frame.\n             */\n            if (!this.relativeTarget && !this.targetDelta)\n                return;\n            /**\n             * Lazy-init target data structure\n             */\n            if (!this.target) {\n                this.target = createBox();\n                this.targetWithTransforms = createBox();\n            }\n            /**\n             * If we've got a relative box for this component, resolve it into a target relative to the parent.\n             */\n            if (this.relativeTarget &&\n                this.relativeTargetOrigin &&\n                this.relativeParent &&\n                this.relativeParent.target) {\n                this.forceRelativeParentToResolveTarget();\n                calcRelativeBox(this.target, this.relativeTarget, this.relativeParent.target);\n                /**\n                 * If we've only got a targetDelta, resolve it into a target\n                 */\n            }\n            else if (this.targetDelta) {\n                if (Boolean(this.resumingFrom)) {\n                    // TODO: This is creating a new object every frame\n                    this.target = this.applyTransform(this.layout.layoutBox);\n                }\n                else {\n                    copyBoxInto(this.target, this.layout.layoutBox);\n                }\n                applyBoxDelta(this.target, this.targetDelta);\n            }\n            else {\n                /**\n                 * If no target, use own layout as target\n                 */\n                copyBoxInto(this.target, this.layout.layoutBox);\n            }\n            /**\n             * If we've been told to attempt to resolve a relative target, do so.\n             */\n            if (this.attemptToResolveRelativeTarget) {\n                this.attemptToResolveRelativeTarget = false;\n                if (relativeParent &&\n                    Boolean(relativeParent.resumingFrom) ===\n                        Boolean(this.resumingFrom) &&\n                    !relativeParent.options.layoutScroll &&\n                    relativeParent.target &&\n                    this.animationProgress !== 1) {\n                    this.createRelativeTarget(relativeParent, this.target, relativeParent.target);\n                }\n                else {\n                    this.relativeParent = this.relativeTarget = undefined;\n                }\n            }\n            /**\n             * Increase debug counter for resolved target deltas\n             */\n            if (statsBuffer.value) {\n                metrics.calculatedTargetDeltas++;\n            }\n        }\n        getClosestProjectingParent() {\n            if (!this.parent ||\n                hasScale(this.parent.latestValues) ||\n                has2DTranslate(this.parent.latestValues)) {\n                return undefined;\n            }\n            if (this.parent.isProjecting()) {\n                return this.parent;\n            }\n            else {\n                return this.parent.getClosestProjectingParent();\n            }\n        }\n        isProjecting() {\n            return Boolean((this.relativeTarget ||\n                this.targetDelta ||\n                this.options.layoutRoot) &&\n                this.layout);\n        }\n        createRelativeTarget(relativeParent, layout, parentLayout) {\n            this.relativeParent = relativeParent;\n            this.linkedParentVersion = relativeParent.layoutVersion;\n            this.forceRelativeParentToResolveTarget();\n            this.relativeTarget = createBox();\n            this.relativeTargetOrigin = createBox();\n            calcRelativePosition(this.relativeTargetOrigin, layout, parentLayout);\n            copyBoxInto(this.relativeTarget, this.relativeTargetOrigin);\n        }\n        removeRelativeTarget() {\n            this.relativeParent = this.relativeTarget = undefined;\n        }\n        calcProjection() {\n            const lead = this.getLead();\n            const isShared = Boolean(this.resumingFrom) || this !== lead;\n            let canSkip = true;\n            /**\n             * If this is a normal layout animation and neither this node nor its nearest projecting\n             * is dirty then we can't skip.\n             */\n            if (this.isProjectionDirty || this.parent?.isProjectionDirty) {\n                canSkip = false;\n            }\n            /**\n             * If this is a shared layout animation and this node's shared projection is dirty then\n             * we can't skip.\n             */\n            if (isShared &&\n                (this.isSharedProjectionDirty || this.isTransformDirty)) {\n                canSkip = false;\n            }\n            /**\n             * If we have resolved the target this frame we must recalculate the\n             * projection to ensure it visually represents the internal calculations.\n             */\n            if (this.resolvedRelativeTargetAt === frameData.timestamp) {\n                canSkip = false;\n            }\n            if (canSkip)\n                return;\n            const { layout, layoutId } = this.options;\n            /**\n             * If this section of the tree isn't animating we can\n             * delete our target sources for the following frame.\n             */\n            this.isTreeAnimating = Boolean((this.parent && this.parent.isTreeAnimating) ||\n                this.currentAnimation ||\n                this.pendingAnimation);\n            if (!this.isTreeAnimating) {\n                this.targetDelta = this.relativeTarget = undefined;\n            }\n            if (!this.layout || !(layout || layoutId))\n                return;\n            /**\n             * Reset the corrected box with the latest values from box, as we're then going\n             * to perform mutative operations on it.\n             */\n            copyBoxInto(this.layoutCorrected, this.layout.layoutBox);\n            /**\n             * Record previous tree scales before updating.\n             */\n            const prevTreeScaleX = this.treeScale.x;\n            const prevTreeScaleY = this.treeScale.y;\n            /**\n             * Apply all the parent deltas to this box to produce the corrected box. This\n             * is the layout box, as it will appear on screen as a result of the transforms of its parents.\n             */\n            applyTreeDeltas(this.layoutCorrected, this.treeScale, this.path, isShared);\n            /**\n             * If this layer needs to perform scale correction but doesn't have a target,\n             * use the layout as the target.\n             */\n            if (lead.layout &&\n                !lead.target &&\n                (this.treeScale.x !== 1 || this.treeScale.y !== 1)) {\n                lead.target = lead.layout.layoutBox;\n                lead.targetWithTransforms = createBox();\n            }\n            const { target } = lead;\n            if (!target) {\n                /**\n                 * If we don't have a target to project into, but we were previously\n                 * projecting, we want to remove the stored transform and schedule\n                 * a render to ensure the elements reflect the removed transform.\n                 */\n                if (this.prevProjectionDelta) {\n                    this.createProjectionDeltas();\n                    this.scheduleRender();\n                }\n                return;\n            }\n            if (!this.projectionDelta || !this.prevProjectionDelta) {\n                this.createProjectionDeltas();\n            }\n            else {\n                copyAxisDeltaInto(this.prevProjectionDelta.x, this.projectionDelta.x);\n                copyAxisDeltaInto(this.prevProjectionDelta.y, this.projectionDelta.y);\n            }\n            /**\n             * Update the delta between the corrected box and the target box before user-set transforms were applied.\n             * This will allow us to calculate the corrected borderRadius and boxShadow to compensate\n             * for our layout reprojection, but still allow them to be scaled correctly by the user.\n             * It might be that to simplify this we may want to accept that user-set scale is also corrected\n             * and we wouldn't have to keep and calc both deltas, OR we could support a user setting\n             * to allow people to choose whether these styles are corrected based on just the\n             * layout reprojection or the final bounding box.\n             */\n            calcBoxDelta(this.projectionDelta, this.layoutCorrected, target, this.latestValues);\n            if (this.treeScale.x !== prevTreeScaleX ||\n                this.treeScale.y !== prevTreeScaleY ||\n                !axisDeltaEquals(this.projectionDelta.x, this.prevProjectionDelta.x) ||\n                !axisDeltaEquals(this.projectionDelta.y, this.prevProjectionDelta.y)) {\n                this.hasProjected = true;\n                this.scheduleRender();\n                this.notifyListeners(\"projectionUpdate\", target);\n            }\n            /**\n             * Increase debug counter for recalculated projections\n             */\n            if (statsBuffer.value) {\n                metrics.calculatedProjections++;\n            }\n        }\n        hide() {\n            this.isVisible = false;\n            // TODO: Schedule render\n        }\n        show() {\n            this.isVisible = true;\n            // TODO: Schedule render\n        }\n        scheduleRender(notifyAll = true) {\n            this.options.visualElement?.scheduleRender();\n            if (notifyAll) {\n                const stack = this.getStack();\n                stack && stack.scheduleRender();\n            }\n            if (this.resumingFrom && !this.resumingFrom.instance) {\n                this.resumingFrom = undefined;\n            }\n        }\n        createProjectionDeltas() {\n            this.prevProjectionDelta = createDelta();\n            this.projectionDelta = createDelta();\n            this.projectionDeltaWithTransform = createDelta();\n        }\n        setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {\n            const snapshot = this.snapshot;\n            const snapshotLatestValues = snapshot ? snapshot.latestValues : {};\n            const mixedValues = { ...this.latestValues };\n            const targetDelta = createDelta();\n            if (!this.relativeParent ||\n                !this.relativeParent.options.layoutRoot) {\n                this.relativeTarget = this.relativeTargetOrigin = undefined;\n            }\n            this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;\n            const relativeLayout = createBox();\n            const snapshotSource = snapshot ? snapshot.source : undefined;\n            const layoutSource = this.layout ? this.layout.source : undefined;\n            const isSharedLayoutAnimation = snapshotSource !== layoutSource;\n            const stack = this.getStack();\n            const isOnlyMember = !stack || stack.members.length <= 1;\n            const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation &&\n                !isOnlyMember &&\n                this.options.crossfade === true &&\n                !this.path.some(hasOpacityCrossfade));\n            this.animationProgress = 0;\n            let prevRelativeTarget;\n            this.mixTargetDelta = (latest) => {\n                const progress = latest / 1000;\n                mixAxisDelta(targetDelta.x, delta.x, progress);\n                mixAxisDelta(targetDelta.y, delta.y, progress);\n                this.setTargetDelta(targetDelta);\n                if (this.relativeTarget &&\n                    this.relativeTargetOrigin &&\n                    this.layout &&\n                    this.relativeParent &&\n                    this.relativeParent.layout) {\n                    calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox);\n                    mixBox(this.relativeTarget, this.relativeTargetOrigin, relativeLayout, progress);\n                    /**\n                     * If this is an unchanged relative target we can consider the\n                     * projection not dirty.\n                     */\n                    if (prevRelativeTarget &&\n                        boxEquals(this.relativeTarget, prevRelativeTarget)) {\n                        this.isProjectionDirty = false;\n                    }\n                    if (!prevRelativeTarget)\n                        prevRelativeTarget = createBox();\n                    copyBoxInto(prevRelativeTarget, this.relativeTarget);\n                }\n                if (isSharedLayoutAnimation) {\n                    this.animationValues = mixedValues;\n                    mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress, shouldCrossfadeOpacity, isOnlyMember);\n                }\n                this.root.scheduleUpdateProjection();\n                this.scheduleRender();\n                this.animationProgress = progress;\n            };\n            this.mixTargetDelta(this.options.layoutRoot ? 1000 : 0);\n        }\n        startAnimation(options) {\n            this.notifyListeners(\"animationStart\");\n            this.currentAnimation?.stop();\n            this.resumingFrom?.currentAnimation?.stop();\n            if (this.pendingAnimation) {\n                cancelFrame(this.pendingAnimation);\n                this.pendingAnimation = undefined;\n            }\n            /**\n             * Start the animation in the next frame to have a frame with progress 0,\n             * where the target is the same as when the animation started, so we can\n             * calculate the relative positions correctly for instant transitions.\n             */\n            this.pendingAnimation = frame.update(() => {\n                globalProjectionState.hasAnimatedSinceResize = true;\n                activeAnimations.layout++;\n                this.motionValue || (this.motionValue = motionValue(0));\n                this.motionValue.jump(0, false);\n                this.currentAnimation = animateSingleValue(this.motionValue, [0, 1000], {\n                    ...options,\n                    velocity: 0,\n                    isSync: true,\n                    onUpdate: (latest) => {\n                        this.mixTargetDelta(latest);\n                        options.onUpdate && options.onUpdate(latest);\n                    },\n                    onStop: () => {\n                        activeAnimations.layout--;\n                    },\n                    onComplete: () => {\n                        activeAnimations.layout--;\n                        options.onComplete && options.onComplete();\n                        this.completeAnimation();\n                    },\n                });\n                if (this.resumingFrom) {\n                    this.resumingFrom.currentAnimation = this.currentAnimation;\n                }\n                this.pendingAnimation = undefined;\n            });\n        }\n        completeAnimation() {\n            if (this.resumingFrom) {\n                this.resumingFrom.currentAnimation = undefined;\n                this.resumingFrom.preserveOpacity = undefined;\n            }\n            const stack = this.getStack();\n            stack && stack.exitAnimationComplete();\n            this.resumingFrom =\n                this.currentAnimation =\n                    this.animationValues =\n                        undefined;\n            this.notifyListeners(\"animationComplete\");\n        }\n        finishAnimation() {\n            if (this.currentAnimation) {\n                this.mixTargetDelta && this.mixTargetDelta(animationTarget);\n                this.currentAnimation.stop();\n            }\n            this.completeAnimation();\n        }\n        applyTransformsToTarget() {\n            const lead = this.getLead();\n            let { targetWithTransforms, target, layout, latestValues } = lead;\n            if (!targetWithTransforms || !target || !layout)\n                return;\n            /**\n             * If we're only animating position, and this element isn't the lead element,\n             * then instead of projecting into the lead box we instead want to calculate\n             * a new target that aligns the two boxes but maintains the layout shape.\n             */\n            if (this !== lead &&\n                this.layout &&\n                layout &&\n                shouldAnimatePositionOnly(this.options.animationType, this.layout.layoutBox, layout.layoutBox)) {\n                target = this.target || createBox();\n                const xLength = calcLength(this.layout.layoutBox.x);\n                target.x.min = lead.target.x.min;\n                target.x.max = target.x.min + xLength;\n                const yLength = calcLength(this.layout.layoutBox.y);\n                target.y.min = lead.target.y.min;\n                target.y.max = target.y.min + yLength;\n            }\n            copyBoxInto(targetWithTransforms, target);\n            /**\n             * Apply the latest user-set transforms to the targetBox to produce the targetBoxFinal.\n             * This is the final box that we will then project into by calculating a transform delta and\n             * applying it to the corrected box.\n             */\n            transformBox(targetWithTransforms, latestValues);\n            /**\n             * Update the delta between the corrected box and the final target box, after\n             * user-set transforms are applied to it. This will be used by the renderer to\n             * create a transform style that will reproject the element from its layout layout\n             * into the desired bounding box.\n             */\n            calcBoxDelta(this.projectionDeltaWithTransform, this.layoutCorrected, targetWithTransforms, latestValues);\n        }\n        registerSharedNode(layoutId, node) {\n            if (!this.sharedNodes.has(layoutId)) {\n                this.sharedNodes.set(layoutId, new NodeStack());\n            }\n            const stack = this.sharedNodes.get(layoutId);\n            stack.add(node);\n            const config = node.options.initialPromotionConfig;\n            node.promote({\n                transition: config ? config.transition : undefined,\n                preserveFollowOpacity: config && config.shouldPreserveFollowOpacity\n                    ? config.shouldPreserveFollowOpacity(node)\n                    : undefined,\n            });\n        }\n        isLead() {\n            const stack = this.getStack();\n            return stack ? stack.lead === this : true;\n        }\n        getLead() {\n            const { layoutId } = this.options;\n            return layoutId ? this.getStack()?.lead || this : this;\n        }\n        getPrevLead() {\n            const { layoutId } = this.options;\n            return layoutId ? this.getStack()?.prevLead : undefined;\n        }\n        getStack() {\n            const { layoutId } = this.options;\n            if (layoutId)\n                return this.root.sharedNodes.get(layoutId);\n        }\n        promote({ needsReset, transition, preserveFollowOpacity, } = {}) {\n            const stack = this.getStack();\n            if (stack)\n                stack.promote(this, preserveFollowOpacity);\n            if (needsReset) {\n                this.projectionDelta = undefined;\n                this.needsReset = true;\n            }\n            if (transition)\n                this.setOptions({ transition });\n        }\n        relegate() {\n            const stack = this.getStack();\n            if (stack) {\n                return stack.relegate(this);\n            }\n            else {\n                return false;\n            }\n        }\n        resetSkewAndRotation() {\n            const { visualElement } = this.options;\n            if (!visualElement)\n                return;\n            // If there's no detected skew or rotation values, we can early return without a forced render.\n            let hasDistortingTransform = false;\n            /**\n             * An unrolled check for rotation values. Most elements don't have any rotation and\n             * skipping the nested loop and new object creation is 50% faster.\n             */\n            const { latestValues } = visualElement;\n            if (latestValues.z ||\n                latestValues.rotate ||\n                latestValues.rotateX ||\n                latestValues.rotateY ||\n                latestValues.rotateZ ||\n                latestValues.skewX ||\n                latestValues.skewY) {\n                hasDistortingTransform = true;\n            }\n            // If there's no distorting values, we don't need to do any more.\n            if (!hasDistortingTransform)\n                return;\n            const resetValues = {};\n            if (latestValues.z) {\n                resetDistortingTransform(\"z\", visualElement, resetValues, this.animationValues);\n            }\n            // Check the skew and rotate value of all axes and reset to 0\n            for (let i = 0; i < transformAxes.length; i++) {\n                resetDistortingTransform(`rotate${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n                resetDistortingTransform(`skew${transformAxes[i]}`, visualElement, resetValues, this.animationValues);\n            }\n            // Force a render of this element to apply the transform with all skews and rotations\n            // set to 0.\n            visualElement.render();\n            // Put back all the values we reset\n            for (const key in resetValues) {\n                visualElement.setStaticValue(key, resetValues[key]);\n                if (this.animationValues) {\n                    this.animationValues[key] = resetValues[key];\n                }\n            }\n            // Schedule a render for the next frame. This ensures we won't visually\n            // see the element with the reset rotate value applied.\n            visualElement.scheduleRender();\n        }\n        applyProjectionStyles(targetStyle, // CSSStyleDeclaration - doesn't allow numbers to be assigned to properties\n        styleProp) {\n            if (!this.instance || this.isSVG)\n                return;\n            if (!this.isVisible) {\n                targetStyle.visibility = \"hidden\";\n                return;\n            }\n            const transformTemplate = this.getTransformTemplate();\n            if (this.needsReset) {\n                this.needsReset = false;\n                targetStyle.visibility = \"\";\n                targetStyle.opacity = \"\";\n                targetStyle.pointerEvents =\n                    resolveMotionValue(styleProp?.pointerEvents) || \"\";\n                targetStyle.transform = transformTemplate\n                    ? transformTemplate(this.latestValues, \"\")\n                    : \"none\";\n                return;\n            }\n            const lead = this.getLead();\n            if (!this.projectionDelta || !this.layout || !lead.target) {\n                if (this.options.layoutId) {\n                    targetStyle.opacity =\n                        this.latestValues.opacity !== undefined\n                            ? this.latestValues.opacity\n                            : 1;\n                    targetStyle.pointerEvents =\n                        resolveMotionValue(styleProp?.pointerEvents) || \"\";\n                }\n                if (this.hasProjected && !hasTransform(this.latestValues)) {\n                    targetStyle.transform = transformTemplate\n                        ? transformTemplate({}, \"\")\n                        : \"none\";\n                    this.hasProjected = false;\n                }\n                return;\n            }\n            targetStyle.visibility = \"\";\n            const valuesToRender = lead.animationValues || lead.latestValues;\n            this.applyTransformsToTarget();\n            let transform = buildProjectionTransform(this.projectionDeltaWithTransform, this.treeScale, valuesToRender);\n            if (transformTemplate) {\n                transform = transformTemplate(valuesToRender, transform);\n            }\n            targetStyle.transform = transform;\n            const { x, y } = this.projectionDelta;\n            targetStyle.transformOrigin = `${x.origin * 100}% ${y.origin * 100}% 0`;\n            if (lead.animationValues) {\n                /**\n                 * If the lead component is animating, assign this either the entering/leaving\n                 * opacity\n                 */\n                targetStyle.opacity =\n                    lead === this\n                        ? valuesToRender.opacity ??\n                            this.latestValues.opacity ??\n                            1\n                        : this.preserveOpacity\n                            ? this.latestValues.opacity\n                            : valuesToRender.opacityExit;\n            }\n            else {\n                /**\n                 * Or we're not animating at all, set the lead component to its layout\n                 * opacity and other components to hidden.\n                 */\n                targetStyle.opacity =\n                    lead === this\n                        ? valuesToRender.opacity !== undefined\n                            ? valuesToRender.opacity\n                            : \"\"\n                        : valuesToRender.opacityExit !== undefined\n                            ? valuesToRender.opacityExit\n                            : 0;\n            }\n            /**\n             * Apply scale correction\n             */\n            for (const key in scaleCorrectors) {\n                if (valuesToRender[key] === undefined)\n                    continue;\n                const { correct, applyTo, isCSSVariable } = scaleCorrectors[key];\n                /**\n                 * Only apply scale correction to the value if we have an\n                 * active projection transform. Otherwise these values become\n                 * vulnerable to distortion if the element changes size without\n                 * a corresponding layout animation.\n                 */\n                const corrected = transform === \"none\"\n                    ? valuesToRender[key]\n                    : correct(valuesToRender[key], lead);\n                if (applyTo) {\n                    const num = applyTo.length;\n                    for (let i = 0; i < num; i++) {\n                        targetStyle[applyTo[i]] = corrected;\n                    }\n                }\n                else {\n                    // If this is a CSS variable, set it directly on the instance.\n                    // Replacing this function from creating styles to setting them\n                    // would be a good place to remove per frame object creation\n                    if (isCSSVariable) {\n                        this.options.visualElement.renderState.vars[key] = corrected;\n                    }\n                    else {\n                        targetStyle[key] = corrected;\n                    }\n                }\n            }\n            /**\n             * Disable pointer events on follow components. This is to ensure\n             * that if a follow component covers a lead component it doesn't block\n             * pointer events on the lead.\n             */\n            if (this.options.layoutId) {\n                targetStyle.pointerEvents =\n                    lead === this\n                        ? resolveMotionValue(styleProp?.pointerEvents) || \"\"\n                        : \"none\";\n            }\n        }\n        clearSnapshot() {\n            this.resumeFrom = this.snapshot = undefined;\n        }\n        // Only run on root\n        resetTree() {\n            this.root.nodes.forEach((node) => node.currentAnimation?.stop());\n            this.root.nodes.forEach(clearMeasurements);\n            this.root.sharedNodes.clear();\n        }\n    };\n}\nfunction updateLayout(node) {\n    node.updateLayout();\n}\nfunction notifyLayoutUpdate(node) {\n    const snapshot = node.resumeFrom?.snapshot || node.snapshot;\n    if (node.isLead() &&\n        node.layout &&\n        snapshot &&\n        node.hasListeners(\"didUpdate\")) {\n        const { layoutBox: layout, measuredBox: measuredLayout } = node.layout;\n        const { animationType } = node.options;\n        const isShared = snapshot.source !== node.layout.source;\n        // TODO Maybe we want to also resize the layout snapshot so we don't trigger\n        // animations for instance if layout=\"size\" and an element has only changed position\n        if (animationType === \"size\") {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(axisSnapshot);\n                axisSnapshot.min = layout[axis].min;\n                axisSnapshot.max = axisSnapshot.min + length;\n            });\n        }\n        else if (shouldAnimatePositionOnly(animationType, snapshot.layoutBox, layout)) {\n            eachAxis((axis) => {\n                const axisSnapshot = isShared\n                    ? snapshot.measuredBox[axis]\n                    : snapshot.layoutBox[axis];\n                const length = calcLength(layout[axis]);\n                axisSnapshot.max = axisSnapshot.min + length;\n                /**\n                 * Ensure relative target gets resized and rerendererd\n                 */\n                if (node.relativeTarget && !node.currentAnimation) {\n                    node.isProjectionDirty = true;\n                    node.relativeTarget[axis].max =\n                        node.relativeTarget[axis].min + length;\n                }\n            });\n        }\n        const layoutDelta = createDelta();\n        calcBoxDelta(layoutDelta, layout, snapshot.layoutBox);\n        const visualDelta = createDelta();\n        if (isShared) {\n            calcBoxDelta(visualDelta, node.applyTransform(measuredLayout, true), snapshot.measuredBox);\n        }\n        else {\n            calcBoxDelta(visualDelta, layout, snapshot.layoutBox);\n        }\n        const hasLayoutChanged = !isDeltaZero(layoutDelta);\n        let hasRelativeLayoutChanged = false;\n        if (!node.resumeFrom) {\n            const relativeParent = node.getClosestProjectingParent();\n            /**\n             * If the relativeParent is itself resuming from a different element then\n             * the relative snapshot is not relavent\n             */\n            if (relativeParent && !relativeParent.resumeFrom) {\n                const { snapshot: parentSnapshot, layout: parentLayout } = relativeParent;\n                if (parentSnapshot && parentLayout) {\n                    const relativeSnapshot = createBox();\n                    calcRelativePosition(relativeSnapshot, snapshot.layoutBox, parentSnapshot.layoutBox);\n                    const relativeLayout = createBox();\n                    calcRelativePosition(relativeLayout, layout, parentLayout.layoutBox);\n                    if (!boxEqualsRounded(relativeSnapshot, relativeLayout)) {\n                        hasRelativeLayoutChanged = true;\n                    }\n                    if (relativeParent.options.layoutRoot) {\n                        node.relativeTarget = relativeLayout;\n                        node.relativeTargetOrigin = relativeSnapshot;\n                        node.relativeParent = relativeParent;\n                    }\n                }\n            }\n        }\n        node.notifyListeners(\"didUpdate\", {\n            layout,\n            snapshot,\n            delta: visualDelta,\n            layoutDelta,\n            hasLayoutChanged,\n            hasRelativeLayoutChanged,\n        });\n    }\n    else if (node.isLead()) {\n        const { onExitComplete } = node.options;\n        onExitComplete && onExitComplete();\n    }\n    /**\n     * Clearing transition\n     * TODO: Investigate why this transition is being passed in as {type: false } from Framer\n     * and why we need it at all\n     */\n    node.options.transition = undefined;\n}\nfunction propagateDirtyNodes(node) {\n    /**\n     * Increase debug counter for nodes encountered this frame\n     */\n    if (statsBuffer.value) {\n        metrics.nodes++;\n    }\n    if (!node.parent)\n        return;\n    /**\n     * If this node isn't projecting, propagate isProjectionDirty. It will have\n     * no performance impact but it will allow the next child that *is* projecting\n     * but *isn't* dirty to just check its parent to see if *any* ancestor needs\n     * correcting.\n     */\n    if (!node.isProjecting()) {\n        node.isProjectionDirty = node.parent.isProjectionDirty;\n    }\n    /**\n     * Propagate isSharedProjectionDirty and isTransformDirty\n     * throughout the whole tree. A future revision can take another look at\n     * this but for safety we still recalcualte shared nodes.\n     */\n    node.isSharedProjectionDirty || (node.isSharedProjectionDirty = Boolean(node.isProjectionDirty ||\n        node.parent.isProjectionDirty ||\n        node.parent.isSharedProjectionDirty));\n    node.isTransformDirty || (node.isTransformDirty = node.parent.isTransformDirty);\n}\nfunction cleanDirtyNodes(node) {\n    node.isProjectionDirty =\n        node.isSharedProjectionDirty =\n            node.isTransformDirty =\n                false;\n}\nfunction clearSnapshot(node) {\n    node.clearSnapshot();\n}\nfunction clearMeasurements(node) {\n    node.clearMeasurements();\n}\nfunction clearIsLayoutDirty(node) {\n    node.isLayoutDirty = false;\n}\nfunction resetTransformStyle(node) {\n    const { visualElement } = node.options;\n    if (visualElement && visualElement.getProps().onBeforeLayoutMeasure) {\n        visualElement.notify(\"BeforeLayoutMeasure\");\n    }\n    node.resetTransform();\n}\nfunction finishAnimation(node) {\n    node.finishAnimation();\n    node.targetDelta = node.relativeTarget = node.target = undefined;\n    node.isProjectionDirty = true;\n}\nfunction resolveTargetDelta(node) {\n    node.resolveTargetDelta();\n}\nfunction calcProjection(node) {\n    node.calcProjection();\n}\nfunction resetSkewAndRotation(node) {\n    node.resetSkewAndRotation();\n}\nfunction removeLeadSnapshots(stack) {\n    stack.removeLeadSnapshot();\n}\nfunction mixAxisDelta(output, delta, p) {\n    output.translate = mixNumber(delta.translate, 0, p);\n    output.scale = mixNumber(delta.scale, 1, p);\n    output.origin = delta.origin;\n    output.originPoint = delta.originPoint;\n}\nfunction mixAxis(output, from, to, p) {\n    output.min = mixNumber(from.min, to.min, p);\n    output.max = mixNumber(from.max, to.max, p);\n}\nfunction mixBox(output, from, to, p) {\n    mixAxis(output.x, from.x, to.x, p);\n    mixAxis(output.y, from.y, to.y, p);\n}\nfunction hasOpacityCrossfade(node) {\n    return (node.animationValues && node.animationValues.opacityExit !== undefined);\n}\nconst defaultLayoutTransition = {\n    duration: 0.45,\n    ease: [0.4, 0, 0.1, 1],\n};\nconst userAgentContains = (string) => typeof navigator !== \"undefined\" &&\n    navigator.userAgent &&\n    navigator.userAgent.toLowerCase().includes(string);\n/**\n * Measured bounding boxes must be rounded in Safari and\n * left untouched in Chrome, otherwise non-integer layouts within scaled-up elements\n * can appear to jump.\n */\nconst roundPoint = userAgentContains(\"applewebkit/\") && !userAgentContains(\"chrome/\")\n    ? Math.round\n    : noop;\nfunction roundAxis(axis) {\n    // Round to the nearest .5 pixels to support subpixel layouts\n    axis.min = roundPoint(axis.min);\n    axis.max = roundPoint(axis.max);\n}\nfunction roundBox(box) {\n    roundAxis(box.x);\n    roundAxis(box.y);\n}\nfunction shouldAnimatePositionOnly(animationType, snapshot, layout) {\n    return (animationType === \"position\" ||\n        (animationType === \"preserve-aspect\" &&\n            !isNear(aspectRatio(snapshot), aspectRatio(layout), 0.2)));\n}\nfunction checkNodeWasScrollRoot(node) {\n    return node !== node.root && node.scroll?.wasRoot;\n}\n\nexport { cleanDirtyNodes, createProjectionNode, mixAxis, mixAxisDelta, mixBox, propagateDirtyNodes };\n//# sourceMappingURL=create-projection-node.mjs.map\n","/**\n * This should only ever be modified on the client otherwise it'll\n * persist through server requests. If we need instanced states we\n * could lazy-init via root.\n */\nconst globalProjectionState = {\n    /**\n     * Global flag as to whether the tree has animated since the last time\n     * we resized the window\n     */\n    hasAnimatedSinceResize: true,\n    /**\n     * We set this to true once, on the first update. Any nodes added to the tree beyond that\n     * update will be given a `data-projection-id` attribute.\n     */\n    hasEverUpdated: false,\n};\n\nexport { globalProjectionState };\n//# sourceMappingURL=state.mjs.map\n","import { addUniqueItem, removeItem } from 'motion-utils';\n\nclass NodeStack {\n    constructor() {\n        this.members = [];\n    }\n    add(node) {\n        addUniqueItem(this.members, node);\n        for (let i = this.members.length - 1; i >= 0; i--) {\n            const m = this.members[i];\n            if (m === node || m === this.lead || m === this.prevLead)\n                continue;\n            const inst = m.instance;\n            if (inst && inst.isConnected === false && m.isPresent !== false && !m.snapshot) {\n                removeItem(this.members, m);\n            }\n        }\n        node.scheduleRender();\n    }\n    remove(node) {\n        removeItem(this.members, node);\n        if (node === this.prevLead) {\n            this.prevLead = undefined;\n        }\n        if (node === this.lead) {\n            const prevLead = this.members[this.members.length - 1];\n            if (prevLead) {\n                this.promote(prevLead);\n            }\n        }\n    }\n    relegate(node) {\n        const indexOfNode = this.members.findIndex((member) => node === member);\n        if (indexOfNode === 0)\n            return false;\n        /**\n         * Find the next projection node that is present\n         */\n        let prevLead;\n        for (let i = indexOfNode; i >= 0; i--) {\n            const member = this.members[i];\n            const inst = member.instance;\n            if (member.isPresent !== false && (!inst || inst.isConnected !== false)) {\n                prevLead = member;\n                break;\n            }\n        }\n        if (prevLead) {\n            this.promote(prevLead);\n            return true;\n        }\n        else {\n            return false;\n        }\n    }\n    promote(node, preserveFollowOpacity) {\n        const prevLead = this.lead;\n        if (node === prevLead)\n            return;\n        this.prevLead = prevLead;\n        this.lead = node;\n        node.show();\n        if (prevLead) {\n            prevLead.instance && prevLead.scheduleRender();\n            node.scheduleRender();\n            /**\n             * If both the new and previous lead have the same defined layoutDependency,\n             * skip the shared layout animation. This allows components with layoutId\n             * to opt-out of animations when their layoutDependency hasn't changed,\n             * even when the component unmounts and remounts in a different location.\n             */\n            const prevDep = prevLead.options.layoutDependency;\n            const nextDep = node.options.layoutDependency;\n            const dependencyMatches = prevDep !== undefined &&\n                nextDep !== undefined &&\n                prevDep === nextDep;\n            if (!dependencyMatches) {\n                const prevInstance = prevLead.instance;\n                const isStale = prevInstance && prevInstance.isConnected === false && !prevLead.snapshot;\n                if (!isStale) {\n                    node.resumeFrom = prevLead;\n                    if (preserveFollowOpacity) {\n                        node.resumeFrom.preserveOpacity = true;\n                    }\n                    if (prevLead.snapshot) {\n                        node.snapshot = prevLead.snapshot;\n                        node.snapshot.latestValues =\n                            prevLead.animationValues || prevLead.latestValues;\n                    }\n                    if (node.root && node.root.isUpdating) {\n                        node.isLayoutDirty = true;\n                    }\n                }\n            }\n            const { crossfade } = node.options;\n            if (crossfade === false) {\n                prevLead.hide();\n            }\n        }\n    }\n    exitAnimationComplete() {\n        this.members.forEach((node) => {\n            const { options, resumingFrom } = node;\n            options.onExitComplete && options.onExitComplete();\n            if (resumingFrom) {\n                resumingFrom.options.onExitComplete &&\n                    resumingFrom.options.onExitComplete();\n            }\n        });\n    }\n    scheduleRender() {\n        this.members.forEach((node) => {\n            node.instance && node.scheduleRender(false);\n        });\n    }\n    /**\n     * Clear any leads that have been removed this render to prevent them from being\n     * used in future animations and to prevent memory leaks\n     */\n    removeLeadSnapshot() {\n        if (this.lead && this.lead.snapshot) {\n            this.lead.snapshot = undefined;\n        }\n    }\n}\n\nexport { NodeStack };\n//# sourceMappingURL=stack.mjs.map\n","import { px } from '../../value/types/numbers/units.mjs';\n\nfunction pixelsToPercent(pixels, axis) {\n    if (axis.max === axis.min)\n        return 0;\n    return (pixels / (axis.max - axis.min)) * 100;\n}\n/**\n * We always correct borderRadius as a percentage rather than pixels to reduce paints.\n * For example, if you are projecting a box that is 100px wide with a 10px borderRadius\n * into a box that is 200px wide with a 20px borderRadius, that is actually a 10%\n * borderRadius in both states. If we animate between the two in pixels that will trigger\n * a paint each time. If we animate between the two in percentage we'll avoid a paint.\n */\nconst correctBorderRadius = {\n    correct: (latest, node) => {\n        if (!node.target)\n            return latest;\n        /**\n         * If latest is a string, if it's a percentage we can return immediately as it's\n         * going to be stretched appropriately. Otherwise, if it's a pixel, convert it to a number.\n         */\n        if (typeof latest === \"string\") {\n            if (px.test(latest)) {\n                latest = parseFloat(latest);\n            }\n            else {\n                return latest;\n            }\n        }\n        /**\n         * If latest is a number, it's a pixel value. We use the current viewportBox to calculate that\n         * pixel value as a percentage of each axis\n         */\n        const x = pixelsToPercent(latest, node.target.x);\n        const y = pixelsToPercent(latest, node.target.y);\n        return `${x}% ${y}%`;\n    },\n};\n\nexport { correctBorderRadius, pixelsToPercent };\n//# sourceMappingURL=scale-border-radius.mjs.map\n","import { complex } from '../../value/types/complex/index.mjs';\nimport { mixNumber } from '../../utils/mix/number.mjs';\n\nconst correctBoxShadow = {\n    correct: (latest, { treeScale, projectionDelta }) => {\n        const original = latest;\n        const shadow = complex.parse(latest);\n        // TODO: Doesn't support multiple shadows\n        if (shadow.length > 5)\n            return original;\n        const template = complex.createTransformer(latest);\n        const offset = typeof shadow[0] !== \"number\" ? 1 : 0;\n        // Calculate the overall context scale\n        const xScale = projectionDelta.x.scale * treeScale.x;\n        const yScale = projectionDelta.y.scale * treeScale.y;\n        shadow[0 + offset] /= xScale;\n        shadow[1 + offset] /= yScale;\n        /**\n         * Ideally we'd correct x and y scales individually, but because blur and\n         * spread apply to both we have to take a scale average and apply that instead.\n         * We could potentially improve the outcome of this by incorporating the ratio between\n         * the two scales.\n         */\n        const averageScale = mixNumber(xScale, yScale, 0.5);\n        // Blur\n        if (typeof shadow[2 + offset] === \"number\")\n            shadow[2 + offset] /= averageScale;\n        // Spread\n        if (typeof shadow[3 + offset] === \"number\")\n            shadow[3 + offset] /= averageScale;\n        return template(shadow);\n    },\n};\n\nexport { correctBoxShadow };\n//# sourceMappingURL=scale-box-shadow.mjs.map\n","import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';\nimport { correctBorderRadius } from './scale-border-radius.mjs';\nimport { correctBoxShadow } from './scale-box-shadow.mjs';\n\nconst scaleCorrectors = {\n    borderRadius: {\n        ...correctBorderRadius,\n        applyTo: [\n            \"borderTopLeftRadius\",\n            \"borderTopRightRadius\",\n            \"borderBottomLeftRadius\",\n            \"borderBottomRightRadius\",\n        ],\n    },\n    borderTopLeftRadius: correctBorderRadius,\n    borderTopRightRadius: correctBorderRadius,\n    borderBottomLeftRadius: correctBorderRadius,\n    borderBottomRightRadius: correctBorderRadius,\n    boxShadow: correctBoxShadow,\n};\nfunction addScaleCorrector(correctors) {\n    for (const key in correctors) {\n        scaleCorrectors[key] = correctors[key];\n        if (isCSSVariableName(key)) {\n            scaleCorrectors[key].isCSSVariable = true;\n        }\n    }\n}\n\nexport { addScaleCorrector, scaleCorrectors };\n//# sourceMappingURL=scale-correction.mjs.map\n","function buildProjectionTransform(delta, treeScale, latestTransform) {\n    let transform = \"\";\n    /**\n     * The translations we use to calculate are always relative to the viewport coordinate space.\n     * But when we apply scales, we also scale the coordinate space of an element and its children.\n     * For instance if we have a treeScale (the culmination of all parent scales) of 0.5 and we need\n     * to move an element 100 pixels, we actually need to move it 200 in within that scaled space.\n     */\n    const xTranslate = delta.x.translate / treeScale.x;\n    const yTranslate = delta.y.translate / treeScale.y;\n    const zTranslate = latestTransform?.z || 0;\n    if (xTranslate || yTranslate || zTranslate) {\n        transform = `translate3d(${xTranslate}px, ${yTranslate}px, ${zTranslate}px) `;\n    }\n    /**\n     * Apply scale correction for the tree transform.\n     * This will apply scale to the screen-orientated axes.\n     */\n    if (treeScale.x !== 1 || treeScale.y !== 1) {\n        transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;\n    }\n    if (latestTransform) {\n        const { transformPerspective, rotate, rotateX, rotateY, skewX, skewY } = latestTransform;\n        if (transformPerspective)\n            transform = `perspective(${transformPerspective}px) ${transform}`;\n        if (rotate)\n            transform += `rotate(${rotate}deg) `;\n        if (rotateX)\n            transform += `rotateX(${rotateX}deg) `;\n        if (rotateY)\n            transform += `rotateY(${rotateY}deg) `;\n        if (skewX)\n            transform += `skewX(${skewX}deg) `;\n        if (skewY)\n            transform += `skewY(${skewY}deg) `;\n    }\n    /**\n     * Apply scale to match the size of the element to the size we want it.\n     * This will apply scale to the element-orientated axes.\n     */\n    const elementScaleX = delta.x.scale * treeScale.x;\n    const elementScaleY = delta.y.scale * treeScale.y;\n    if (elementScaleX !== 1 || elementScaleY !== 1) {\n        transform += `scale(${elementScaleX}, ${elementScaleY})`;\n    }\n    return transform || \"none\";\n}\n\nexport { buildProjectionTransform };\n//# sourceMappingURL=transform.mjs.map\n","const compareByDepth = (a, b) => a.depth - b.depth;\n\nexport { compareByDepth };\n//# sourceMappingURL=compare-by-depth.mjs.map\n","function eachAxis(callback) {\n    return [callback(\"x\"), callback(\"y\")];\n}\n\nexport { eachAxis };\n//# sourceMappingURL=each-axis.mjs.map\n","import { addUniqueItem, removeItem } from 'motion-utils';\nimport { compareByDepth } from './compare-by-depth.mjs';\n\nclass FlatTree {\n    constructor() {\n        this.children = [];\n        this.isDirty = false;\n    }\n    add(child) {\n        addUniqueItem(this.children, child);\n        this.isDirty = true;\n    }\n    remove(child) {\n        removeItem(this.children, child);\n        this.isDirty = true;\n    }\n    forEach(callback) {\n        this.isDirty && this.children.sort(compareByDepth);\n        this.isDirty = false;\n        this.children.forEach(callback);\n    }\n}\n\nexport { FlatTree };\n//# sourceMappingURL=flat-tree.mjs.map\n","function isIdentityScale(scale) {\n    return scale === undefined || scale === 1;\n}\nfunction hasScale({ scale, scaleX, scaleY }) {\n    return (!isIdentityScale(scale) ||\n        !isIdentityScale(scaleX) ||\n        !isIdentityScale(scaleY));\n}\nfunction hasTransform(values) {\n    return (hasScale(values) ||\n        has2DTranslate(values) ||\n        values.z ||\n        values.rotate ||\n        values.rotateX ||\n        values.rotateY ||\n        values.skewX ||\n        values.skewY);\n}\nfunction has2DTranslate(values) {\n    return is2DTranslate(values.x) || is2DTranslate(values.y);\n}\nfunction is2DTranslate(value) {\n    return value && value !== \"0%\";\n}\n\nexport { has2DTranslate, hasScale, hasTransform };\n//# sourceMappingURL=has-transform.mjs.map\n","import { convertBoundingBoxToBox, transformBoxPoints } from '../geometry/conversion.mjs';\nimport { translateAxis } from '../geometry/delta-apply.mjs';\n\nfunction measureViewportBox(instance, transformPoint) {\n    return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint));\n}\nfunction measurePageBox(element, rootProjectionNode, transformPagePoint) {\n    const viewportBox = measureViewportBox(element, transformPagePoint);\n    const { scroll } = rootProjectionNode;\n    if (scroll) {\n        translateAxis(viewportBox.x, scroll.offset.x);\n        translateAxis(viewportBox.y, scroll.offset.y);\n    }\n    return viewportBox;\n}\n\nexport { measurePageBox, measureViewportBox };\n//# sourceMappingURL=measure.mjs.map\n","/**\n * Feature base class for extending VisualElement functionality.\n * Features are plugins that can be mounted/unmounted to add behavior\n * like gestures, animations, or layout tracking.\n */\nclass Feature {\n    constructor(node) {\n        this.isMounted = false;\n        this.node = node;\n    }\n    update() { }\n}\n\nexport { Feature };\n//# sourceMappingURL=Feature.mjs.map\n","import { warnOnce, secondsToMilliseconds, isNumericalString, isZeroValueString, SubscriptionManager } from 'motion-utils';\nimport { KeyframeResolver } from '../animation/keyframes/KeyframesResolver.mjs';\nimport { NativeAnimation } from '../animation/NativeAnimation.mjs';\nimport { acceleratedValues } from '../animation/waapi/utils/accelerated-values.mjs';\nimport { microtask } from '../frameloop/microtask.mjs';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { createBox } from '../projection/geometry/models.mjs';\nimport { motionValue } from '../value/index.mjs';\nimport { complex } from '../value/types/complex/index.mjs';\nimport { getAnimatableNone } from '../value/types/utils/animatable-none.mjs';\nimport { findValueType } from '../value/types/utils/find.mjs';\nimport { isMotionValue } from '../value/utils/is-motion-value.mjs';\nimport { visualElementStore } from './store.mjs';\nimport { isControllingVariants, isVariantNode } from './utils/is-controlling-variants.mjs';\nimport { transformProps } from './utils/keys-transform.mjs';\nimport { updateMotionValuesFromProps } from './utils/motion-values.mjs';\nimport { initPrefersReducedMotion } from './utils/reduced-motion/index.mjs';\nimport { resolveVariantFromProps } from './utils/resolve-variants.mjs';\nimport { hasReducedMotionListener, prefersReducedMotion } from './utils/reduced-motion/state.mjs';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\nconst propEventHandlers = [\n    \"AnimationStart\",\n    \"AnimationComplete\",\n    \"Update\",\n    \"BeforeLayoutMeasure\",\n    \"LayoutMeasure\",\n    \"LayoutAnimationStart\",\n    \"LayoutAnimationComplete\",\n];\n/**\n * Static feature definitions - can be injected by framework layer\n */\nlet featureDefinitions = {};\n/**\n * Set feature definitions for all VisualElements.\n * This should be called by the framework layer (e.g., framer-motion) during initialization.\n */\nfunction setFeatureDefinitions(definitions) {\n    featureDefinitions = definitions;\n}\n/**\n * Get the current feature definitions\n */\nfunction getFeatureDefinitions() {\n    return featureDefinitions;\n}\n/**\n * A VisualElement is an imperative abstraction around UI elements such as\n * HTMLElement, SVGElement, Three.Object3D etc.\n */\nclass VisualElement {\n    /**\n     * This method takes React props and returns found MotionValues. For example, HTML\n     * MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.\n     *\n     * This isn't an abstract method as it needs calling in the constructor, but it is\n     * intended to be one.\n     */\n    scrapeMotionValuesFromProps(_props, _prevProps, _visualElement) {\n        return {};\n    }\n    constructor({ parent, props, presenceContext, reducedMotionConfig, skipAnimations, blockInitialAnimation, visualState, }, options = {}) {\n        /**\n         * A reference to the current underlying Instance, e.g. a HTMLElement\n         * or Three.Mesh etc.\n         */\n        this.current = null;\n        /**\n         * A set containing references to this VisualElement's children.\n         */\n        this.children = new Set();\n        /**\n         * Determine what role this visual element should take in the variant tree.\n         */\n        this.isVariantNode = false;\n        this.isControllingVariants = false;\n        /**\n         * Decides whether this VisualElement should animate in reduced motion\n         * mode.\n         *\n         * TODO: This is currently set on every individual VisualElement but feels\n         * like it could be set globally.\n         */\n        this.shouldReduceMotion = null;\n        /**\n         * Decides whether animations should be skipped for this VisualElement.\n         * Useful for E2E tests and visual regression testing.\n         */\n        this.shouldSkipAnimations = false;\n        /**\n         * A map of all motion values attached to this visual element. Motion\n         * values are source of truth for any given animated value. A motion\n         * value might be provided externally by the component via props.\n         */\n        this.values = new Map();\n        this.KeyframeResolver = KeyframeResolver;\n        /**\n         * Cleanup functions for active features (hover/tap/exit etc)\n         */\n        this.features = {};\n        /**\n         * A map of every subscription that binds the provided or generated\n         * motion values onChange listeners to this visual element.\n         */\n        this.valueSubscriptions = new Map();\n        /**\n         * A reference to the previously-provided motion values as returned\n         * from scrapeMotionValuesFromProps. We use the keys in here to determine\n         * if any motion values need to be removed after props are updated.\n         */\n        this.prevMotionValues = {};\n        /**\n         * Track whether this element has been mounted before, to detect\n         * remounts after Suspense unmount/remount cycles.\n         */\n        this.hasBeenMounted = false;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        /**\n         * An object containing an unsubscribe function for each prop event subscription.\n         * For example, every \"Update\" event can have multiple subscribers via\n         * VisualElement.on(), but only one of those can be defined via the onUpdate prop.\n         */\n        this.propEventSubscriptions = {};\n        this.notifyUpdate = () => this.notify(\"Update\", this.latestValues);\n        this.render = () => {\n            if (!this.current)\n                return;\n            this.triggerBuild();\n            this.renderInstance(this.current, this.renderState, this.props.style, this.projection);\n        };\n        this.renderScheduledAt = 0.0;\n        this.scheduleRender = () => {\n            const now = time.now();\n            if (this.renderScheduledAt < now) {\n                this.renderScheduledAt = now;\n                frame.render(this.render, false, true);\n            }\n        };\n        const { latestValues, renderState } = visualState;\n        this.latestValues = latestValues;\n        this.baseTarget = { ...latestValues };\n        this.initialValues = props.initial ? { ...latestValues } : {};\n        this.renderState = renderState;\n        this.parent = parent;\n        this.props = props;\n        this.presenceContext = presenceContext;\n        this.depth = parent ? parent.depth + 1 : 0;\n        this.reducedMotionConfig = reducedMotionConfig;\n        this.skipAnimationsConfig = skipAnimations;\n        this.options = options;\n        this.blockInitialAnimation = Boolean(blockInitialAnimation);\n        this.isControllingVariants = isControllingVariants(props);\n        this.isVariantNode = isVariantNode(props);\n        if (this.isVariantNode) {\n            this.variantChildren = new Set();\n        }\n        this.manuallyAnimateOnMount = Boolean(parent && parent.current);\n        /**\n         * Any motion values that are provided to the element when created\n         * aren't yet bound to the element, as this would technically be impure.\n         * However, we iterate through the motion values and set them to the\n         * initial values for this component.\n         *\n         * TODO: This is impure and we should look at changing this to run on mount.\n         * Doing so will break some tests but this isn't necessarily a breaking change,\n         * more a reflection of the test.\n         */\n        const { willChange, ...initialMotionValues } = this.scrapeMotionValuesFromProps(props, {}, this);\n        for (const key in initialMotionValues) {\n            const value = initialMotionValues[key];\n            if (latestValues[key] !== undefined && isMotionValue(value)) {\n                value.set(latestValues[key]);\n            }\n        }\n    }\n    mount(instance) {\n        /**\n         * If this element has been mounted before (e.g. after a Suspense\n         * unmount/remount), reset motion values to their initial state\n         * so animations replay correctly from initial → animate.\n         */\n        if (this.hasBeenMounted) {\n            for (const key in this.initialValues) {\n                this.values.get(key)?.jump(this.initialValues[key]);\n                this.latestValues[key] = this.initialValues[key];\n            }\n        }\n        this.current = instance;\n        visualElementStore.set(instance, this);\n        if (this.projection && !this.projection.instance) {\n            this.projection.mount(instance);\n        }\n        if (this.parent && this.isVariantNode && !this.isControllingVariants) {\n            this.removeFromVariantTree = this.parent.addVariantChild(this);\n        }\n        this.values.forEach((value, key) => this.bindToMotionValue(key, value));\n        /**\n         * Determine reduced motion preference. Only initialize the matchMedia\n         * listener if we actually need the dynamic value (i.e., when config\n         * is neither \"never\" nor \"always\").\n         */\n        if (this.reducedMotionConfig === \"never\") {\n            this.shouldReduceMotion = false;\n        }\n        else if (this.reducedMotionConfig === \"always\") {\n            this.shouldReduceMotion = true;\n        }\n        else {\n            if (!hasReducedMotionListener.current) {\n                initPrefersReducedMotion();\n            }\n            this.shouldReduceMotion = prefersReducedMotion.current;\n        }\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(this.shouldReduceMotion !== true, \"You have Reduced Motion enabled on your device. Animations may not appear as expected.\", \"reduced-motion-disabled\");\n        }\n        /**\n         * Set whether animations should be skipped based on the config.\n         */\n        this.shouldSkipAnimations = this.skipAnimationsConfig ?? false;\n        this.parent?.addChild(this);\n        this.update(this.props, this.presenceContext);\n        this.hasBeenMounted = true;\n    }\n    unmount() {\n        this.projection && this.projection.unmount();\n        cancelFrame(this.notifyUpdate);\n        cancelFrame(this.render);\n        this.valueSubscriptions.forEach((remove) => remove());\n        this.valueSubscriptions.clear();\n        this.removeFromVariantTree && this.removeFromVariantTree();\n        this.parent?.removeChild(this);\n        for (const key in this.events) {\n            this.events[key].clear();\n        }\n        for (const key in this.features) {\n            const feature = this.features[key];\n            if (feature) {\n                feature.unmount();\n                feature.isMounted = false;\n            }\n        }\n        this.current = null;\n    }\n    addChild(child) {\n        this.children.add(child);\n        this.enteringChildren ?? (this.enteringChildren = new Set());\n        this.enteringChildren.add(child);\n    }\n    removeChild(child) {\n        this.children.delete(child);\n        this.enteringChildren && this.enteringChildren.delete(child);\n    }\n    bindToMotionValue(key, value) {\n        if (this.valueSubscriptions.has(key)) {\n            this.valueSubscriptions.get(key)();\n        }\n        if (value.accelerate &&\n            acceleratedValues.has(key) &&\n            this.current instanceof HTMLElement) {\n            const { factory, keyframes, times, ease, duration } = value.accelerate;\n            const animation = new NativeAnimation({\n                element: this.current,\n                name: key,\n                keyframes,\n                times,\n                ease,\n                duration: secondsToMilliseconds(duration),\n            });\n            const cleanup = factory(animation);\n            this.valueSubscriptions.set(key, () => {\n                cleanup();\n                animation.cancel();\n            });\n            return;\n        }\n        const valueIsTransform = transformProps.has(key);\n        if (valueIsTransform && this.onBindTransform) {\n            this.onBindTransform();\n        }\n        const removeOnChange = value.on(\"change\", (latestValue) => {\n            this.latestValues[key] = latestValue;\n            this.props.onUpdate && frame.preRender(this.notifyUpdate);\n            if (valueIsTransform && this.projection) {\n                this.projection.isTransformDirty = true;\n            }\n            this.scheduleRender();\n        });\n        let removeSyncCheck;\n        if (typeof window !== \"undefined\" &&\n            window.MotionCheckAppearSync) {\n            removeSyncCheck = window.MotionCheckAppearSync(this, key, value);\n        }\n        this.valueSubscriptions.set(key, () => {\n            removeOnChange();\n            if (removeSyncCheck)\n                removeSyncCheck();\n            if (value.owner)\n                value.stop();\n        });\n    }\n    sortNodePosition(other) {\n        /**\n         * If these nodes aren't even of the same type we can't compare their depth.\n         */\n        if (!this.current ||\n            !this.sortInstanceNodePosition ||\n            this.type !== other.type) {\n            return 0;\n        }\n        return this.sortInstanceNodePosition(this.current, other.current);\n    }\n    updateFeatures() {\n        let key = \"animation\";\n        for (key in featureDefinitions) {\n            const featureDefinition = featureDefinitions[key];\n            if (!featureDefinition)\n                continue;\n            const { isEnabled, Feature: FeatureConstructor } = featureDefinition;\n            /**\n             * If this feature is enabled but not active, make a new instance.\n             */\n            if (!this.features[key] &&\n                FeatureConstructor &&\n                isEnabled(this.props)) {\n                this.features[key] = new FeatureConstructor(this);\n            }\n            /**\n             * If we have a feature, mount or update it.\n             */\n            if (this.features[key]) {\n                const feature = this.features[key];\n                if (feature.isMounted) {\n                    feature.update();\n                }\n                else {\n                    feature.mount();\n                    feature.isMounted = true;\n                }\n            }\n        }\n    }\n    triggerBuild() {\n        this.build(this.renderState, this.latestValues, this.props);\n    }\n    /**\n     * Measure the current viewport box with or without transforms.\n     * Only measures axis-aligned boxes, rotate and skew must be manually\n     * removed with a re-render to work.\n     */\n    measureViewportBox() {\n        return this.current\n            ? this.measureInstanceViewportBox(this.current, this.props)\n            : createBox();\n    }\n    getStaticValue(key) {\n        return this.latestValues[key];\n    }\n    setStaticValue(key, value) {\n        this.latestValues[key] = value;\n    }\n    /**\n     * Update the provided props. Ensure any newly-added motion values are\n     * added to our map, old ones removed, and listeners updated.\n     */\n    update(props, presenceContext) {\n        if (props.transformTemplate || this.props.transformTemplate) {\n            this.scheduleRender();\n        }\n        this.prevProps = this.props;\n        this.props = props;\n        this.prevPresenceContext = this.presenceContext;\n        this.presenceContext = presenceContext;\n        /**\n         * Update prop event handlers ie onAnimationStart, onAnimationComplete\n         */\n        for (let i = 0; i < propEventHandlers.length; i++) {\n            const key = propEventHandlers[i];\n            if (this.propEventSubscriptions[key]) {\n                this.propEventSubscriptions[key]();\n                delete this.propEventSubscriptions[key];\n            }\n            const listenerName = (\"on\" + key);\n            const listener = props[listenerName];\n            if (listener) {\n                this.propEventSubscriptions[key] = this.on(key, listener);\n            }\n        }\n        this.prevMotionValues = updateMotionValuesFromProps(this, this.scrapeMotionValuesFromProps(props, this.prevProps || {}, this), this.prevMotionValues);\n        if (this.handleChildMotionValue) {\n            this.handleChildMotionValue();\n        }\n    }\n    getProps() {\n        return this.props;\n    }\n    /**\n     * Returns the variant definition with a given name.\n     */\n    getVariant(name) {\n        return this.props.variants ? this.props.variants[name] : undefined;\n    }\n    /**\n     * Returns the defined default transition on this component.\n     */\n    getDefaultTransition() {\n        return this.props.transition;\n    }\n    getTransformPagePoint() {\n        return this.props.transformPagePoint;\n    }\n    getClosestVariantNode() {\n        return this.isVariantNode\n            ? this\n            : this.parent\n                ? this.parent.getClosestVariantNode()\n                : undefined;\n    }\n    /**\n     * Add a child visual element to our set of children.\n     */\n    addVariantChild(child) {\n        const closestVariantNode = this.getClosestVariantNode();\n        if (closestVariantNode) {\n            closestVariantNode.variantChildren &&\n                closestVariantNode.variantChildren.add(child);\n            return () => closestVariantNode.variantChildren.delete(child);\n        }\n    }\n    /**\n     * Add a motion value and bind it to this visual element.\n     */\n    addValue(key, value) {\n        // Remove existing value if it exists\n        const existingValue = this.values.get(key);\n        if (value !== existingValue) {\n            if (existingValue)\n                this.removeValue(key);\n            this.bindToMotionValue(key, value);\n            this.values.set(key, value);\n            this.latestValues[key] = value.get();\n        }\n    }\n    /**\n     * Remove a motion value and unbind any active subscriptions.\n     */\n    removeValue(key) {\n        this.values.delete(key);\n        const unsubscribe = this.valueSubscriptions.get(key);\n        if (unsubscribe) {\n            unsubscribe();\n            this.valueSubscriptions.delete(key);\n        }\n        delete this.latestValues[key];\n        this.removeValueFromRenderState(key, this.renderState);\n    }\n    /**\n     * Check whether we have a motion value for this key\n     */\n    hasValue(key) {\n        return this.values.has(key);\n    }\n    getValue(key, defaultValue) {\n        if (this.props.values && this.props.values[key]) {\n            return this.props.values[key];\n        }\n        let value = this.values.get(key);\n        if (value === undefined && defaultValue !== undefined) {\n            value = motionValue(defaultValue === null ? undefined : defaultValue, { owner: this });\n            this.addValue(key, value);\n        }\n        return value;\n    }\n    /**\n     * If we're trying to animate to a previously unencountered value,\n     * we need to check for it in our state and as a last resort read it\n     * directly from the instance (which might have performance implications).\n     */\n    readValue(key, target) {\n        let value = this.latestValues[key] !== undefined || !this.current\n            ? this.latestValues[key]\n            : this.getBaseTargetFromProps(this.props, key) ??\n                this.readValueFromInstance(this.current, key, this.options);\n        if (value !== undefined && value !== null) {\n            if (typeof value === \"string\" &&\n                (isNumericalString(value) || isZeroValueString(value))) {\n                // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n                value = parseFloat(value);\n            }\n            else if (!findValueType(value) && complex.test(target)) {\n                value = getAnimatableNone(key, target);\n            }\n            this.setBaseTarget(key, isMotionValue(value) ? value.get() : value);\n        }\n        return isMotionValue(value) ? value.get() : value;\n    }\n    /**\n     * Set the base target to later animate back to. This is currently\n     * only hydrated on creation and when we first read a value.\n     */\n    setBaseTarget(key, value) {\n        this.baseTarget[key] = value;\n    }\n    /**\n     * Find the base target for a value thats been removed from all animation\n     * props.\n     */\n    getBaseTarget(key) {\n        const { initial } = this.props;\n        let valueFromInitial;\n        if (typeof initial === \"string\" || typeof initial === \"object\") {\n            const variant = resolveVariantFromProps(this.props, initial, this.presenceContext?.custom);\n            if (variant) {\n                valueFromInitial = variant[key];\n            }\n        }\n        /**\n         * If this value still exists in the current initial variant, read that.\n         */\n        if (initial && valueFromInitial !== undefined) {\n            return valueFromInitial;\n        }\n        /**\n         * Alternatively, if this VisualElement config has defined a getBaseTarget\n         * so we can read the value from an alternative source, try that.\n         */\n        const target = this.getBaseTargetFromProps(this.props, key);\n        if (target !== undefined && !isMotionValue(target))\n            return target;\n        /**\n         * If the value was initially defined on initial, but it doesn't any more,\n         * return undefined. Otherwise return the value as initially read from the DOM.\n         */\n        return this.initialValues[key] !== undefined &&\n            valueFromInitial === undefined\n            ? undefined\n            : this.baseTarget[key];\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        return this.events[eventName].add(callback);\n    }\n    notify(eventName, ...args) {\n        if (this.events[eventName]) {\n            this.events[eventName].notify(...args);\n        }\n    }\n    scheduleRenderMicrotask() {\n        microtask.render(this.render);\n    }\n}\n\nexport { VisualElement, getFeatureDefinitions, setFeatureDefinitions };\n//# sourceMappingURL=VisualElement.mjs.map\n","import { isMotionValue } from '../../value/utils/is-motion-value.mjs';\nimport { DOMKeyframesResolver } from '../../animation/keyframes/DOMKeyframesResolver.mjs';\nimport { VisualElement } from '../VisualElement.mjs';\n\nclass DOMVisualElement extends VisualElement {\n    constructor() {\n        super(...arguments);\n        this.KeyframeResolver = DOMKeyframesResolver;\n    }\n    sortInstanceNodePosition(a, b) {\n        /**\n         * compareDocumentPosition returns a bitmask, by using the bitwise &\n         * we're returning true if 2 in that bitmask is set to true. 2 is set\n         * to true if b preceeds a.\n         */\n        return a.compareDocumentPosition(b) & 2 ? 1 : -1;\n    }\n    getBaseTargetFromProps(props, key) {\n        const style = props.style;\n        return style ? style[key] : undefined;\n    }\n    removeValueFromRenderState(key, { vars, style }) {\n        delete vars[key];\n        delete style[key];\n    }\n    handleChildMotionValue() {\n        if (this.childSubscription) {\n            this.childSubscription();\n            delete this.childSubscription;\n        }\n        const { children } = this.props;\n        if (isMotionValue(children)) {\n            this.childSubscription = children.on(\"change\", (latest) => {\n                if (this.current) {\n                    this.current.textContent = `${latest}`;\n                }\n            });\n        }\n    }\n}\n\nexport { DOMVisualElement };\n//# sourceMappingURL=DOMVisualElement.mjs.map\n","const isCSSVar = (name) => name.startsWith(\"--\");\n\nexport { isCSSVar };\n//# sourceMappingURL=is-css-var.mjs.map\n","const radToDeg = (rad) => (rad * 180) / Math.PI;\nconst rotate = (v) => {\n    const angle = radToDeg(Math.atan2(v[1], v[0]));\n    return rebaseAngle(angle);\n};\nconst matrix2dParsers = {\n    x: 4,\n    y: 5,\n    translateX: 4,\n    translateY: 5,\n    scaleX: 0,\n    scaleY: 3,\n    scale: (v) => (Math.abs(v[0]) + Math.abs(v[3])) / 2,\n    rotate,\n    rotateZ: rotate,\n    skewX: (v) => radToDeg(Math.atan(v[1])),\n    skewY: (v) => radToDeg(Math.atan(v[2])),\n    skew: (v) => (Math.abs(v[1]) + Math.abs(v[2])) / 2,\n};\nconst rebaseAngle = (angle) => {\n    angle = angle % 360;\n    if (angle < 0)\n        angle += 360;\n    return angle;\n};\nconst rotateZ = rotate;\nconst scaleX = (v) => Math.sqrt(v[0] * v[0] + v[1] * v[1]);\nconst scaleY = (v) => Math.sqrt(v[4] * v[4] + v[5] * v[5]);\nconst matrix3dParsers = {\n    x: 12,\n    y: 13,\n    z: 14,\n    translateX: 12,\n    translateY: 13,\n    translateZ: 14,\n    scaleX,\n    scaleY,\n    scale: (v) => (scaleX(v) + scaleY(v)) / 2,\n    rotateX: (v) => rebaseAngle(radToDeg(Math.atan2(v[6], v[5]))),\n    rotateY: (v) => rebaseAngle(radToDeg(Math.atan2(-v[2], v[0]))),\n    rotateZ,\n    rotate: rotateZ,\n    skewX: (v) => radToDeg(Math.atan(v[4])),\n    skewY: (v) => radToDeg(Math.atan(v[1])),\n    skew: (v) => (Math.abs(v[1]) + Math.abs(v[4])) / 2,\n};\nfunction defaultTransformValue(name) {\n    return name.includes(\"scale\") ? 1 : 0;\n}\nfunction parseValueFromTransform(transform, name) {\n    if (!transform || transform === \"none\") {\n        return defaultTransformValue(name);\n    }\n    const matrix3dMatch = transform.match(/^matrix3d\\(([-\\d.e\\s,]+)\\)$/u);\n    let parsers;\n    let match;\n    if (matrix3dMatch) {\n        parsers = matrix3dParsers;\n        match = matrix3dMatch;\n    }\n    else {\n        const matrix2dMatch = transform.match(/^matrix\\(([-\\d.e\\s,]+)\\)$/u);\n        parsers = matrix2dParsers;\n        match = matrix2dMatch;\n    }\n    if (!match) {\n        return defaultTransformValue(name);\n    }\n    const valueParser = parsers[name];\n    const values = match[1].split(\",\").map(convertTransformToNumber);\n    return typeof valueParser === \"function\"\n        ? valueParser(values)\n        : values[valueParser];\n}\nconst readTransformValue = (instance, name) => {\n    const { transform = \"none\" } = getComputedStyle(instance);\n    return parseValueFromTransform(transform, name);\n};\nfunction convertTransformToNumber(value) {\n    return parseFloat(value.trim());\n}\n\nexport { defaultTransformValue, parseValueFromTransform, readTransformValue };\n//# sourceMappingURL=parse-transform.mjs.map\n","import { isCSSVar } from './is-css-var.mjs';\n\nfunction setStyle(element, name, value) {\n    isCSSVar(name)\n        ? element.style.setProperty(name, value)\n        : (element.style[name] = value);\n}\n\nexport { setStyle };\n//# sourceMappingURL=style-set.mjs.map\n","function camelToDash(str) {\n    return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);\n}\n\nexport { camelToDash };\n//# sourceMappingURL=camel-to-dash.mjs.map\n","import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';\nimport { transformProps } from '../utils/keys-transform.mjs';\nimport { defaultTransformValue, readTransformValue } from '../dom/parse-transform.mjs';\nimport { measureViewportBox } from '../../projection/utils/measure.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { buildHTMLStyles } from './utils/build-styles.mjs';\nimport { renderHTML } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nfunction getComputedStyle(element) {\n    return window.getComputedStyle(element);\n}\nclass HTMLVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"html\";\n        this.renderInstance = renderHTML;\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            return this.projection?.isProjecting\n                ? defaultTransformValue(key)\n                : readTransformValue(instance, key);\n        }\n        else {\n            const computedStyle = getComputedStyle(instance);\n            const value = (isCSSVariableName(key)\n                ? computedStyle.getPropertyValue(key)\n                : computedStyle[key]) || 0;\n            return typeof value === \"string\" ? value.trim() : value;\n        }\n    }\n    measureInstanceViewportBox(instance, { transformPagePoint }) {\n        return measureViewportBox(instance, transformPagePoint);\n    }\n    build(renderState, latestValues, props) {\n        buildHTMLStyles(renderState, latestValues, props.transformTemplate);\n    }\n    scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n        return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n    }\n}\n\nexport { HTMLVisualElement, getComputedStyle };\n//# sourceMappingURL=HTMLVisualElement.mjs.map\n","import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs';\nimport { numberValueTypes } from '../../../value/types/maps/number.mjs';\nimport { transformProps } from '../../utils/keys-transform.mjs';\nimport { isCSSVariableName } from '../../../animation/utils/is-css-variable.mjs';\nimport { buildTransform } from './build-transform.mjs';\n\nfunction buildHTMLStyles(state, latestValues, transformTemplate) {\n    const { style, vars, transformOrigin } = state;\n    // Track whether we encounter any transform or transformOrigin values.\n    let hasTransform = false;\n    let hasTransformOrigin = false;\n    /**\n     * Loop over all our latest animated values and decide whether to handle them\n     * as a style or CSS variable.\n     *\n     * Transforms and transform origins are kept separately for further processing.\n     */\n    for (const key in latestValues) {\n        const value = latestValues[key];\n        if (transformProps.has(key)) {\n            // If this is a transform, flag to enable further transform processing\n            hasTransform = true;\n            continue;\n        }\n        else if (isCSSVariableName(key)) {\n            vars[key] = value;\n            continue;\n        }\n        else {\n            // Convert the value to its default value type, ie 0 -> \"0px\"\n            const valueAsType = getValueAsType(value, numberValueTypes[key]);\n            if (key.startsWith(\"origin\")) {\n                // If this is a transform origin, flag and enable further transform-origin processing\n                hasTransformOrigin = true;\n                transformOrigin[key] =\n                    valueAsType;\n            }\n            else {\n                style[key] = valueAsType;\n            }\n        }\n    }\n    if (!latestValues.transform) {\n        if (hasTransform || transformTemplate) {\n            style.transform = buildTransform(latestValues, state.transform, transformTemplate);\n        }\n        else if (style.transform) {\n            /**\n             * If we have previously created a transform but currently don't have any,\n             * reset transform style to none.\n             */\n            style.transform = \"none\";\n        }\n    }\n    /**\n     * Build a transformOrigin style. Uses the same defaults as the browser for\n     * undefined origins.\n     */\n    if (hasTransformOrigin) {\n        const { originX = \"50%\", originY = \"50%\", originZ = 0, } = transformOrigin;\n        style.transformOrigin = `${originX} ${originY} ${originZ}`;\n    }\n}\n\nexport { buildHTMLStyles };\n//# sourceMappingURL=build-styles.mjs.map\n","import { getValueAsType } from '../../../value/types/utils/get-as-type.mjs';\nimport { numberValueTypes } from '../../../value/types/maps/number.mjs';\nimport { transformPropOrder } from '../../utils/keys-transform.mjs';\n\nconst translateAlias = {\n    x: \"translateX\",\n    y: \"translateY\",\n    z: \"translateZ\",\n    transformPerspective: \"perspective\",\n};\nconst numTransforms = transformPropOrder.length;\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(latestValues, transform, transformTemplate) {\n    // The transform string we're going to build into.\n    let transformString = \"\";\n    let transformIsDefault = true;\n    /**\n     * Loop over all possible transforms in order, adding the ones that\n     * are present to the transform string.\n     */\n    for (let i = 0; i < numTransforms; i++) {\n        const key = transformPropOrder[i];\n        const value = latestValues[key];\n        if (value === undefined)\n            continue;\n        let valueIsDefault = true;\n        if (typeof value === \"number\") {\n            valueIsDefault = value === (key.startsWith(\"scale\") ? 1 : 0);\n        }\n        else {\n            const parsed = parseFloat(value);\n            valueIsDefault = key.startsWith(\"scale\") ? parsed === 1 : parsed === 0;\n        }\n        if (!valueIsDefault || transformTemplate) {\n            const valueAsType = getValueAsType(value, numberValueTypes[key]);\n            if (!valueIsDefault) {\n                transformIsDefault = false;\n                const transformName = translateAlias[key] || key;\n                transformString += `${transformName}(${valueAsType}) `;\n            }\n            if (transformTemplate) {\n                transform[key] = valueAsType;\n            }\n        }\n    }\n    transformString = transformString.trim();\n    // If we have a custom `transform` template, pass our transform values and\n    // generated transformString to that before returning\n    if (transformTemplate) {\n        transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n    }\n    else if (transformIsDefault) {\n        transformString = \"none\";\n    }\n    return transformString;\n}\n\nexport { buildTransform };\n//# sourceMappingURL=build-transform.mjs.map\n","function renderHTML(element, { style, vars }, styleProp, projection) {\n    const elementStyle = element.style;\n    let key;\n    for (key in style) {\n        // CSSStyleDeclaration has [index: number]: string; in the types, so we use that as key type.\n        elementStyle[key] = style[key];\n    }\n    // Write projection styles directly to element style\n    projection?.applyProjectionStyles(elementStyle, styleProp);\n    for (key in vars) {\n        // Loop over any CSS variables and assign those.\n        // They can only be assigned using `setProperty`.\n        elementStyle.setProperty(key, vars[key]);\n    }\n}\n\nexport { renderHTML };\n//# sourceMappingURL=render.mjs.map\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { isForcedMotionValue } from '../../utils/is-forced-motion-value.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n    const style = props.style;\n    const prevStyle = prevProps?.style;\n    const newValues = {};\n    if (!style)\n        return newValues;\n    for (const key in style) {\n        if (isMotionValue(style[key]) ||\n            (prevStyle && isMotionValue(prevStyle[key])) ||\n            isForcedMotionValue(key, props) ||\n            visualElement?.getValue(key)?.liveStyle !== undefined) {\n            newValues[key] = style[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n//# sourceMappingURL=scrape-motion-values.mjs.map\n","const visualElementStore = new WeakMap();\n\nexport { visualElementStore };\n//# sourceMappingURL=store.mjs.map\n","import { transformProps } from '../utils/keys-transform.mjs';\nimport { getDefaultValueType } from '../../value/types/maps/defaults.mjs';\nimport { createBox } from '../../projection/geometry/models.mjs';\nimport { DOMVisualElement } from '../dom/DOMVisualElement.mjs';\nimport { camelToDash } from '../dom/utils/camel-to-dash.mjs';\nimport { buildSVGAttrs } from './utils/build-attrs.mjs';\nimport { camelCaseAttributes } from './utils/camel-case-attrs.mjs';\nimport { isSVGTag } from './utils/is-svg-tag.mjs';\nimport { renderSVG } from './utils/render.mjs';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';\n\nclass SVGVisualElement extends DOMVisualElement {\n    constructor() {\n        super(...arguments);\n        this.type = \"svg\";\n        this.isSVGTag = false;\n        this.measureInstanceViewportBox = createBox;\n    }\n    getBaseTargetFromProps(props, key) {\n        return props[key];\n    }\n    readValueFromInstance(instance, key) {\n        if (transformProps.has(key)) {\n            const defaultType = getDefaultValueType(key);\n            return defaultType ? defaultType.default || 0 : 0;\n        }\n        key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;\n        return instance.getAttribute(key);\n    }\n    scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n        return scrapeMotionValuesFromProps(props, prevProps, visualElement);\n    }\n    build(renderState, latestValues, props) {\n        buildSVGAttrs(renderState, latestValues, this.isSVGTag, props.transformTemplate, props.style);\n    }\n    renderInstance(instance, renderState, styleProp, projection) {\n        renderSVG(instance, renderState, styleProp, projection);\n    }\n    mount(instance) {\n        this.isSVGTag = isSVGTag(instance.tagName);\n        super.mount(instance);\n    }\n}\n\nexport { SVGVisualElement };\n//# sourceMappingURL=SVGVisualElement.mjs.map\n","import { buildHTMLStyles } from '../../html/utils/build-styles.mjs';\nimport { buildSVGPath } from './path.mjs';\n\n/**\n * CSS Motion Path properties that should remain as CSS styles on SVG elements.\n */\nconst cssMotionPathProperties = [\n    \"offsetDistance\",\n    \"offsetPath\",\n    \"offsetRotate\",\n    \"offsetAnchor\",\n];\n/**\n * Build SVG visual attributes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, { attrX, attrY, attrScale, pathLength, pathSpacing = 1, pathOffset = 0, \n// This is object creation, which we try to avoid per-frame.\n...latest }, isSVGTag, transformTemplate, styleProp) {\n    buildHTMLStyles(state, latest, transformTemplate);\n    /**\n     * For svg tags we just want to make sure viewBox is animatable and treat all the styles\n     * as normal HTML tags.\n     */\n    if (isSVGTag) {\n        if (state.style.viewBox) {\n            state.attrs.viewBox = state.style.viewBox;\n        }\n        return;\n    }\n    state.attrs = state.style;\n    state.style = {};\n    const { attrs, style } = state;\n    /**\n     * However, we apply transforms as CSS transforms.\n     * So if we detect a transform, transformOrigin we take it from attrs and copy it into style.\n     */\n    if (attrs.transform) {\n        style.transform = attrs.transform;\n        delete attrs.transform;\n    }\n    if (style.transform || attrs.transformOrigin) {\n        style.transformOrigin = attrs.transformOrigin ?? \"50% 50%\";\n        delete attrs.transformOrigin;\n    }\n    if (style.transform) {\n        /**\n         * SVG's element transform-origin uses its own median as a reference.\n         * Therefore, transformBox becomes a fill-box\n         */\n        style.transformBox = styleProp?.transformBox ?? \"fill-box\";\n        delete attrs.transformBox;\n    }\n    for (const key of cssMotionPathProperties) {\n        if (attrs[key] !== undefined) {\n            style[key] = attrs[key];\n            delete attrs[key];\n        }\n    }\n    // Render attrX/attrY/attrScale as attributes\n    if (attrX !== undefined)\n        attrs.x = attrX;\n    if (attrY !== undefined)\n        attrs.y = attrY;\n    if (attrScale !== undefined)\n        attrs.scale = attrScale;\n    // Build SVG path if one has been defined\n    if (pathLength !== undefined) {\n        buildSVGPath(attrs, pathLength, pathSpacing, pathOffset, false);\n    }\n}\n\nexport { buildSVGAttrs };\n//# sourceMappingURL=build-attrs.mjs.map\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nconst camelCaseAttributes = new Set([\n    \"baseFrequency\",\n    \"diffuseConstant\",\n    \"kernelMatrix\",\n    \"kernelUnitLength\",\n    \"keySplines\",\n    \"keyTimes\",\n    \"limitingConeAngle\",\n    \"markerHeight\",\n    \"markerWidth\",\n    \"numOctaves\",\n    \"targetX\",\n    \"targetY\",\n    \"surfaceScale\",\n    \"specularConstant\",\n    \"specularExponent\",\n    \"stdDeviation\",\n    \"tableValues\",\n    \"viewBox\",\n    \"gradientTransform\",\n    \"pathLength\",\n    \"startOffset\",\n    \"textLength\",\n    \"lengthAdjust\",\n]);\n\nexport { camelCaseAttributes };\n//# sourceMappingURL=camel-case-attrs.mjs.map\n","const isSVGTag = (tag) => typeof tag === \"string\" && tag.toLowerCase() === \"svg\";\n\nexport { isSVGTag };\n//# sourceMappingURL=is-svg-tag.mjs.map\n","const dashKeys = {\n    offset: \"stroke-dashoffset\",\n    array: \"stroke-dasharray\",\n};\nconst camelKeys = {\n    offset: \"strokeDashoffset\",\n    array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n *\n * Note: We use unitless values for stroke-dasharray and stroke-dashoffset\n * because Safari incorrectly scales px values when the page is zoomed.\n */\nfunction buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true) {\n    // Normalise path length by setting SVG attribute pathLength to 1\n    attrs.pathLength = 1;\n    // We use dash case when setting attributes directly to the DOM node and camel case\n    // when defining props on a React component.\n    const keys = useDashCase ? dashKeys : camelKeys;\n    // Build the dash offset (unitless to avoid Safari zoom bug)\n    attrs[keys.offset] = `${-offset}`;\n    // Build the dash array (unitless to avoid Safari zoom bug)\n    attrs[keys.array] = `${length} ${spacing}`;\n}\n\nexport { buildSVGPath };\n//# sourceMappingURL=path.mjs.map\n","import { camelToDash } from '../../dom/utils/camel-to-dash.mjs';\nimport { renderHTML } from '../../html/utils/render.mjs';\nimport { camelCaseAttributes } from './camel-case-attrs.mjs';\n\nfunction renderSVG(element, renderState, _styleProp, projection) {\n    renderHTML(element, renderState, undefined, projection);\n    for (const key in renderState.attrs) {\n        element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n    }\n}\n\nexport { renderSVG };\n//# sourceMappingURL=render.mjs.map\n","import { isMotionValue } from '../../../value/utils/is-motion-value.mjs';\nimport { transformPropOrder } from '../../utils/keys-transform.mjs';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.mjs';\n\nfunction scrapeMotionValuesFromProps(props, prevProps, visualElement) {\n    const newValues = scrapeMotionValuesFromProps$1(props, prevProps, visualElement);\n    for (const key in props) {\n        if (isMotionValue(props[key]) ||\n            isMotionValue(prevProps[key])) {\n            const targetKey = transformPropOrder.indexOf(key) !== -1\n                ? \"attr\" + key.charAt(0).toUpperCase() + key.substring(1)\n                : key;\n            newValues[targetKey] = props[key];\n        }\n    }\n    return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n//# sourceMappingURL=scrape-motion-values.mjs.map\n","import { animateVisualElement } from '../../animation/interfaces/visual-element.mjs';\nimport { calcChildStagger } from '../../animation/utils/calc-child-stagger.mjs';\nimport { getVariantContext } from './get-variant-context.mjs';\nimport { isAnimationControls } from './is-animation-controls.mjs';\nimport { isKeyframesTarget } from './is-keyframes-target.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { shallowCompare } from './shallow-compare.mjs';\nimport { variantPriorityOrder } from './variant-props.mjs';\n\nconst reversePriorityOrder = [...variantPriorityOrder].reverse();\nconst numAnimationTypes = variantPriorityOrder.length;\nfunction createAnimateFunction(visualElement) {\n    return (animations) => {\n        return Promise.all(animations.map(({ animation, options }) => animateVisualElement(visualElement, animation, options)));\n    };\n}\nfunction createAnimationState(visualElement) {\n    let animate = createAnimateFunction(visualElement);\n    let state = createState();\n    let isInitialRender = true;\n    /**\n     * This function will be used to reduce the animation definitions for\n     * each active animation type into an object of resolved values for it.\n     */\n    const buildResolvedTypeValues = (type) => (acc, definition) => {\n        const resolved = resolveVariant(visualElement, definition, type === \"exit\"\n            ? visualElement.presenceContext?.custom\n            : undefined);\n        if (resolved) {\n            const { transition, transitionEnd, ...target } = resolved;\n            acc = { ...acc, ...target, ...transitionEnd };\n        }\n        return acc;\n    };\n    /**\n     * This just allows us to inject mocked animation functions\n     * @internal\n     */\n    function setAnimateFunction(makeAnimator) {\n        animate = makeAnimator(visualElement);\n    }\n    /**\n     * When we receive new props, we need to:\n     * 1. Create a list of protected keys for each type. This is a directory of\n     *    value keys that are currently being \"handled\" by types of a higher priority\n     *    so that whenever an animation is played of a given type, these values are\n     *    protected from being animated.\n     * 2. Determine if an animation type needs animating.\n     * 3. Determine if any values have been removed from a type and figure out\n     *    what to animate those to.\n     */\n    function animateChanges(changedActiveType) {\n        const { props } = visualElement;\n        const context = getVariantContext(visualElement.parent) || {};\n        /**\n         * A list of animations that we'll build into as we iterate through the animation\n         * types. This will get executed at the end of the function.\n         */\n        const animations = [];\n        /**\n         * Keep track of which values have been removed. Then, as we hit lower priority\n         * animation types, we can check if they contain removed values and animate to that.\n         */\n        const removedKeys = new Set();\n        /**\n         * A dictionary of all encountered keys. This is an object to let us build into and\n         * copy it without iteration. Each time we hit an animation type we set its protected\n         * keys - the keys its not allowed to animate - to the latest version of this object.\n         */\n        let encounteredKeys = {};\n        /**\n         * If a variant has been removed at a given index, and this component is controlling\n         * variant animations, we want to ensure lower-priority variants are forced to animate.\n         */\n        let removedVariantIndex = Infinity;\n        /**\n         * Iterate through all animation types in reverse priority order. For each, we want to\n         * detect which values it's handling and whether or not they've changed (and therefore\n         * need to be animated). If any values have been removed, we want to detect those in\n         * lower priority props and flag for animation.\n         */\n        for (let i = 0; i < numAnimationTypes; i++) {\n            const type = reversePriorityOrder[i];\n            const typeState = state[type];\n            const prop = props[type] !== undefined\n                ? props[type]\n                : context[type];\n            const propIsVariant = isVariantLabel(prop);\n            /**\n             * If this type has *just* changed isActive status, set activeDelta\n             * to that status. Otherwise set to null.\n             */\n            const activeDelta = type === changedActiveType ? typeState.isActive : null;\n            if (activeDelta === false)\n                removedVariantIndex = i;\n            /**\n             * If this prop is an inherited variant, rather than been set directly on the\n             * component itself, we want to make sure we allow the parent to trigger animations.\n             *\n             * TODO: Can probably change this to a !isControllingVariants check\n             */\n            let isInherited = prop === context[type] &&\n                prop !== props[type] &&\n                propIsVariant;\n            if (isInherited &&\n                isInitialRender &&\n                visualElement.manuallyAnimateOnMount) {\n                isInherited = false;\n            }\n            /**\n             * Set all encountered keys so far as the protected keys for this type. This will\n             * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n             */\n            typeState.protectedKeys = { ...encounteredKeys };\n            // Check if we can skip analysing this prop early\n            if (\n            // If it isn't active and hasn't *just* been set as inactive\n            (!typeState.isActive && activeDelta === null) ||\n                // If we didn't and don't have any defined prop for this animation type\n                (!prop && !typeState.prevProp) ||\n                // Or if the prop doesn't define an animation\n                isAnimationControls(prop) ||\n                typeof prop === \"boolean\") {\n                continue;\n            }\n            /**\n             * If exit is already active and wasn't just activated, skip\n             * re-processing to prevent interrupting running exit animations.\n             * Re-resolving exit with a changed custom value can start new\n             * value animations that stop the originals, leaving the exit\n             * animation promise unresolved and the component stuck in the DOM.\n             */\n            if (type === \"exit\" && typeState.isActive && activeDelta !== true) {\n                if (typeState.prevResolvedValues) {\n                    encounteredKeys = {\n                        ...encounteredKeys,\n                        ...typeState.prevResolvedValues,\n                    };\n                }\n                continue;\n            }\n            /**\n             * As we go look through the values defined on this type, if we detect\n             * a changed value or a value that was removed in a higher priority, we set\n             * this to true and add this prop to the animation list.\n             */\n            const variantDidChange = checkVariantsDidChange(typeState.prevProp, prop);\n            let shouldAnimateType = variantDidChange ||\n                // If we're making this variant active, we want to always make it active\n                (type === changedActiveType &&\n                    typeState.isActive &&\n                    !isInherited &&\n                    propIsVariant) ||\n                // If we removed a higher-priority variant (i is in reverse order)\n                (i > removedVariantIndex && propIsVariant);\n            let handledRemovedValues = false;\n            /**\n             * As animations can be set as variant lists, variants or target objects, we\n             * coerce everything to an array if it isn't one already\n             */\n            const definitionList = Array.isArray(prop) ? prop : [prop];\n            /**\n             * Build an object of all the resolved values. We'll use this in the subsequent\n             * animateChanges calls to determine whether a value has changed.\n             */\n            let resolvedValues = definitionList.reduce(buildResolvedTypeValues(type), {});\n            if (activeDelta === false)\n                resolvedValues = {};\n            /**\n             * Now we need to loop through all the keys in the prev prop and this prop,\n             * and decide:\n             * 1. If the value has changed, and needs animating\n             * 2. If it has been removed, and needs adding to the removedKeys set\n             * 3. If it has been removed in a higher priority type and needs animating\n             * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n             *    needs adding to the type's protectedKeys list.\n             */\n            const { prevResolvedValues = {} } = typeState;\n            const allKeys = {\n                ...prevResolvedValues,\n                ...resolvedValues,\n            };\n            const markToAnimate = (key) => {\n                shouldAnimateType = true;\n                if (removedKeys.has(key)) {\n                    handledRemovedValues = true;\n                    removedKeys.delete(key);\n                }\n                typeState.needsAnimating[key] = true;\n                const motionValue = visualElement.getValue(key);\n                if (motionValue)\n                    motionValue.liveStyle = false;\n            };\n            for (const key in allKeys) {\n                const next = resolvedValues[key];\n                const prev = prevResolvedValues[key];\n                // If we've already handled this we can just skip ahead\n                if (encounteredKeys.hasOwnProperty(key))\n                    continue;\n                /**\n                 * If the value has changed, we probably want to animate it.\n                 */\n                let valueHasChanged = false;\n                if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n                    valueHasChanged = !shallowCompare(next, prev);\n                }\n                else {\n                    valueHasChanged = next !== prev;\n                }\n                if (valueHasChanged) {\n                    if (next !== undefined && next !== null) {\n                        // If next is defined and doesn't equal prev, it needs animating\n                        markToAnimate(key);\n                    }\n                    else {\n                        // If it's undefined, it's been removed.\n                        removedKeys.add(key);\n                    }\n                }\n                else if (next !== undefined && removedKeys.has(key)) {\n                    /**\n                     * If next hasn't changed and it isn't undefined, we want to check if it's\n                     * been removed by a higher priority\n                     */\n                    markToAnimate(key);\n                }\n                else {\n                    /**\n                     * If it hasn't changed, we add it to the list of protected values\n                     * to ensure it doesn't get animated.\n                     */\n                    typeState.protectedKeys[key] = true;\n                }\n            }\n            /**\n             * Update the typeState so next time animateChanges is called we can compare the\n             * latest prop and resolvedValues to these.\n             */\n            typeState.prevProp = prop;\n            typeState.prevResolvedValues = resolvedValues;\n            if (typeState.isActive) {\n                encounteredKeys = { ...encounteredKeys, ...resolvedValues };\n            }\n            if (isInitialRender && visualElement.blockInitialAnimation) {\n                shouldAnimateType = false;\n            }\n            /**\n             * If this is an inherited prop we want to skip this animation\n             * unless the inherited variants haven't changed on this render.\n             */\n            const willAnimateViaParent = isInherited && variantDidChange;\n            const needsAnimating = !willAnimateViaParent || handledRemovedValues;\n            if (shouldAnimateType && needsAnimating) {\n                animations.push(...definitionList.map((animation) => {\n                    const options = { type };\n                    /**\n                     * If we're performing the initial animation, but we're not\n                     * rendering at the same time as the variant-controlling parent,\n                     * we want to use the parent's transition to calculate the stagger.\n                     */\n                    if (typeof animation === \"string\" &&\n                        isInitialRender &&\n                        !willAnimateViaParent &&\n                        visualElement.manuallyAnimateOnMount &&\n                        visualElement.parent) {\n                        const { parent } = visualElement;\n                        const parentVariant = resolveVariant(parent, animation);\n                        if (parent.enteringChildren && parentVariant) {\n                            const { delayChildren } = parentVariant.transition || {};\n                            options.delay = calcChildStagger(parent.enteringChildren, visualElement, delayChildren);\n                        }\n                    }\n                    return {\n                        animation: animation,\n                        options,\n                    };\n                }));\n            }\n        }\n        /**\n         * If there are some removed value that haven't been dealt with,\n         * we need to create a new animation that falls back either to the value\n         * defined in the style prop, or the last read value.\n         */\n        if (removedKeys.size) {\n            const fallbackAnimation = {};\n            /**\n             * If the initial prop contains a transition we can use that, otherwise\n             * allow the animation function to use the visual element's default.\n             */\n            if (typeof props.initial !== \"boolean\") {\n                const initialTransition = resolveVariant(visualElement, Array.isArray(props.initial)\n                    ? props.initial[0]\n                    : props.initial);\n                if (initialTransition && initialTransition.transition) {\n                    fallbackAnimation.transition = initialTransition.transition;\n                }\n            }\n            removedKeys.forEach((key) => {\n                const fallbackTarget = visualElement.getBaseTarget(key);\n                const motionValue = visualElement.getValue(key);\n                if (motionValue)\n                    motionValue.liveStyle = true;\n                // @ts-expect-error - @mattgperry to figure if we should do something here\n                fallbackAnimation[key] = fallbackTarget ?? null;\n            });\n            animations.push({ animation: fallbackAnimation });\n        }\n        let shouldAnimate = Boolean(animations.length);\n        if (isInitialRender &&\n            (props.initial === false || props.initial === props.animate) &&\n            !visualElement.manuallyAnimateOnMount) {\n            shouldAnimate = false;\n        }\n        isInitialRender = false;\n        return shouldAnimate ? animate(animations) : Promise.resolve();\n    }\n    /**\n     * Change whether a certain animation type is active.\n     */\n    function setActive(type, isActive) {\n        // If the active state hasn't changed, we can safely do nothing here\n        if (state[type].isActive === isActive)\n            return Promise.resolve();\n        // Propagate active change to children\n        visualElement.variantChildren?.forEach((child) => child.animationState?.setActive(type, isActive));\n        state[type].isActive = isActive;\n        const animations = animateChanges(type);\n        for (const key in state) {\n            state[key].protectedKeys = {};\n        }\n        return animations;\n    }\n    return {\n        animateChanges,\n        setActive,\n        setAnimateFunction,\n        getState: () => state,\n        reset: () => {\n            state = createState();\n            /**\n             * Temporarily disabling resetting this flag as it prevents components\n             * with initial={false} from animating after being remounted, for instance\n             * as the child of an Activity component.\n             */\n            // isInitialRender = true\n        },\n    };\n}\nfunction checkVariantsDidChange(prev, next) {\n    if (typeof next === \"string\") {\n        return next !== prev;\n    }\n    else if (Array.isArray(next)) {\n        return !shallowCompare(next, prev);\n    }\n    return false;\n}\nfunction createTypeState(isActive = false) {\n    return {\n        isActive,\n        protectedKeys: {},\n        needsAnimating: {},\n        prevResolvedValues: {},\n    };\n}\nfunction createState() {\n    return {\n        animate: createTypeState(true),\n        whileInView: createTypeState(),\n        whileHover: createTypeState(),\n        whileTap: createTypeState(),\n        whileDrag: createTypeState(),\n        whileFocus: createTypeState(),\n        exit: createTypeState(),\n    };\n}\n\nexport { checkVariantsDidChange, createAnimationState };\n//# sourceMappingURL=animation-state.mjs.map\n","import { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nconst numVariantProps = variantProps.length;\n/**\n * Get variant context from a visual element's parent chain.\n * Uses `any` type for visualElement to avoid circular dependencies.\n */\nfunction getVariantContext(visualElement) {\n    if (!visualElement)\n        return undefined;\n    if (!visualElement.isControllingVariants) {\n        const context = visualElement.parent\n            ? getVariantContext(visualElement.parent) || {}\n            : {};\n        if (visualElement.props.initial !== undefined) {\n            context.initial = visualElement.props.initial;\n        }\n        return context;\n    }\n    const context = {};\n    for (let i = 0; i < numVariantProps; i++) {\n        const name = variantProps[i];\n        const prop = visualElement.props[name];\n        if (isVariantLabel(prop) || prop === false) {\n            context[name] = prop;\n        }\n    }\n    return context;\n}\n\nexport { getVariantContext };\n//# sourceMappingURL=get-variant-context.mjs.map\n","function isAnimationControls(v) {\n    return (v !== null &&\n        typeof v === \"object\" &&\n        typeof v.start === \"function\");\n}\n\nexport { isAnimationControls };\n//# sourceMappingURL=is-animation-controls.mjs.map\n","import { isAnimationControls } from './is-animation-controls.mjs';\nimport { isVariantLabel } from './is-variant-label.mjs';\nimport { variantProps } from './variant-props.mjs';\n\nfunction isControllingVariants(props) {\n    return (isAnimationControls(props.animate) ||\n        variantProps.some((name) => isVariantLabel(props[name])));\n}\nfunction isVariantNode(props) {\n    return Boolean(isControllingVariants(props) || props.variants);\n}\n\nexport { isControllingVariants, isVariantNode };\n//# sourceMappingURL=is-controlling-variants.mjs.map\n","import { transformProps } from './keys-transform.mjs';\nimport { scaleCorrectors } from '../../projection/styles/scale-correction.mjs';\nexport { addScaleCorrector } from '../../projection/styles/scale-correction.mjs';\n\nfunction isForcedMotionValue(key, { layout, layoutId }) {\n    return (transformProps.has(key) ||\n        key.startsWith(\"origin\") ||\n        ((layout || layoutId !== undefined) &&\n            (!!scaleCorrectors[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue, scaleCorrectors };\n//# sourceMappingURL=is-forced-motion-value.mjs.map\n","const isKeyframesTarget = (v) => {\n    return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n//# sourceMappingURL=is-keyframes-target.mjs.map\n","/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n    return typeof v === \"string\" || Array.isArray(v);\n}\n\nexport { isVariantLabel };\n//# sourceMappingURL=is-variant-label.mjs.map\n","import { transformPropOrder } from './keys-transform.mjs';\n\nconst positionalKeys = new Set([\n    \"width\",\n    \"height\",\n    \"top\",\n    \"left\",\n    \"right\",\n    \"bottom\",\n    ...transformPropOrder,\n]);\n\nexport { positionalKeys };\n//# sourceMappingURL=keys-position.mjs.map\n","/**\n * Generate a list of every possible transform key.\n */\nconst transformPropOrder = [\n    \"transformPerspective\",\n    \"x\",\n    \"y\",\n    \"z\",\n    \"translateX\",\n    \"translateY\",\n    \"translateZ\",\n    \"scale\",\n    \"scaleX\",\n    \"scaleY\",\n    \"rotate\",\n    \"rotateX\",\n    \"rotateY\",\n    \"rotateZ\",\n    \"skew\",\n    \"skewX\",\n    \"skewY\",\n];\n/**\n * A quick lookup for transform props.\n */\nconst transformProps = /*@__PURE__*/ (() => new Set(transformPropOrder))();\n\nexport { transformPropOrder, transformProps };\n//# sourceMappingURL=keys-transform.mjs.map\n","import { motionValue } from '../../value/index.mjs';\nimport { isMotionValue } from '../../value/utils/is-motion-value.mjs';\n\n/**\n * Updates motion values from props changes.\n * Uses `any` type for element to avoid circular dependencies with VisualElement.\n */\nfunction updateMotionValuesFromProps(element, next, prev) {\n    for (const key in next) {\n        const nextValue = next[key];\n        const prevValue = prev[key];\n        if (isMotionValue(nextValue)) {\n            /**\n             * If this is a motion value found in props or style, we want to add it\n             * to our visual element's motion value map.\n             */\n            element.addValue(key, nextValue);\n        }\n        else if (isMotionValue(prevValue)) {\n            /**\n             * If we're swapping from a motion value to a static value,\n             * create a new motion value from that\n             */\n            element.addValue(key, motionValue(nextValue, { owner: element }));\n        }\n        else if (prevValue !== nextValue) {\n            /**\n             * If this is a flat value that has changed, update the motion value\n             * or create one if it doesn't exist. We only want to do this if we're\n             * not handling the value with our animation state.\n             */\n            if (element.hasValue(key)) {\n                const existingValue = element.getValue(key);\n                if (existingValue.liveStyle === true) {\n                    existingValue.jump(nextValue);\n                }\n                else if (!existingValue.hasAnimated) {\n                    existingValue.set(nextValue);\n                }\n            }\n            else {\n                const latestValue = element.getStaticValue(key);\n                element.addValue(key, motionValue(latestValue !== undefined ? latestValue : nextValue, { owner: element }));\n            }\n        }\n    }\n    // Handle removed values\n    for (const key in prev) {\n        if (next[key] === undefined)\n            element.removeValue(key);\n    }\n    return next;\n}\n\nexport { updateMotionValuesFromProps };\n//# sourceMappingURL=motion-values.mjs.map\n","import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';\n\nconst isBrowser = typeof window !== \"undefined\";\nfunction initPrefersReducedMotion() {\n    hasReducedMotionListener.current = true;\n    if (!isBrowser)\n        return;\n    if (window.matchMedia) {\n        const motionMediaQuery = window.matchMedia(\"(prefers-reduced-motion)\");\n        const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);\n        motionMediaQuery.addEventListener(\"change\", setReducedMotionPreferences);\n        setReducedMotionPreferences();\n    }\n    else {\n        prefersReducedMotion.current = false;\n    }\n}\n\nexport { hasReducedMotionListener, initPrefersReducedMotion, prefersReducedMotion };\n//# sourceMappingURL=index.mjs.map\n","// Does this device prefer reduced motion? Returns `null` server-side.\nconst prefersReducedMotion = { current: null };\nconst hasReducedMotionListener = { current: false };\n\nexport { hasReducedMotionListener, prefersReducedMotion };\n//# sourceMappingURL=state.mjs.map\n","import { resolveVariantFromProps } from './resolve-variants.mjs';\n\nfunction resolveVariant(visualElement, definition, custom) {\n    const props = visualElement.getProps();\n    return resolveVariantFromProps(props, definition, custom !== undefined ? custom : props.custom, visualElement);\n}\n\nexport { resolveVariant };\n//# sourceMappingURL=resolve-dynamic-variants.mjs.map\n","function getValueState(visualElement) {\n    const state = [{}, {}];\n    visualElement?.values.forEach((value, key) => {\n        state[0][key] = value.get();\n        state[1][key] = value.getVelocity();\n    });\n    return state;\n}\nfunction resolveVariantFromProps(props, definition, custom, visualElement) {\n    /**\n     * If the variant definition is a function, resolve.\n     */\n    if (typeof definition === \"function\") {\n        const [current, velocity] = getValueState(visualElement);\n        definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n    }\n    /**\n     * If the variant definition is a variant label, or\n     * the function returned a variant label, resolve.\n     */\n    if (typeof definition === \"string\") {\n        definition = props.variants && props.variants[definition];\n    }\n    /**\n     * At this point we've resolved both functions and variant labels,\n     * but the resolved variant label might itself have been a function.\n     * If so, resolve. This can only have returned a valid target object.\n     */\n    if (typeof definition === \"function\") {\n        const [current, velocity] = getValueState(visualElement);\n        definition = definition(custom !== undefined ? custom : props.custom, current, velocity);\n    }\n    return definition;\n}\n\nexport { resolveVariantFromProps };\n//# sourceMappingURL=resolve-variants.mjs.map\n","import { motionValue } from '../../value/index.mjs';\nimport { resolveVariant } from './resolve-dynamic-variants.mjs';\nimport { isKeyframesTarget } from './is-keyframes-target.mjs';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n    if (visualElement.hasValue(key)) {\n        visualElement.getValue(key).set(value);\n    }\n    else {\n        visualElement.addValue(key, motionValue(value));\n    }\n}\nfunction resolveFinalValueInKeyframes(v) {\n    // TODO maybe throw if v.length - 1 is placeholder token?\n    return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n}\nfunction setTarget(visualElement, definition) {\n    const resolved = resolveVariant(visualElement, definition);\n    let { transitionEnd = {}, transition = {}, ...target } = resolved || {};\n    target = { ...target, ...transitionEnd };\n    for (const key in target) {\n        const value = resolveFinalValueInKeyframes(target[key]);\n        setMotionValue(visualElement, key, value);\n    }\n}\n\nexport { setTarget };\n//# sourceMappingURL=setters.mjs.map\n","function shallowCompare(next, prev) {\n    if (!Array.isArray(prev))\n        return false;\n    const prevLength = prev.length;\n    if (prevLength !== next.length)\n        return false;\n    for (let i = 0; i < prevLength; i++) {\n        if (prev[i] !== next[i])\n            return false;\n    }\n    return true;\n}\n\nexport { shallowCompare };\n//# sourceMappingURL=shallow-compare.mjs.map\n","const variantPriorityOrder = [\n    \"animate\",\n    \"whileInView\",\n    \"whileFocus\",\n    \"whileHover\",\n    \"whileTap\",\n    \"whileDrag\",\n    \"exit\",\n];\nconst variantProps = [\"initial\", ...variantPriorityOrder];\n\nexport { variantPriorityOrder, variantProps };\n//# sourceMappingURL=variant-props.mjs.map\n","import { isSVGElement } from '../utils/is-svg-element.mjs';\nimport { resolveElements } from '../utils/resolve-elements.mjs';\n\nconst resizeHandlers = new WeakMap();\nlet observer;\nconst getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {\n    if (borderBoxSize && borderBoxSize[0]) {\n        return borderBoxSize[0][(borderBoxAxis + \"Size\")];\n    }\n    else if (isSVGElement(target) && \"getBBox\" in target) {\n        return target.getBBox()[svgAxis];\n    }\n    else {\n        return target[htmlAxis];\n    }\n};\nconst getWidth = /*@__PURE__*/ getSize(\"inline\", \"width\", \"offsetWidth\");\nconst getHeight = /*@__PURE__*/ getSize(\"block\", \"height\", \"offsetHeight\");\nfunction notifyTarget({ target, borderBoxSize }) {\n    resizeHandlers.get(target)?.forEach((handler) => {\n        handler(target, {\n            get width() {\n                return getWidth(target, borderBoxSize);\n            },\n            get height() {\n                return getHeight(target, borderBoxSize);\n            },\n        });\n    });\n}\nfunction notifyAll(entries) {\n    entries.forEach(notifyTarget);\n}\nfunction createResizeObserver() {\n    if (typeof ResizeObserver === \"undefined\")\n        return;\n    observer = new ResizeObserver(notifyAll);\n}\nfunction resizeElement(target, handler) {\n    if (!observer)\n        createResizeObserver();\n    const elements = resolveElements(target);\n    elements.forEach((element) => {\n        let elementHandlers = resizeHandlers.get(element);\n        if (!elementHandlers) {\n            elementHandlers = new Set();\n            resizeHandlers.set(element, elementHandlers);\n        }\n        elementHandlers.add(handler);\n        observer?.observe(element);\n    });\n    return () => {\n        elements.forEach((element) => {\n            const elementHandlers = resizeHandlers.get(element);\n            elementHandlers?.delete(handler);\n            if (!elementHandlers?.size) {\n                observer?.unobserve(element);\n            }\n        });\n    };\n}\n\nexport { resizeElement };\n//# sourceMappingURL=handle-element.mjs.map\n","const windowCallbacks = new Set();\nlet windowResizeHandler;\nfunction createWindowResizeHandler() {\n    windowResizeHandler = () => {\n        const info = {\n            get width() {\n                return window.innerWidth;\n            },\n            get height() {\n                return window.innerHeight;\n            },\n        };\n        windowCallbacks.forEach((callback) => callback(info));\n    };\n    window.addEventListener(\"resize\", windowResizeHandler);\n}\nfunction resizeWindow(callback) {\n    windowCallbacks.add(callback);\n    if (!windowResizeHandler)\n        createWindowResizeHandler();\n    return () => {\n        windowCallbacks.delete(callback);\n        if (!windowCallbacks.size &&\n            typeof windowResizeHandler === \"function\") {\n            window.removeEventListener(\"resize\", windowResizeHandler);\n            windowResizeHandler = undefined;\n        }\n    };\n}\n\nexport { resizeWindow };\n//# sourceMappingURL=handle-window.mjs.map\n","import { resizeElement } from './handle-element.mjs';\nimport { resizeWindow } from './handle-window.mjs';\n\nfunction resize(a, b) {\n    return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b);\n}\n\nexport { resize };\n//# sourceMappingURL=index.mjs.map\n","const activeAnimations = {\n    layout: 0,\n    mainThread: 0,\n    waapi: 0,\n};\n\nexport { activeAnimations };\n//# sourceMappingURL=animation-count.mjs.map\n","const statsBuffer = {\n    value: null,\n    addProjectionMetrics: null,\n};\n\nexport { statsBuffer };\n//# sourceMappingURL=buffer.mjs.map\n","import { time } from '../frameloop/sync-time.mjs';\nimport { secondsToMilliseconds } from 'motion-utils';\nimport { frame, cancelFrame } from '../frameloop/frame.mjs';\n\n/**\n * Timeout defined in ms\n */\nfunction delay(callback, timeout) {\n    const start = time.now();\n    const checkElapsed = ({ timestamp }) => {\n        const elapsed = timestamp - start;\n        if (elapsed >= timeout) {\n            cancelFrame(checkElapsed);\n            callback(elapsed - timeout);\n        }\n    };\n    frame.setup(checkElapsed, true);\n    return () => cancelFrame(checkElapsed);\n}\nfunction delayInSeconds(callback, timeout) {\n    return delay(callback, secondsToMilliseconds(timeout));\n}\n\nexport { delay, delayInSeconds };\n//# sourceMappingURL=delay.mjs.map\n","import { invariant, clamp, MotionGlobalConfig, noop, pipe, progress } from 'motion-utils';\nimport { mix } from './mix/index.mjs';\n\nfunction createMixers(output, ease, customMixer) {\n    const mixers = [];\n    const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;\n    const numMixers = output.length - 1;\n    for (let i = 0; i < numMixers; i++) {\n        let mixer = mixerFactory(output[i], output[i + 1]);\n        if (ease) {\n            const easingFunction = Array.isArray(ease) ? ease[i] || noop : ease;\n            mixer = pipe(easingFunction, mixer);\n        }\n        mixers.push(mixer);\n    }\n    return mixers;\n}\n/**\n * Create a function that maps from a numerical input array to a generic output array.\n *\n * Accepts:\n *   - Numbers\n *   - Colors (hex, hsl, hsla, rgb, rgba)\n *   - Complex (combinations of one or more numbers or strings)\n *\n * ```jsx\n * const mixColor = interpolate([0, 1], ['#fff', '#000'])\n *\n * mixColor(0.5) // 'rgba(128, 128, 128, 1)'\n * ```\n *\n * TODO Revisit this approach once we've moved to data models for values,\n * probably not needed to pregenerate mixer functions.\n *\n * @public\n */\nfunction interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {\n    const inputLength = input.length;\n    invariant(inputLength === output.length, \"Both input and output ranges must be the same length\", \"range-length\");\n    /**\n     * If we're only provided a single input, we can just make a function\n     * that returns the output.\n     */\n    if (inputLength === 1)\n        return () => output[0];\n    if (inputLength === 2 && output[0] === output[1])\n        return () => output[1];\n    const isZeroDeltaRange = input[0] === input[1];\n    // If input runs highest -> lowest, reverse both arrays\n    if (input[0] > input[inputLength - 1]) {\n        input = [...input].reverse();\n        output = [...output].reverse();\n    }\n    const mixers = createMixers(output, ease, mixer);\n    const numMixers = mixers.length;\n    const interpolator = (v) => {\n        if (isZeroDeltaRange && v < input[0])\n            return output[0];\n        let i = 0;\n        if (numMixers > 1) {\n            for (; i < input.length - 2; i++) {\n                if (v < input[i + 1])\n                    break;\n            }\n        }\n        const progressInRange = progress(input[i], input[i + 1], v);\n        return mixers[i](progressInRange);\n    };\n    return isClamp\n        ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v))\n        : interpolator;\n}\n\nexport { interpolate };\n//# sourceMappingURL=interpolate.mjs.map\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an HTML element in a way\n * that works across iframes\n */\nfunction isHTMLElement(element) {\n    return isObject(element) && \"offsetHeight\" in element;\n}\n\nexport { isHTMLElement };\n//# sourceMappingURL=is-html-element.mjs.map\n","import { isObject } from 'motion-utils';\n\n/**\n * Checks if an element is an SVG element in a way\n * that works across iframes\n */\nfunction isSVGElement(element) {\n    return isObject(element) && \"ownerSVGElement\" in element;\n}\n\nexport { isSVGElement };\n//# sourceMappingURL=is-svg-element.mjs.map\n","import { isSVGElement } from './is-svg-element.mjs';\n\n/**\n * Checks if an element is specifically an SVGSVGElement (the root SVG element)\n * in a way that works across iframes\n */\nfunction isSVGSVGElement(element) {\n    return isSVGElement(element) && element.tagName === \"svg\";\n}\n\nexport { isSVGSVGElement };\n//# sourceMappingURL=is-svg-svg-element.mjs.map\n","import { warning } from 'motion-utils';\nimport { hex } from '../../value/types/color/hex.mjs';\nimport { hsla } from '../../value/types/color/hsla.mjs';\nimport { hslaToRgba } from '../../value/types/color/hsla-to-rgba.mjs';\nimport { rgba } from '../../value/types/color/rgba.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber } from './number.mjs';\n\n// Linear color space blending\n// Explained https://www.youtube.com/watch?v=LKnqECcg6Gw\n// Demonstrated http://codepen.io/osublake/pen/xGVVaN\nconst mixLinearColor = (from, to, v) => {\n    const fromExpo = from * from;\n    const expo = v * (to * to - fromExpo) + fromExpo;\n    return expo < 0 ? 0 : Math.sqrt(expo);\n};\nconst colorTypes = [hex, rgba, hsla];\nconst getColorType = (v) => colorTypes.find((type) => type.test(v));\nfunction asRGBA(color) {\n    const type = getColorType(color);\n    warning(Boolean(type), `'${color}' is not an animatable color. Use the equivalent color code instead.`, \"color-not-animatable\");\n    if (!Boolean(type))\n        return false;\n    let model = type.parse(color);\n    if (type === hsla) {\n        // TODO Remove this cast - needed since Motion's stricter typing\n        model = hslaToRgba(model);\n    }\n    return model;\n}\nconst mixColor = (from, to) => {\n    const fromRGBA = asRGBA(from);\n    const toRGBA = asRGBA(to);\n    if (!fromRGBA || !toRGBA) {\n        return mixImmediate(from, to);\n    }\n    const blended = { ...fromRGBA };\n    return (v) => {\n        blended.red = mixLinearColor(fromRGBA.red, toRGBA.red, v);\n        blended.green = mixLinearColor(fromRGBA.green, toRGBA.green, v);\n        blended.blue = mixLinearColor(fromRGBA.blue, toRGBA.blue, v);\n        blended.alpha = mixNumber(fromRGBA.alpha, toRGBA.alpha, v);\n        return rgba.transform(blended);\n    };\n};\n\nexport { mixColor, mixLinearColor };\n//# sourceMappingURL=color.mjs.map\n","import { pipe, warning } from 'motion-utils';\nimport { isCSSVariableToken } from '../../animation/utils/is-css-variable.mjs';\nimport { color } from '../../value/types/color/index.mjs';\nimport { complex, analyseComplexValue } from '../../value/types/complex/index.mjs';\nimport { mixColor } from './color.mjs';\nimport { mixImmediate } from './immediate.mjs';\nimport { mixNumber as mixNumber$1 } from './number.mjs';\nimport { invisibleValues, mixVisibility } from './visibility.mjs';\n\nfunction mixNumber(a, b) {\n    return (p) => mixNumber$1(a, b, p);\n}\nfunction getMixer(a) {\n    if (typeof a === \"number\") {\n        return mixNumber;\n    }\n    else if (typeof a === \"string\") {\n        return isCSSVariableToken(a)\n            ? mixImmediate\n            : color.test(a)\n                ? mixColor\n                : mixComplex;\n    }\n    else if (Array.isArray(a)) {\n        return mixArray;\n    }\n    else if (typeof a === \"object\") {\n        return color.test(a) ? mixColor : mixObject;\n    }\n    return mixImmediate;\n}\nfunction mixArray(a, b) {\n    const output = [...a];\n    const numValues = output.length;\n    const blendValue = a.map((v, i) => getMixer(v)(v, b[i]));\n    return (p) => {\n        for (let i = 0; i < numValues; i++) {\n            output[i] = blendValue[i](p);\n        }\n        return output;\n    };\n}\nfunction mixObject(a, b) {\n    const output = { ...a, ...b };\n    const blendValue = {};\n    for (const key in output) {\n        if (a[key] !== undefined && b[key] !== undefined) {\n            blendValue[key] = getMixer(a[key])(a[key], b[key]);\n        }\n    }\n    return (v) => {\n        for (const key in blendValue) {\n            output[key] = blendValue[key](v);\n        }\n        return output;\n    };\n}\nfunction matchOrder(origin, target) {\n    const orderedOrigin = [];\n    const pointers = { color: 0, var: 0, number: 0 };\n    for (let i = 0; i < target.values.length; i++) {\n        const type = target.types[i];\n        const originIndex = origin.indexes[type][pointers[type]];\n        const originValue = origin.values[originIndex] ?? 0;\n        orderedOrigin[i] = originValue;\n        pointers[type]++;\n    }\n    return orderedOrigin;\n}\nconst mixComplex = (origin, target) => {\n    const template = complex.createTransformer(target);\n    const originStats = analyseComplexValue(origin);\n    const targetStats = analyseComplexValue(target);\n    const canInterpolate = originStats.indexes.var.length === targetStats.indexes.var.length &&\n        originStats.indexes.color.length === targetStats.indexes.color.length &&\n        originStats.indexes.number.length >= targetStats.indexes.number.length;\n    if (canInterpolate) {\n        if ((invisibleValues.has(origin) &&\n            !targetStats.values.length) ||\n            (invisibleValues.has(target) &&\n                !originStats.values.length)) {\n            return mixVisibility(origin, target);\n        }\n        return pipe(mixArray(matchOrder(originStats, targetStats), targetStats.values), template);\n    }\n    else {\n        warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, \"complex-values-different\");\n        return mixImmediate(origin, target);\n    }\n};\n\nexport { getMixer, mixArray, mixComplex, mixObject };\n//# sourceMappingURL=complex.mjs.map\n","function mixImmediate(a, b) {\n    return (p) => (p > 0 ? b : a);\n}\n\nexport { mixImmediate };\n//# sourceMappingURL=immediate.mjs.map\n","import { getMixer } from './complex.mjs';\nimport { mixNumber } from './number.mjs';\n\nfunction mix(from, to, p) {\n    if (typeof from === \"number\" &&\n        typeof to === \"number\" &&\n        typeof p === \"number\") {\n        return mixNumber(from, to, p);\n    }\n    const mixer = getMixer(from);\n    return mixer(from, to);\n}\n\nexport { mix };\n//# sourceMappingURL=index.mjs.map\n","/*\n  Value in range from progress\n\n  Given a lower limit and an upper limit, we return the value within\n  that range as expressed by progress (usually a number from 0 to 1)\n\n  So progress = 0.5 would change\n\n  from -------- to\n\n  to\n\n  from ---- to\n\n  E.g. from = 10, to = 20, progress = 0.5 => 15\n\n  @param [number]: Lower limit of range\n  @param [number]: Upper limit of range\n  @param [number]: The progress between lower and upper limits expressed 0-1\n  @return [number]: Value as calculated from progress within range (not limited within range)\n*/\nconst mixNumber = (from, to, progress) => {\n    return from + (to - from) * progress;\n};\n\nexport { mixNumber };\n//# sourceMappingURL=number.mjs.map\n","const invisibleValues = new Set([\"none\", \"hidden\"]);\n/**\n * Returns a function that, when provided a progress value between 0 and 1,\n * will return the \"none\" or \"hidden\" string only when the progress is that of\n * the origin or target.\n */\nfunction mixVisibility(origin, target) {\n    if (invisibleValues.has(origin)) {\n        return (p) => (p <= 0 ? origin : target);\n    }\n    else {\n        return (p) => (p >= 1 ? target : origin);\n    }\n}\n\nexport { invisibleValues, mixVisibility };\n//# sourceMappingURL=visibility.mjs.map\n","function resolveElements(elementOrSelector, scope, selectorCache) {\n    if (elementOrSelector == null) {\n        return [];\n    }\n    if (elementOrSelector instanceof EventTarget) {\n        return [elementOrSelector];\n    }\n    else if (typeof elementOrSelector === \"string\") {\n        let root = document;\n        if (scope) {\n            root = scope.current;\n        }\n        const elements = selectorCache?.[elementOrSelector] ??\n            root.querySelectorAll(elementOrSelector);\n        return elements ? Array.from(elements) : [];\n    }\n    return Array.from(elementOrSelector).filter((element) => element != null);\n}\n\nexport { resolveElements };\n//# sourceMappingURL=resolve-elements.mjs.map\n","/**\n * Add the ability for test suites to manually set support flags\n * to better test more environments.\n */\nconst supportsFlags = {};\n\nexport { supportsFlags };\n//# sourceMappingURL=flags.mjs.map\n","import { memoSupports } from './memo.mjs';\n\nconst supportsLinearEasing = /*@__PURE__*/ memoSupports(() => {\n    try {\n        document\n            .createElement(\"div\")\n            .animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n    }\n    catch (e) {\n        return false;\n    }\n    return true;\n}, \"linearEasing\");\n\nexport { supportsLinearEasing };\n//# sourceMappingURL=linear-easing.mjs.map\n","import { memo } from 'motion-utils';\nimport { supportsFlags } from './flags.mjs';\n\nfunction memoSupports(callback, supportsFlag) {\n    const memoized = memo(callback);\n    return () => supportsFlags[supportsFlag] ?? memoized();\n}\n\nexport { memoSupports };\n//# sourceMappingURL=memo.mjs.map\n","import { memoSupports } from './memo.mjs';\n\nconst supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== undefined, \"scrollTimeline\");\n\nexport { supportsScrollTimeline };\n//# sourceMappingURL=scroll-timeline.mjs.map\n","import { warnOnce, SubscriptionManager, velocityPerSecond } from 'motion-utils';\nimport { time } from '../frameloop/sync-time.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\n/**\n * Maximum time between the value of two frames, beyond which we\n * assume the velocity has since been 0.\n */\nconst MAX_VELOCITY_DELTA = 30;\nconst isFloat = (value) => {\n    return !isNaN(parseFloat(value));\n};\nconst collectMotionValues = {\n    current: undefined,\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nclass MotionValue {\n    /**\n     * @param init - The initiating value\n     * @param config - Optional configuration options\n     *\n     * -  `transformer`: A function to transform incoming values with.\n     */\n    constructor(init, options = {}) {\n        /**\n         * Tracks whether this value can output a velocity. Currently this is only true\n         * if the value is numerical, but we might be able to widen the scope here and support\n         * other value types.\n         *\n         * @internal\n         */\n        this.canTrackVelocity = null;\n        /**\n         * An object containing a SubscriptionManager for each active event.\n         */\n        this.events = {};\n        this.updateAndNotify = (v) => {\n            const currentTime = time.now();\n            /**\n             * If we're updating the value during another frame or eventloop\n             * than the previous frame, then the we set the previous frame value\n             * to current.\n             */\n            if (this.updatedAt !== currentTime) {\n                this.setPrevFrameValue();\n            }\n            this.prev = this.current;\n            this.setCurrent(v);\n            // Update update subscribers\n            if (this.current !== this.prev) {\n                this.events.change?.notify(this.current);\n                if (this.dependents) {\n                    for (const dependent of this.dependents) {\n                        dependent.dirty();\n                    }\n                }\n            }\n        };\n        this.hasAnimated = false;\n        this.setCurrent(init);\n        this.owner = options.owner;\n    }\n    setCurrent(current) {\n        this.current = current;\n        this.updatedAt = time.now();\n        if (this.canTrackVelocity === null && current !== undefined) {\n            this.canTrackVelocity = isFloat(this.current);\n        }\n    }\n    setPrevFrameValue(prevFrameValue = this.current) {\n        this.prevFrameValue = prevFrameValue;\n        this.prevUpdatedAt = this.updatedAt;\n    }\n    /**\n     * Adds a function that will be notified when the `MotionValue` is updated.\n     *\n     * It returns a function that, when called, will cancel the subscription.\n     *\n     * When calling `onChange` inside a React component, it should be wrapped with the\n     * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n     * from the `useEffect` function to ensure you don't add duplicate subscribers..\n     *\n     * ```jsx\n     * export const MyComponent = () => {\n     *   const x = useMotionValue(0)\n     *   const y = useMotionValue(0)\n     *   const opacity = useMotionValue(1)\n     *\n     *   useEffect(() => {\n     *     function updateOpacity() {\n     *       const maxXY = Math.max(x.get(), y.get())\n     *       const newOpacity = transform(maxXY, [0, 100], [1, 0])\n     *       opacity.set(newOpacity)\n     *     }\n     *\n     *     const unsubscribeX = x.on(\"change\", updateOpacity)\n     *     const unsubscribeY = y.on(\"change\", updateOpacity)\n     *\n     *     return () => {\n     *       unsubscribeX()\n     *       unsubscribeY()\n     *     }\n     *   }, [])\n     *\n     *   return <motion.div style={{ x }} />\n     * }\n     * ```\n     *\n     * @param subscriber - A function that receives the latest value.\n     * @returns A function that, when called, will cancel this subscription.\n     *\n     * @deprecated\n     */\n    onChange(subscription) {\n        if (process.env.NODE_ENV !== \"production\") {\n            warnOnce(false, `value.onChange(callback) is deprecated. Switch to value.on(\"change\", callback).`);\n        }\n        return this.on(\"change\", subscription);\n    }\n    on(eventName, callback) {\n        if (!this.events[eventName]) {\n            this.events[eventName] = new SubscriptionManager();\n        }\n        const unsubscribe = this.events[eventName].add(callback);\n        if (eventName === \"change\") {\n            return () => {\n                unsubscribe();\n                /**\n                 * If we have no more change listeners by the start\n                 * of the next frame, stop active animations.\n                 */\n                frame.read(() => {\n                    if (!this.events.change.getSize()) {\n                        this.stop();\n                    }\n                });\n            };\n        }\n        return unsubscribe;\n    }\n    clearListeners() {\n        for (const eventManagers in this.events) {\n            this.events[eventManagers].clear();\n        }\n    }\n    /**\n     * Attaches a passive effect to the `MotionValue`.\n     */\n    attach(passiveEffect, stopPassiveEffect) {\n        this.passiveEffect = passiveEffect;\n        this.stopPassiveEffect = stopPassiveEffect;\n    }\n    /**\n     * Sets the state of the `MotionValue`.\n     *\n     * @remarks\n     *\n     * ```jsx\n     * const x = useMotionValue(0)\n     * x.set(10)\n     * ```\n     *\n     * @param latest - Latest value to set.\n     * @param render - Whether to notify render subscribers. Defaults to `true`\n     *\n     * @public\n     */\n    set(v) {\n        if (!this.passiveEffect) {\n            this.updateAndNotify(v);\n        }\n        else {\n            this.passiveEffect(v, this.updateAndNotify);\n        }\n    }\n    setWithVelocity(prev, current, delta) {\n        this.set(current);\n        this.prev = undefined;\n        this.prevFrameValue = prev;\n        this.prevUpdatedAt = this.updatedAt - delta;\n    }\n    /**\n     * Set the state of the `MotionValue`, stopping any active animations,\n     * effects, and resets velocity to `0`.\n     */\n    jump(v, endAnimation = true) {\n        this.updateAndNotify(v);\n        this.prev = v;\n        this.prevUpdatedAt = this.prevFrameValue = undefined;\n        endAnimation && this.stop();\n        if (this.stopPassiveEffect)\n            this.stopPassiveEffect();\n    }\n    dirty() {\n        this.events.change?.notify(this.current);\n    }\n    addDependent(dependent) {\n        if (!this.dependents) {\n            this.dependents = new Set();\n        }\n        this.dependents.add(dependent);\n    }\n    removeDependent(dependent) {\n        if (this.dependents) {\n            this.dependents.delete(dependent);\n        }\n    }\n    /**\n     * Returns the latest state of `MotionValue`\n     *\n     * @returns - The latest state of `MotionValue`\n     *\n     * @public\n     */\n    get() {\n        if (collectMotionValues.current) {\n            collectMotionValues.current.push(this);\n        }\n        return this.current;\n    }\n    /**\n     * @public\n     */\n    getPrevious() {\n        return this.prev;\n    }\n    /**\n     * Returns the latest velocity of `MotionValue`\n     *\n     * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n     *\n     * @public\n     */\n    getVelocity() {\n        const currentTime = time.now();\n        if (!this.canTrackVelocity ||\n            this.prevFrameValue === undefined ||\n            currentTime - this.updatedAt > MAX_VELOCITY_DELTA) {\n            return 0;\n        }\n        const delta = Math.min(this.updatedAt - this.prevUpdatedAt, MAX_VELOCITY_DELTA);\n        // Casts because of parseFloat's poor typing\n        return velocityPerSecond(parseFloat(this.current) -\n            parseFloat(this.prevFrameValue), delta);\n    }\n    /**\n     * Registers a new animation to control this `MotionValue`. Only one\n     * animation can drive a `MotionValue` at one time.\n     *\n     * ```jsx\n     * value.start()\n     * ```\n     *\n     * @param animation - A function that starts the provided animation\n     */\n    start(startAnimation) {\n        this.stop();\n        return new Promise((resolve) => {\n            this.hasAnimated = true;\n            this.animation = startAnimation(resolve);\n            if (this.events.animationStart) {\n                this.events.animationStart.notify();\n            }\n        }).then(() => {\n            if (this.events.animationComplete) {\n                this.events.animationComplete.notify();\n            }\n            this.clearAnimation();\n        });\n    }\n    /**\n     * Stop the currently active animation.\n     *\n     * @public\n     */\n    stop() {\n        if (this.animation) {\n            this.animation.stop();\n            if (this.events.animationCancel) {\n                this.events.animationCancel.notify();\n            }\n        }\n        this.clearAnimation();\n    }\n    /**\n     * Returns `true` if this value is currently animating.\n     *\n     * @public\n     */\n    isAnimating() {\n        return !!this.animation;\n    }\n    clearAnimation() {\n        delete this.animation;\n    }\n    /**\n     * Destroy and clean up subscribers to this `MotionValue`.\n     *\n     * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n     * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n     * created a `MotionValue` via the `motionValue` function.\n     *\n     * @public\n     */\n    destroy() {\n        this.dependents?.clear();\n        this.events.destroy?.notify();\n        this.clearListeners();\n        this.stop();\n        if (this.stopPassiveEffect) {\n            this.stopPassiveEffect();\n        }\n    }\n}\nfunction motionValue(init, options) {\n    return new MotionValue(init, options);\n}\n\nexport { MotionValue, collectMotionValues, motionValue };\n//# sourceMappingURL=index.mjs.map\n","/**\n * ValueType for \"auto\"\n */\nconst auto = {\n    test: (v) => v === \"auto\",\n    parse: (v) => v,\n};\n\nexport { auto };\n//# sourceMappingURL=auto.mjs.map\n","import { rgba } from './rgba.mjs';\nimport { isColorString } from './utils.mjs';\n\nfunction parseHex(v) {\n    let r = \"\";\n    let g = \"\";\n    let b = \"\";\n    let a = \"\";\n    // If we have 6 characters, ie #FF0000\n    if (v.length > 5) {\n        r = v.substring(1, 3);\n        g = v.substring(3, 5);\n        b = v.substring(5, 7);\n        a = v.substring(7, 9);\n        // Or we have 3 characters, ie #F00\n    }\n    else {\n        r = v.substring(1, 2);\n        g = v.substring(2, 3);\n        b = v.substring(3, 4);\n        a = v.substring(4, 5);\n        r += r;\n        g += g;\n        b += b;\n        a += a;\n    }\n    return {\n        red: parseInt(r, 16),\n        green: parseInt(g, 16),\n        blue: parseInt(b, 16),\n        alpha: a ? parseInt(a, 16) / 255 : 1,\n    };\n}\nconst hex = {\n    test: /*@__PURE__*/ isColorString(\"#\"),\n    parse: parseHex,\n    transform: rgba.transform,\n};\n\nexport { hex };\n//# sourceMappingURL=hex.mjs.map\n","// Adapted from https://gist.github.com/mjackson/5311256\nfunction hueToRgb(p, q, t) {\n    if (t < 0)\n        t += 1;\n    if (t > 1)\n        t -= 1;\n    if (t < 1 / 6)\n        return p + (q - p) * 6 * t;\n    if (t < 1 / 2)\n        return q;\n    if (t < 2 / 3)\n        return p + (q - p) * (2 / 3 - t) * 6;\n    return p;\n}\nfunction hslaToRgba({ hue, saturation, lightness, alpha }) {\n    hue /= 360;\n    saturation /= 100;\n    lightness /= 100;\n    let red = 0;\n    let green = 0;\n    let blue = 0;\n    if (!saturation) {\n        red = green = blue = lightness;\n    }\n    else {\n        const q = lightness < 0.5\n            ? lightness * (1 + saturation)\n            : lightness + saturation - lightness * saturation;\n        const p = 2 * lightness - q;\n        red = hueToRgb(p, q, hue + 1 / 3);\n        green = hueToRgb(p, q, hue);\n        blue = hueToRgb(p, q, hue - 1 / 3);\n    }\n    return {\n        red: Math.round(red * 255),\n        green: Math.round(green * 255),\n        blue: Math.round(blue * 255),\n        alpha,\n    };\n}\n\nexport { hslaToRgba };\n//# sourceMappingURL=hsla-to-rgba.mjs.map\n","import { alpha } from '../numbers/index.mjs';\nimport { percent } from '../numbers/units.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst hsla = {\n    test: /*@__PURE__*/ isColorString(\"hsl\", \"hue\"),\n    parse: /*@__PURE__*/ splitColor(\"hue\", \"saturation\", \"lightness\"),\n    transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {\n        return (\"hsla(\" +\n            Math.round(hue) +\n            \", \" +\n            percent.transform(sanitize(saturation)) +\n            \", \" +\n            percent.transform(sanitize(lightness)) +\n            \", \" +\n            sanitize(alpha.transform(alpha$1)) +\n            \")\");\n    },\n};\n\nexport { hsla };\n//# sourceMappingURL=hsla.mjs.map\n","import { hex } from './hex.mjs';\nimport { hsla } from './hsla.mjs';\nimport { rgba } from './rgba.mjs';\n\nconst color = {\n    test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),\n    parse: (v) => {\n        if (rgba.test(v)) {\n            return rgba.parse(v);\n        }\n        else if (hsla.test(v)) {\n            return hsla.parse(v);\n        }\n        else {\n            return hex.parse(v);\n        }\n    },\n    transform: (v) => {\n        return typeof v === \"string\"\n            ? v\n            : v.hasOwnProperty(\"red\")\n                ? rgba.transform(v)\n                : hsla.transform(v);\n    },\n    getAnimatableNone: (v) => {\n        const parsed = color.parse(v);\n        parsed.alpha = 0;\n        return color.transform(parsed);\n    },\n};\n\nexport { color };\n//# sourceMappingURL=index.mjs.map\n","import { clamp } from 'motion-utils';\nimport { number, alpha } from '../numbers/index.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\nimport { isColorString, splitColor } from './utils.mjs';\n\nconst clampRgbUnit = (v) => clamp(0, 255, v);\nconst rgbUnit = {\n    ...number,\n    transform: (v) => Math.round(clampRgbUnit(v)),\n};\nconst rgba = {\n    test: /*@__PURE__*/ isColorString(\"rgb\", \"red\"),\n    parse: /*@__PURE__*/ splitColor(\"red\", \"green\", \"blue\"),\n    transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => \"rgba(\" +\n        rgbUnit.transform(red) +\n        \", \" +\n        rgbUnit.transform(green) +\n        \", \" +\n        rgbUnit.transform(blue) +\n        \", \" +\n        sanitize(alpha.transform(alpha$1)) +\n        \")\",\n};\n\nexport { rgbUnit, rgba };\n//# sourceMappingURL=rgba.mjs.map\n","import { floatRegex } from '../utils/float-regex.mjs';\nimport { isNullish } from '../utils/is-nullish.mjs';\nimport { singleColorRegex } from '../utils/single-color-regex.mjs';\n\n/**\n * Returns true if the provided string is a color, ie rgba(0,0,0,0) or #000,\n * but false if a number or multiple colors\n */\nconst isColorString = (type, testProp) => (v) => {\n    return Boolean((typeof v === \"string\" &&\n        singleColorRegex.test(v) &&\n        v.startsWith(type)) ||\n        (testProp &&\n            !isNullish(v) &&\n            Object.prototype.hasOwnProperty.call(v, testProp)));\n};\nconst splitColor = (aName, bName, cName) => (v) => {\n    if (typeof v !== \"string\")\n        return v;\n    const [a, b, c, alpha] = v.match(floatRegex);\n    return {\n        [aName]: parseFloat(a),\n        [bName]: parseFloat(b),\n        [cName]: parseFloat(c),\n        alpha: alpha !== undefined ? parseFloat(alpha) : 1,\n    };\n};\n\nexport { isColorString, splitColor };\n//# sourceMappingURL=utils.mjs.map\n","import { complex } from './index.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\n\n/**\n * Properties that should default to 1 or 100%\n */\nconst maxDefaults = new Set([\"brightness\", \"contrast\", \"saturate\", \"opacity\"]);\nfunction applyDefaultFilter(v) {\n    const [name, value] = v.slice(0, -1).split(\"(\");\n    if (name === \"drop-shadow\")\n        return v;\n    const [number] = value.match(floatRegex) || [];\n    if (!number)\n        return v;\n    const unit = value.replace(number, \"\");\n    let defaultValue = maxDefaults.has(name) ? 1 : 0;\n    if (number !== value)\n        defaultValue *= 100;\n    return name + \"(\" + defaultValue + unit + \")\";\n}\nconst functionRegex = /\\b([a-z-]*)\\(.*?\\)/gu;\nconst filter = {\n    ...complex,\n    getAnimatableNone: (v) => {\n        const functions = v.match(functionRegex);\n        return functions ? functions.map(applyDefaultFilter).join(\" \") : v;\n    },\n};\n\nexport { filter };\n//# sourceMappingURL=filter.mjs.map\n","import { color } from '../color/index.mjs';\nimport { colorRegex } from '../utils/color-regex.mjs';\nimport { floatRegex } from '../utils/float-regex.mjs';\nimport { sanitize } from '../utils/sanitize.mjs';\n\nfunction test(v) {\n    return (isNaN(v) &&\n        typeof v === \"string\" &&\n        (v.match(floatRegex)?.length || 0) +\n            (v.match(colorRegex)?.length || 0) >\n            0);\n}\nconst NUMBER_TOKEN = \"number\";\nconst COLOR_TOKEN = \"color\";\nconst VAR_TOKEN = \"var\";\nconst VAR_FUNCTION_TOKEN = \"var(\";\nconst SPLIT_TOKEN = \"${}\";\n// this regex consists of the `singleCssVariableRegex|rgbHSLValueRegex|digitRegex`\nconst complexRegex = /var\\s*\\(\\s*--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)|#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\)|-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/giu;\nfunction analyseComplexValue(value) {\n    const originalValue = value.toString();\n    const values = [];\n    const indexes = {\n        color: [],\n        number: [],\n        var: [],\n    };\n    const types = [];\n    let i = 0;\n    const tokenised = originalValue.replace(complexRegex, (parsedValue) => {\n        if (color.test(parsedValue)) {\n            indexes.color.push(i);\n            types.push(COLOR_TOKEN);\n            values.push(color.parse(parsedValue));\n        }\n        else if (parsedValue.startsWith(VAR_FUNCTION_TOKEN)) {\n            indexes.var.push(i);\n            types.push(VAR_TOKEN);\n            values.push(parsedValue);\n        }\n        else {\n            indexes.number.push(i);\n            types.push(NUMBER_TOKEN);\n            values.push(parseFloat(parsedValue));\n        }\n        ++i;\n        return SPLIT_TOKEN;\n    });\n    const split = tokenised.split(SPLIT_TOKEN);\n    return { values, split, indexes, types };\n}\nfunction parseComplexValue(v) {\n    return analyseComplexValue(v).values;\n}\nfunction createTransformer(source) {\n    const { split, types } = analyseComplexValue(source);\n    const numSections = split.length;\n    return (v) => {\n        let output = \"\";\n        for (let i = 0; i < numSections; i++) {\n            output += split[i];\n            if (v[i] !== undefined) {\n                const type = types[i];\n                if (type === NUMBER_TOKEN) {\n                    output += sanitize(v[i]);\n                }\n                else if (type === COLOR_TOKEN) {\n                    output += color.transform(v[i]);\n                }\n                else {\n                    output += v[i];\n                }\n            }\n        }\n        return output;\n    };\n}\nconst convertNumbersToZero = (v) => typeof v === \"number\" ? 0 : color.test(v) ? color.getAnimatableNone(v) : v;\nfunction getAnimatableNone(v) {\n    const parsed = parseComplexValue(v);\n    const transformer = createTransformer(v);\n    return transformer(parsed.map(convertNumbersToZero));\n}\nconst complex = {\n    test,\n    parse: parseComplexValue,\n    createTransformer,\n    getAnimatableNone,\n};\n\nexport { analyseComplexValue, complex };\n//# sourceMappingURL=index.mjs.map\n","import { complex } from './index.mjs';\n\nconst mask = {\n    ...complex,\n    getAnimatableNone: (v) => {\n        const parsed = complex.parse(v);\n        const transformer = complex.createTransformer(v);\n        return transformer(parsed.map((v) => typeof v === \"number\" ? 0 : typeof v === \"object\" ? { ...v, alpha: 1 } : v));\n    },\n};\n\nexport { mask };\n//# sourceMappingURL=mask.mjs.map\n","import { auto } from './auto.mjs';\nimport { number } from './numbers/index.mjs';\nimport { px, percent, degrees, vw, vh } from './numbers/units.mjs';\nimport { testValueType } from './test.mjs';\n\n/**\n * A list of value types commonly used for dimensions\n */\nconst dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nconst findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));\n\nexport { dimensionValueTypes, findDimensionValueType };\n//# sourceMappingURL=dimensions.mjs.map\n","import { number } from './numbers/index.mjs';\n\nconst int = {\n    ...number,\n    transform: Math.round,\n};\n\nexport { int };\n//# sourceMappingURL=int.mjs.map\n","import { color } from '../color/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { mask } from '../complex/mask.mjs';\nimport { numberValueTypes } from './number.mjs';\n\n/**\n * A map of default value types for common values\n */\nconst defaultValueTypes = {\n    ...numberValueTypes,\n    // Color props\n    color,\n    backgroundColor: color,\n    outlineColor: color,\n    fill: color,\n    stroke: color,\n    // Border props\n    borderColor: color,\n    borderTopColor: color,\n    borderRightColor: color,\n    borderBottomColor: color,\n    borderLeftColor: color,\n    filter,\n    WebkitFilter: filter,\n    mask,\n    WebkitMask: mask,\n};\n/**\n * Gets the default ValueType for the provided value key\n */\nconst getDefaultValueType = (key) => defaultValueTypes[key];\n\nexport { defaultValueTypes, getDefaultValueType };\n//# sourceMappingURL=defaults.mjs.map\n","import { int } from '../int.mjs';\nimport { alpha } from '../numbers/index.mjs';\nimport { px } from '../numbers/units.mjs';\nimport { transformValueTypes } from './transform.mjs';\n\nconst numberValueTypes = {\n    // Border props\n    borderWidth: px,\n    borderTopWidth: px,\n    borderRightWidth: px,\n    borderBottomWidth: px,\n    borderLeftWidth: px,\n    borderRadius: px,\n    borderTopLeftRadius: px,\n    borderTopRightRadius: px,\n    borderBottomRightRadius: px,\n    borderBottomLeftRadius: px,\n    // Positioning props\n    width: px,\n    maxWidth: px,\n    height: px,\n    maxHeight: px,\n    top: px,\n    right: px,\n    bottom: px,\n    left: px,\n    inset: px,\n    insetBlock: px,\n    insetBlockStart: px,\n    insetBlockEnd: px,\n    insetInline: px,\n    insetInlineStart: px,\n    insetInlineEnd: px,\n    // Spacing props\n    padding: px,\n    paddingTop: px,\n    paddingRight: px,\n    paddingBottom: px,\n    paddingLeft: px,\n    paddingBlock: px,\n    paddingBlockStart: px,\n    paddingBlockEnd: px,\n    paddingInline: px,\n    paddingInlineStart: px,\n    paddingInlineEnd: px,\n    margin: px,\n    marginTop: px,\n    marginRight: px,\n    marginBottom: px,\n    marginLeft: px,\n    marginBlock: px,\n    marginBlockStart: px,\n    marginBlockEnd: px,\n    marginInline: px,\n    marginInlineStart: px,\n    marginInlineEnd: px,\n    // Typography\n    fontSize: px,\n    // Misc\n    backgroundPositionX: px,\n    backgroundPositionY: px,\n    ...transformValueTypes,\n    zIndex: int,\n    // SVG\n    fillOpacity: alpha,\n    strokeOpacity: alpha,\n    numOctaves: int,\n};\n\nexport { numberValueTypes };\n//# sourceMappingURL=number.mjs.map\n","import { scale, alpha } from '../numbers/index.mjs';\nimport { degrees, px, progressPercentage } from '../numbers/units.mjs';\n\nconst transformValueTypes = {\n    rotate: degrees,\n    rotateX: degrees,\n    rotateY: degrees,\n    rotateZ: degrees,\n    scale,\n    scaleX: scale,\n    scaleY: scale,\n    scaleZ: scale,\n    skew: degrees,\n    skewX: degrees,\n    skewY: degrees,\n    distance: px,\n    translateX: px,\n    translateY: px,\n    translateZ: px,\n    x: px,\n    y: px,\n    z: px,\n    perspective: px,\n    transformPerspective: px,\n    opacity: alpha,\n    originX: progressPercentage,\n    originY: progressPercentage,\n    originZ: px,\n};\n\nexport { transformValueTypes };\n//# sourceMappingURL=transform.mjs.map\n","import { clamp } from 'motion-utils';\n\nconst number = {\n    test: (v) => typeof v === \"number\",\n    parse: parseFloat,\n    transform: (v) => v,\n};\nconst alpha = {\n    ...number,\n    transform: (v) => clamp(0, 1, v),\n};\nconst scale = {\n    ...number,\n    default: 1,\n};\n\nexport { alpha, number, scale };\n//# sourceMappingURL=index.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst createUnitType = (unit) => ({\n    test: (v) => typeof v === \"string\" && v.endsWith(unit) && v.split(\" \").length === 1,\n    parse: parseFloat,\n    transform: (v) => `${v}${unit}`,\n});\nconst degrees = /*@__PURE__*/ createUnitType(\"deg\");\nconst percent = /*@__PURE__*/ createUnitType(\"%\");\nconst px = /*@__PURE__*/ createUnitType(\"px\");\nconst vh = /*@__PURE__*/ createUnitType(\"vh\");\nconst vw = /*@__PURE__*/ createUnitType(\"vw\");\nconst progressPercentage = /*@__PURE__*/ (() => ({\n    ...percent,\n    parse: (v) => percent.parse(v) / 100,\n    transform: (v) => percent.transform(v * 100),\n}))();\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n//# sourceMappingURL=units.mjs.map\n","/**\n * Tests a provided value against a ValueType\n */\nconst testValueType = (v) => (type) => type.test(v);\n\nexport { testValueType };\n//# sourceMappingURL=test.mjs.map\n","import { complex } from '../complex/index.mjs';\nimport { filter } from '../complex/filter.mjs';\nimport { mask } from '../complex/mask.mjs';\nimport { getDefaultValueType } from '../maps/defaults.mjs';\n\nconst customTypes = /*@__PURE__*/ new Set([filter, mask]);\nfunction getAnimatableNone(key, value) {\n    let defaultValueType = getDefaultValueType(key);\n    if (!customTypes.has(defaultValueType))\n        defaultValueType = complex;\n    // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n    return defaultValueType.getAnimatableNone\n        ? defaultValueType.getAnimatableNone(value)\n        : undefined;\n}\n\nexport { getAnimatableNone };\n//# sourceMappingURL=animatable-none.mjs.map\n","const colorRegex = /(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu;\n\nexport { colorRegex };\n//# sourceMappingURL=color-regex.mjs.map\n","import { color } from '../color/index.mjs';\nimport { complex } from '../complex/index.mjs';\nimport { dimensionValueTypes } from '../dimensions.mjs';\nimport { testValueType } from '../test.mjs';\n\n/**\n * A list of all ValueTypes\n */\nconst valueTypes = [...dimensionValueTypes, color, complex];\n/**\n * Tests a value against the list of ValueTypes\n */\nconst findValueType = (v) => valueTypes.find(testValueType(v));\n\nexport { findValueType };\n//# sourceMappingURL=find.mjs.map\n","const floatRegex = /-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu;\n\nexport { floatRegex };\n//# sourceMappingURL=float-regex.mjs.map\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nconst getValueAsType = (value, type) => {\n    return type && typeof value === \"number\"\n        ? type.transform(value)\n        : value;\n};\n\nexport { getValueAsType };\n//# sourceMappingURL=get-as-type.mjs.map\n","function isNullish(v) {\n    return v == null;\n}\n\nexport { isNullish };\n//# sourceMappingURL=is-nullish.mjs.map\n","// If this number is a decimal, make it just five decimal places\n// to avoid exponents\nconst sanitize = (v) => Math.round(v * 100000) / 100000;\n\nexport { sanitize };\n//# sourceMappingURL=sanitize.mjs.map\n","const singleColorRegex = /^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu;\n\nexport { singleColorRegex };\n//# sourceMappingURL=single-color-regex.mjs.map\n","const isMotionValue = (value) => Boolean(value && value.getVelocity);\n\nexport { isMotionValue };\n//# sourceMappingURL=is-motion-value.mjs.map\n","import { isMotionValue } from './is-motion-value.mjs';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n */\nfunction resolveMotionValue(value) {\n    return isMotionValue(value) ? value.get() : value;\n}\n\nexport { resolveMotionValue };\n//# sourceMappingURL=resolve-motion-value.mjs.map\n","import { MotionGlobalConfig } from 'motion-utils';\nimport { isWillChangeMotionValue } from './is.mjs';\n\nfunction addValueToWillChange(visualElement, key) {\n    const willChange = visualElement.getValue(\"willChange\");\n    /**\n     * It could be that a user has set willChange to a regular MotionValue,\n     * in which case we can't add the value to it.\n     */\n    if (isWillChangeMotionValue(willChange)) {\n        return willChange.add(key);\n    }\n    else if (!willChange && MotionGlobalConfig.WillChange) {\n        const newWillChange = new MotionGlobalConfig.WillChange(\"auto\");\n        visualElement.addValue(\"willChange\", newWillChange);\n        newWillChange.add(key);\n    }\n}\n\nexport { addValueToWillChange };\n//# sourceMappingURL=add-will-change.mjs.map\n","import { isMotionValue } from '../utils/is-motion-value.mjs';\n\nfunction isWillChangeMotionValue(value) {\n    return Boolean(isMotionValue(value) && value.add);\n}\n\nexport { isWillChangeMotionValue };\n//# sourceMappingURL=is.mjs.map\n","function addUniqueItem(arr, item) {\n    if (arr.indexOf(item) === -1)\n        arr.push(item);\n}\nfunction removeItem(arr, item) {\n    const index = arr.indexOf(item);\n    if (index > -1)\n        arr.splice(index, 1);\n}\n// Adapted from array-move\nfunction moveItem([...arr], fromIndex, toIndex) {\n    const startIndex = fromIndex < 0 ? arr.length + fromIndex : fromIndex;\n    if (startIndex >= 0 && startIndex < arr.length) {\n        const endIndex = toIndex < 0 ? arr.length + toIndex : toIndex;\n        const [item] = arr.splice(fromIndex, 1);\n        arr.splice(endIndex, 0, item);\n    }\n    return arr;\n}\n\nexport { addUniqueItem, moveItem, removeItem };\n//# sourceMappingURL=array.mjs.map\n","const clamp = (min, max, v) => {\n    if (v > max)\n        return max;\n    if (v < min)\n        return min;\n    return v;\n};\n\nexport { clamp };\n//# sourceMappingURL=clamp.mjs.map\n","import { backIn } from './back.mjs';\n\nconst anticipate = (p) => (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n\nexport { anticipate };\n//# sourceMappingURL=anticipate.mjs.map\n","import { cubicBezier } from './cubic-bezier.mjs';\nimport { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst backOut = /*@__PURE__*/ cubicBezier(0.33, 1.53, 0.69, 0.99);\nconst backIn = /*@__PURE__*/ reverseEasing(backOut);\nconst backInOut = /*@__PURE__*/ mirrorEasing(backIn);\n\nexport { backIn, backInOut, backOut };\n//# sourceMappingURL=back.mjs.map\n","import { mirrorEasing } from './modifiers/mirror.mjs';\nimport { reverseEasing } from './modifiers/reverse.mjs';\n\nconst circIn = (p) => 1 - Math.sin(Math.acos(p));\nconst circOut = reverseEasing(circIn);\nconst circInOut = mirrorEasing(circIn);\n\nexport { circIn, circInOut, circOut };\n//# sourceMappingURL=circ.mjs.map\n","import { noop } from '../noop.mjs';\n\n/*\n  Bezier function generator\n  This has been modified from Gaëtan Renaudeau's BezierEasing\n  https://github.com/gre/bezier-easing/blob/master/src/index.js\n  https://github.com/gre/bezier-easing/blob/master/LICENSE\n  \n  I've removed the newtonRaphsonIterate algo because in benchmarking it\n  wasn't noticeably faster than binarySubdivision, indeed removing it\n  usually improved times, depending on the curve.\n  I also removed the lookup table, as for the added bundle size and loop we're\n  only cutting ~4 or so subdivision iterations. I bumped the max iterations up\n  to 12 to compensate and this still tended to be faster for no perceivable\n  loss in accuracy.\n  Usage\n    const easeOut = cubicBezier(.17,.67,.83,.67);\n    const x = easeOut(0.5); // returns 0.627...\n*/\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nconst calcBezier = (t, a1, a2) => (((1.0 - 3.0 * a2 + 3.0 * a1) * t + (3.0 * a2 - 6.0 * a1)) * t + 3.0 * a1) *\n    t;\nconst subdivisionPrecision = 0.0000001;\nconst subdivisionMaxIterations = 12;\nfunction binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {\n    let currentX;\n    let currentT;\n    let i = 0;\n    do {\n        currentT = lowerBound + (upperBound - lowerBound) / 2.0;\n        currentX = calcBezier(currentT, mX1, mX2) - x;\n        if (currentX > 0.0) {\n            upperBound = currentT;\n        }\n        else {\n            lowerBound = currentT;\n        }\n    } while (Math.abs(currentX) > subdivisionPrecision &&\n        ++i < subdivisionMaxIterations);\n    return currentT;\n}\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n    // If this is a linear gradient, return linear easing\n    if (mX1 === mY1 && mX2 === mY2)\n        return noop;\n    const getTForX = (aX) => binarySubdivide(aX, 0, 1, mX1, mX2);\n    // If animation is at start/end, return t without easing\n    return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n}\n\nexport { cubicBezier };\n//# sourceMappingURL=cubic-bezier.mjs.map\n","import { cubicBezier } from './cubic-bezier.mjs';\n\nconst easeIn = /*@__PURE__*/ cubicBezier(0.42, 0, 1, 1);\nconst easeOut = /*@__PURE__*/ cubicBezier(0, 0, 0.58, 1);\nconst easeInOut = /*@__PURE__*/ cubicBezier(0.42, 0, 0.58, 1);\n\nexport { easeIn, easeInOut, easeOut };\n//# sourceMappingURL=ease.mjs.map\n","// Accepts an easing function and returns a new one that outputs mirrored values for\n// the second half of the animation. Turns easeIn into easeInOut.\nconst mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n\nexport { mirrorEasing };\n//# sourceMappingURL=mirror.mjs.map\n","// Accepts an easing function and returns a new one that outputs reversed values.\n// Turns easeIn into easeOut.\nconst reverseEasing = (easing) => (p) => 1 - easing(1 - p);\n\nexport { reverseEasing };\n//# sourceMappingURL=reverse.mjs.map\n","const isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === \"number\";\n\nexport { isBezierDefinition };\n//# sourceMappingURL=is-bezier-definition.mjs.map\n","const isEasingArray = (ease) => {\n    return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { isEasingArray };\n//# sourceMappingURL=is-easing-array.mjs.map\n","import { invariant } from '../../errors.mjs';\nimport { noop } from '../../noop.mjs';\nimport { anticipate } from '../anticipate.mjs';\nimport { backIn, backInOut, backOut } from '../back.mjs';\nimport { circIn, circInOut, circOut } from '../circ.mjs';\nimport { cubicBezier } from '../cubic-bezier.mjs';\nimport { easeIn, easeInOut, easeOut } from '../ease.mjs';\nimport { isBezierDefinition } from './is-bezier-definition.mjs';\n\nconst easingLookup = {\n    linear: noop,\n    easeIn,\n    easeInOut,\n    easeOut,\n    circIn,\n    circInOut,\n    circOut,\n    backIn,\n    backInOut,\n    backOut,\n    anticipate,\n};\nconst isValidEasing = (easing) => {\n    return typeof easing === \"string\";\n};\nconst easingDefinitionToFunction = (definition) => {\n    if (isBezierDefinition(definition)) {\n        // If cubic bezier definition, create bezier curve\n        invariant(definition.length === 4, `Cubic bezier arrays must contain four numerical values.`, \"cubic-bezier-length\");\n        const [x1, y1, x2, y2] = definition;\n        return cubicBezier(x1, y1, x2, y2);\n    }\n    else if (isValidEasing(definition)) {\n        // Else lookup from table\n        invariant(easingLookup[definition] !== undefined, `Invalid easing type '${definition}'`, \"invalid-easing-type\");\n        return easingLookup[definition];\n    }\n    return definition;\n};\n\nexport { easingDefinitionToFunction };\n//# sourceMappingURL=map.mjs.map\n","import { formatErrorMessage } from './format-error-message.mjs';\n\nlet warning = () => { };\nlet invariant = () => { };\nif (typeof process !== \"undefined\" &&\n    process.env?.NODE_ENV !== \"production\") {\n    warning = (check, message, errorCode) => {\n        if (!check && typeof console !== \"undefined\") {\n            console.warn(formatErrorMessage(message, errorCode));\n        }\n    };\n    invariant = (check, message, errorCode) => {\n        if (!check) {\n            throw new Error(formatErrorMessage(message, errorCode));\n        }\n    };\n}\n\nexport { invariant, warning };\n//# sourceMappingURL=errors.mjs.map\n","const MotionGlobalConfig = {};\n\nexport { MotionGlobalConfig };\n//# sourceMappingURL=global-config.mjs.map\n","/**\n * Check if value is a numerical string, ie a string that is purely a number eg \"100\" or \"-100.1\"\n */\nconst isNumericalString = (v) => /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(v);\n\nexport { isNumericalString };\n//# sourceMappingURL=is-numerical-string.mjs.map\n","function isObject(value) {\n    return typeof value === \"object\" && value !== null;\n}\n\nexport { isObject };\n//# sourceMappingURL=is-object.mjs.map\n","/**\n * Check if the value is a zero value string like \"0px\" or \"0%\"\n */\nconst isZeroValueString = (v) => /^0[^.\\s]+$/u.test(v);\n\nexport { isZeroValueString };\n//# sourceMappingURL=is-zero-value-string.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nfunction memo(callback) {\n    let result;\n    return () => {\n        if (result === undefined)\n            result = callback();\n        return result;\n    };\n}\n\nexport { memo };\n//# sourceMappingURL=memo.mjs.map\n","/*#__NO_SIDE_EFFECTS__*/\nconst noop = (any) => any;\n\nexport { noop };\n//# sourceMappingURL=noop.mjs.map\n","/**\n * Pipe\n * Compose other transformers to run linearily\n * pipe(min(20), max(40))\n * @param  {...functions} transformers\n * @return {function}\n */\nconst combineFunctions = (a, b) => (v) => b(a(v));\nconst pipe = (...transformers) => transformers.reduce(combineFunctions);\n\nexport { pipe };\n//# sourceMappingURL=pipe.mjs.map\n","/*\n  Progress within given range\n\n  Given a lower limit and an upper limit, we return the progress\n  (expressed as a number 0-1) represented by the given value, and\n  limit that progress to within 0-1.\n\n  @param [number]: Lower limit\n  @param [number]: Upper limit\n  @param [number]: Value to find progress within given range\n  @return [number]: Progress of value within range as expressed 0-1\n*/\n/*#__NO_SIDE_EFFECTS__*/\nconst progress = (from, to, value) => {\n    const toFromDifference = to - from;\n    return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n//# sourceMappingURL=progress.mjs.map\n","import { addUniqueItem, removeItem } from './array.mjs';\n\nclass SubscriptionManager {\n    constructor() {\n        this.subscriptions = [];\n    }\n    add(handler) {\n        addUniqueItem(this.subscriptions, handler);\n        return () => removeItem(this.subscriptions, handler);\n    }\n    notify(a, b, c) {\n        const numSubscriptions = this.subscriptions.length;\n        if (!numSubscriptions)\n            return;\n        if (numSubscriptions === 1) {\n            /**\n             * If there's only a single handler we can just call it without invoking a loop.\n             */\n            this.subscriptions[0](a, b, c);\n        }\n        else {\n            for (let i = 0; i < numSubscriptions; i++) {\n                /**\n                 * Check whether the handler exists before firing as it's possible\n                 * the subscriptions were modified during this loop running.\n                 */\n                const handler = this.subscriptions[i];\n                handler && handler(a, b, c);\n            }\n        }\n    }\n    getSize() {\n        return this.subscriptions.length;\n    }\n    clear() {\n        this.subscriptions.length = 0;\n    }\n}\n\nexport { SubscriptionManager };\n//# sourceMappingURL=subscription-manager.mjs.map\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\n/*#__NO_SIDE_EFFECTS__*/\nconst secondsToMilliseconds = (seconds) => seconds * 1000;\n/*#__NO_SIDE_EFFECTS__*/\nconst millisecondsToSeconds = (milliseconds) => milliseconds / 1000;\n\nexport { millisecondsToSeconds, secondsToMilliseconds };\n//# sourceMappingURL=time-conversion.mjs.map\n","/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/\nfunction velocityPerSecond(velocity, frameDuration) {\n    return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n//# sourceMappingURL=velocity-per-second.mjs.map\n"],"names":["e","L","Object","defineProperty","fe","defineProperties","me","getOwnPropertyDescriptor","he","getOwnPropertyDescriptors","ye","getOwnPropertyNames","ee","getOwnPropertySymbols","te","prototype","hasOwnProperty","xe","propertyIsEnumerable","re","r","t","enumerable","configurable","writable","value","_","call","tr","get","we","formatFileSize","ne","twMerge","ge","module","exports","o","i","ve","n","Math","floor","log","parseFloat","pow","toFixed","ae","l","length","classGroupId","nextPart","slice","validators","join","find","validator","s","se","q","forEach","Se","push","entries","ie","split","has","set","Map","isThemeGetter","Ae","map","fromEntries","Ge","Pe","separator","experimentalParseClassName","y","u","g","m","p","f","x","substring","v","startsWith","modifiers","hasImportantModifier","baseClassName","maybePostfixModifierPosition","className","parseClassName","Re","sort","Ie","cache","cacheSize","theme","prefix","classGroups","Me","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","shift","test","exec","indexOf","ze","getConflictingClassGroupIds","Ce","Te","Be","arguments","de","le","reduce","trim","w","b","h","includes","P","S","B","Ne","apply","c","pe","Ee","je","Set","Le","_e","We","$e","Fe","C","A","z","G","Xe","Number","isNaN","O","I","isInteger","Ve","endsWith","a","M","Ue","Oe","ue","qe","Ke","Ze","He","Je","Ye","T","W","Z","J","X","V","d","Y","E","R","k","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","aspect","container","columns","box","display","float","clear","isolation","object","overflow","overscroll","position","start","end","top","right","bottom","left","visibility","basis","flex","grow","shrink","order","col","span","row","justify","content","items","self","px","py","ps","pt","pr","pb","pl","mx","my","ms","mt","mr","mb","ml","screen","size","text","font","tracking","leading","list","placeholder","decoration","indent","align","whitespace","break","hyphens","bg","repeat","from","via","to","rounded","border","divide","outline","ring","shadow","filter","table","caption","transition","duration","ease","delay","animate","transform","rotate","origin","accent","appearance","cursor","caret","resize","scroll","snap","touch","select","fill","stroke","sr","N","De","er","concat","rr","extend","override","Qe","be","oe","_path","_extends","assign","bind","SvgQuestionCircle","props","width","height","viewBox","xmlns","fillRule","clipRule","SvgSearch","counterMap","WeakMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","node","host","parentNode","hideOthers","originalTarget","markerName","targets","Array","isArray","activeParentNode","document","ownerDocument","body","getDefaultParent","querySelectorAll","controlAttribute","parent","target","contains","correctedTarget","console","error","Boolean","correctTargets","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","el","add","deep","children","attr","getAttribute","alreadyHidden","counterValue","markerValue","setAttribute","removeAttribute","delete","applyAttributeToOthers","showEvent","triggerSnackbar","message","link","dispatchEvent","CustomEvent","detail","Snackbar","snackRef","useRef","_useState2","useState","activeMessage","setActiveMessage","queue","useEffect","listener","_ref","current","addEventListener","removeEventListener","timer","setTimeout","first","clearTimeout","calculatePosition","scrollHeight","style","_e$target","scrollingElement","scrollTop","React","ref","window","scrollY","href","url","initSnackbar","$","appendTo","createRoot","render","flashMessages","message_type","StateType","HTTP","endpoints","editortools","id","handled","archived","locked","priority","tags","status","relateTicket","comments","create","update","comment","activity","slug","changeChannel","org","channels","dashboardItem","drafts","user","profile","search","externalConversations","conversations","itemId","conversationId","ai","smartSuggestions","inboxSlug","dialogSlug","mailCommentId","keywordSearch","searchTerm","ticket","cancelCsatSurvey","publicId","csatSurveyStatus","useApi","verb","endpoint","isUnmounted","dataType","type","Idle","networkState","setNetworkState","handleResponse","promise","Loading","then","payload","Done","catch","Error","match","with","GET","Promise","resolve","reject","POST","data","post","PUT","ajax","JSON","stringify","DELETE","PATCH","contentType","run","request","NullAttachmentsList","_classCallCheck","_createClass","key","msg","alert","progress","file","file_id","LargeAttachmentsList","elm","onChange","this","attachments","json_field","attachment_list","label","on","preventDefault","remove_file","frame","remove","elms","get_files","_file_to_element","append","show","hide","fileName","filename","path","replace","fileType","extension","undefined","pop","toLowerCase","definedFiletypes","pdf","word","excel","image","doc","docx","xls","xlsx","jpeg","jpg","jpe","png","gif","tif","tiff","getFiletypeFromName","button","IconX","TRANSLATIONS","nameLink","li","iconClass","icon","img","show_progress_error","before","disposition","attachmentsListElement","bounding","getBoundingClientRect","innerHeight","scrollIntoView","behavior","add_progress_bar","progressBar","css","addClass","round","removeClass","files","temporary_url","set_files","json","parse","val","trigger","refresh_attachments","Formatting","init","each","_i","form","elem","getKundoFroalaInstance","attachmentsElm","isMailContext","allowLargeUploads","dataset","attachmentsList","KundoFroalaEditor","setupTextEditorForm","handleKeyDown","_getKundoFroalaInstan7","isTextEditorReady","_getKundoFroalaInstan","isInitialized","waitForTextEditorReady","retryFunction","editor","getTextEditorHTML","_getKundoFroalaInstan2","getHTML","setTextEditorHTML","html","_getKundoFroalaInstan3","setHTML","getTextEditorCaretPosition","_getKundoFroalaInstan4","froala","getBoundingRect","focusTextEditor","_getKundoFroalaInstan5","focus","forceTextEditorAutosave","_getKundoFroalaInstan6","setDirty","event","metaKey","ctrlKey","shiftKey","stopPropagation","parents","submit","KUNDO","formatting","dependencies","FroalaEditorV4","FroalaEditor","AutoRepliesAlerts","isOpen","title","ctaButtonText","onAction","toastContainer","useMemo","element","getElementById","createElement","appendChild","innerHTML","open","setOpen","createPortal","Toast","swipeDirection","description","onOpenChange","_document$querySelect","querySelector","closeButtonText","gettext","buttonText","initAutoRepliesAlerts","_ref2","root","Symbol","iterator","toStringTag","Generator","_regeneratorDefine2","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","_invoke","_OverloadYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","skeleton","editorSetHtml","parseDOM","DOMParser","parseFromString","trimContent","editableContent","_ref$removePreviosAut","removePreviosAutoreply","parsedEditorContent","currentContent","deleteSkeleton","cleanedHtml","showSkeleton","_ref2$removePreviousC","removePreviousContent","_ref2$removePreviosAu","_editableContent","updatedHtml","stringIsEmpty","checkIfEmptyString","replacementHtml","str","_container$textConten","_container$textConten2","br","textContent","insertResult","_x","_insertResult","_regeneratorRuntime","mark","_callee","_ref3","_ref3$removePreviousC","_editableContent2","wrap","_context","prev","next","undo","saveStep","events","stop","aiAutoReplies","DEFAULTS","PLUGINS","toolbar","$tb","editorBox","$box","aiAutoResponseBtn","parentForm","$oel","closest","editorOn","edit","classList","_generateResponse","onSuccess","onError","messagePuri","channelType","response","abrupt","fetch","toString","method","headers","Accept","sent","ok","renderAlert","errorCode","code","MailHistoryPlugin","_init","t0","buttonStatus","_ref2$isLoading","isLoading","textContainer","defaultTitle","cmdTitle","loadingTitle","froalaAiAutoReply","buttonPreloader","_x2","_renderAlert","_callee2","_TRANSLATIONS2","errorAiTechError","outgoingThreadMessageNotice","errorAiTimeout","errorNoReplies","errorMessage","_context2","opts","fnEditorAlerts","insertAdjacentElement","initPlugin","connectInboxMessage","connectInboxCTA","isConnectedToSmartReplyChannel","hasSmartReplyChannels","off","deleteSources","generateResponse","references","renderSources","initAiSources","location","RegisterCommand","BTN_AI_AUTO_REPLIES","callback","plugin","popup","ApiPromptTypes","ApiPromptLangCode","ApiPromptTonality","useApiPrompt","promptType","_ref$prompt","prompt","language","tonality","channelPuri","_window","CURRENT_ORGANIZATION_ID","organizationPuri","message_puri","FREE_TEXT","FIX_SPELLING","TRANSLATE_TO","MAKE_LONGER","MAKE_SHORTER","CHANGE_TONE","t1","ALLOWED_IMAGE_EXTENSIONS","isAllowedImageMime","exts","len","PromptLanguages","ownKeys","keys","_objectSpread","_defineProperty","_typeof","toPrimitive","String","_toPrimitive","_toPropertyKey","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","constructor","name","_unsupportedIterableToArray","_nonIterableRest","tonalityTitle","ACADEMIC","CASUAL","PROFESSIONAL","AiWidgetButton","forwardRef","onClick","_props$asButton","asButton","rest","_objectWithoutPropertiesLoose","_objectWithoutProperties","_excluded","role","tabIndex","EditorAiPromptWidget","_ref5","setPrompt","_useState4","setFocus","_useState6","setIsLoading","_useState8","setAlert","isEmptyPromt","ctaText","setAlertState","_ref6","errorStatus","initPrompt","_ref8","_ref7","action","langCode","trimmed","DIV_TAG_START","DIV_TAG_END","BR_TAG","TRAILING_WHITESPACE_END_OF_STRING","OPTIONAL_WHITESPACE","previousTrimmed","iterations","RegExp","trimTrailingEmptyLines","temp","_tagName","last","lastElementChild","tagName","childNodes","firstChild","removeChild","getPreviousAiPromptResult","task_successful","initCustomPrompt","MenuDropdown","modal","PlusIcon","SpellCheckIcon","GlobeIcon","submenu","TextLongIcon","TextShortIcon","MegaphoneIcon","_ref4","item","index","Fragment","MenuDropdownSeparator","MenuDropdownSubMenu","MenuDropdownItemContainer","iconBefore","spacingBefore","hasSubMenu","subItem","subIndex","MenuDropdownItem","onSelect","WinkleIcon","autoComplete","onFocus","onBlur","onKeyDown","disabled","Tooltip","ArrowUpIcon","aiPrompts","wrapperElmnt","borderBottomLeftRadius","borderBottomRightRadius","_ref9","initEditorAiPromptWidget","renderWidget","registerInternalLinkCommand","BTN_INTERNAL_LINKS","btnOffset","offset","tbOffset","outerHeight","kundoFroala","internalLinkWidget","toggleInternalLinkWidget","chooseFile","acceptExtensions","multiple","input","prop","VIDEO_PROVIDERS","provider","test_regex","url_regex","url_text","loadFroala","assertFroalaLoaded","FroalaEditorStatic","LANGUAGE","translation","ICON_DEFAULT_TEMPLATE","DefineIconTemplate","BTN_IMAGES","_this","insertImage","insert_image","BTN_FILES","_this2","attachFile","attach_files","BTN_SNIPPETS","toggleSnippetWidget","reply_snippet","RegisterShortcut","charCodeAt","BTN_CLEAR","thisText","selection","insert","clear_formatting","BTN_CONTACTS","kundo_contact_modal_linktext","kundo_contact_modal_title","BTN_SELF_SERVICE","toggleSelfServiceWidget","registerCustomCommands","defineCustomIcons","offender","save","restore","froalaFixPasteBug","toggleHistoryVisibility","isInit","contentId","uuidv4","historyContent","toggleBtn","wrapPlainText","froalaMailHistory","TextWrapperPlugin","isWrapped","initWrapPlainText","froalaTextWrapper","BTN_EMOJIS","popups","isVisible","$el","disableBlur","emojis","hidePopup","showPopup","POPUP_TEMPLATES","EmojiPicker","custom_layer","emoji","setContainer","$btn","outerWidth","toolbarBottom","froalaEmoji","deleteEmptyContainers","editorEl","div","clone","cloneNode","child","allowed","onlyAllowed","every","containsAllowed","some","emptyDiv","insertBefore","deleteContainers","initFroalaEditor","options","UPLOADS_MAX_SIZE","UPLOADS_MAX_SIZE_MAIL","scrollContentToBottom","baseUploaderFactory","allowedExtensions","onComplete","useScrollToBottom","qq","inputName","customHeaders","retry","enableAuto","autoAttemptDelay","maxAutoAttempts","validation","sizeLimit","messages","typeError","file_upload_invalid_extension","emptyError","file_upload_empty","noFilesError","file_upload_no_files","sizeError","file_upload_size_error","callbacks","onSubmit","show_progress","onProgress","uploadedBytes","totalBytes","percent","onAutoRetry","file_upload_retrying","show_error_msg","errorReason","xhr","_formatSize","hide_progress","InternalLinkWidget","selected","searchBox","resultList","doSearch","selectItem","onselect","onclose","close","onLinkClick","parentElement","_step","_iterator","_createForOfIteratorHelper","err","innerText","query","success","handleSearchResponse","result","hit","$item","$link","class","empty","is","_defineProperties","SnippetWidget","renderInitial","positionAbove","snippets","snippet_box","firstSnippet","prev_search_term","selectEnter","keyboardNavigation","filterSnippet","fetchSnippets","_fetchSnippets","inputId","labelText","snippet_label_msg","snippet_heading","IconSearch","_this$box$","_this$box$$closest","_KUNDO$tooltip","encodeURIComponent","snippet","excerpt","toggleClass","usage_url","updated_at","hoverSnippet","selectClick","tooltip","new_selected","currentTarget","moveSelected","which","nextAll","prevAll","search_term","string","string_index","search_index","fuzzyMatches","moveSelectedScrollTop","scrollToElement","amountOfElementsAboveFromElement","amountOfElementsAboveToElement","shouldScrollDownwards","shouldScrollUpwards","currentScrollPosition","_this$getScrollToDire","getScrollToDirection","scrollAmount","SvgArrowRightUp","SvgTwinkle","SuggestionCard","channelColorClass","channelIconStyling","channelName","distance","onRequestInsertLink","onRequestSmartReply","publicUrl","smartReplyPath","rel","dangerouslySetInnerHTML","__html","ArrowRightUp","IconTwinkle","SuggestionCardList","suggestions","suggestion","DebouncedTextInput","debounceWaitTime","onNewValue","resetButtonLabel","setValue","debouncedResults","debounce","cancel","SearchStatus","ErrorCode","KeywordSearch","searchHits","setSearchHits","setSearchTerm","setStatus","setError","_useApi2","GETTextSearchStatus","GETTextSearch","Loaded","ServerError","SmartSuggestionsStatus","SmartSuggestions","hasInboxEditPermissions","setSuggestions","suggestionsLoadedCallback","GETSmartSuggestionsStatus","GETSmartSuggestions","smartSuggestionsHelpURL","CURRENT_LANGUAGE","IconQuestionCircle","LastMessageIsOutgoing","lang","getAiContactFormUrl","SelfServiceWidget","actionTakenCallback","insertLinkFunction","insertHTMLFunction","setEditableFunction","keywordSearchHits","setKeywordSearchHits","setSmartSuggestions","requestSmartReply","displaySkeletonLoadingBoxes","removeExistingReply","debug","ContentLengthExceeded","wrappedReply","smartReply","fail","always","hideSkeletonLoadingBoxes","insertLink","keywordSearchPerformed","froalaEditor","insertAdjacentHTML","insertHTMLInFroalaEditor","initSelfServiceWidget","suggestionsCount","badgeText","ngettext","badge","aiToolbarButton","state","froalaEditOnFunction","froalaEditOffFunction","boxLeftOffset","offsetLeft","FROALA_4_KEY","texteditorDiv","hasClass","autosaveStatus","isMobile","calculateBreakpoints","mobile","config","uploadsUrl","saveUrl","internalLinkElm","isAIEnabled","isAIAssistantEnabled","isAIDraftsEnabled","getToolbar","toolbarType","includeInternalLinks","includeAI","includeAIDrafts","editorClass","buttons","htmlAllowedAttrs","allowedAttributes","htmlAllowedTags","allowedTags","pasteDeniedAttrs","pasteDeniedTags","hasColor","allowMentions","dragInline","attribution","initialized","onInitialized","heightMax","imageAllowedTypes","imageDefaultWidth","imageEditButtons","imageInsertButtons","imagePaste","imageResize","imageUploadURL","linkAutoPrefix","linkEditButtons","linkInsertButtons","listAdvancedTypes","paragraphFormat","H2","h2","H3","h3","paragraphFormatSelection","paragraphStyles","directionRtl","lead","pasteAllowedStyleProps","placeholderText","requestHeaders","getCSRFToken","requestWithCORS","saveInterval","saveURL","shortcutsEnabled","spellcheck","tableEditButtons","tableResizer","tableDefaultAlign","tableDefaultWidth","toolbarButtons","toolbarButtonsMD","toolbarButtonsSM","toolbarButtonsXS","toolbarSticky","toolbarStickyOffset","scrollableContainer","videoAllowedTypes","videoEditButtons","videoInsertButtons","videoMove","videoResize","videoUploadURL","colorsButtons","enter","ENTER_BR","ENTER_DIV","ENTER_P","enterType","htmlUntouched","imageSplitHTML","bodyElement","__pendingEventHandlers","setUpToolbar","setUpAutoSave","setUpSnippets","setUpImageUploads","setUpVideo","setUpPaste","setUpInternalLinks","setUpSelfService","setUpLinkInsertion","setUpTableInsertion","setUpFocus","setUpMentions","setUpEvents","removeToolbarButtonsTabindex","editorPlaceholder","setUpdateContent","imgDefaultAlign","_n","F","_step$value","$img","_this$froala","secondToolbar","cmd","utils","isUrl","waitForTime","_this3","cls","inserted","navigator","userAgent","_this4","removeAttr","_this5","$placeholder","$editor","_onselect","_this6","snippetsUrl","snippetWidget","textArea","updatedValue","has_file","add_file","setTextAreaValue","_onselect2","_this7","_callee3","_context3","_x3","_x4","_x5","_this8","selfServiceWidget","_this9","htmlString","allowedEditorTags","getVideoInput","removeErrorMsg","$input","errorFeedbackId","$errorMsg","$video","currentValue","editorInstance","_this0","IGNORED_FIELD_NAMES","fieldIgnored","field","setAutosaveStatus","editor_before_save_msg","formFields","serializeArray","saveParams","meta","editor_save_error_msg","editor_after_save_msg","autoHide","_this1","_data$types","_data$files","_data$items","originalEvent","dataTransfer","clipboardData","types","getAsFile","getFilesFromEvent","capture","setSize","setBefore","images","imageBlob","remove_file_by_url","EDITORSEARCHURL","tribute","Tribute","allowSpaces","fillAttr","lookup","_text","email","menuContainer","menuItemTemplate","original","avatar_background_color","avatar_url","src","noMatchTemplate","positionMenu","selectTemplate","values","isActive","attach","setupMentions","resp","_this10","uploader","responseJSON","puri","temporaryUrl","uploadsServiceUploaderFactory","addFiles","uploadImageAsUpload","uploaderFactory","reset","force","saveSelection","toggle","$elm","obj","AiSourcesItem","channelColor","hasLink","containerDivAttributes","ChannelIcon","ArrowRightUpIcon","AiRepliesSources","setIsOpen","titleId","useId","referencesCount","Popover","asChild","sideOffset","popupTitle","IconButton","variant","XIcon","channel_name","public_url","channel_public_type","channel_color_number","newElement","nextSibling","toolbarOrRoot","ToolbarType","BTN_BOLD","BTN_COLOR","BTN_COLOR_BACKGROUND","BTN_COLOR_TEXT","BTN_FORMAT_OL","BTN_FORMAT_UL","BTN_ITALIC","BTN_LINK","BTN_PARAGRAPH_FORMAT","BTN_PARAGRAPH_STYLE","BTN_QUOTE","BTN_SEPARATOR","BTN_TABLE","BTN_VIDEO","BTN_UNDO","BTN_REDO","_BUTTONS_ORDER","sortedToolbarButtons","btns","btn","_FROALA_BUTTONS_BASIC","_FROALA_BUTTONS_WITH_COLOR","FROALA_TOOLBAR","_FROALA_TOOLBAR","CHAT","EXTERNAL_CONVERSATIONS","FORUM","FORUM_EDITOR","FORUM_TEXTS","KNOWLEDGE","KNOWLEDGE_SETTINGS","MAIL","MAIL_BASIC","MAIL_REPLY_SNIPPET","NONE","POLICY","SIMPLE","SIMPLE_CONTACT_MODAL","SMALL_TOOLBAR","TOOLBAR_BOTTOM","TOOLBAR_INSERTED","toolbarChoice","lessButtons","toolbarInserted","addIcon","DefineIcon","NAME","FA5NAME","PATH","template","ICON","TEXT","global","fn","attachEvent","detach","detachEvent","descendant","compareDocumentPosition","elementB","styles","filters","considerParent","getByClass","candidates","getElementsByTagName","idx","getFirstByClass","nodeType","setText","clearText","hasAttribute","attrName","attrVal","ExifRestorer","canvasToBlob","canvas","mime","quality","dataUriToBlob","toDataURL","dataUri","arrayBuffer","byteString","intArray","mimeString","BlobBuilder","blobBuilder","atob","decodeURI","ArrayBuffer","Uint8Array","character","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","getBlob","Blob","level","isObject","variable","isFunction","buffer","isItemList","maybeItemList","isNodeList","maybeNodeList","namedItem","isString","maybeString","trimStr","format","args","newStr","nextIdxToReplace","strBefore","strAfter","isFile","maybeFile","File","isFileList","maybeFileList","FileList","isFileOrInput","maybeFileOrInput","isInput","maybeInput","notFile","evaluateType","normalizedType","HTMLInputElement","isBlob","maybeBlob","isXhrUploadSupported","FormData","createXhrInstance","upload","XMLHttpRequest","ActiveXObject","isFolderDropSupported","webkitGetAsEntry","isFileChunkingSupported","androidStock","webkitSlice","mozSlice","sliceBlob","fileOrBlob","arrayBufferToHex","bytesAsHex","bytes","byt","byteAsHexStr","readBlobToHex","blob","startOffset","initialBlob","fileReader","FileReader","onload","onerror","failure","readAsArrayBuffer","second","extendNested","sourceFn","super_","source","srcPropName","srcPropVal","arr","elt","getUniqueId","random","ie7","ie8","ie10","ie11","edge","safari","vendor","chrome","opera","firefox","windows","platform","android","ios6","ios","ios7","ios8","ios800","iosChrome","iosSafari","iosSafariWebView","returnValue","toElement","iterableItem","keyOrIndex","Storage","getItem","charAt","oldFunc","context","newArgs","obj2url","prefixDone","uristrings","nextObj","nextTemp","obj2FormData","formData","arrayKeyName","obj2Inputs","parseJson","eval","getExtension","extIdx","lastIndexOf","substr","getFilename","blobOrFileInput","DisposeSupport","disposers","dispose","disposer","addDisposer","disposeFunction","version","supportedFeatures","supportsUploading","supportsUploadingBlobs","supportsFileDrop","supportsAjaxFileUploading","supportsFolderDrop","supportsChunking","supportsResume","supportsUploadViaPaste","supportsUploadCors","supportsDeleteFileXdr","supportsDeleteFileCorsXhr","supportsDeleteFileCors","supportsFolderSelection","supportsImagePreviews","supportsUploadProgress","isCrossOriginXhrSupported","withCredentials","isXdrSupported","XDomainRequest","tempInput","supported","ex","testSupportsFileInputElement","localStorage","setItem","isLocalStorageSupported","postMessage","webkitdirectory","ajaxUploading","blobUploading","canDetermineSize","chunking","deleteFileCors","deleteFileCorsXdr","deleteFileCorsXhr","dialogElement","HTMLDialogElement","fileDrop","folderDrop","folderSelection","imagePreviews","imageValidation","itemSizeValidation","pause","resume","scaling","tiffPreviews","unlimitedScaledImageSize","uploading","uploadCors","uploadCustomHeaders","uploadNonMultipart","uploadViaPaste","isGenericPromise","maybePromise","successArgs","failureArgs","successCallbacks","failureCallbacks","doneCallbacks","onFailure","BlobProxy","referenceBlob","onCreate","UploadButton","buttonId","disposeSupport","acceptFiles","focusClass","folders","hoverClass","ios8BrowserCrashWorkaround","createInput","BUTTON_ID_ATTR_NAME","setMultiple","fontFamily","fontSize","direction","getInput","getButtonId","isMultiple","optInput","setAcceptFiles","UploadData","uploaderProxy","byUuid","byStatus","byProxyGroupId","byBatchId","addFile","spec","SUBMITTING","originalName","uuid","batchId","proxyGroupId","onBeforeStatusChange","onStatusChange","retrieve","optionalFilter","idOrIds","getDataByIds","uuids","getDataByUuids","statusResults","statuses","statusEnum","statusResultIndexes","dataIndex","newStatus","oldStatus","byStatusOldStatusIndex","splice","uuidChanged","newUuid","oldUuid","updateName","newName","updateSize","newSize","setParentId","targetId","parentId","getIdsInProxyGroup","getIdsInBatch","SUBMITTED","REJECTED","QUEUED","CANCELED","PAUSED","UPLOADING","UPLOAD_RETRYING","UPLOAD_SUCCESSFUL","UPLOAD_FAILED","DELETE_FAILED","DELETING","DELETED","basePublicApi","addBlobs","blobDataOrArray","params","addInitialFiles","cannedFileList","cannedFile","_addCannedFile","_maybeHandleIos8SafariWorkaround","_storedIds","_currentBatchId","processBlob","_handleNewFile","_options","blobs","defaultName","verifiedFiles","processBlobData","blobData","processCanvas","processCanvasData","canvasData","normalizedQuality","processFileOrInput","fileOrInput","fileContainer","_prepareItemsForUpload","_handler","cancelAll","storedIdsCopy","storedFileId","clearStoredFiles","continueUpload","uploadData","_uploadData","enabled","getName","_uploadFile","deleteFile","_onSubmitDelete","doesExist","fileOrBlobId","isValid","drawThumbnail","fileId","imgOrCanvas","maxSize","fromServer","customResizeFunction","fileOrUrl","promiseToReturn","_imageGenerator","_thumbnailUrls","getFile","generate","modifiedContainer","reason","getButton","_getButton","_buttonIdsForFileIds","getEndpoint","_endpointStore","getInProgress","getParentId","uploadDataEntry","getUploads","getResumableFilesData","getSize","getNetUploads","_netUploaded","getRemainingAllowedItems","allowedItems","_currentItemLimit","_netUploadedOrQueued","getUuid","pauseUpload","removeFileRef","expunge","_autoRetries","_retryTimeouts","_preventRetries","_buttons","_paramsStore","_pasteHandler","session","refreshOnReset","_refreshSessionData","_succeededSinceLastAllComplete","_failedSinceLastAllComplete","_totalProgress","_manualRetry","scaleImage","specs","Scaler","setCustomHeaders","_customHeadersStore","setDeleteFileCustomHeaders","_deleteFileCustomHeadersStore","setDeleteFileEndpoint","_deleteFileEndpointStore","setDeleteFileParams","_deleteFileParamsStore","setEndpoint","setForm","elementOrId","_updateFormSupportAndParams","setItemLimit","newItemLimit","setName","setParams","setUuid","_onDeleteComplete","uploadStoredFiles","_itemError","_uploadStoredFiles","basePrivateApi","sessionData","deleteFileEndpoint","deleteFileParams","thumbnailUrl","_annotateWithButtonId","associatedInput","qqButtonId","_getButtonId","_batchError","_createDeleteHandler","DeleteFileAjaxRequester","toUpperCase","maxConnections","uuidParamName","uuidName","paramsStore","endpointStore","cors","onDelete","_onDelete","onDeleteComplete","xhrOrXdr","isError","_createPasteHandler","PasteSupport","targetElement","paste","pasteReceived","_handleCheckedCallback","onPasteReceived","_handlePasteSuccess","identifier","_createStore","initialValue","_readOnlyValues_","store","catchall","perIdReadOnlyValues","readOnlyValues","copy","orig","existing","includeReadOnlyValues","addReadOnly","_createUploadDataTracker","_onUploadStatusChange","_maybeAllComplete","_createUploadButton","accept","classes","buttonFocus","buttonHover","workarounds","ios8BrowserCrash","iosEmptyVideos","_isAllowedExtension","_onInputChange","fileInputTitle","_disposeSupport","_createUploadHandler","additionalOptions","namespace","lastOnProgress","preventRetryParam","preventRetryResponseProperty","loaded","total","_onProgress","retVal","_onComplete","onCancel","cancelFinalizationEffort","_onCancel","onUploadPrep","_onUploadPrep","onUpload","_onUpload","onUploadChunk","chunkData","_onUploadChunk","onUploadChunkSuccess","onResume","_onAutoRetry","onUuidChanged","_setSize","getDataByUuid","isQueued","UploadHandlerController","_fileOrBlobRejected","sizeSymbols","max","_generateExtraButtonSpecs","_extraButtonSpecs","extraButtons","extraButtonOptionEntry","extraButtonSpec","_initExtraButton","extraButtonsSpec","_defaultButtonId","buttonOrFileInputOrFile","inputs","fileInput","fileBlobOrInput","_getNotFinished","_getValidationBase","_getValidationDescriptor","fileWrapper","_getValidationDescriptors","fileWrappers","fileDescriptors","_handleCameraAccess","camera","acceptIosCamera","optionRoot","details","callbackRetVal","successParam","newFileWrapperList","actualFile","handler","_customNewFileHandler","_handleNewFileGeneric","addFileToHandler","_trackButton","fileList","extSuppliedName","_handleDeleteSuccess","_handleDeleteFailed","_initFormSupportAndParams","_formSupport","FormSupport","attachedToForm","getFormInputsAsObject","autoUpload","newAutoUpload","newEndpoint","_isDeletePossible","expected","allowXdr","valid","allowedExt","extRegex","maybeNameOrNames","extensionsForMessage","placeholderMatch","names","validationBase","replacement","allowedExtension","formatFileName","minSizeLimit","_onBeforeManualRetry","notFinished","_onAllComplete","ios8SafariUploads","unsupportedBrowserIos8Safari","_maybeParseAndSendUploadError","defaultResponseError","_maybeProcessNextItemAfterOnValidateCallback","validItem","stopOnFirstInvalidFile","validationDescriptor","onValidate","_onValidateCallbackSuccess","_onValidateCallbackFailure","successful","failed","onAllComplete","_shouldAutoRetry","retryWaitPeriod","_onBeforeAutoRetry","itemLimit","onManualRetry","storedItemIndex","fileIndex","onIndividualProgress","_onSubmit","_onSubmitCallbackSuccess","_onSubmitted","onSubmitted","_storeForLater","onSuccessCallback","additionalMandatedParams","adjustedOnSuccessCallback","onSubmitDelete","_deleteHandler","sendDelete","_onTotalProgress","onTotalProgress","_onValidateBatchCallbackFailure","_onValidateBatchCallbackSuccess","validationDescriptors","proposedNetFilesUploadedOrQueued","tooManyItemsError","nextIndex","_validateFileOrBlobData","_upload","onValidateBatch","_preventLeaveInProgress","onLeave","Session","_session","addFileRecord","refresh","_sessionRequestComplete","onSessionRequestComplete","onNewSize","formElementOrId","idToUpload","stillSubmitting","validityChecker","allowEmpty","ImageValidation","validate","_wrapCallbacks","safeCallback","errorMsg","exception","callbackName","callbackFunc","FineUploaderBasic","disableCancelForFormUploads","filenameParam","forceMultipart","paramsInBody","totalFileSizeName","maxHeight","maxWidth","minHeight","minWidth","maybeXhr","maybeXhrOrXdr","attemptNumber","fileOrBlobData","minSizeError","maxHeightImageError","maxWidthImageError","minHeightImageError","minWidthImageError","retryFailTooManyItems","concurrent","mandatory","paramNames","partIndex","partByteOffset","chunkSize","totalFileSize","totalParts","partSize","recordsExpireIn","resuming","fileOrBlobName","sendCredentials","interceptSubmit","customResizer","sendOriginal","orient","defaultType","defaultQuality","failureText","includeExif","sizes","ImageGenerator","_scaler","handleNewFile","TotalProgress","entry","AjaxRequester","shouldParamsBeInQueryString","requestData","acceptHeader","validMethods","mandatedParams","allowXRequestedWithAndCacheControl","successfulResponseCodes","onSend","isXdr","getXhrOrXdr","suppliedXhr","ontimeout","onprogress","getCorsAjaxTransport","dequeue","sendRequest","xdrError","responseCode","optXhr","onDemandParams","additionalParams","getParams","additionalQueryParams","addToPath","createUrl","getXdrLoadHandler","getXdrErrorHandler","onreadystatechange","readyState","getXhrReadyStateChangeHandler","lengthComputable","registerForUploadProgress","containsNonSimple","onDemandHeaders","additionalHeaders","allHeaders","setRequestHeader","header","setHeaders","send","initTransport","cacheBuster","withPath","appendToPath","withParams","withQueryParams","_additionalQueryParams_","withHeaders","withPayload","thePayload","withCacheBuster","qqtimestamp","Date","getTime","prepareToSend","canceled","UploadHandler","proxy","fileState","fileItem","getThirdPartyFileId","_getFileState","_setThirdPartyFileId","thirdPartyFileId","_wasCanceled","preventRetryResponse","controller","chunkingPossible","concurrentChunkingPossible","chunked","chunkIdx","_getChunkData","attemptingResume","chunkProgress","_getChunkDataForCallback","finalize","finalizeChunks","normaizedResponse","normalizeResponse","_maybeDeletePersistedChunkData","cleanup","handleFailure","clearCachedChunk","inProgressIdx","responseToReport","inProgress","remaining","unshift","ignoreFailure","_getXhrs","ckid","ckXhr","abort","_cancelled","moveInProgressToRemaining","connectionManager","free","hasMoreParts","nextIdx","_getTotalChunks","reevaluateChunking","sendNext","inProgressChunks","available","uploadChunk","inProgressChunkIdx","_maybePersistChunkedState","clearXhr","_open","_openChunks","_waiting","openChunkEntriesCount","openChunksCount","openChunkIndexes","dontAllowNext","nextId","allowNext","waitingIndex","connectionsIndex","getProxyOrBlob","getWaitingOrConnected","waitingOrConnected","chunks","parseInt","isUsingConnection","openChunksEntry","_clearXhrs","getProxy","initHandler","handlerType","traditional","handlerModuleSubtype","_removeExpiredChunkingRecords","isDeferredEligibleForUpload","maybeDefer","generatedBlob","updateBlob","maybeSendDeferredFiles","errorResponse","idsInGroup","uploadedThisId","idInGroup","now","maybeNewUuid","originalResponse","_shouldChunkThisFile","uploadFile","simple","blobToUpload","cancelRetVal","isProxied","isResumable","WindowReceiveMessage","callbackWrapperDetachers","receiveMessage","stopReceivingMessages","detacher","FormUploadHandler","formHandlerInstanceId","onloadCallbacks","detachLoadEvents","postMessageCallbackTimers","isCors","corsMessageReceiver","getFileIdForIframeName","iframeName","iframe","_getIframeName","expungeFile","_attachLoadEvent","responseDescriptor","onloadCallback","_parseJsonResponse","_detachLoadEvent","registerPostMessageCallback","contentDocument","_createIframe","initIframeForUpload","_initFormForUpload","targetName","innerHtmlOrMessage","XhrUploadHandler","chunkFiles","resumeEnabled","xhrId","ajaxRequester","_getAjaxRequester","blobOrProxy","_initTempState","_maybePrepareForResume","cachedChunks","tempState","xhrs","ajaxRequesters","responseParser","lastChunkIdx","_getXhr","resumableFilesData","_iterateResumeRecords","notResumable","optInProgress","optRemaining","reverse","paused","totalChunks","parts","newBlob","chunkId","_createXhr","optChunkIdx","_registerXhr","chunkIndex","fileSize","startBytes","endBytes","part","count","startByte","endByte","_getLocalStorageId","_getMimeType","_getPersistableData","ceil","_markNotResumable","localStorageId","removeItem","persistedData","lastUpdated","_registerProgressHandler","progressCalculator","totalSuccessfullyLoadedForFile","loadedForRequest","totalForRequest","estActualChunkLoaded","totalLoadedForFile","chunkLoaded","optAjaxRequester","xhrsId","expirationDays","expirationDate","setDate","getDate","requester","_method","renderImageToCanvas","doSquash","modifiedDimensions","iw","naturalWidth","ih","naturalHeight","ctx","getContext","resizeInfo","imageHeight","imageWidth","orientation","sourceCanvas","sourceCanvasContext","targetCanvas","targetHeight","targetWidth","transformCoordinate","drawImage","qqImageRendered","renderImageToCanvasWithCustomResizer","maxPixels","origHeight","origWidth","newHeight","sqrt","newWidth","maybeCalculateDownsampledDimensions","getImageData","detectSubsampling","tmpCtx","sx","dx","tmpCanvas","vertSquashRatio","ratio","sy","ey","detectVerticalSquash","dw","dh","dy","clearRect","PI","MegaPixImage","srcImage","errorCallback","Image","URL","createObjectURL","webkitURL","listeners","imageLoadListeners","opt","oldTargetSrc","imgWidth","imgHeight","optionsKey","optionsValue","renderImageToDataURL","onrender","isImg","isCanvas","determineMimeOfFileName","nameWithPath","pathSegments","isCrossOrigin","targetProtocol","targetHostname","targetPort","targetAnchor","protocol","port","hostname","registerThumbnailRenderedListener","registered","registerImgLoadListeners","registerCanvasDrawImageListener","drawOnCanvasOrImgFromUrl","canvasOrImg","draw","tempImg","tempImgRender","crossOrigin","drawOnImgFromUrlWithCssScaling","fileBlobOrUrl","drawFromUrl","drawPreview","Identify","megapixErrorHandler","isPreviewable","dummyExif","exif","Exif","mpImg","Orientation","failureMsg","_testing","TAG_IDS","TAG_INFO","parseLittleEndian","hex","seekToApp1","theOffset","thePromise","segmentLength","getApp1Offset","parser","onParseFailure","app1Offset","app1Start","littleEndian","getDirEntryCount","dirEntryCount","dirEntries","getIfd","ifdHex","getDirEntries","tagValues","tagsToFind","vals","tagValHex","tagValLength","idHex","tagsToFindIdx","getTagValues","previewable","isPreviewableSync","PREVIEWABLE_MIME_TYPES","questionableBytes","identifiable","magicBytesEntries","magicBytesArrayEntry","fileMime","isRecognizedImage","limits","sizeDetermination","validationEffort","atLeastOne","limit","hasNonZeroLimits","dimensions","failingLimit","limitName","limitValue","limitMatcher","dimensionPropName","actualValue","getFailingLimit","refreshEffort","requesterOptions","SessionAjaxRequester","fileItems","someItemsIgnored","isJsonResponseValid","handleFileItems","queryServer","responseText","includeOriginal","failedToScaleText","_getSortedSizes","getFileRecords","originalFileUuid","originalFileName","originalBlobOrBlobData","records","originalBlob","sizeRecord","outputType","_determineOutputType","requestedType","refType","_getName","_generateScaledImage","failedText","api","param","scaledIds","originalId","record","blobSize","scaledId","qqparentuuid","qqparentsize","scalingEffort","scalingOptions","scaler","referenceType","scaledVersionProperties","startOfExt","versionType","scaledName","scaledExt","nameAppendage","sourceFile","imageGenerator","scaledImageDataUri","signalSuccess","_insertExifHeader","scaledImageDataUriWithExif","originalImage","reader","insertionEffort","originalImageDataUri","readAsDataURL","_dataUriToBlob","_createBlob","chr1","chr2","enc1","enc2","enc3","output","chr3","enc4","KEY_STR","origFileBase64","resizedFileBase64","expectedBase64Header","rawImage","decode64","segments","slice2Segments","exifManipulation","encode64","exifArray","getExifArray","newImageArray","insertExif","seg","imageData","buf","separatePoint","mae","ato","array","rawImageArray","head","endPoint","perFileProgress","totalLoaded","totalSize","lastLoadedSent","lastTotalSent","callbackProxy","onNew","updateTotalProgress","newLoaded","newTotal","oldLoaded","oldTotal","retryable","none","failedId","noRetryableFiles","detachPasteHandler","isImage","startUpload","formEl","validateForm","nativeSubmit","checkValidity","_form2Obj","determineNewEndpoint","maybeUploadOnSubmit","determineFormEl","ignoreValue","checked","elements","selectValue","createForm","responseFromMessage","innerHtml","contentWindow","nodeValue","getIframeContentJson","multipart","allChunksDoneRequester","AllChunksDoneAjaxRequester","createReadyStateChangedHandler","onUploadOrChunkComplete","isErrorUploadResponse","parseResponse","setParamsAndGetEntityToSend","setUploadHeaders","extraHeaders","toSend","addChunkingSpecificParams","complete","getChunksCompleteParams","sendChunksCompleteRequest","promises","endpointHandler","H","Bootstrap","iframe_document","Element","matches","msMatchesSelector","webkitMatchesSelector","documentElement","matchesSelector","mozMatchesSelector","oMatchesSelector","HTMLElement","createElementNS","DOMException","_updateClassName","number","__defineGetter__","pf","DOMTokenList","appName","$1","nativeFocus","scrollLeft","preventScroll","offsetHeight","offsetWidth","scrollWidth","RegisterPlugins","allowStylingOnNonEditable","initOnClick","pluginsEnabled","pluginsDisabled","MODULES","VERSION","INSTANCES","OPTS_MAPPING","SHARED","ID","Node","ELEMENT_NODE","BLOCK_TAGS","attributes","nodeName","isBlock","isEmpty","TEXT_NODE","VOID_ELEMENTS","htmlAllowedEmptyTags","htmlDoNotWrapTags","blockParent","deepestParent","SIMPLE_ENTER_TAGS","rawAttributes","clearAttributes","openTagString","closeTagString","isFirstSibling","previousSibling","isLastSibling","isList","isLink","isElement","contents","isVoid","hasFocus","activeElement","isEditable","viewportElement","isDeletable","browser","msie","acceptNode","DOMPurify","htmlRemoveTags","htmlAllowedStyleProps","htmlAllowComments","preserveTabSpaces","fullPage","HTML5Map","STRIKE","clean","normalize","COMMENT_NODE","tabSpaces","outerHTML","implementation","createHTMLDocument","extractNode","extractDoctype","extractNodeAttrs","helpers","sanitizeURL","pasteAllowLocalImages","isMac","merge","defaultTag","ALLOW_UNKNOWN_PROTOCOLS","ALLOWED_TAGS","ALLOWED_ATTR","sanitize","toHTML5","replaceWith","tables","lists","prepend","listStyleType","trackChangesEnabled","track_changes","getPendingChanges","showChangesEnabled","pushChange","invisibleSpaces","XS","SM","MD","LG","LinkRegExCommon","LinkRegExEnd","LinkRegExTLD","LinkRegExHTTP","LinkRegExAuth","LinkRegExWWW","LinkRegEx","LinkProtocols","MAIL_REGEX","maxTouchPoints","webkit","isIOS","getIOSVersion","abs","NaN","getSafariVersion","isAndroid","isBlackberry","isWindowsPhone","isEmail","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","getPX","screenSize","$sc","isTouch","DocumentTouch","ALLOWED_URI_REGEXP","RGBToHex","HEXtoRGB","isURL","getAlignment","o_win","pageYOffset","o_doc","pageXOffset","isInViewPort","clientHeight","isValidHexColor","isRGBColor","inputType","rangeCount","getRangeAt","startContainer","endContainer","endOffset","isSameNode","createRange","setStart","setEnd","removeAllRanges","addRange","$wp","$win","core","info","atStart","isCollapsed","markers","blockTagsQuery","MARKERS","shared","_events","$_events","sid","isDisabled","_mousedown","_mouseup","_move","_mousemove","areVisible","$doc","toolbarContainer","selected_editor","bindClick","focusNode","getButtons","stopImmediatePropagation","removeData","enableBlur","blurActive","chainTrigger","$on","$off","indentMargin","COMMANDS","bold","italic","underline","strikeThrough","subscript","superscript","outdent","forcedRefresh","redo","insertHR","clearFormatting","selectAll","moreText","moreParagraph","moreRich","moreMisc","commands","toolbarInline","showInline","wrapInTracking","after","setAfter","execCommand","getSelection","moreTrackChanges","markdown","isEnabled","not","setMoreToolbarsHeight","accessibilityFocus","accessibility","ranges","parentsUntil","blocks","unwrap","isArrow","KEYCODE","ARROW_LEFT","ARROW_UP","setAtEnd","ARROW_RIGHT","ARROW_DOWN","setAtStart","endElement","cursorLists","_startEnter","_middleEnter","isAtEnd","INVISIBLE_SPACE","keepFormatOnDelete","_endEnter","_backspace","_del","NO_DELETE_TAGS","isContentEditable","nextElementSibling","lastChild","UNICODE_NBSP","fromCharCode","inEditor","rangeElement","fillEmptyBlocks","cleanEmptyTags","spaces","normalizeAroundCursor","offsetTop","backspace","del","isAtStart","FE","domain","cookie","ul","mozilla","srcElement","disableDesign","strong","em","getPropertyValue","removeProperty","disable","createDocumentFragment","replaceChild","toLocaleLowerCase","win","anchorNode","atEnd","collapsed","safariSelection","applyStyle","removeStyle","isPreformatted","getComputedStyle","createTreeWalker","NodeFilter","SHOW_TEXT","nextNode","currentNode","HAIR_SPACE","START_MARKER","END_MARKER","commonAncestorContainer","cloneRange","collapse","insertNode","place","firstElementChild","contentEditable","insertAtPoint","clientX","clientY","caretPositionFromPoint","offsetNode","caretRangeFromPoint","createTextRange","moveToPoint","duplicate","setEndPoint","setStartAfter","setEndBefore","createTextNode","setStartBefore","setEndAfter","selectNodeContents","moveToElementText","compareBoundaryPoints","Range","START_TO_START","END_TO_END","getElementsByClassName","isFull","$iframe","ready","marginTop","paddingTop","paddingLeft","marginLeft","paddingRight","marginRight","textAlign","htmlSimpleAmpersand","htmlIgnoreCSSProperties","htmlExecuteScripts","doctype","systemId","cleanBRs","SHOW_ELEMENT","FILTER_ACCEPT","FILTER_SKIP","D","fontSizeDefaultSelection","fontSizeUnit","fontFamilyDefaultSelection","isCharacter","BACKSPACE","ENTER","IME","siblings","baseOffset","focusOffset","altKey","emptyBlocks","emptyBlockTagsQuery","cleanWhiteTags","cleanBlankSpaces","getDoctype","toArray","$head","$html","createDocumentType","injectStyle","iframeDefaultStyle","iframeStyle","useClasses","syncInputs","styleSheets","cssRules","ownerNode","selectorText","cssText","heightMin","getSelected","wrapContent","cloneContents","htmlText","pasteInEmptyEdior","pasteInEdior","insertAfter","positionCaret","escapeEntities","checkIfEmpty","_setHtml","TAB","SHIFT","CTRL","ALT","ESC","SPACE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","FF_SEMICOLON","FF_EQUALS","QUESTION_MARK","K","Q","U","META","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","FF_HYPHEN","SEMICOLON","DASH","EQUALS","COMMA","HYPHEN","PERIOD","SLASH","APOSTROPHE","TILDE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","multiLine","deleteContents","modify","bulkRefresh","anchorOffset","min","selectNode","snapshot","canDo","typingTimer","enable","offsetY","forceUndo","isIME","isBrowserAction","pastePlain","setData","clipboard","read","unsanitized","DataTransfer","getType","getData","wordPaste","previousElementSibling","linkAlwaysBlank","HTMLHeadingElement","cleanEmptyTagsAndDivs","getRtfClipboard","saveCopiedText","replaceNewLines","shortcutsHint","SHORTCUTS_MAP","letter","option","shortcuts","scLoc","scOffset","ecLoc","ecOffset","equal","undo_stack","undoing","undo_index","_content_changed_timer","hideAll","canRedo","dropRedo","syncIframe","documentReady","requestWithCredentials","iframeStyleFiles","zIndex","disableRightClick","drag_support","filereader","formdata","_original_html","autofocus","destroy","getXHR","sameInstance","RegisterTemplate","filesManager","isChildWindowOpen","exit_flag","_windowResize","getPosition","at","_inputFocus","_inputBlur","_editorKeydown","findVisible","_preventFocus","hideActiveDropdowns","_editorMouseup","_windowMouseup","_windowKeydown","focusPopupButton","_repositionPopup","handleWindowClick","editInPopup","colorsStep","bindCommands","registerPopup","focusPopup","onHide","onRefresh","onShow","setFileListHeight","setPopupDimensions","innerWidth","$f_el","with_kb","click","nextAllVisible","prevAllVisible","modals","focusEditor","restoreSelection","_tiKeydown","_tiMouseenter","registerToolbar","focusToolbarElement","focusToolbar","focusContent","focusModal","focusModalButton","tooltips","$tooltip","getRootNode","ShadowRoot","TOOLBAR_VISIBLE_BUTTONS","$modal","refreshOnShow","refreshAfterCallback","showOnMobile","displaySelection","defaultSelection","displaySelectionWidth","more_btn","back","hasOptions","popup_buttons","build","buildList","buildGroup","buttonsVisible","showMoreButtons","defaultView","parentWindow","addButtons","ICON_TEMPLATES","font_awesome","font_awesome_5","font_awesome_5r","font_awesome_5l","font_awesome_5b","svg","svgMultiplePath","ICONS","SVG_KEY","color","insertAll","minimize","iconsTemplate","SVG","getTemplate","getFileIcon","FILEICONS","imageTransformations","filestackIcon","advancedImageEditor","alignCenter","alignJustify","alignLeft","alignRight","anchors","autoplay","backgroundColor","blockquote","cellBackground","cellBorderColor","cellOptions","cellStyle","codeView","cogs","exitFullscreen","fileInsert","fileManager","fontAwesome","fullscreen","help","horizontalLine","imageAltText","imageCaption","imageClass","imageDisplay","imageManager","imageSize","inlineClass","inlineStyle","insertEmbed","insertFile","insertMore","insertTable","insertVideo","uploadFiles","lineHeight","linkStyles","mention","more","openLink","orderedList","pageBreaker","paragraphMore","paragraphStyle","pdfExport","print","removeTable","replaceImage","smile","star","symbols","tableHeader","tableFooter","tableStyle","textColor","textMore","unlink","unorderedList","verticalAlignBottom","verticalAlignMiddle","verticalAlignTop","filestackIconAdd","trackChanges","showTrackChanges","acceptAllChanges","rejectAllChanges","acceptSingleChange","rejectSingleChange","chevronDown","chevronUp","docIcon","gifIcon","jpegIcon","logIcon","movIcon","ogvIcon","pngIcon","txtIcon","webmIcon","webpIcon","wmvIcon","xlsIcon","xlsxIcon","zipIcon","docxIcon","jpgIcon","mp3Icon","mp4Icon","oggIcon","pdfIcon","defaultIcon","$overlay","$body","clientWidth","_stickyElements","forSelection","addSticky","toolbarVisibleWithoutSelection","toolbarResponsiveToEditor","TOOLBAR_BUTTONS","TOOLBAR_BUTTONS_MD","TOOLBAR_BUTTONS_SM","TOOLBAR_BUTTONS_XS","POWERED_BY","filestackOptions","uploadToFilestackOnly","findIndex","childElementCount","setInterval","$second_tb","bubbles","cancelable","changedTouches","eventPhase","pageX","pageY","view","keyCode","offsetX","pointerId","pointerType","screenX","screenY","targetTouches","touches","isEqualNode","formatParams","crossDomain","getClientRects","pushStack","prevObject","wrapAll","eq","wrapInner","grep","getCorrectStyleName","getClass","stripAndCollapse","scrollTo","passive","Event","MouseEvent","createEvent","initMouseEvent","initEvent","triggerHandler","HTMLDocument","_matches","load","c_scroll","fontFamilySelection","fontSizeSelection","quickInsertEnabled","charCounterCount","write","destrying","colorsText","colorsBackground","colorsHEXInput","showColorsPopup","text_colors","custom_color","background_colors","background","customColor","refreshOnCallback","draggable","dropEffect","elementFromPoint","$draggable_helper","imageAltButtons","imageSizeButtons","imageUpload","imageCORSProxy","imageUploadRemoteUrls","imageUploadParam","imageUploadParams","imageUploadToS3","imageUploadToAzure","imageUploadMethod","imageMaxSize","imageResizeWithPercent","imageRoundPercent","imageDefaultAlign","imageDefaultDisplay","imageStyles","imageMove","imageMultipleStyles","imageTextNear","imagePasteProcess","imageMinWidth","imageOutputSize","imageDefaultMargin","imageAddNewLine","IMAGE_ALLOW_REGEX","$image_resizer","$img_overlay","ce","timeStamp","frameElement","clientLeft","replaceSpecialItem","responseXML","responseURL","keyStart","uploadURL","region","bucket","encodeURI","account","SASToken","toUTCString","accessKey","cryptoJSPlugin","cryptoJS","HmacSHA256","enc","Base64","onabort","upload_layer","by_url_layer","progress_bar","j","alt_layer","size_layer","removeSpecialItem","IMAGE_TYPE","verticalAlign","marginBottom","showInsertPopup","showLayer","refreshUploadButton","refreshByURLButton","insertByURL","responseType","refreshAlign","refreshAlignOnShow","refreshDisplayOnShow","getEl","showProgressBar","hideProgressBar","showAltPopup","showSizePopup","setAlt","toggleCaption","hasCaption","exitEdit","inline","block","center","imageAlign","linkAttributes","linkMultipleStyles","linkConvertEmailAddress","linkAlwaysNoFollow","linkNoOpener","linkNoReferrer","linkList","displayText","linkText","END_TO_START","START_TO_END","compareEndPoints","input_layer","decodeURIComponent","wrapLinkInTracking","wrapInDelete","usePredefined","insertCallback","allSelected","imageLink","circle","disc","square","H1","H4","PRE","paragraphDefaultSelection","BLOCKQUOTE","paragraphMultipleStyles","quote","addQuote","removeQuote","increase","decrease","saveParam","saveMethod","letteringClass","tableInsertMaxSize","tableInsertButtons","tableDefaultHeight","tableDefaultBGColor","tableDefaultBorderColor","tableDefaultBorderWidth","tableDefaultBorderStyle","tableBorderStyle","tableResizerOffset","tableResizingLimit","tableColorsButtons","tableColors","tableColorsStep","tableCellStyles","tableStyles","tableCellMultipleStyles","tableMultipleStyles","tableInsertHelper","keepTextFormatOnTable","tableInsertHelperOffset","proportionalTableResize","enableTableSelection","rows_columns","cell_properties_form","startTag","closeTag","hasChildNodes","min_i","max_i","min_j","max_j","currentWidths","currentPercentages","relatedTarget","$table_resizer","$ti_helper","insertColumn","insertRow","table_properties_form","rowIndex","Infinity","rows","cells","cellIndex","insertCell","setDragImage","effectAllowed","revokeObjectURL","deleteRow","deleteColumn","mergeCells","splitCellVertically","splitCellHorizontally","addHeader","addFooter","removeHeader","removeFooter","setBackground","showEditPopup","showTableProperties","hideTableProperties","updateTableAlign","horizontalAlign","selectedTable","selectedCells","selectCells","resetAll","showCellPropertiesPopup","updateSelectedColor","above","below","tableRows","tableColumns","tableCells","Top","Middle","Bottom","tableCellVerticalAlign","tableCellHorizontalAlign","PATHS","VIEWBOX","URLRegEx","videoAllowedProviders","videoDefaultAlign","videoDefaultDisplay","videoDefaultWidth","videoMaxSize","videoResponsive","videoSizeButtons","videoSplitHTML","videoTextNear","videoUpload","videoUploadMethod","videoUploadParam","videoUploadParams","videoUploadToS3","videoUploadToAzure","VIDEO_EMBED_REGEX","video","currentSrc","embed_layer","HAVE_FUTURE_DATA","clientTop","$video_resizer","$vid_overlay","vid_exit_flag","dragDrop","refreshEmbedButton","_editVideo","setAutoplay","insertHtmlVideo","videoAlign","getNonce","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","removeEmptyString","ra","sa","ta","pa","qa","oa","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","stack","Na","Oa","prepareStackTrace","Reflect","construct","Pa","tag","Qa","$$typeof","_payload","Ra","Sa","Ta","Va","_valueTracker","getValue","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","ab","bb","cb","db","eb","fb","defaultSelected","gb","hb","ib","jb","kb","lb","nb","namespaceURI","valueOf","MSApp","execUnsafeLocalFunction","ob","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","setProperty","tb","menuitem","area","base","embed","hr","keygen","track","wbr","ub","vb","wb","xb","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","isTrusted","td","ud","vd","Ad","getModifierState","zd","fromElement","movementX","movementY","Bd","Dd","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","locale","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","documentMode","date","datetime","month","password","range","tel","time","week","oninput","HTMLIFrameElement","focusedElem","selectionRange","selectionStart","selectionEnd","animationend","animationiteration","animationstart","transitionend","animation","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","of","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","effects","bh","ch","eventTime","lane","eh","fh","gh","hh","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","_owner","_stringRef","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","mi","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","_internalRoot","nl","ol","ql","sl","rl","unmount","unstable_scheduleHydration","tl","usingClientEntryPoint","Events","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","Style","lockAttribute","getStyles","_a","allowRelative","gapMode","important","getCurrentUseCounter","counter","isFinite","RemoveScrollBar","noRelative","noImportant","_b","newCounter","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","zeroGap","getGapWidth","offsets","cs","getOffset","documentWidth","windowWidth","ReactRemoveScroll","__assign","sideCar","classNames","getTouchXY","getDeltaXY","extractRef","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","lastProps","inert","allow_1","__spreadArray","lockRef","shards","shouldCancelEvent","allowPinchZoom","currentAxis","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","delta","sourceEvent","shadowParent","should","shardNodes","noIsolation","shouldCancel","getOutermostShadowParent","scrollTouchStart","scrollWheel","scrollTouchMove","setCallbacks","onScrollCapture","onWheelCapture","onTouchMoveCapture","inst","removeScrollBar","nothing","RemoveScroll","parentRef","forwardProps","as","Container","__rest","SideCar","containerRef","containerProps","fullWidth","zeroRight","passiveSupported","nonPassive","elementCanBeScrolled","overflowY","overflowX","alwaysContainsScroll","locationCouldBeScrolled","axis","elementCouldBeScrolled","getScrollVariables","elementCouldBeVScrolled","elementCouldBeHScrolled","getHScrollVariables","handleScroll","endTarget","sourceDelta","noOverscroll","directionFactor","getDirectionFactor","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","effectCar","styleSingleton","useStyle","dynamic","styleHookSingleton","sheet","isDynamic","stylesheetSingleton","stylesheet","nonce","makeStyleTag","styleSheet","insertStyleTag","__self","__source","jsx","jsxs","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","initCustomEvent","boundKeydown","keydown","boundKeyup","keyup","boundInput","shouldDeactivate","hideMenu","commandEvent","inputEvent","menu","selectItemAtIndex","externalTrigger","updateSelection","hasTrailingSpace","autocompleteMode","triggerChar","getKeyCode","triggers","mentionText","collection","menuShowMinLength","showMenuFor","getTriggerInfo","mentionTriggerChar","selectedPath","mentionSelectedPath","selectedOffset","mentionSelectedOffset","filteredItems","menuSelected","escape","tab","spaceSelectsMatch","up","setActiveLi","down","selectClass","currentStyle","menuEvents","menuClickEvent","menuContainerScrollEvent","windowResizeEvent","positionMenuAtCaret","getDocument","getContentEditableCaretPosition","mentionPosition","getTextAreaOrInputUnderlinePosition","isMenuOffScreen","getWindowSelection","replaceTextSuffix","pasteHtml","getNodePositionInParent","getContentEditableSelectedPath","getTextPrecedingCurrentSelection","getLastWordInText","mentionSelectedElement","requireLeadingSpace","lastIndexWithLeadingSpace","mozInnerScreenX","whiteSpace","wordWrap","menuContainerIsBody","borderTopWidth","borderLeftWidth","getMenuDimensions","pre","caseSensitive","skip","rendered","score","traverse","calculateScore","extract","containerClass","itemClass","searchOpts","menuItemLimit","defaultSelectTemplate","defaultMenuItemTemplate","warn","jQuery","NodeList","HTMLCollection","_attach","ensureEditable","inputTypes","currentMentionTextSnapshot","createMenu","tributeMenu","_findLiTarget","placeCaretAtEnd","insertTextAtCursor","insertAtCaret","replaceText","replaceTriggerText","_append","_detach","unbind","_isActive","instanceOf","ANONYMOUS_SELECT_KEY","when","predicate","PatternKind","Guard","pattern","Not","AnonymousSelect","NamedSelect","classConstructor","isInstanceOf","__","guards_1","wildcards_1","builder","cases","displayedValue","patterns","predicates","arg","matchPattern","otherwise","exhaustive","isNamedSelectPattern","isAnonymousSelectPattern","isNotPattern","listSelect","doesMatch","subPattern","unknownGuard","stringGuard","numberGuard","NaNGuard","booleanGuard","nullishGuard","boolean","nullish","extendStatics","__extends","__decorate","decorators","desc","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","generator","fulfilled","step","rejected","__generator","trys","ops","op","__createBinding","k2","__exportStar","__values","__read","ar","__spread","__spreadArrays","pack","__await","__asyncGenerator","asyncIterator","fulfill","settle","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__esModule","__importDefault","default","__classPrivateFieldGet","receiver","kind","__classPrivateFieldSet","assignRef","useIsomorphicLayoutEffect","currentValues","useMergeRefs","callbackRef","newValue","oldValue","prevRefs_1","nextRefs_1","current_1","useCallbackRef","facade","Target","exportSidecar","medium","exported","useMedium","isSideCarExport","ItoI","createSidecarMedium","defaults","middleware","assigned","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","innerCreateMedium","async","ssr","computeCoordsFromPlacement","placement","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","side","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","validMiddleware","isRTL","rects","getElementRects","statefulPlacement","middlewareData","resetCount","nextX","nextY","initialPlacement","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","getClippingRect","contextElement","getDocumentElement","rect","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","hasFallbackAxisSideDirection","placements","overflows","overflowsData","sides","_middlewareData$flip2","_overflowsData$filter","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","referenceHiddenOffsets","referenceHidden","escapedOffsets","escaped","minX","minY","nativeClientRects","clientRects","sortedRects","groups","prevRect","getRectsByLine","resetRects","firstRect","lastRect","isTop","isLeftSide","maxRight","minLeft","measureRects","originSides","_middlewareData$offse","diffCoords","alignment","mainAxisMulti","crossAxisMulti","rawValue","convertValueToCoords","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","getCssDimensions","hasOffset","shouldFallback","unwrapElement","domElement","noOffsets","getVisualOffsets","visualViewport","includeScale","isFixedStrategy","clientRect","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","htmlRect","absoluteOrFixed","getClientRectFromClippingAncestor","clippingAncestor","visualViewportBased","windowScrollbarX","bodyStyles","bodyMarginInline","compatMode","clippingStableScrollbarWidth","getViewportRect","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","getRectRelativeToOffsetParent","isOffsetParentAnElement","setLeftRTLScrollbarOffset","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","topLayer","elementClippingAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","_c","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getOffsetParentFn","getDimensionsFn","floatingDimensions","rectsAreEqual","autoUpdate","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","cleanupIo","onMove","timeoutId","io","_io","disconnect","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","intersectionRatio","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","mergedOptions","platformWithCache","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","tableElements","isTableElement","topLayerSelectors","isTopLayer","selector","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","isWebKit","containerType","backdropFilter","willChange","contain","getContainingBlock","getParentNode","isLastTraversableNode","CSS","supports","lastTraversableNodeNames","getNodeScroll","scrollX","assignedSlot","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","getFrameElement","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","getOppositeAxis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getOppositeAxisPlacements","isStart","getSideList","getPaddingObject","expandPaddingObject","rectToClientRect","Kr","Wd","Kd","$t","Ur","$r","Wr","qr","Xr","np","tn","Qr","tp","rp","jr","Yr","qo","Jr","ep","ap","lp","ip","sp","cp","dp","pp","st","$o","Nt","mp","fp","wp","gp","hp","vp","kt","ct","bp","rn","xp","Sp","qt","yp","Lt","Rp","Vp","nn","Pp","cn","pn","hn","xn","Zt","Pn","In","Tn","Ln","On","Dn","Wn","$n","Xn","Qn","dt","Xt","Yt","Jt","yl","Pl","Qt","Nl","Al","Bl","Hl","Kl","Yl","jt","eo","oo","ro","no","ao","lo","so","co","ds","gs","bs","ys","Ps","Is","Ts","Ls","Os","po","_s","uo","$s","Xs","Qs","n1","i1","d1","ft","w1","v1","S1","V1","mo","E1","N1","A1","B1","fo","_1","U1","Z1","J1","e0","r0","l0","c0","u0","w0","v0","S0","V0","C0","M0","k0","z0","F0","_0","U0","wo","Q0","an","ln","dn","Gp","un","Ip","wn","Mp","vn","Np","Sn","Lp","Rn","zp","Gn","Bp","En","Dp","Nn","_p","An","Kp","Bn","$p","Hn","Zp","Kn","Yp","qn","Qp","Yn","eu","jn","ou","nu","lu","su","du","uu","fu","gu","vu","xu","yu","Vu","Gu","Iu","Mu","Nu","Lu","zu","Bu","Du","_u","Ku","$u","Zu","Yu","Qu","xl","om","Rl","nm","Gl","lm","Il","sm","Ml","dm","kl","um","zl","fm","Fl","gm","_l","vm","Ul","xm","Zl","ym","Jl","Vm","Gm","Im","Mm","Nm","Lm","zm","Bm","Dm","_m","Km","$m","preserveAspectRatio","Zm","Ym","Qm","clipPath","es","ts","rs","ss","fs","hs","xs","Rs","kf","Gs","Es","Ns","As","Bs","Ds","rx","Ws","Ks","qs","Ys","jf","js","tw","o1","rw","a1","aw","s1","p1","cw","m1","pw","g1","mw","b1","ww","y1","hw","P1","bw","C1","Sw","M1","Rw","k1","Pw","z1","Cw","Ew","D1","Tw","W1","kw","Aw","X1","Ow","Q1","Fw","Hw","n0","Ww","i0","Uw","d0","qw","m0","Xw","g0","Jw","b0","jw","y0","t2","P0","r2","I0","a2","T0","i2","L0","c2","O0","p2","D0","m2","W0","w2","$0","Z0","b2","Y0","S2","j0","R2","ActivityIcon","AiIcon","AiTwinkleText","ArrowDownIcon","ArrowLeftDownIcon","ArrowLeftIcon","ArrowLeftUpIcon","ArrowRightDownIcon","ArrowRightIcon","BellIcon","BookIcon","BookmarkIcon","BulletedListIcon","CalendarIcon","CategoryIcon","CheckCircleIcon","CheckIcon","CheckListIcon","CheckSmallIcon","CheckboxOutlineIcon","ChevronDownIcon","ChevronExpandIcon","ChevronLeftIcon","ChevronRightIcon","ChevronShrinkIcon","ChevronSkipEndIcon","ChevronSkipStartIcon","ChevronUpIcon","ClipsArrowRightIcon","ClipsIcon","ClockHistoryIcon","ClockIcon","CogIcon","CommentIcon","CopyIcon","DocumentIcon","DownloadIcon","DragHandleIcon","DragIndicatorIcon","EllipsisHIcon","EllipsisVIcon","EmojiIcon","EnvelopeIcon","ErrorIcon","ExclamationCircleIcon","ExclamationTriangleIcon","ExpandIcon","ExportIcon","ExternalLinkIcon","EyeIcon","FileCheckIcon","FileEditIcon","FileIcon","FilePlusIcon","FileXIcon","FilterIcon","HistogramChartIcon","HouseIcon","ImageIcon","InboxIcon","InfoCircleIcon","KundoAiKnowledgeIcon","KundoAvatarShield","KundoCallsIcon","KundoChatIcon","KundoExternalSourceIcon","KundoForumIcon","KundoHelpcenterIcon","KundoKnowledgeIcon","KundoLogoIcon","KundoMailIcon","KundoSocialFacebookIcon","KundoSocialInstagramDmIcon","KundoSocialInstagramIcon","KundoSocialMessengerIcon","KundoSocialWhatsappIcon","LineChart1Icon","LineChart2Icon","LockIcon","LogInIcon","LogOutIcon","MapPinIcon","MenuIcon","MinimizeIcon","MinusCircleIcon","MinusIcon","MinusSmallIcon","MoveIcon","NoExternalIcon","NoteIcon","PencilIcon","PhoneIcon","PhonePlusIcon","PieChartIcon","PlusCircleIcon","QuestionCircleIcon","ReplyIcon","RotateLeftIcon","RotateRightIcon","RouterIcon","SearchIcon","Security","SpeechBubbleIcon","SpeechBubblesIcon","SpinnerIcon","StarFilledIcon","StarIcon","StopUpdatesIcon","SwitchIcon","TagIcon","ThumbDownIcon","ThumbUpIcon","TranslateIcon","TrashCanIcon","UnlockIcon","UserAssignIcon","UserCheckIcon","UserClockIcon","UserIcon","UserPlusIcon","UserXIcon","WindowMaximizeIcon","WindowMinimizeIcon","XSmallIcon","Helper","At","contentSide","contentAlign","alignOffset","delayDuration","tooltipTheme","G2","C2","I2","asAvatar","M2","Chatflow","AIAssistant","Activity","FacebookMessenger","WhatsApp","FacebookPage","Inbox","Knowledgebase","Forum","InstagramComments","InstagramMessenger","Calls","Chat","Email","AIKnowledge","ExternalSource","WebSource","nc","MV","loading","N2","gt","iconClassName","z2","onCheckedChange","htmlFor","bo","_2","required","xo","vt","hasError","isTextArea","So","errorText","optionalText","inputSize","X2","Y2","et","initialDeps","updateDeps","Ro","Q2","j2","startIndex","overscan","endIndex","scrollElement","targetWindow","borderBoxSize","inlineSize","blockSize","useAnimationFrameWithResizeObserver","useScrollendEvent","isScrollingResetDelay","horizontal","isRtl","adjustments","or","detect","handoffState","currentId","isServer","isClient","handoff","isHandoffComplete","Po","nextFrame","microTask","group","Ot","bt","captureStackTrace","xt","First","Previous","Next","Last","WrapAround","NoScroll","Overflow","Success","Underflow","Strict","Loose","Keyboard","Mouse","Go","Bt","isConnected","composed","composedPath","HTMLButtonElement","headlessuiFocusVisible","lr","St","flatMap","yt","None","RenderStrategy","Static","Unmount","Hidden","ourProps","theirProps","slot","features","visible","mergeRefs","Co","static","hidden","refName","Io","cr","Focusable","clip","dr","Open","Closed","Closing","Opening","Ft","Eo","Provider","Specific","Nothing","resolveItems","resolveActiveIndex","resolveDisabled","resolveId","ur","toISOString","Space","Enter","Escape","Backspace","Delete","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End","PageUp","PageDown","Tab","Single","Multi","Pointer","Focus","Other","OpenCombobox","CloseCombobox","GoToOption","RegisterOption","UnregisterOption","RegisterLabel","SetActivationTrigger","UpdateVirtualOptions","activeOptionIndex","dataRef","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","domRef","e4","comboboxState","calculateIndex","optionsRef","optionsPropsRef","virtual","activationTrigger","isSelected","__demoMode","labelId","gr","Dt","t4","ot","paddingBlockStart","paddingBlockEnd","paddingBottom","unsubs","isScrolling","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","pendingMeasuredCacheIndexes","scrollRect","scrollOffset","scrollDirection","scrollAdjustments","elementsCache","observer","_measureElement","setOptions","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","measureElement","initialRect","scrollMargin","indexAttribute","initialMeasurementsCache","notify","maybeNotify","calculateRange","_didMount","_willUpdate","getScrollElement","_scrollToOffset","getScrollOffset","observeElementRect","observeElementOffset","getFurthestMeasurement","getMeasurementOptions","getMeasurements","estimateSize","measurements","outerSize","getVirtualIndexes","indexFromElement","resizeItem","shouldAdjustScrollPositionOnItemSizeChange","getVirtualItems","getVirtualItemForOffset","getOffsetForAlignment","getOffsetForIndex","isDynamicMode","cancelScrollToIndex","scrollToOffset","scrollToIndex","scrollBy","getTotalSize","scrollToFn","measure","process","JEST_WORKER_ID","overflowAnchor","o4","r4","u4","g4","_r","by","nullable","immediate","hold","labelRef","inputRef","buttonRef","Ko","closeCombobox","activeIndex","activeOption","it","goToOption","Wo","registerOption","registerLabel","openCombobox","setActivationTrigger","selectActiveOption","Ut","_d","Tt","readOnly","h4","HTMLFieldSetElement","HTMLLegendElement","v4","displayValue","setSelectionRange","selectionDirection","onCompositionStart","onCompositionEnd","b4","x4","walk","FILTER_REJECT","S4","wasMoved","active","onPointerEnter","onMouseEnter","onPointerMove","onMouseMove","onPointerLeave","onMouseLeave","Vt","vr","Input","Button","Label","Options","Option","To","P4","Visible","No","ko","leave","idle","chains","all","wait","register","unregister","onStart","onStop","I4","E4","Sr","appear","initial","beforeEnter","beforeLeave","afterEnter","afterLeave","enterFrom","enterTo","entered","leaveFrom","leaveTo","G4","C4","M4","addFlag","hasFlag","removeFlag","toggleFlag","called","transitionDuration","transitionDelay","V4","A4","Child","Root","K4","U4","j4","autoHeight","maxLength","inputClassName","blockIfLimitReached","counterText","throw","Zr","e3","o3","m3","f3","w3","INFO","WARNING","ERROR","g3","v3","b3","triggerButton","withCloseButton","ariaLabel","onOpenAutoFocus","onCloseAutoFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","clickOutsideToClose","pointerEvents","x3","Ir","zo","Content","Trigger","onPointerDown","ariaRole","isRounded","sM","A3","_t","allowedTypes","maxFileSize","onChangeCallback","errorMessages","uploadedFiles","validFiles","refDropArea","dropAreaIsActive","alt","$3","viewPortClassName","forceMount","altText","timestamp","addSuffix","includeSeconds","clearInterval","dateTime","kr","expanded","setExpanded","onExpanded","defaultIndex","onIndexChange","isNumeric","year","day","hour","minute","Intl","DateTimeFormat","Ar","Fo","isToggle","describedBy","ev","rv","styledAs","lv","dataOrientation","onValueChange","activationMode","iv","loop","sv","cv","exit","pv","iconAfter","isWarning","uv","textValue","mv","fv","defaultOpen","hideWhenDetached","wv","hv","vv","showCloseButton","bv","arrowPadding","sticky","xv","Cv","dir","Item","Indicator","Ov","layoutId","selectedValue","Lv","bounce","Fv","Dv","withChannelIcon","Fr","wide","qv","jv","backButton","breadcrumbs","actions","contentWidth","BackButton","Breadcrumbs","Breadcrumb","labelSearchButton","labelClearButton","onQueryChange","onSearch","onClear","showClearButton","currentChannel","Arrow","forwardedRef","arrowProps","points","setRef","composeRefs","hasCleanup","cleanups","Primitive","primitive","Slot","primitiveProps","Comp","createSlot","ownerName","SlotClone","createSlotClone","Slot2","slotProps","childrenArray","slottable","isSlottable","newChildren","childrenRef","getter","mayWarn","isReactWarning","getElementRef","props2","childProps","propName","slotPropValue","childPropValue","mergeProps","SLOTTABLE_IDENTIFIER","__radixId","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","__scopeCheckbox","checkedProp","internal_do_not_use_render","setChecked","defaultProp","caller","control","setControl","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","isFormControl","isIndeterminate","scope","TRIGGER_NAME","CheckboxTrigger","checkboxProps","composedRefs","initialCheckedStateRef","getState","prevChecked","Checkbox","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","indicatorProps","present","BUBBLE_INPUT_NAME","controlSize","inputProto","indeterminate","defaultCheckedRef","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","useComposedRefs","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createScope","scopeContexts","defaultContext","contexts","rootComponentName","BaseContext","Context","consumerName","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","useScope","overrideScopes","nextScopes","nextScopes2","Presence","presence","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","machine","useStateMachine","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","isAnimating","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","animationFillMode","handleAnimationStart","isPresent","node2","usePresence","useLayoutEffect2","globalThis","createCollection","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","ItemSlot","collectionNode","orderedNodes","DIALOG_NAME","createDialogContext","createDialogScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","openProp","triggerRef","contentRef","descriptionId","onOpenToggle","prevOpen","DialogTrigger","triggerProps","composedTriggerRef","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","DialogContentImpl","trapFocus","disableOutsidePointerEvents","ctrlLeftClick","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","targetIsTrigger","trapped","onMountAutoFocus","onUnmountAutoFocus","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","describedById","Portal","Overlay","Title","Close","originalBodyPointerEvents","CONTEXT_UPDATE","DismissableLayerContext","layers","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","layerProps","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","discrete","once","timerId","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","dispatchUpdate","handleUpdate","DismissableLayerBranch","Branch","dispatchDiscreteCustomEvent","DirectionContext","SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createMenuContext","createMenuScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","__scopeMenu","popperScope","setContent","isUsingKeyboardRef","handleOpenChange","localDir","globalDir","useDirection","handlePointer","onContentChange","onClose","MenuAnchor","anchorProps","MenuPortal","MenuContentProvider","useMenuContentContext","MenuContent","rootContext","MenuRootContentModal","MenuRootContentNonModal","MenuContentImpl","disableOutsideScroll","onEntryFocus","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","isPointerMovingToSubmenu","point","polygon","inside","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","currentItem","currentMatch","nextMatch","normalizedSearch","currentMatchIndex","wrappedValues","getNextMatch","newItem","updateSearch","handleTypeaheadSearch","candidateNodes","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","itemProps","contentContext","isPointerDownRef","MenuItemImpl","menuItem","itemSelectEvent","onPointerUp","isTypingAhead","isFocused","setIsFocused","setTextContent","focusable","MenuCheckboxItem","checkboxItemProps","ItemIndicatorProvider","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","MenuSeparator","separatorProps","MenuArrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","setTrigger","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","contentRect","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","Root3","Anchor2","Content2","Group","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","Sub","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","createDropdownMenuScope","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","menuScope","DropdownMenuTrigger","DropdownMenuPortal","portalProps","DropdownMenuContent","isRightClick","DropdownMenuItem","radioGroupProps","DropdownMenuSeparator","DropdownMenuSubTrigger","subTriggerProps","DropdownMenuSubContent","Root2","Portal2","Separator2","Sub2","SubTrigger2","SubContent2","useFocusGuards","edgeGuards","createFocusGuard","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FocusScope","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","lastFocusedElementRef","focusScope","handleFocusIn2","handleFocusOut2","handleMutations2","mutations","mutation","removedNodes","mutationObserver","MutationObserver","childList","subtree","focusScopesStack","previouslyFocusedElement","mountEvent","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","container2","getTabbableEdges","nodes","walker","isHiddenInput","upTo","isSelectableInput","activeFocusScope","arrayRemove","createFocusScopesStack","updatedArray","useReactId","deterministicId","setId","reactId","POPOVER_NAME","createPopoverContext","createPopoverScope","PopoverProvider","usePopoverContext","__scopePopover","hasCustomAnchor","setHasCustomAnchor","onCustomAnchorAdd","onCustomAnchorRemove","ANCHOR_NAME","PopoverTrigger","PopoverPortal","PopoverContent","PopoverContentModal","PopoverContentNonModal","isRightClickOutsideRef","PopoverContentImpl","PopoverClose","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","onAnchorChange","PopperAnchor","virtualRef","anchorRef","previousAnchor","PopperContentProvider","useContentContext","PopperContent","avoidCollisions","collisionBoundary","collisionPadding","collisionPaddingProp","updatePositionStrategy","onPlaced","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","hasExplicitBoundaries","isNotNull","floatingStyles","isPositioned","whileElementsMounted","anchorWidth","anchorHeight","contentStyle","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","setFloating","onArrowChange","shouldHideArrow","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","baseSide","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Anchor","deepEqual","getDPR","devicePixelRatio","roundByDPR","dpr","useLatestRef","useFloating","externalReference","externalFloating","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","floatingRef","floatingEl","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","initialStyles","arrow$1","containerProp","setMounted","RADIO_NAME","createRadioContext","createRadioScope","RadioProvider","useRadioContext","Radio","__scopeRadio","onCheck","radioProps","setButton","RadioBubbleInput","RadioIndicator","ARROW_KEYS","createRadioGroupContext","createRadioGroupScope","useRadioScope","__scopeRadioGroup","valueProp","RadioGroupItem","radioScope","isArrowKeyPressedRef","handleKeyUp","RadioGroupIndicator","ENTRY_FOCUS","GROUP_NAME","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","__scopeRovingFocusGroup","RovingFocusGroupImpl","currentTabStopIdProp","defaultCurrentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","onItemFocus","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","onMouseDown","isKeyboardFocus","entryFocusEvent","RovingFocusGroupItem","autoId","isCurrentTabStop","focusIntent","getDirectionAwareKey","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","currentIndex","hasTabStop","OPEN_KEYS","SELECT_NAME","createSelectContext","createSelectScope","SelectProvider","useSelectContext","SelectNativeOptionsProvider","useSelectNativeOptionsContext","Select","__scopeSelect","valueNode","setValueNode","valueNodeHasChildren","setValueNodeHasChildren","triggerPointerDownPosRef","nativeOptionsSet","setNativeOptionsSet","nativeSelectKey","onValueNodeChange","onValueNodeHasChildrenChange","onNativeOptionAdd","onNativeOptionRemove","optionsSet","SelectBubbleInput","SelectTrigger","pointerTypeRef","resetTypeahead","useTypeaheadSearch","enabledItems","nextItem","findNextItem","handleOpen","pointerEvent","shouldShowPlaceholder","hasPointerCapture","releasePointerCapture","VALUE_NAME","SelectValue","valueProps","hasChildren","SelectIcon","iconProps","SelectPortal","SelectContent","fragment","setFragment","DocumentFragment","frag","SelectContentProvider","SelectContentImpl","CONTENT_MARGIN","useSelectContentContext","viewport","setViewport","selectedItem","setSelectedItem","selectedItemText","setSelectedItemText","setIsPositioned","firstValidItemFoundRef","firstItem","restItems","lastItem","focusSelectedItem","pointerMoveDelta","handlePointerMove","handlePointerUp","itemRefCallback","isFirstValidItem","handleItemLeave","itemTextRefCallback","SelectPosition","SelectPopperPosition","SelectItemAlignedPosition","popperContentProps","onViewportChange","onContextMenu","flexDirection","currentElement","popperProps","contentWrapper","setContentWrapper","shouldExpandOnScrollRef","shouldRepositionRef","triggerRect","valueNodeRect","itemTextRect","itemTextOffset","leftDelta","minContentWidth","rightEdge","clampedLeft","rightDelta","leftEdge","clampedRight","itemsHeight","contentStyles","contentBorderTopWidth","contentPaddingTop","contentBorderBottomWidth","borderBottomWidth","fullContentHeight","minContentHeight","viewportStyles","viewportPaddingTop","viewportPaddingBottom","topEdgeToTriggerMiddle","triggerMiddleToBottomEdge","selectedItemHalfHeight","contentTopToItemMiddle","itemMiddleToContentBottom","isLastItem","viewportOffsetBottom","isFirstItem","handleScrollButtonChange","SelectViewportProvider","onScrollButtonChange","boxSizing","useSelectViewportContext","VIEWPORT_NAME","SelectViewport","viewportProps","viewportContext","prevScrollTopRef","onScroll","scrolledBy","cssMinHeight","cssHeight","prevHeight","nextHeight","clampedNextHeight","heightDiff","justifyContent","SelectGroupContextProvider","useSelectGroupContext","SelectGroup","groupId","LABEL_NAME","SelectLabel","groupContext","SelectItemContextProvider","useSelectItemContext","SelectItem","textValueProp","setTextValue","textId","handleSelect","onItemTextChange","prevTextValue","ITEM_TEXT_NAME","SelectItemText","itemTextProps","itemContext","nativeOptionsContext","itemTextNode","setItemTextNode","nativeOption","SelectItemIndicator","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","canScrollUp","setCanScrollUp","handleScroll2","canScrollUp2","SelectScrollButtonImpl","onAutoScroll","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","canScrollDown","setCanScrollDown","maxScroll","canScrollDown2","scrollIndicatorProps","autoScrollTimerRef","clearAutoScrollTimer","SelectSeparator","prevValue","selectProto","HTMLSelectElement","onSearchChange","handleSearchChange","currentItemIndex","wrappedItems","Value","Icon","Viewport","ItemText","ScrollUpButton","ScrollDownButton","SWITCH_NAME","createSwitchContext","createSwitchScope","SwitchProvider","useSwitchContext","Switch","__scopeSwitch","switchProps","SwitchBubbleInput","THUMB_NAME","SwitchThumb","thumbProps","Thumb","TABS_NAME","createTabsContext","createTabsScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","tabsProps","baseId","TAB_LIST_NAME","TabsList","listProps","TabsTrigger","makeTriggerId","makeContentId","isAutomaticActivation","TabsContent","isMountAnimationPreventedRef","rAF","animationDuration","List","createToastContext","createToastScope","ToastProviderProvider","useToastProviderContext","ToastProvider","__scopeToast","swipeThreshold","toastCount","setToastCount","isFocusedToastEscapeKeyDownRef","isClosePausedRef","onToastAdd","onToastRemove","VIEWPORT_DEFAULT_HOTKEY","VIEWPORT_PAUSE","VIEWPORT_RESUME","ToastViewport","hotkey","wrapperRef","headFocusProxyRef","tailFocusProxyRef","hotkeyLabel","hasToasts","wrapper","handlePause","pauseEvent","handleResume","resumeEvent","handleFocusOutResume","handlePointerLeaveResume","getSortedTabbableCandidates","tabbingDirection","tabbableCandidates","toastItem","toastNode","toastTabbableCandidates","flat","isMetaKey","isTabbingBackwards","sortedCandidates","FocusProxy","onFocusFromOutsideViewport","FOCUS_PROXY_NAME","proxyProps","prevFocusedElement","TOAST_NAME","toastProps","ToastImpl","onPause","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","ToastInteractiveProvider","useToastInteractiveContext","durationProp","pointerStartRef","swipeDeltaRef","closeTimerStartTimeRef","closeTimerRemainingTimeRef","closeTimerRef","handleClose","isFocusInToast","startTimer","duration2","announceTextContent","getAnnounceTextContent","ToastAnnounce","userSelect","touchAction","hasSwipeMoveStarted","isHorizontalSwipe","clampedX","clampedY","moveStartBuffer","isDeltaInDirection","setPointerCapture","toast","event2","announceProps","renderAnnounceText","setRenderAnnounceText","isAnnounced","setIsAnnounced","raf1","raf2","useNextFrame","ToastTitle","ToastDescription","ToastAction","actionProps","ToastAnnounceExclude","ToastClose","interactiveContext","announceExcludeProps","ariaHidden","isExcluded","radixToastAnnounceExclude","radixToastAnnounceAlt","isDeltaX","Description","Action","TOGGLE_GROUP_NAME","createToggleGroupContext","createToggleGroupScope","ToggleGroup","toggleGroupProps","singleProps","ToggleGroupImplSingle","multipleProps","ToggleGroupImplMultiple","ToggleGroupValueProvider","useToggleGroupValueContext","toggleGroupSingleProps","__scopeToggleGroup","onItemActivate","onItemDeactivate","ToggleGroupImpl","toggleGroupMultipleProps","handleButtonActivate","itemValue","handleButtonDeactivate","value2","ToggleGroupContext","useToggleGroupContext","rovingFocus","commonProps","ToggleGroupItem","valueContext","pressed","ToggleGroupItemImpl","typeProps","onPressedChange","Toggle","pressedProp","defaultPressed","buttonProps","setPressed","createTooltipContext","createTooltipScope","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","skipDelayDuration","disableHoverableContent","isOpenDelayedRef","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","onOpen","onPointerInTransitChange","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","disableHoverableContentProp","delayDurationProp","providerContext","wasOpenDelayedRef","open2","stateAttribute","handleDelayedOpen","onTriggerEnter","TooltipTrigger","hasPointerMoveOpenedRef","TooltipPortal","TooltipContent","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","exitPoint","paddedExitPoints","exitSide","getPaddedExitPoints","getExitSideFromRect","graceArea","newPoints","upperHull","lowerHull","getHullPresorted","getHull","getPointsFromRect","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","isInside","Slottable","TooltipArrow","createSlottable","Slottable2","useControllableState","uncontrolledProp","setUncontrolledProp","onChangeRef","prevValueRef","useUncontrolledState","isControlled","isControlledRef","wasControlled","nextValue","useEscapeKeydown","onEscapeKeyDownProp","usePrevious","previous","useSize","borderSizeEntry","borderSize","VISUALLY_HIDDEN_STYLES","freeze","VisuallyHidden","defaultOptions","getDefaultOptions","getTimezoneOffsetInMilliseconds","_date","utcDate","UTC","getFullYear","getMonth","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","millisecondsInWeek","millisecondsInDay","minutesInMonth","minutesInDay","constructFrom","constructNow","getDayOfYear","toDate","dateLeft","dateRight","startOfDayLeft","startOfDay","startOfDayRight","timestampLeft","timestampRight","differenceInCalendarDays","cleanDate","setFullYear","setHours","startOfYear","startOfISOWeek","startOfWeek","weekStartsOn","getISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getISOWeek","diff","fourthOfJanuary","startOfISOWeekYear","getWeekYear","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","getWeek","firstWeek","startOfWeekYear","addLeadingZeros","targetLength","padStart","lightFormatters","token","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","trunc","formatters","localize","era","ordinalNumber","unit","signedWeekYear","weekYear","quarter","isoWeek","dayOfYear","dayOfWeek","getDay","localDayOfWeek","isoDayOfWeek","dayPeriod","hours","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","delimiter","sign","absOffset","minutes","dateLongFormatter","formatLong","timeLongFormatter","longFormatters","matchResult","datePattern","timePattern","dateTimeFormat","dayOfYearTokenRE","weekYearTokenRE","throwTokens","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","originalDate","RangeError","firstCharacter","longFormatter","isToken","cleanEscapedString","preprocessor","formatterOptions","useAdditionalWeekYearTokens","isProtectedWeekYearToken","useAdditionalDayOfYearTokens","isProtectedDayOfYearToken","_message","subject","warnOrThrowProtectedError","formatter","matched","compareAsc","_dateLeft","_dateRight","isLastDayOfMonth","endOfDay","endOfMonth","differenceInMonths","difference","differenceInCalendarMonths","setMonth","isLastMonthNotFull","differenceInSeconds","differenceInMilliseconds","roundingMethod","formatDistanceToNow","baseDate","comparison","localizeOptions","seconds","offsetInSeconds","months","formatDistance","days","nearestMonth","monthsSinceStartOfYear","years","isThisYear","isSameYear","isToday","buildFormatLongFn","defaultWidth","formats","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","buildMatchFn","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findKey","valueCallback","buildMatchPatternFn","parseResult","parsePattern","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","full","long","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","dirtyNumber","narrow","abbreviated","am","pm","midnight","noon","morning","afternoon","evening","night","tokenValue","formatRelative","_baseDate","any","standalone","withPreposition","monthValues","formattingMonthValues","enGB","enUS","rem100","formatRelativeLocalePlural","futureSeconds","futureMinutes","futureHours","futureWeeks","futureMonths","futureYears","futureTense","dayValues","formattingDayValues","regular","past","future","twoFour","declension","scheme","rem10","declensionGroup","adjectivesLastWeek","masculine","feminine","adjectivesThisWeek","adjectivesNextWeek","dayGrammaticalGender","dayAndTimeWithAdjective","adjectives","isSameWeek","wordMapping","argument","argStr","PopChildMeasure","prevProps","childRef","parentWidth","parentHeight","sizeRef","PopChild","anchorX","anchorY","MotionConfigContext","composedRef","motionPopId","insertRule","PresenceChild","onExitComplete","custom","presenceAffectsLayout","presenceChildren","newChildrenMap","isReusedContext","childId","isComplete","PresenceContext","getChildKey","onlyElements","filtered","Children","isValidElement","AnimatePresence","propagate","isParentPresent","safeToRemove","presentChildren","presentKeys","isInitialRender","pendingPresentChildren","exitComplete","exitingComponents","diffedChildren","setDiffedChildren","renderedChildren","setRenderedChildren","exitingChildren","nextChildren","forceRender","LayoutGroupContext","isEveryExitComplete","isExitComplete","subscribe","createContext","LazyContext","strict","transformPagePoint","isStatic","reducedMotion","useCreateMotionContext","variantLabelsAsDependency","MotionContext","getCurrentTreeVariants","inherit","SwitchLayoutGroupContext","addPointerEvent","eventName","extractEventInfo","addPointerInfo","elementDragControls","VisualElementDragControls","visualElement","openDragLock","isDragging","currentDirection","originPoint","constraints","hasMutatedConstraints","elastic","latestPointerEvent","latestPanInfo","originEvent","snapToCursor","distanceThreshold","presenceContext","dragSnapToOrigin","getProps","panSession","onSessionStart","stopAnimation","drag","dragPropagation","onDragStart","resolveConstraints","projection","isAnimationBlocked","getAxisMotionValue","layout","measuredAxis","layoutBox","animationState","setActive","dragDirectionLock","onDirectionLock","onDrag","lockThreshold","getCurrentDirection","updateAxis","onSessionEnd","resumeAnimation","startAnimation","getTransformPagePoint","contextWindow","panInfo","finalEvent","finalPanInfo","velocity","onDragEnd","endPanSession","_point","shouldDrag","axisValue","dragConstraints","dragElastic","prevConstraints","resolveRefConstraints","onMeasureDragConstraints","constraintsElement","constraintsBox","measuredConstraints","userConstraints","dragMomentum","dragTransition","onDragTransitionEnd","momentumAnimations","bounceStiffness","bounceDamping","inertia","timeConstant","restDelta","restSpeed","startAxisValueAnimation","dragKey","scalePositionWithinConstraints","boxProgress","latest","transformTemplate","updateScroll","updateLayout","addListeners","stopPointerListener","dragListener","isClickingTextInputChild","stopResizeObservers","measureDragConstraints","onResize","stopElement","skipFirstCall","stopContainer","startResizeObservers","stopMeasureLayoutListener","stopResizeListener","stopLayoutUpdateListener","hasLayoutChanged","motionValue","isFirst","DragGesture","super","removeGroupControls","removeListeners","controls","mount","dragControls","prevDragControls","applyConstraints","calcRelativeAxisConstraints","calcRelativeConstraints","calcViewportAxisConstraints","layoutAxis","constraintsAxis","calcViewportConstraints","calcOrigin","sourceLength","rebaseAxisConstraints","relativeConstraints","defaultElastic","resolveDragElastic","resolveAxisElastic","minLabel","maxLabel","resolvePointElastic","FocusGesture","isFocusVisible","handleHoverEvent","lifecycle","whileHover","HoverGesture","_element","startEvent","endEvent","overflowStyles","PanSession","handlers","lastMoveEvent","lastMoveEventInfo","scrollPositions","removeScrollListeners","onElementScroll","onWindowScroll","updatePoint","getPanInfo","history","isPanStarted","isDistancePastThreshold","transformPoint","onEnd","initialInfo","startScrollTracking","isWindow","updateHandlers","subtractPoint","lastDevicePoint","startDevicePoint","getVelocity","timeDelta","timestampedPoint","lastPoint","currentVelocity","asyncHandler","PanGesture","removePointerDownListener","pointerDownEvent","createPanHandlers","onPanSessionStart","onPanStart","onPan","onPanEnd","handlePressEvent","whileTap","PressGesture","globalTapTarget","useGlobalTarget","tap","ExitAnimationFeature","prevIsPresent","prevPresenceContext","exitAnimation","AnimationFeature","updateAnimationControlsSubscription","unmountControls","prevAnimate","animations","Feature","featureProps","hover","pan","inView","getInitializedFeatureDefinitions","initialFeatureDefinitions","initFeatureDefinitions","ProjectionNode","MeasureLayout","gestureAnimations","hasTakenAnySnapshot","MeasureLayoutWithContext","layoutGroup","switchLayoutGroup","didUpdate","layoutDependency","willUpdate","promote","relegate","getStack","members","currentAnimation","isLead","promoteContext","scheduleCheckAfterUnmount","deregister","loadFeatures","featureDefinitions","thresholdNames","InViewFeature","hasEnteredView","isInView","startObserver","amount","isIntersecting","onViewportEnter","onViewportLeave","prevViewport","hasViewportOptionChanged","observerCallbacks","observers","fireObserverCallback","fireAllObserverCallbacks","observeIntersection","rootInteresectionObserver","lookupRoot","rootObservers","initIntersectionObserver","createMotionComponent","forwardMotionProps","preloadedFeatures","createVisualElement","isSVG","useVisualState","MotionDOMComponent","externalRef","configAndProps","useLayoutId","visualState","layoutProjection","combined","getProjectionFunctionality","ForwardRefMotionComponent","layoutGroupId","motionComponentSymbol","useMotionRef","externalRefContainer","refCleanup","onMount","useVisualElement","ProjectionNodeConstructor","lazyContext","motionConfig","reducedMotionConfig","skipAnimations","visualElementRef","hasMountedOnce","renderer","blockInitialAnimation","manuallyAnimateOnMount","initialLayoutGroupConfig","initialPromotionConfig","layoutScroll","layoutRoot","layoutCrossfade","latestValues","getClosestProjectingNode","alwaysMeasureLayout","animationType","crossfade","createProjectionNode","optimisedAppearId","wantsHandoff","MotionHandoffIsComplete","MotionHasOptimisedAnimation","MotionIsMounted","updateFeatures","scheduleRenderMicrotask","animateChanges","MotionHandoffMarkAsComplete","enteringChildren","allowProjection","makeLatestValues","scrapeMotionValues","motionValues","isControllingVariants$1","isVariantNode$1","isInitialAnimationBlocked","variantToSet","resolved","transitionEnd","valueTarget","makeUseVisualState","make","scrapeMotionValuesFromProps","createRenderState","renderState","makeState","validMotionProps","isValidMotionProp","createMotionProxy","Proxy","componentCache","factory","_target","featureBundle","motion","createDomVisualElement","useRender","visualProps","filteredProps","elementProps","shouldForward","isValidProp","require","filterProps","isDom","isSVGComponent","useHTMLVisualState","copyRawValuesOnly","useHTMLProps","htmlProps","vars","useInitialMotionValues","WebkitUserSelect","WebkitTouchCallout","onTap","onTapStart","createHtmlRenderState","lowercaseSVGElements","useSVGProps","_isStatic","attrs","rawStyles","useSVGVisualState","createSvgRenderState","distance2D","xDelta","yDelta","getContextWindow","isBrowser","isRefObject","useConstant","AsyncMotionValueAnimation","repeatDelay","repeatType","keyframes","_animation","stopTimeline","keyframeResolver","createdAt","optionsWithDefaults","KeyframeResolver$1","KeyframeResolver","resolvedKeyframes","finalKeyframe","forced","onKeyframesResolved","scheduleResolve","sync","isHandoff","onUpdate","resolvedAt","resolvedOptions","useWaapi","owner","finished","notifyFinished","pendingTimeline","attachTimeline","_finished","onResolve","_onReject","finally","iterationDuration","newTime","speed","newSpeed","timeline","play","percentToProgress","JSAnimation","isStopped","currentTime","holdTime","playbackSpeed","updatedAt","tick","teardown","initAnimation","keyframes$1","generatorFactory","mixKeyframes","mirroredGenerator","calculatedDuration","resolvedDuration","totalDuration","updateTime","animationTime","sample","timeWithoutDelay","isInDelayPhase","elapsed","frameGenerator","currentIteration","iterationProgress","isAnimationFinished","finish","driver","hasChanged","onPlay","updateFinished","stopDriver","sampleTime","allowFlatten","NativeAnimation","finishedTime","manualStartTime","isPseudoElement","onfinish","keyframe","updateMotionValue","commitStyles","effect","getComputedTiming","playbackRate","playState","newStartTime","updateTiming","easing","NativeAnimationExtended","sampleAnimation","setWithVelocity","animateSingleValue","motionValue$1","frameloopDriver","passTimestamp","keepAlive","power","modifyTarget","nearestBoundary","amplitude","ideal","calcDelta","exp","calcLatest","applyFriction","timeReachedBoundary","spring$1","checkCatchBoundary","damping","stiffness","hasUpdatedFrame","keyframeValues","times","easingFunctions","absoluteTimes","mapTimeToKeyframe","springDefaults","mass","visualDuration","granular","minDuration","maxDuration","minDamping","maxDamping","findSpring","envelope","derivative","dampingRatio","undampedFreq","exponentialDecay","calcAngularFreq","initialGuess","approximateRoot","durationKeys","physicsKeys","isSpringType","spring","optionsOrVisualDuration","isResolvedFromDuration","springOptions","derived","getSpringOptions","initialVelocity","initialDelta","undampedAngularFreq","isGranularScale","resolveSpring","angularFreq","sin","cos","dampedAngularFreq","freqForT","sinh","cosh","isBelowVelocityThreshold","isBelowDisplacementThreshold","toTransition","applyToOptions","generatorOptions","maxGeneratorDuration","calcGeneratorDuration","createGeneratorEasing","createGenerator","isGenerator","calcGeneratorVelocity","resolveValue","prevT","animateMotionValue","valueTransition","shouldSkip","shouldSkipAnimations","isSync","shouldBlockAnimation","protectedKeys","needsAnimating","shouldBlock","animateTarget","targetAndTransition","transitionOverride","defaultTransition","getDefaultTransition","reduceMotion","animationTypeState","MotionHandoffAnimation","appearId","shouldReduceMotion","applyTransitionEnd","animateVariant","getAnimation","getChildAnimations","variantChildren","forwardDelay","delayChildren","staggerChildren","staggerDirection","animateChildren","animateVisualElement","definition","resolvedDefinition","DOMKeyframesResolver","unresolvedKeyframes","readKeyframes","resolveNoneKeyframes","originType","targetType","needsMeasurement","noneKeyframeIndexes","measureInitialState","suspendedScrollY","measuredOrigin","measureViewportBox","measureKeyframe","jump","measureEndState","finalKeyframeIndex","removedTransforms","unsetTransformName","unsetTransformValue","toResolve","isScheduled","anyNeedsMeasurement","isForced","measureAllKeyframes","resolversToMeasure","resolver","elementsToMeasure","transformsToRestore","readAllKeyframes","flushKeyframeResolvers","isAsync","valueAsRead","readValue","setFinalKeyframe","renderEndStyles","isForcedComplete","getFinalKeyframe","defaultOffset","fillOffset","offsetProgress","convertOffsetToTimes","fillWildcards","isNone","invalidTemplates","makeNoneKeyframesAnimatable","animatableTemplate","noneIndex","isNumOrPxType","transformKeys","nonTranslationalTransformKeys","removeNonTranslationalTransform","positionalValues","_bbox","translateX","translateY","optimizedAppearDataAttribute","getOptimisedAppearId","WithPromise","onReject","calcChildStagger","sortNodePosition","numChildren","maxStaggerDuration","canAnimate","originKeyframe","targetKeyframe","isOriginAnimatable","isTargetAnimatable","hasKeyframesChanged","splitCSSVariableRegex","getVariableValue","depth","token1","token2","parseCSSVariable","underDampedSpring","keyframesTransition","valueKey","getValueTransition","isAnimatable","checkStringStartsWith","isCSSVariableName","startsAsVariableToken","isCSSVariableToken","singleCssVariableRegex","containsCSSVariable","isTransitionDefined","_delay","makeAnimationInstant","transitionTypeMap","decay","tween","replaceTransitionType","resolveTransition","parentTransition","cubicBezierAsString","mapEasingToNativeEasing","segmentEasing","supportedWaapiEasing","linear","easeIn","easeOut","easeInOut","circIn","circOut","backIn","backOut","startWaapiAnimation","valueName","keyframeOptions","acceleratedValues","supportsWaapi","supportsBrowserAnimation","applyGeneratorOptions","generateLinearEasing","resolution","numPoints","unsupportedEasingFunctions","anticipate","backInOut","circInOut","replaceStringEasing","addDomEvent","createRenderBatcher","scheduleNextBatch","allowKeepAlive","runNextFrame","useDefaultElapsed","isProcessing","flagRunNextFrame","steps","setup","resolveKeyframes","preUpdate","preRender","postRender","processBatch","schedule","cancelFrame","frameData","frameSteps","microtask","cancelMicrotask","stepsOrder","createRenderStep","stepName","thisFrame","flushNextFrame","toKeepAlive","latestFrameData","numCalls","triggerCallback","clearTime","isDragActive","setDragLock","elementOrSelector","onHoverStart","eventOptions","hoverEndCallback","isPressed","deferredHoverEnd","endHover","leaveEvent","enterEvent","onHoverEnd","isValidPressEvent","claimedPointerDownEvents","press","targetOrSelector","onPressStart","cancelEvents","startPress","onPressEnd","onPointerEnd","onPointerCancel","upEvent","cancelEvent","keyboardAccessibleElements","isElementKeyboardAccessible","textInputElements","isElementTextInput","filterEvents","firePointerEvent","PointerEvent","enableKeyboardPress","focusEvent","handleKeydown","handleKeyup","isPressing","isNodeOrChild","isPrimaryPointer","setupGesture","gestureAbortController","AbortController","signal","borders","numBorders","asNumber","isPx","mixValues","follow","shouldCrossfadeOpacity","isOnlyMember","easeCrossfadeIn","opacityExit","easeCrossfadeOut","borderLabel","followRadius","getRadius","leadRadius","radiusName","compress","convertBoundingBoxToBox","convertBoxToBoundingBox","transformBoxPoints","topLeft","bottomRight","copyAxisInto","originAxis","copyBoxInto","originBox","copyAxisDeltaInto","originDelta","scalePoint","applyPointDelta","boxScale","applyAxisDelta","applyBoxDelta","TREE_SCALE_SNAP_MIN","TREE_SCALE_SNAP_MAX","applyTreeDeltas","treeScale","treePath","isSharedTransition","treeLength","projectionDelta","transformBox","translateAxis","transformAxis","axisTranslate","axisScale","axisOrigin","scaleX","originX","scaleY","originY","calcLength","isNear","maxDistance","calcAxisDelta","calcBoxDelta","calcRelativeAxis","relative","calcRelativeBox","calcRelativeAxisPosition","calcRelativePosition","removePointDelta","removeAxisTransforms","transforms","scaleKey","originKey","sourceAxis","removeAxisDelta","xKeys","yKeys","removeBoxTransforms","sourceBox","createDelta","createBox","isAxisDeltaZero","isDeltaZero","axisEquals","boxEquals","axisEqualsRounded","boxEqualsRounded","axisDeltaEquals","DocumentProjectionNode","attachResizeListener","measureScroll","checkIsScrollRoot","rootProjectionNode","HTMLProjectionNode","defaultParent","documentNode","resetTransform","metrics","calculatedTargetDeltas","calculatedProjections","transformAxes","resetDistortingTransform","sharedAnimationValues","setStaticValue","cancelTreeOptimisedTransformAnimations","projectionNode","hasCheckedOptimisedAppear","MotionCancelOptimisedAnimation","animationId","animationCommitId","isTreeAnimating","isLayoutDirty","isProjectionDirty","isSharedProjectionDirty","isTransformDirty","updateManuallyBlocked","updateBlockedByResize","isUpdating","needsReset","shouldResetTransform","eventHandlers","hasTreeAnimated","layoutVersion","updateScheduled","projectionUpdateScheduled","checkUpdateFailed","clearAllSnapshots","updateProjection","propagateDirtyNodes","resolveTargetDelta","calcProjection","cleanDirtyNodes","resolvedRelativeTargetAt","linkedParentVersion","hasProjected","animationProgress","sharedNodes","notifyListeners","subscriptionManager","hasListeners","cancelDelay","resizeUnblockUpdate","newInnerWidth","finishAnimation","registerSharedNode","hasRelativeLayoutChanged","newLayout","isTreeAnimationBlocked","relativeTarget","layoutTransition","defaultLayoutTransition","onLayoutAnimationStart","onLayoutAnimationComplete","hasTargetChanged","targetLayout","hasOnlyRelativeTargetChanged","resumeFrom","resumingFrom","animationOptions","setAnimationOrigin","blockUpdate","unblockUpdate","isUpdateBlocked","startUpdate","resetSkewAndRotation","getTransformTemplate","shouldNotifyListeners","prevTransformTemplateValue","updateSnapshot","clearMeasurements","clearIsLayoutDirty","resetTransformStyle","notifyLayoutUpdate","clearSnapshot","removeLeadSnapshots","scheduleUpdateProjection","measuredBox","prevLayout","layoutCorrected","phase","isRoot","wasRoot","isResetRequested","hasProjection","transformTemplateValue","transformTemplateHasChanged","scheduleRender","removeTransform","pageBox","measurePageBox","removeElementScroll","roundAxis","checkNodeWasScrollRoot","boxWithoutScroll","applyTransform","transformOnly","withTransforms","boxWithoutTransform","nodeBox","setTargetDelta","targetDelta","forceRelativeParentToResolveTarget","relativeParent","forceRecalculation","getLead","isShared","attemptToResolveRelativeTarget","getClosestProjectingParent","removeRelativeTarget","createRelativeTarget","targetWithTransforms","relativeTargetOrigin","isProjecting","parentLayout","canSkip","pendingAnimation","prevTreeScaleX","prevTreeScaleY","prevProjectionDelta","createProjectionDeltas","notifyAll","projectionDeltaWithTransform","snapshotLatestValues","mixedValues","relativeLayout","isSharedLayoutAnimation","hasOpacityCrossfade","prevRelativeTarget","mixTargetDelta","mixAxisDelta","mixAxis","animationValues","completeAnimation","preserveOpacity","exitAnimationComplete","applyTransformsToTarget","shouldAnimatePositionOnly","xLength","yLength","preserveFollowOpacity","shouldPreserveFollowOpacity","getPrevLead","prevLead","hasDistortingTransform","rotateX","rotateY","rotateZ","skewX","skewY","resetValues","applyProjectionStyles","targetStyle","styleProp","valuesToRender","correct","applyTo","isCSSVariable","corrected","num","resetTree","measuredLayout","axisSnapshot","layoutDelta","visualDelta","parentSnapshot","relativeSnapshot","onBeforeLayoutMeasure","removeLeadSnapshot","userAgentContains","roundPoint","globalProjectionState","hasAnimatedSinceResize","hasEverUpdated","NodeStack","indexOfNode","member","prevDep","nextDep","prevInstance","pixelsToPercent","pixels","correctBorderRadius","correctBoxShadow","xScale","yScale","averageScale","scaleCorrectors","borderTopLeftRadius","borderTopRightRadius","boxShadow","buildProjectionTransform","latestTransform","xTranslate","yTranslate","zTranslate","transformPerspective","elementScaleX","elementScaleY","compareByDepth","eachAxis","FlatTree","isDirty","isIdentityScale","hasScale","hasTransform","has2DTranslate","is2DTranslate","viewportBox","propEventHandlers","setFeatureDefinitions","definitions","getFeatureDefinitions","VisualElement","_props","_prevProps","_visualElement","isVariantNode","isControllingVariants","valueSubscriptions","prevMotionValues","hasBeenMounted","propEventSubscriptions","notifyUpdate","triggerBuild","renderInstance","renderScheduledAt","baseTarget","initialValues","skipAnimationsConfig","initialMotionValues","removeFromVariantTree","addVariantChild","bindToMotionValue","addChild","feature","accelerate","valueIsTransform","onBindTransform","removeOnChange","latestValue","removeSyncCheck","MotionCheckAppearSync","sortInstanceNodePosition","featureDefinition","FeatureConstructor","measureInstanceViewportBox","getStaticValue","handleChildMotionValue","getVariant","variants","getClosestVariantNode","closestVariantNode","addValue","existingValue","removeValue","unsubscribe","removeValueFromRenderState","hasValue","getBaseTargetFromProps","readValueFromInstance","setBaseTarget","getBaseTarget","valueFromInitial","DOMVisualElement","childSubscription","isCSSVar","radToDeg","rad","angle","atan2","rebaseAngle","matrix2dParsers","atan","matrix3dParsers","translateZ","defaultTransformValue","parseValueFromTransform","matrix3dMatch","parsers","matrix2dMatch","valueParser","convertTransformToNumber","readTransformValue","setStyle","camelToDash","HTMLVisualElement","buildHTMLStyles","hasTransformOrigin","valueAsType","originZ","translateAlias","numTransforms","buildTransform","transformString","transformIsDefault","valueIsDefault","parsed","renderHTML","elementStyle","prevStyle","newValues","liveStyle","visualElementStore","SVGVisualElement","isSVGTag","cssMotionPathProperties","buildSVGAttrs","attrX","attrY","attrScale","pathLength","pathSpacing","pathOffset","camelCaseAttributes","dashKeys","camelKeys","buildSVGPath","useDashCase","renderSVG","_styleProp","reversePriorityOrder","numAnimationTypes","createAnimationState","createAnimateFunction","createState","buildResolvedTypeValues","changedActiveType","removedKeys","encounteredKeys","removedVariantIndex","typeState","propIsVariant","activeDelta","isInherited","prevProp","prevResolvedValues","variantDidChange","shouldAnimateType","handledRemovedValues","definitionList","resolvedValues","allKeys","markToAnimate","valueHasChanged","willAnimateViaParent","parentVariant","fallbackAnimation","initialTransition","fallbackTarget","shouldAnimate","setAnimateFunction","makeAnimator","createTypeState","whileInView","whileDrag","whileFocus","numVariantProps","getVariantContext","isAnimationControls","isForcedMotionValue","isKeyframesTarget","isVariantLabel","positionalKeys","transformPropOrder","transformProps","updateMotionValuesFromProps","hasAnimated","initPrefersReducedMotion","matchMedia","motionMediaQuery","setReducedMotionPreferences","prefersReducedMotion","hasReducedMotionListener","resolveVariant","getValueState","resolveVariantFromProps","setMotionValue","setTarget","shallowCompare","prevLength","variantPriorityOrder","variantProps","resizeHandlers","borderBoxAxis","svgAxis","htmlAxis","getBBox","getWidth","getHeight","notifyTarget","resizeElement","elementHandlers","windowCallbacks","windowResizeHandler","resizeWindow","activeAnimations","mainThread","waapi","statsBuffer","addProjectionMetrics","timeout","checkElapsed","interpolate","isClamp","mixer","inputLength","isZeroDeltaRange","mixers","customMixer","mixerFactory","numMixers","easingFunction","createMixers","interpolator","progressInRange","isSVGElement","isSVGSVGElement","mixLinearColor","fromExpo","expo","colorTypes","asRGBA","model","mixColor","fromRGBA","toRGBA","blended","red","green","blue","alpha","mixNumber","getMixer","mixComplex","mixArray","mixObject","numValues","blendValue","originStats","targetStats","indexes","var","orderedOrigin","pointers","originIndex","originValue","matchOrder","mixImmediate","mix","invisibleValues","mixVisibility","resolveElements","selectorCache","EventTarget","supportsFlags","supportsLinearEasing","memoSupports","supportsFlag","memoized","supportsScrollTimeline","ScrollTimeline","collectMotionValues","MotionValue","canTrackVelocity","updateAndNotify","setPrevFrameValue","setCurrent","change","dependents","dependent","dirty","prevFrameValue","prevUpdatedAt","subscription","clearListeners","eventManagers","passiveEffect","stopPassiveEffect","endAnimation","addDependent","removeDependent","getPrevious","animationStart","animationComplete","clearAnimation","animationCancel","auto","hueToRgb","hslaToRgba","hue","saturation","lightness","hsla","alpha$1","getAnimatableNone","rgbUnit","clampRgbUnit","rgba","isColorString","testProp","splitColor","aName","bName","cName","maxDefaults","applyDefaultFilter","functionRegex","functions","NUMBER_TOKEN","COLOR_TOKEN","complexRegex","analyseComplexValue","originalValue","parsedValue","parseComplexValue","createTransformer","numSections","convertNumbersToZero","complex","transformer","mask","dimensionValueTypes","vw","findDimensionValueType","int","defaultValueTypes","outlineColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","WebkitFilter","WebkitMask","getDefaultValueType","numberValueTypes","borderRightWidth","insetBlock","insetBlockStart","insetBlockEnd","insetInline","insetInlineStart","insetInlineEnd","paddingBlock","paddingInline","paddingInlineStart","paddingInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","marginInline","marginInlineStart","marginInlineEnd","backgroundPositionX","backgroundPositionY","numOctaves","transformValueTypes","scaleZ","perspective","createUnitType","degrees","progressPercentage","testValueType","customTypes","defaultValueType","colorRegex","valueTypes","findValueType","floatRegex","getValueAsType","isNullish","singleColorRegex","isMotionValue","resolveMotionValue","addValueToWillChange","newWillChange","isWillChangeMotionValue","addUniqueItem","acos","calcBezier","cubicBezier","mX1","mY1","mX2","mY2","lowerBound","upperBound","currentX","currentT","binarySubdivide","mirrorEasing","reverseEasing","isBezierDefinition","isEasingArray","easingLookup","easingDefinitionToFunction","x1","x2","y2","warning","invariant","MotionGlobalConfig","isNumericalString","isZeroValueString","memo","noop","combineFunctions","pipe","transformers","toFromDifference","SubscriptionManager","subscriptions","numSubscriptions","secondsToMilliseconds","millisecondsToSeconds","velocityPerSecond","frameDuration"],"sourceRoot":""}