diff --git a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.js.map b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.js.map deleted file mode 100644 index f895edc..0000000 --- a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mt-block-editor.js","mappings":"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","sources":["webpack:///../i18next-parser.config.js","webpack:///../node_modules/core-js/internals/a-function.js","webpack:///../node_modules/core-js/internals/a-possible-prototype.js","webpack:///../node_modules/core-js/internals/add-to-unscopables.js","webpack:///../node_modules/core-js/internals/advance-string-index.js","webpack:///../node_modules/core-js/internals/an-instance.js","webpack:///../node_modules/core-js/internals/an-object.js","webpack:///../node_modules/core-js/internals/array-fill.js","webpack:///../node_modules/core-js/internals/array-for-each.js","webpack:///../node_modules/core-js/internals/array-from.js","webpack:///../node_modules/core-js/internals/array-includes.js","webpack:///../node_modules/core-js/internals/array-iteration.js","webpack:///../node_modules/core-js/internals/array-method-has-species-support.js","webpack:///../node_modules/core-js/internals/array-method-is-strict.js","webpack:///../node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///../node_modules/core-js/internals/array-reduce.js","webpack:///../node_modules/core-js/internals/array-species-create.js","webpack:///../node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///../node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///../node_modules/core-js/internals/classof-raw.js","webpack:///../node_modules/core-js/internals/classof.js","webpack:///../node_modules/core-js/internals/collection-add-all.js","webpack:///../node_modules/core-js/internals/collection-delete-all.js","webpack:///../node_modules/core-js/internals/collection-strong.js","webpack:///../node_modules/core-js/internals/collection.js","webpack:///../node_modules/core-js/internals/copy-constructor-properties.js","webpack:///../node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///../node_modules/core-js/internals/correct-prototype-getter.js","webpack:///../node_modules/core-js/internals/create-html.js","webpack:///../node_modules/core-js/internals/create-iterator-constructor.js","webpack:///../node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///../node_modules/core-js/internals/create-property-descriptor.js","webpack:///../node_modules/core-js/internals/create-property.js","webpack:///../node_modules/core-js/internals/date-to-primitive.js","webpack:///../node_modules/core-js/internals/define-iterator.js","webpack:///../node_modules/core-js/internals/define-well-known-symbol.js","webpack:///../node_modules/core-js/internals/descriptors.js","webpack:///../node_modules/core-js/internals/document-create-element.js","webpack:///../node_modules/core-js/internals/dom-iterables.js","webpack:///../node_modules/core-js/internals/engine-is-ios.js","webpack:///../node_modules/core-js/internals/engine-user-agent.js","webpack:///../node_modules/core-js/internals/engine-v8-version.js","webpack:///../node_modules/core-js/internals/enum-bug-keys.js","webpack:///../node_modules/core-js/internals/export.js","webpack:///../node_modules/core-js/internals/fails.js","webpack:///../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///../node_modules/core-js/internals/flatten-into-array.js","webpack:///../node_modules/core-js/internals/freezing.js","webpack:///../node_modules/core-js/internals/function-bind-context.js","webpack:///../node_modules/core-js/internals/function-bind.js","webpack:///../node_modules/core-js/internals/get-built-in.js","webpack:///../node_modules/core-js/internals/get-iterator-method.js","webpack:///../node_modules/core-js/internals/get-iterator.js","webpack:///../node_modules/core-js/internals/get-map-iterator.js","webpack:///../node_modules/core-js/internals/get-set-iterator.js","webpack:///../node_modules/core-js/internals/global.js","webpack:///../node_modules/core-js/internals/has.js","webpack:///../node_modules/core-js/internals/hidden-keys.js","webpack:///../node_modules/core-js/internals/host-report-errors.js","webpack:///../node_modules/core-js/internals/html.js","webpack:///../node_modules/core-js/internals/ie8-dom-define.js","webpack:///../node_modules/core-js/internals/indexed-object.js","webpack:///../node_modules/core-js/internals/inherit-if-required.js","webpack:///../node_modules/core-js/internals/inspect-source.js","webpack:///../node_modules/core-js/internals/internal-metadata.js","webpack:///../node_modules/core-js/internals/internal-state.js","webpack:///../node_modules/core-js/internals/is-array-iterator-method.js","webpack:///../node_modules/core-js/internals/is-array.js","webpack:///../node_modules/core-js/internals/is-forced.js","webpack:///../node_modules/core-js/internals/is-object.js","webpack:///../node_modules/core-js/internals/is-pure.js","webpack:///../node_modules/core-js/internals/is-regexp.js","webpack:///../node_modules/core-js/internals/iterate.js","webpack:///../node_modules/core-js/internals/iterators-core.js","webpack:///../node_modules/core-js/internals/iterators.js","webpack:///../node_modules/core-js/internals/microtask.js","webpack:///../node_modules/core-js/internals/native-promise-constructor.js","webpack:///../node_modules/core-js/internals/native-symbol.js","webpack:///../node_modules/core-js/internals/native-url.js","webpack:///../node_modules/core-js/internals/native-weak-map.js","webpack:///../node_modules/core-js/internals/new-promise-capability.js","webpack:///../node_modules/core-js/internals/not-a-regexp.js","webpack:///../node_modules/core-js/internals/number-parse-float.js","webpack:///../node_modules/core-js/internals/number-parse-int.js","webpack:///../node_modules/core-js/internals/object-assign.js","webpack:///../node_modules/core-js/internals/object-create.js","webpack:///../node_modules/core-js/internals/object-define-properties.js","webpack:///../node_modules/core-js/internals/object-define-property.js","webpack:///../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///../node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///../node_modules/core-js/internals/object-get-own-property-names.js","webpack:///../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///../node_modules/core-js/internals/object-get-prototype-of.js","webpack:///../node_modules/core-js/internals/object-keys-internal.js","webpack:///../node_modules/core-js/internals/object-keys.js","webpack:///../node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///../node_modules/core-js/internals/object-set-prototype-of.js","webpack:///../node_modules/core-js/internals/object-to-array.js","webpack:///../node_modules/core-js/internals/object-to-string.js","webpack:///../node_modules/core-js/internals/own-keys.js","webpack:///../node_modules/core-js/internals/path.js","webpack:///../node_modules/core-js/internals/perform.js","webpack:///../node_modules/core-js/internals/promise-resolve.js","webpack:///../node_modules/core-js/internals/redefine-all.js","webpack:///../node_modules/core-js/internals/redefine.js","webpack:///../node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///../node_modules/core-js/internals/regexp-exec.js","webpack:///../node_modules/core-js/internals/regexp-flags.js","webpack:///../node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///../node_modules/core-js/internals/require-object-coercible.js","webpack:///../node_modules/core-js/internals/same-value-zero.js","webpack:///../node_modules/core-js/internals/set-global.js","webpack:///../node_modules/core-js/internals/set-species.js","webpack:///../node_modules/core-js/internals/set-to-string-tag.js","webpack:///../node_modules/core-js/internals/shared-key.js","webpack:///../node_modules/core-js/internals/shared-store.js","webpack:///../node_modules/core-js/internals/shared.js","webpack:///../node_modules/core-js/internals/species-constructor.js","webpack:///../node_modules/core-js/internals/string-html-forced.js","webpack:///../node_modules/core-js/internals/string-multibyte.js","webpack:///../node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///../node_modules/core-js/internals/string-pad.js","webpack:///../node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///../node_modules/core-js/internals/string-repeat.js","webpack:///../node_modules/core-js/internals/string-trim.js","webpack:///../node_modules/core-js/internals/task.js","webpack:///../node_modules/core-js/internals/to-absolute-index.js","webpack:///../node_modules/core-js/internals/to-indexed-object.js","webpack:///../node_modules/core-js/internals/to-integer.js","webpack:///../node_modules/core-js/internals/to-length.js","webpack:///../node_modules/core-js/internals/to-object.js","webpack:///../node_modules/core-js/internals/to-primitive.js","webpack:///../node_modules/core-js/internals/to-string-tag-support.js","webpack:///../node_modules/core-js/internals/uid.js","webpack:///../node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///../node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///../node_modules/core-js/internals/well-known-symbol.js","webpack:///../node_modules/core-js/internals/whitespaces.js","webpack:///../node_modules/core-js/modules/es.array.concat.js","webpack:///../node_modules/core-js/modules/es.array.every.js","webpack:///../node_modules/core-js/modules/es.array.fill.js","webpack:///../node_modules/core-js/modules/es.array.filter.js","webpack:///../node_modules/core-js/modules/es.array.find.js","webpack:///../node_modules/core-js/modules/es.array.flat.js","webpack:///../node_modules/core-js/modules/es.array.for-each.js","webpack:///../node_modules/core-js/modules/es.array.includes.js","webpack:///../node_modules/core-js/modules/es.array.index-of.js","webpack:///../node_modules/core-js/modules/es.array.is-array.js","webpack:///../node_modules/core-js/modules/es.array.iterator.js","webpack:///../node_modules/core-js/modules/es.array.join.js","webpack:///../node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/modules/es.array.reduce.js","webpack:///../node_modules/core-js/modules/es.array.reverse.js","webpack:///../node_modules/core-js/modules/es.array.slice.js","webpack:///../node_modules/core-js/modules/es.array.sort.js","webpack:///../node_modules/core-js/modules/es.array.splice.js","webpack:///../node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///../node_modules/core-js/modules/es.date.to-primitive.js","webpack:///../node_modules/core-js/modules/es.date.to-string.js","webpack:///../node_modules/core-js/modules/es.function.bind.js","webpack:///../node_modules/core-js/modules/es.function.name.js","webpack:///../node_modules/core-js/modules/es.global-this.js","webpack:///../node_modules/core-js/modules/es.map.js","webpack:///../node_modules/core-js/modules/es.number.constructor.js","webpack:///../node_modules/core-js/modules/es.object.assign.js","webpack:///../node_modules/core-js/modules/es.object.create.js","webpack:///../node_modules/core-js/modules/es.object.entries.js","webpack:///../node_modules/core-js/modules/es.object.from-entries.js","webpack:///../node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///../node_modules/core-js/modules/es.object.keys.js","webpack:///../node_modules/core-js/modules/es.object.set-prototype-of.js","webpack:///../node_modules/core-js/modules/es.object.to-string.js","webpack:///../node_modules/core-js/modules/es.object.values.js","webpack:///../node_modules/core-js/modules/es.parse-float.js","webpack:///../node_modules/core-js/modules/es.parse-int.js","webpack:///../node_modules/core-js/modules/es.promise.js","webpack:///../node_modules/core-js/modules/es.reflect.construct.js","webpack:///../node_modules/core-js/modules/es.reflect.delete-property.js","webpack:///../node_modules/core-js/modules/es.reflect.own-keys.js","webpack:///../node_modules/core-js/modules/es.regexp.constructor.js","webpack:///../node_modules/core-js/modules/es.regexp.exec.js","webpack:///../node_modules/core-js/modules/es.regexp.to-string.js","webpack:///../node_modules/core-js/modules/es.set.js","webpack:///../node_modules/core-js/modules/es.string.anchor.js","webpack:///../node_modules/core-js/modules/es.string.includes.js","webpack:///../node_modules/core-js/modules/es.string.iterator.js","webpack:///../node_modules/core-js/modules/es.string.match.js","webpack:///../node_modules/core-js/modules/es.string.pad-start.js","webpack:///../node_modules/core-js/modules/es.string.replace.js","webpack:///../node_modules/core-js/modules/es.string.split.js","webpack:///../node_modules/core-js/modules/es.string.starts-with.js","webpack:///../node_modules/core-js/modules/es.symbol.description.js","webpack:///../node_modules/core-js/modules/es.symbol.js","webpack:///../node_modules/core-js/modules/es.symbol.to-primitive.js","webpack:///../node_modules/core-js/modules/esnext.global-this.js","webpack:///../node_modules/core-js/modules/esnext.map.delete-all.js","webpack:///../node_modules/core-js/modules/esnext.map.every.js","webpack:///../node_modules/core-js/modules/esnext.map.filter.js","webpack:///../node_modules/core-js/modules/esnext.map.find-key.js","webpack:///../node_modules/core-js/modules/esnext.map.find.js","webpack:///../node_modules/core-js/modules/esnext.map.includes.js","webpack:///../node_modules/core-js/modules/esnext.map.key-of.js","webpack:///../node_modules/core-js/modules/esnext.map.map-keys.js","webpack:///../node_modules/core-js/modules/esnext.map.map-values.js","webpack:///../node_modules/core-js/modules/esnext.map.merge.js","webpack:///../node_modules/core-js/modules/esnext.map.reduce.js","webpack:///../node_modules/core-js/modules/esnext.map.some.js","webpack:///../node_modules/core-js/modules/esnext.map.update.js","webpack:///../node_modules/core-js/modules/esnext.set.add-all.js","webpack:///../node_modules/core-js/modules/esnext.set.delete-all.js","webpack:///../node_modules/core-js/modules/esnext.set.difference.js","webpack:///../node_modules/core-js/modules/esnext.set.every.js","webpack:///../node_modules/core-js/modules/esnext.set.filter.js","webpack:///../node_modules/core-js/modules/esnext.set.find.js","webpack:///../node_modules/core-js/modules/esnext.set.intersection.js","webpack:///../node_modules/core-js/modules/esnext.set.is-disjoint-from.js","webpack:///../node_modules/core-js/modules/esnext.set.is-subset-of.js","webpack:///../node_modules/core-js/modules/esnext.set.is-superset-of.js","webpack:///../node_modules/core-js/modules/esnext.set.join.js","webpack:///../node_modules/core-js/modules/esnext.set.map.js","webpack:///../node_modules/core-js/modules/esnext.set.reduce.js","webpack:///../node_modules/core-js/modules/esnext.set.some.js","webpack:///../node_modules/core-js/modules/esnext.set.symmetric-difference.js","webpack:///../node_modules/core-js/modules/esnext.set.union.js","webpack:///../node_modules/core-js/modules/esnext.string.at.js","webpack:///../node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///../node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///../node_modules/core-js/modules/web.timers.js","webpack:///../node_modules/core-js/modules/web.url-search-params.js","webpack:///../node_modules/core-js/modules/web.url.js","webpack:///../node_modules/eventemitter3/index.js","webpack:///../node_modules/fast-deep-equal/index.js","webpack:///../node_modules/object-assign/index.js","webpack:///../node_modules/platform/platform.js","webpack:///../node_modules/prop-types/factoryWithThrowingShims.js","webpack:///../node_modules/prop-types/index.js","webpack:///../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","webpack:///../node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///../node_modules/react-dom/index.js","webpack:///../node_modules/react-dom/server.browser.js","webpack:///../node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack:///../node_modules/react/cjs/react.production.min.js","webpack:///../node_modules/react/index.js","webpack:///../node_modules/react/jsx-runtime.js","webpack:///../node_modules/regenerator-runtime/runtime.js","webpack:///../node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///../node_modules/scheduler/index.js","webpack:///./locales/ sync ^\\.\\/.*\\/translation\\.json$","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///../node_modules/i18next/dist/esm/i18next.js","webpack:///../node_modules/i18next-xhr-backend/dist/esm/i18nextXHRBackend.js","webpack:///./i18n.ts","webpack:///./util/env.ts","webpack:///../node_modules/dompurify/dist/purify.es.mjs","webpack:///./util/dom.ts","webpack:///./util/react.ts","webpack:///./Component/BlockIframePreview/size.ts","webpack:///./Block.tsx","webpack:///./Context.ts","webpack:///./Component/EditorMode.tsx","webpack:///../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///../node_modules/dom-helpers/esm/removeClass.js","webpack:///../node_modules/react-transition-group/esm/config.js","webpack:///../node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///../node_modules/react-transition-group/esm/Transition.js","webpack:///../node_modules/react-transition-group/esm/CSSTransition.js","webpack:///../node_modules/dom-helpers/esm/addClass.js","webpack:///../node_modules/dom-helpers/esm/hasClass.js","webpack:///./Component/BlockCommand.tsx","webpack:///./Component/BlockCommandPanel.tsx","webpack:///./Component/AddButton.tsx","webpack:///./Component/BlockToolbar.tsx","webpack:///./decorator/blockProperty.tsx","webpack:///./Component/BlockSetup.tsx","webpack:///./Component/BlockSetupCommon.tsx","webpack:///./Component/BlockLabel.tsx","webpack:///./Component/BlockContentEditablePreview.tsx","webpack:///./Block/Text/tinymce/util.ts","webpack:///./CommandManager.ts","webpack:///./commands/pasteBlock.ts","webpack:///./Block/Text/tinymce/MTBlockEditorPlugin.ts","webpack:///./Block/Text/tinymce/tinymce.ts","webpack:///./Block/Text/tinymce/edit.ts","webpack:///./Block/Text/tinymce/Text.tsx","webpack:///./Block/Text/mt-rich-text-editor/util.ts","webpack:///./Block/Text/mt-rich-text-editor/edit.ts","webpack:///./Block/Text/mt-rich-text-editor/common.ts","webpack:///./Block/Text/mt-rich-text-editor/Text.tsx","webpack:///./Block/Text/index.ts","webpack:///../node_modules/react-shadow/react-shadow.esm.js","webpack:///../node_modules/@react-dnd/invariant/dist/invariant.esm.js","webpack:///../node_modules/react-dnd/dist/esm/core/DndContext.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDragDropManager.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useIsomorphicLayoutEffect.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/DropTargetImpl.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/useRegisteredDropTarget.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/useDropTarget.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/useAccept.js","webpack:///../node_modules/react-dnd/dist/esm/internals/registration.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useOptionalFactory.js","webpack:///../node_modules/react-dnd/dist/esm/internals/DropTargetMonitorImpl.js","webpack:///../node_modules/@react-dnd/shallowequal/dist/shallowequal.esm.js","webpack:///../node_modules/react-dnd/dist/esm/internals/wrapConnectorHooks.js","webpack:///../node_modules/react-dnd/dist/esm/internals/isRef.js","webpack:///../node_modules/react-dnd/dist/esm/internals/TargetConnector.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useCollector.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useMonitorOutput.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useCollectedProps.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/connectors.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/useDrop.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/useDropTargetMonitor.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrop/useDropTargetConnector.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/DragSourceImpl.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/useRegisteredDragSource.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/useDragSource.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/useDragType.js","webpack:///../node_modules/react-dnd/dist/esm/internals/DragSourceMonitorImpl.js","webpack:///../node_modules/react-dnd/dist/esm/internals/SourceConnector.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/connectors.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/useDrag.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/useDragSourceMonitor.js","webpack:///../node_modules/react-dnd/dist/esm/hooks/useDrag/useDragSourceConnector.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/utils/js_utils.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/EnterLeaveCounter.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/BrowserDetector.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/MonotonicInterpolant.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/OffsetUtils.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/NativeTypes.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/nativeTypesConfig.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/getDataFromDataTransfer.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/NativeDragSource.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/index.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/OptionsReader.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/HTML5BackendImpl.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/interfaces.js","webpack:///../node_modules/react-dnd-html5-backend/dist/esm/index.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/utils/predicates.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/utils/offsets.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/utils/supportsPassive.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/OptionsReader.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/TouchBackendImpl.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/utils/math.js","webpack:///../node_modules/react-dnd-touch-backend/dist/esm/index.js","webpack:///./Component/DndBackend.ts","webpack:///./Component/BlockToolbarButton.tsx","webpack:///./Component/BlockConfigPanel.tsx","webpack:///./Block/Columns.tsx","webpack:///./Component/RemoveButton.tsx","webpack:///./Component/BlockItem.tsx","webpack:///./Component/BlockIframePreview.tsx","webpack:///./Block/Column.tsx","webpack:///./util/editor.ts","webpack:///./util/keyboardShortcut.ts","webpack:///./util/ParserContext.ts","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/types.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/local/setClientOffset.js","webpack:///../node_modules/dnd-core/dist/esm/utils/js_utils.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/beginDrag.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/publishDragSource.js","webpack:///../node_modules/dnd-core/dist/esm/utils/matchesType.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/hover.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/drop.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/endDrag.js","webpack:///../node_modules/dnd-core/dist/esm/classes/DragDropManagerImpl.js","webpack:///../node_modules/dnd-core/dist/esm/actions/dragDrop/index.js","webpack:///../node_modules/redux/es/redux.js","webpack:///../node_modules/dnd-core/dist/esm/utils/equality.js","webpack:///../node_modules/dnd-core/dist/esm/reducers/dragOffset.js","webpack:///../node_modules/dnd-core/dist/esm/actions/registry.js","webpack:///../node_modules/dnd-core/dist/esm/reducers/dragOperation.js","webpack:///../node_modules/dnd-core/dist/esm/reducers/refCount.js","webpack:///../node_modules/dnd-core/dist/esm/utils/dirtiness.js","webpack:///../node_modules/dnd-core/dist/esm/reducers/dirtyHandlerIds.js","webpack:///../node_modules/dnd-core/dist/esm/reducers/stateId.js","webpack:///../node_modules/dnd-core/dist/esm/reducers/index.js","webpack:///../node_modules/dnd-core/dist/esm/utils/coords.js","webpack:///../node_modules/dnd-core/dist/esm/classes/DragDropMonitorImpl.js","webpack:///../node_modules/dnd-core/dist/esm/interfaces.js","webpack:///../node_modules/dnd-core/dist/esm/utils/getNextUniqueId.js","webpack:///../node_modules/dnd-core/dist/esm/contracts.js","webpack:///../node_modules/@react-dnd/asap/dist/esm/makeRequestCall.mjs","webpack:///../node_modules/@react-dnd/asap/dist/esm/RawTask.mjs","webpack:///../node_modules/@react-dnd/asap/dist/esm/asap.mjs","webpack:///../node_modules/@react-dnd/asap/dist/esm/AsapQueue.mjs","webpack:///../node_modules/@react-dnd/asap/dist/esm/TaskFactory.mjs","webpack:///../node_modules/dnd-core/dist/esm/classes/HandlerRegistryImpl.js","webpack:///../node_modules/dnd-core/dist/esm/createDragDropManager.js","webpack:///../node_modules/react-dnd/dist/esm/core/DndProvider.js","webpack:///./Component/App.tsx","webpack:///./BlockFactory.ts","webpack:///./EditManager.ts","webpack:///./Editor/edit.ts","webpack:///./event/default.ts","webpack:///./Component/Overlay.tsx","webpack:///./Component/Dialog.tsx","webpack:///./Block/Image.tsx","webpack:///./Block/File.tsx","webpack:///./Block/Table/tinymce/Table.tsx","webpack:///./Block/Table/mt-rich-text-editor/Table.tsx","webpack:///./Block/Table/index.ts","webpack:///./Block/Horizontalrule.tsx","webpack:///./Block/Html.tsx","webpack:///./import-default-blocks.ts","webpack:///./Block/Text/util.ts","webpack:///./commands/copyBlock.ts","webpack:///./commands/duplicateBlock.ts","webpack:///./commands/deleteBlock.ts","webpack:///./commands/insertLink.ts","webpack:///./Editor.ts","webpack:///./import-default-commands.ts","webpack:///./EditorManager.ts","webpack:///./mt-block-editor.ts"],"sourcesContent":["module.exports = {\n locales: ['en', 'ja'],\n}\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\n\n// https://github.com/tc39/collection-methods\nmodule.exports = function (/* ...elements */) {\n var set = anObject(this);\n var adder = aFunction(set.add);\n for (var k = 0, len = arguments.length; k < len; k++) {\n adder.call(set, arguments[k]);\n }\n return set;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\n\n// https://github.com/tc39/collection-methods\nmodule.exports = function (/* ...elements */) {\n var collection = anObject(this);\n var remover = aFunction(collection['delete']);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = remover.call(collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n }\n return !!allDeleted;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar quot = /\"/g;\n\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n// https://tc39.github.io/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = String(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== 'number' && hint !== 'default') {\n throw TypeError('Incorrect hint');\n } return toPrimitive(anObject(this), hint !== 'number');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","var IS_PURE = require('../internals/is-pure');\nvar getIterator = require('../internals/get-iterator');\n\nmodule.exports = IS_PURE ? getIterator : function (it) {\n // eslint-disable-next-line no-undef\n return Map.prototype.entries.call(it);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar getIterator = require('../internals/get-iterator');\n\nmodule.exports = IS_PURE ? getIterator : function (it) {\n // eslint-disable-next-line no-undef\n return Set.prototype.values.call(it);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseFloat = global.parseFloat;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;\n\n// `parseFloat` method\n// https://tc39.github.io/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(String(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var global = require('../internals/global');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar $parseInt = global.parseInt;\nvar hex = /^[+-]?0[Xx]/;\nvar FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\nmodule.exports = FORCED ? function parseInt(string, radix) {\n var S = trim(String(string));\n return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));\n} : $parseInt;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// `SameValueZero` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevaluezero\nmodule.exports = function (x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y || x != x && y != y;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/array-iteration').every;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.github.io/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flat');\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar dateToPrimitive = require('../internals/date-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar DatePrototype = Date.prototype;\n\n// `Date.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive\nif (!(TO_PRIMITIVE in DatePrototype)) {\n createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);\n}\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","var $ = require('../internals/export');\nvar bind = require('../internals/function-bind');\n\n// `Function.prototype.bind` method\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\n$({ target: 'Function', proto: true }, {\n bind: bind\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://github.com/tc39/proposal-global\n$({ global: true }, {\n globalThis: global\n});\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.github.io/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","var $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, undefined, true);\n return obj;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var $ = require('../internals/export');\nvar parseFloatImplementation = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.github.io/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != parseFloatImplementation }, {\n parseFloat: parseFloatImplementation\n});\n","var $ = require('../internals/export');\nvar parseIntImplementation = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.github.io/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != parseIntImplementation }, {\n parseInt: parseIntImplementation\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Reflect.deleteProperty` method\n// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty\n$({ target: 'Reflect', stat: true }, {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);\n return descriptor && !descriptor.configurable ? false : delete target[propertyKey];\n }\n});\n","var $ = require('../internals/export');\nvar ownKeys = require('../internals/own-keys');\n\n// `Reflect.ownKeys` method\n// https://tc39.github.io/ecma262/#sec-reflect.ownkeys\n$({ target: 'Reflect', stat: true }, {\n ownKeys: ownKeys\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.github.io/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","// TODO: Remove from `core-js@4`\nrequire('./es.global-this');\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar collectionDeleteAll = require('../internals/collection-delete-all');\n\n// `Map.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n deleteAll: function deleteAll(/* ...elements */) {\n return collectionDeleteAll.apply(this, arguments);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n every: function every(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return !iterate(iterator, function (key, value) {\n if (!boundFunction(value, key, map)) return iterate.stop();\n }, undefined, true, true).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aFunction(newMap.set);\n iterate(iterator, function (key, value) {\n if (boundFunction(value, key, map)) setter.call(newMap, key, value);\n }, undefined, true, true);\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.findKey` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n findKey: function findKey(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (key, value) {\n if (boundFunction(value, key, map)) return iterate.stop(key);\n }, undefined, true, true).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n find: function find(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (key, value) {\n if (boundFunction(value, key, map)) return iterate.stop(value);\n }, undefined, true, true).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar sameValueZero = require('../internals/same-value-zero');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.includes` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n includes: function includes(searchElement) {\n return iterate(getMapIterator(anObject(this)), function (key, value) {\n if (sameValueZero(value, searchElement)) return iterate.stop();\n }, undefined, true, true).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.includes` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n keyOf: function keyOf(searchElement) {\n return iterate(getMapIterator(anObject(this)), function (key, value) {\n if (value === searchElement) return iterate.stop(key);\n }, undefined, true, true).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.mapKeys` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n mapKeys: function mapKeys(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aFunction(newMap.set);\n iterate(iterator, function (key, value) {\n setter.call(newMap, boundFunction(value, key, map), value);\n }, undefined, true, true);\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.mapValues` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n mapValues: function mapValues(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();\n var setter = aFunction(newMap.set);\n iterate(iterator, function (key, value) {\n setter.call(newMap, key, boundFunction(value, key, map));\n }, undefined, true, true);\n return newMap;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.merge` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n // eslint-disable-next-line no-unused-vars\n merge: function merge(iterable /* ...iterbles */) {\n var map = anObject(this);\n var setter = aFunction(map.set);\n var i = 0;\n while (i < arguments.length) {\n iterate(arguments[i++], setter, map, true);\n }\n return map;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Map.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aFunction(callbackfn);\n iterate(iterator, function (key, value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, key, map);\n }\n }, undefined, true, true);\n if (noInitial) throw TypeError('Reduce of empty map with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getMapIterator = require('../internals/get-map-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n some: function some(callbackfn /* , thisArg */) {\n var map = anObject(this);\n var iterator = getMapIterator(map);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (key, value) {\n if (boundFunction(value, key, map)) return iterate.stop();\n }, undefined, true, true).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\n\n// `Set.prototype.update` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {\n update: function update(key, callback /* , thunk */) {\n var map = anObject(this);\n var length = arguments.length;\n aFunction(callback);\n var isPresentInMap = map.has(key);\n if (!isPresentInMap && length < 3) {\n throw TypeError('Updating absent value');\n }\n var value = isPresentInMap ? map.get(key) : aFunction(length > 2 ? arguments[2] : undefined)(key, map);\n map.set(key, callback(value, key, map));\n return map;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar collectionAddAll = require('../internals/collection-add-all');\n\n// `Set.prototype.addAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n addAll: function addAll(/* ...elements */) {\n return collectionAddAll.apply(this, arguments);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar collectionDeleteAll = require('../internals/collection-delete-all');\n\n// `Set.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n deleteAll: function deleteAll(/* ...elements */) {\n return collectionDeleteAll.apply(this, arguments);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n difference: function difference(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);\n var remover = aFunction(newSet['delete']);\n iterate(iterable, function (value) {\n remover.call(newSet, value);\n });\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n every: function every(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return !iterate(iterator, function (value) {\n if (!boundFunction(value, value, set)) return iterate.stop();\n }, undefined, false, true).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();\n var adder = aFunction(newSet.add);\n iterate(iterator, function (value) {\n if (boundFunction(value, value, set)) adder.call(newSet, value);\n }, undefined, false, true);\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n find: function find(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (value) {\n if (boundFunction(value, value, set)) return iterate.stop(value);\n }, undefined, false, true).result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n intersection: function intersection(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();\n var hasCheck = aFunction(set.has);\n var adder = aFunction(newSet.add);\n iterate(iterable, function (value) {\n if (hasCheck.call(set, value)) adder.call(newSet, value);\n });\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n isDisjointFrom: function isDisjointFrom(iterable) {\n var set = anObject(this);\n var hasCheck = aFunction(set.has);\n return !iterate(iterable, function (value) {\n if (hasCheck.call(set, value) === true) return iterate.stop();\n }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar getIterator = require('../internals/get-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n isSubsetOf: function isSubsetOf(iterable) {\n var iterator = getIterator(this);\n var otherSet = anObject(iterable);\n var hasCheck = otherSet.has;\n if (typeof hasCheck != 'function') {\n otherSet = new (getBuiltIn('Set'))(iterable);\n hasCheck = aFunction(otherSet.has);\n }\n return !iterate(iterator, function (value) {\n if (hasCheck.call(otherSet, value) === false) return iterate.stop();\n }, undefined, false, true).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n isSupersetOf: function isSupersetOf(iterable) {\n var set = anObject(this);\n var hasCheck = aFunction(set.has);\n return !iterate(iterable, function (value) {\n if (hasCheck.call(set, value) === false) return iterate.stop();\n }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.join` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n join: function join(separator) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var sep = separator === undefined ? ',' : String(separator);\n var result = [];\n iterate(iterator, result.push, result, false, true);\n return result.join(sep);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.map` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n map: function map(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();\n var adder = aFunction(newSet.add);\n iterate(iterator, function (value) {\n adder.call(newSet, boundFunction(value, value, set));\n }, undefined, false, true);\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aFunction(callbackfn);\n iterate(iterator, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, value, set);\n }\n }, undefined, false, true);\n if (noInitial) throw TypeError('Reduce of empty set with no initial value');\n return accumulator;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n some: function some(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n return iterate(iterator, function (value) {\n if (boundFunction(value, value, set)) return iterate.stop();\n }, undefined, false, true).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n symmetricDifference: function symmetricDifference(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);\n var remover = aFunction(newSet['delete']);\n var adder = aFunction(newSet.add);\n iterate(iterable, function (value) {\n remover.call(newSet, value) || adder.call(newSet, value);\n });\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {\n union: function union(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);\n iterate(iterable, aFunction(newSet.add), newSet);\n return newSet;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `String.prototype.at` method\n// https://github.com/mathiasbynens/String.prototype.at\n$({ target: 'String', proto: true }, {\n at: function at(pos) {\n return charAt(this, pos);\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\n\nvar wrap = function (scheduler) {\n return function (handler, timeout /* , ...arguments */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : undefined;\n return scheduler(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);\n } : handler, timeout);\n };\n};\n\n// ie9- setTimeout & setInterval additional parameters fix\n// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers\n$({ global: true, bind: true, forced: MSIE }, {\n // `setTimeout` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout\n setTimeout: wrap(global.setTimeout),\n // `setInterval` method\n // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval\n setInterval: wrap(global.setInterval)\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */\n;(function() {\n 'use strict';\n\n /** Used to determine if values are of the language type `Object`. */\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n /** Used as a reference to the global object. */\n var root = (objectTypes[typeof window] && window) || this;\n\n /** Backup possible global object. */\n var oldRoot = root;\n\n /** Detect free variable `exports`. */\n var freeExports = objectTypes[typeof exports] && exports;\n\n /** Detect free variable `module`. */\n var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;\n\n /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */\n var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n }\n\n /**\n * Used as the maximum length of an array-like object.\n * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength)\n * for more details.\n */\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n /** Regular expression to detect Opera. */\n var reOpera = /\\bOpera/;\n\n /** Possible global object. */\n var thisBinding = this;\n\n /** Used for native method references. */\n var objectProto = Object.prototype;\n\n /** Used to check for own properties of an object. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to resolve the internal `[[Class]]` of values. */\n var toString = objectProto.toString;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Capitalizes a string value.\n *\n * @private\n * @param {string} string The string to capitalize.\n * @returns {string} The capitalized string.\n */\n function capitalize(string) {\n string = String(string);\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n /**\n * A utility function to clean up the OS name.\n *\n * @private\n * @param {string} os The OS name to clean up.\n * @param {string} [pattern] A `RegExp` pattern matching the OS name.\n * @param {string} [label] A label for the OS.\n */\n function cleanupOS(os, pattern, label) {\n // Platform tokens are defined at:\n // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx\n var data = {\n '10.0': '10',\n '6.4': '10 Technical Preview',\n '6.3': '8.1',\n '6.2': '8',\n '6.1': 'Server 2008 R2 / 7',\n '6.0': 'Server 2008 / Vista',\n '5.2': 'Server 2003 / XP 64-bit',\n '5.1': 'XP',\n '5.01': '2000 SP1',\n '5.0': '2000',\n '4.0': 'NT',\n '4.90': 'ME'\n };\n // Detect Windows version from platform tokens.\n if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) &&\n (data = data[/[\\d.]+$/.exec(os)])) {\n os = 'Windows ' + data;\n }\n // Correct character case and cleanup string.\n os = String(os);\n\n if (pattern && label) {\n os = os.replace(RegExp(pattern, 'i'), label);\n }\n\n os = format(\n os.replace(/ ce$/i, ' CE')\n .replace(/\\bhpw/i, 'web')\n .replace(/\\bMacintosh\\b/, 'Mac OS')\n .replace(/_PowerPC\\b/i, ' OS')\n .replace(/\\b(OS X) [^ \\d]+/i, '$1')\n .replace(/\\bMac (OS X)\\b/, '$1')\n .replace(/\\/(\\d)/, ' $1')\n .replace(/_/g, '.')\n .replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, '')\n .replace(/\\bx86\\.64\\b/gi, 'x86_64')\n .replace(/\\b(Windows Phone) OS\\b/, '$1')\n .replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, '$1')\n .split(' on ')[0]\n );\n\n return os;\n }\n\n /**\n * An iteration utility for arrays and objects.\n *\n * @private\n * @param {Array|Object} object The object to iterate over.\n * @param {Function} callback The function called per iteration.\n */\n function each(object, callback) {\n var index = -1,\n length = object ? object.length : 0;\n\n if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {\n while (++index < length) {\n callback(object[index], index, object);\n }\n } else {\n forOwn(object, callback);\n }\n }\n\n /**\n * Trim and conditionally capitalize string values.\n *\n * @private\n * @param {string} string The string to format.\n * @returns {string} The formatted string.\n */\n function format(string) {\n string = trim(string);\n return /^(?:webOS|i(?:OS|P))/.test(string)\n ? string\n : capitalize(string);\n }\n\n /**\n * Iterates over an object's own properties, executing the `callback` for each.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} callback The function executed per own property.\n */\n function forOwn(object, callback) {\n for (var key in object) {\n if (hasOwnProperty.call(object, key)) {\n callback(object[key], key, object);\n }\n }\n }\n\n /**\n * Gets the internal `[[Class]]` of a value.\n *\n * @private\n * @param {*} value The value.\n * @returns {string} The `[[Class]]`.\n */\n function getClassOf(value) {\n return value == null\n ? capitalize(value)\n : toString.call(value).slice(8, -1);\n }\n\n /**\n * Host objects can return type values that are different from their actual\n * data type. The objects we are concerned with usually return non-primitive\n * types of \"object\", \"function\", or \"unknown\".\n *\n * @private\n * @param {*} object The owner of the property.\n * @param {string} property The property to check.\n * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.\n */\n function isHostType(object, property) {\n var type = object != null ? typeof object[property] : 'number';\n return !/^(?:boolean|number|string|undefined)$/.test(type) &&\n (type == 'object' ? !!object[property] : true);\n }\n\n /**\n * Prepares a string for use in a `RegExp` by making hyphens and spaces optional.\n *\n * @private\n * @param {string} string The string to qualify.\n * @returns {string} The qualified string.\n */\n function qualify(string) {\n return String(string).replace(/([ -])(?!$)/g, '$1?');\n }\n\n /**\n * A bare-bones `Array#reduce` like utility function.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function called per iteration.\n * @returns {*} The accumulated result.\n */\n function reduce(array, callback) {\n var accumulator = null;\n each(array, function(value, index) {\n accumulator = callback(accumulator, value, index, array);\n });\n return accumulator;\n }\n\n /**\n * Removes leading and trailing whitespace from a string.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} The trimmed string.\n */\n function trim(string) {\n return String(string).replace(/^ +| +$/g, '');\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Creates a new platform object.\n *\n * @memberOf platform\n * @param {Object|string} [ua=navigator.userAgent] The user agent string or\n * context object.\n * @returns {Object} A platform object.\n */\n function parse(ua) {\n\n /** The environment context object. */\n var context = root;\n\n /** Used to flag when a custom context is provided. */\n var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String';\n\n // Juggle arguments.\n if (isCustomContext) {\n context = ua;\n ua = null;\n }\n\n /** Browser navigator object. */\n var nav = context.navigator || {};\n\n /** Browser user agent string. */\n var userAgent = nav.userAgent || '';\n\n ua || (ua = userAgent);\n\n /** Used to flag when `thisBinding` is the [ModuleScope]. */\n var isModuleScope = isCustomContext || thisBinding == oldRoot;\n\n /** Used to detect if browser is like Chrome. */\n var likeChrome = isCustomContext\n ? !!nav.likeChrome\n : /\\bChrome\\b/.test(ua) && !/internal|\\n/i.test(toString.toString());\n\n /** Internal `[[Class]]` value shortcuts. */\n var objectClass = 'Object',\n airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject',\n enviroClass = isCustomContext ? objectClass : 'Environment',\n javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java),\n phantomClass = isCustomContext ? objectClass : 'RuntimeObject';\n\n /** Detect Java environments. */\n var java = /\\bJava/.test(javaClass) && context.java;\n\n /** Detect Rhino. */\n var rhino = java && getClassOf(context.environment) == enviroClass;\n\n /** A character to represent alpha. */\n var alpha = java ? 'a' : '\\u03b1';\n\n /** A character to represent beta. */\n var beta = java ? 'b' : '\\u03b2';\n\n /** Browser document object. */\n var doc = context.document || {};\n\n /**\n * Detect Opera browser (Presto-based).\n * http://www.howtocreate.co.uk/operaStuff/operaObject.html\n * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini\n */\n var opera = context.operamini || context.opera;\n\n /** Opera `[[Class]]`. */\n var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera))\n ? operaClass\n : (opera = null);\n\n /*------------------------------------------------------------------------*/\n\n /** Temporary variable used over the script's lifetime. */\n var data;\n\n /** The CPU architecture. */\n var arch = ua;\n\n /** Platform description array. */\n var description = [];\n\n /** Platform alpha/beta indicator. */\n var prerelease = null;\n\n /** A flag to indicate that environment features should be used to resolve the platform. */\n var useFeatures = ua == userAgent;\n\n /** The browser/environment version. */\n var version = useFeatures && opera && typeof opera.version == 'function' && opera.version();\n\n /** A flag to indicate if the OS ends with \"/ Version\" */\n var isSpecialCasedOS;\n\n /* Detectable layout engines (order is important). */\n var layout = getLayout([\n { 'label': 'EdgeHTML', 'pattern': 'Edge' },\n 'Trident',\n { 'label': 'WebKit', 'pattern': 'AppleWebKit' },\n 'iCab',\n 'Presto',\n 'NetFront',\n 'Tasman',\n 'KHTML',\n 'Gecko'\n ]);\n\n /* Detectable browser names (order is important). */\n var name = getName([\n 'Adobe AIR',\n 'Arora',\n 'Avant Browser',\n 'Breach',\n 'Camino',\n 'Electron',\n 'Epiphany',\n 'Fennec',\n 'Flock',\n 'Galeon',\n 'GreenBrowser',\n 'iCab',\n 'Iceweasel',\n 'K-Meleon',\n 'Konqueror',\n 'Lunascape',\n 'Maxthon',\n { 'label': 'Microsoft Edge', 'pattern': '(?:Edge|Edg|EdgA|EdgiOS)' },\n 'Midori',\n 'Nook Browser',\n 'PaleMoon',\n 'PhantomJS',\n 'Raven',\n 'Rekonq',\n 'RockMelt',\n { 'label': 'Samsung Internet', 'pattern': 'SamsungBrowser' },\n 'SeaMonkey',\n { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Sleipnir',\n 'SlimBrowser',\n { 'label': 'SRWare Iron', 'pattern': 'Iron' },\n 'Sunrise',\n 'Swiftfox',\n 'Vivaldi',\n 'Waterfox',\n 'WebPositive',\n { 'label': 'Yandex Browser', 'pattern': 'YaBrowser' },\n { 'label': 'UC Browser', 'pattern': 'UCBrowser' },\n 'Opera Mini',\n { 'label': 'Opera Mini', 'pattern': 'OPiOS' },\n 'Opera',\n { 'label': 'Opera', 'pattern': 'OPR' },\n 'Chromium',\n 'Chrome',\n { 'label': 'Chrome', 'pattern': '(?:HeadlessChrome)' },\n { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' },\n { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' },\n { 'label': 'Firefox for iOS', 'pattern': 'FxiOS' },\n { 'label': 'IE', 'pattern': 'IEMobile' },\n { 'label': 'IE', 'pattern': 'MSIE' },\n 'Safari'\n ]);\n\n /* Detectable products (order is important). */\n var product = getProduct([\n { 'label': 'BlackBerry', 'pattern': 'BB10' },\n 'BlackBerry',\n { 'label': 'Galaxy S', 'pattern': 'GT-I9000' },\n { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' },\n { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' },\n { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' },\n { 'label': 'Galaxy S5', 'pattern': 'SM-G900' },\n { 'label': 'Galaxy S6', 'pattern': 'SM-G920' },\n { 'label': 'Galaxy S6 Edge', 'pattern': 'SM-G925' },\n { 'label': 'Galaxy S7', 'pattern': 'SM-G930' },\n { 'label': 'Galaxy S7 Edge', 'pattern': 'SM-G935' },\n 'Google TV',\n 'Lumia',\n 'iPad',\n 'iPod',\n 'iPhone',\n 'Kindle',\n { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' },\n 'Nexus',\n 'Nook',\n 'PlayBook',\n 'PlayStation Vita',\n 'PlayStation',\n 'TouchPad',\n 'Transformer',\n { 'label': 'Wii U', 'pattern': 'WiiU' },\n 'Wii',\n 'Xbox One',\n { 'label': 'Xbox 360', 'pattern': 'Xbox' },\n 'Xoom'\n ]);\n\n /* Detectable manufacturers. */\n var manufacturer = getManufacturer({\n 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 },\n 'Alcatel': {},\n 'Archos': {},\n 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 },\n 'Asus': { 'Transformer': 1 },\n 'Barnes & Noble': { 'Nook': 1 },\n 'BlackBerry': { 'PlayBook': 1 },\n 'Google': { 'Google TV': 1, 'Nexus': 1 },\n 'HP': { 'TouchPad': 1 },\n 'HTC': {},\n 'Huawei': {},\n 'Lenovo': {},\n 'LG': {},\n 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 },\n 'Motorola': { 'Xoom': 1 },\n 'Nintendo': { 'Wii U': 1, 'Wii': 1 },\n 'Nokia': { 'Lumia': 1 },\n 'Oppo': {},\n 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 },\n 'Sony': { 'PlayStation': 1, 'PlayStation Vita': 1 },\n 'Xiaomi': { 'Mi': 1, 'Redmi': 1 }\n });\n\n /* Detectable operating systems (order is important). */\n var os = getOS([\n 'Windows Phone',\n 'KaiOS',\n 'Android',\n 'CentOS',\n { 'label': 'Chrome OS', 'pattern': 'CrOS' },\n 'Debian',\n { 'label': 'DragonFly BSD', 'pattern': 'DragonFly' },\n 'Fedora',\n 'FreeBSD',\n 'Gentoo',\n 'Haiku',\n 'Kubuntu',\n 'Linux Mint',\n 'OpenBSD',\n 'Red Hat',\n 'SuSE',\n 'Ubuntu',\n 'Xubuntu',\n 'Cygwin',\n 'Symbian OS',\n 'hpwOS',\n 'webOS ',\n 'webOS',\n 'Tablet OS',\n 'Tizen',\n 'Linux',\n 'Mac OS X',\n 'Macintosh',\n 'Mac',\n 'Windows 98;',\n 'Windows '\n ]);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Picks the layout engine from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected layout engine.\n */\n function getLayout(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the manufacturer from an array of guesses.\n *\n * @private\n * @param {Array} guesses An object of guesses.\n * @returns {null|string} The detected manufacturer.\n */\n function getManufacturer(guesses) {\n return reduce(guesses, function(result, value, key) {\n // Lookup the manufacturer by product or scan the UA for the manufacturer.\n return result || (\n value[product] ||\n value[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(product)] ||\n RegExp('\\\\b' + qualify(key) + '(?:\\\\b|\\\\w*\\\\d)', 'i').exec(ua)\n ) && key;\n });\n }\n\n /**\n * Picks the browser name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected browser name.\n */\n function getName(guesses) {\n return reduce(guesses, function(result, guess) {\n return result || RegExp('\\\\b' + (\n guess.pattern || qualify(guess)\n ) + '\\\\b', 'i').exec(ua) && (guess.label || guess);\n });\n }\n\n /**\n * Picks the OS name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected OS name.\n */\n function getOS(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + '(?:/[\\\\d.]+|[ \\\\w.]*)', 'i').exec(ua)\n )) {\n result = cleanupOS(result, pattern, guess.label || guess);\n }\n return result;\n });\n }\n\n /**\n * Picks the product name from an array of guesses.\n *\n * @private\n * @param {Array} guesses An array of guesses.\n * @returns {null|string} The detected product name.\n */\n function getProduct(guesses) {\n return reduce(guesses, function(result, guess) {\n var pattern = guess.pattern || qualify(guess);\n if (!result && (result =\n RegExp('\\\\b' + pattern + ' *\\\\d+[.\\\\w_]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + ' *\\\\w+-[\\\\w]*', 'i').exec(ua) ||\n RegExp('\\\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)', 'i').exec(ua)\n )) {\n // Split by forward slash and append product version if needed.\n if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\\d.]+/.test(result[0])) {\n result[0] += ' ' + result[1];\n }\n // Correct character case and cleanup string.\n guess = guess.label || guess;\n result = format(result[0]\n .replace(RegExp(pattern, 'i'), guess)\n .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ')\n .replace(RegExp('(' + guess + ')[-_.]?(\\\\w)', 'i'), '$1 $2'));\n }\n return result;\n });\n }\n\n /**\n * Resolves the version using an array of UA patterns.\n *\n * @private\n * @param {Array} patterns An array of UA patterns.\n * @returns {null|string} The detected version.\n */\n function getVersion(patterns) {\n return reduce(patterns, function(result, pattern) {\n return result || (RegExp(pattern +\n '(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null;\n });\n }\n\n /**\n * Returns `platform.description` when the platform object is coerced to a string.\n *\n * @name toString\n * @memberOf platform\n * @returns {string} Returns `platform.description` if available, else an empty string.\n */\n function toStringPlatform() {\n return this.description || '';\n }\n\n /*------------------------------------------------------------------------*/\n\n // Convert layout to an array so we can add extra details.\n layout && (layout = [layout]);\n\n // Detect Android products.\n // Browsers on Android devices typically provide their product IDS after \"Android;\"\n // up to \"Build\" or \") AppleWebKit\".\n // Example:\n // \"Mozilla/5.0 (Linux; Android 8.1.0; Moto G (5) Plus) AppleWebKit/537.36\n // (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36\"\n if (/\\bAndroid\\b/.test(os) && !product &&\n (data = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(ua))) {\n product = trim(data[1])\n // Replace any language codes (eg. \"en-US\").\n .replace(/^[a-z]{2}-[a-z]{2};\\s*/i, '')\n || null;\n }\n // Detect product names that contain their manufacturer's name.\n if (manufacturer && !product) {\n product = getProduct([manufacturer]);\n } else if (manufacturer && product) {\n product = product\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.\\\\s]', 'i'), manufacturer + ' ')\n .replace(RegExp('^(' + qualify(manufacturer) + ')[-_.]?(\\\\w)', 'i'), manufacturer + ' $2');\n }\n // Clean up Google TV.\n if ((data = /\\bGoogle TV\\b/.exec(product))) {\n product = data[0];\n }\n // Detect simulators.\n if (/\\bSimulator\\b/i.test(ua)) {\n product = (product ? product + ' ' : '') + 'Simulator';\n }\n // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS.\n if (name == 'Opera Mini' && /\\bOPiOS\\b/.test(ua)) {\n description.push('running in Turbo/Uncompressed mode');\n }\n // Detect IE Mobile 11.\n if (name == 'IE' && /\\blike iPhone OS\\b/.test(ua)) {\n data = parse(ua.replace(/like iPhone OS/, ''));\n manufacturer = data.manufacturer;\n product = data.product;\n }\n // Detect iOS.\n else if (/^iP/.test(product)) {\n name || (name = 'Safari');\n os = 'iOS' + ((data = / OS ([\\d_]+)/i.exec(ua))\n ? ' ' + data[1].replace(/_/g, '.')\n : '');\n }\n // Detect Kubuntu.\n else if (name == 'Konqueror' && /^Linux\\b/i.test(os)) {\n os = 'Kubuntu';\n }\n // Detect Android browsers.\n else if ((manufacturer && manufacturer != 'Google' &&\n ((/Chrome/.test(name) && !/\\bMobile Safari\\b/i.test(ua)) || /\\bVita\\b/.test(product))) ||\n (/\\bAndroid\\b/.test(os) && /^Chrome/.test(name) && /\\bVersion\\//i.test(ua))) {\n name = 'Android Browser';\n os = /\\bAndroid\\b/.test(os) ? os : 'Android';\n }\n // Detect Silk desktop/accelerated modes.\n else if (name == 'Silk') {\n if (!/\\bMobi/i.test(ua)) {\n os = 'Android';\n description.unshift('desktop mode');\n }\n if (/Accelerated *= *true/i.test(ua)) {\n description.unshift('accelerated');\n }\n }\n // Detect UC Browser speed mode.\n else if (name == 'UC Browser' && /\\bUCWEB\\b/.test(ua)) {\n description.push('speed mode');\n }\n // Detect PaleMoon identifying as Firefox.\n else if (name == 'PaleMoon' && (data = /\\bFirefox\\/([\\d.]+)\\b/.exec(ua))) {\n description.push('identifying as Firefox ' + data[1]);\n }\n // Detect Firefox OS and products running Firefox.\n else if (name == 'Firefox' && (data = /\\b(Mobile|Tablet|TV)\\b/i.exec(ua))) {\n os || (os = 'Firefox OS');\n product || (product = data[1]);\n }\n // Detect false positives for Firefox/Safari.\n else if (!name || (data = !/\\bMinefield\\b/i.test(ua) && /\\b(?:Firefox|Safari)\\b/.exec(name))) {\n // Escape the `/` for Firefox 1.\n if (name && !product && /[\\/,]|^[^(]+?\\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) {\n // Clear name of false positives.\n name = null;\n }\n // Reassign a generic name.\n if ((data = product || manufacturer || os) &&\n (product || manufacturer || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(os))) {\n name = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(os) ? os : data) + ' Browser';\n }\n }\n // Add Chrome version to description for Electron.\n else if (name == 'Electron' && (data = (/\\bChrome\\/([\\d.]+)\\b/.exec(ua) || 0)[1])) {\n description.push('Chromium ' + data);\n }\n // Detect non-Opera (Presto-based) versions (order is important).\n if (!version) {\n version = getVersion([\n '(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)',\n 'Version',\n qualify(name),\n '(?:Firefox|Minefield|NetFront)'\n ]);\n }\n // Detect stubborn layout engines.\n if ((data =\n layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' ||\n /\\bOpera\\b/.test(name) && (/\\bOPR\\b/.test(ua) ? 'Blink' : 'Presto') ||\n /\\b(?:Midori|Nook|Safari)\\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' ||\n !layout && /\\bMSIE\\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') ||\n layout == 'WebKit' && /\\bPlayStation\\b(?! Vita\\b)/i.test(name) && 'NetFront'\n )) {\n layout = [data];\n }\n // Detect Windows Phone 7 desktop mode.\n if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(ua) || 0)[1])) {\n name += ' Mobile';\n os = 'Windows Phone ' + (/\\+$/.test(data) ? data : data + '.x');\n description.unshift('desktop mode');\n }\n // Detect Windows Phone 8.x desktop mode.\n else if (/\\bWPDesktop\\b/i.test(ua)) {\n name = 'IE Mobile';\n os = 'Windows Phone 8.x';\n description.unshift('desktop mode');\n version || (version = (/\\brv:([\\d.]+)/.exec(ua) || 0)[1]);\n }\n // Detect IE 11 identifying as other browsers.\n else if (name != 'IE' && layout == 'Trident' && (data = /\\brv:([\\d.]+)/.exec(ua))) {\n if (name) {\n description.push('identifying as ' + name + (version ? ' ' + version : ''));\n }\n name = 'IE';\n version = data[1];\n }\n // Leverage environment features.\n if (useFeatures) {\n // Detect server-side environments.\n // Rhino has a global function while others have a global object.\n if (isHostType(context, 'global')) {\n if (java) {\n data = java.lang.System;\n arch = data.getProperty('os.arch');\n os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version');\n }\n if (rhino) {\n try {\n version = context.require('ringo/engine').version.join('.');\n name = 'RingoJS';\n } catch(e) {\n if ((data = context.system) && data.global.system == context.system) {\n name = 'Narwhal';\n os || (os = data[0].os || null);\n }\n }\n if (!name) {\n name = 'Rhino';\n }\n }\n else if (\n typeof context.process == 'object' && !context.process.browser &&\n (data = context.process)\n ) {\n if (typeof data.versions == 'object') {\n if (typeof data.versions.electron == 'string') {\n description.push('Node ' + data.versions.node);\n name = 'Electron';\n version = data.versions.electron;\n } else if (typeof data.versions.nw == 'string') {\n description.push('Chromium ' + version, 'Node ' + data.versions.node);\n name = 'NW.js';\n version = data.versions.nw;\n }\n }\n if (!name) {\n name = 'Node.js';\n arch = data.arch;\n os = data.platform;\n version = /[\\d.]+/.exec(data.version);\n version = version ? version[0] : null;\n }\n }\n }\n // Detect Adobe AIR.\n else if (getClassOf((data = context.runtime)) == airRuntimeClass) {\n name = 'Adobe AIR';\n os = data.flash.system.Capabilities.os;\n }\n // Detect PhantomJS.\n else if (getClassOf((data = context.phantom)) == phantomClass) {\n name = 'PhantomJS';\n version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch);\n }\n // Detect IE compatibility modes.\n else if (typeof doc.documentMode == 'number' && (data = /\\bTrident\\/(\\d+)/i.exec(ua))) {\n // We're in compatibility mode when the Trident version + 4 doesn't\n // equal the document mode.\n version = [version, doc.documentMode];\n if ((data = +data[1] + 4) != version[1]) {\n description.push('IE ' + version[1] + ' mode');\n layout && (layout[1] = '');\n version[1] = data;\n }\n version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];\n }\n // Detect IE 11 masking as other browsers.\n else if (typeof doc.documentMode == 'number' && /^(?:Chrome|Firefox)\\b/.test(name)) {\n description.push('masking as ' + name + ' ' + version);\n name = 'IE';\n version = '11.0';\n layout = ['Trident'];\n os = 'Windows';\n }\n os = os && format(os);\n }\n // Detect prerelease phases.\n if (version && (data =\n /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(version) ||\n /(?:alpha|beta)(?: ?\\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) ||\n /\\bMinefield\\b/i.test(ua) && 'a'\n )) {\n prerelease = /b/i.test(data) ? 'beta' : 'alpha';\n version = version.replace(RegExp(data + '\\\\+?$'), '') +\n (prerelease == 'beta' ? beta : alpha) + (/\\d+\\+?/.exec(data) || '');\n }\n // Detect Firefox Mobile.\n if (name == 'Fennec' || name == 'Firefox' && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(os)) {\n name = 'Firefox Mobile';\n }\n // Obscure Maxthon's unreliable version.\n else if (name == 'Maxthon' && version) {\n version = version.replace(/\\.[\\d.]+/, '.x');\n }\n // Detect Xbox 360 and Xbox One.\n else if (/\\bXbox\\b/i.test(product)) {\n if (product == 'Xbox 360') {\n os = null;\n }\n if (product == 'Xbox 360' && /\\bIEMobile\\b/.test(ua)) {\n description.unshift('mobile mode');\n }\n }\n // Add mobile postfix.\n else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) &&\n (os == 'Windows CE' || /Mobi/i.test(ua))) {\n name += ' Mobile';\n }\n // Detect IE platform preview.\n else if (name == 'IE' && useFeatures) {\n try {\n if (context.external === null) {\n description.unshift('platform preview');\n }\n } catch(e) {\n description.unshift('embedded');\n }\n }\n // Detect BlackBerry OS version.\n // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp\n else if ((/\\bBlackBerry\\b/.test(product) || /\\bBB10\\b/.test(ua)) && (data =\n (RegExp(product.replace(/ +/g, ' *') + '/([.\\\\d]+)', 'i').exec(ua) || 0)[1] ||\n version\n )) {\n data = [data, /BB10/.test(ua)];\n os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0];\n version = null;\n }\n // Detect Opera identifying/masking itself as another browser.\n // http://www.opera.com/support/kb/view/843/\n else if (this != forOwn && product != 'Wii' && (\n (useFeatures && opera) ||\n (/Opera/.test(name) && /\\b(?:MSIE|Firefox)\\b/i.test(ua)) ||\n (name == 'Firefox' && /\\bOS X (?:\\d+\\.){2,}/.test(os)) ||\n (name == 'IE' && (\n (os && !/^Win/.test(os) && version > 5.5) ||\n /\\bWindows XP\\b/.test(os) && version > 8 ||\n version == 8 && !/\\bTrident\\b/.test(ua)\n ))\n ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) {\n // When \"identifying\", the UA contains both Opera and the other browser's name.\n data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : '');\n if (reOpera.test(name)) {\n if (/\\bIE\\b/.test(data) && os == 'Mac OS') {\n os = null;\n }\n data = 'identify' + data;\n }\n // When \"masking\", the UA contains only the other browser's name.\n else {\n data = 'mask' + data;\n if (operaClass) {\n name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2'));\n } else {\n name = 'Opera';\n }\n if (/\\bIE\\b/.test(data)) {\n os = null;\n }\n if (!useFeatures) {\n version = null;\n }\n }\n layout = ['Presto'];\n description.push(data);\n }\n // Detect WebKit Nightly and approximate Chrome/Safari versions.\n if ((data = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n // Correct build number for numeric comparison.\n // (e.g. \"532.5\" becomes \"532.05\")\n data = [parseFloat(data.replace(/\\.(\\d)$/, '.0$1')), data];\n // Nightly builds are postfixed with a \"+\".\n if (name == 'Safari' && data[1].slice(-1) == '+') {\n name = 'WebKit Nightly';\n prerelease = 'alpha';\n version = data[1].slice(0, -1);\n }\n // Clear incorrect browser versions.\n else if (version == data[1] ||\n version == (data[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(ua) || 0)[1])) {\n version = null;\n }\n // Use the full Chrome version when available.\n data[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(ua) || 0)[1];\n // Detect Blink layout engine.\n if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') {\n layout = ['Blink'];\n }\n // Detect JavaScriptCore.\n // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi\n if (!useFeatures || (!likeChrome && !data[1])) {\n layout && (layout[1] = 'like Safari');\n data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : data < 602 ? 9 : data < 604 ? 10 : data < 606 ? 11 : data < 608 ? 12 : '12');\n } else {\n layout && (layout[1] = 'like Chrome');\n data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28');\n }\n // Add the postfix of \".x\" or \"+\" for approximate versions.\n layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'));\n // Obscure version for some Safari 1-2 releases.\n if (name == 'Safari' && (!version || parseInt(version) > 45)) {\n version = data;\n } else if (name == 'Chrome' && /\\bHeadlessChrome/i.test(ua)) {\n description.unshift('headless');\n }\n }\n // Detect Opera desktop modes.\n if (name == 'Opera' && (data = /\\bzbov|zvav$/.exec(os))) {\n name += ' ';\n description.unshift('desktop mode');\n if (data == 'zvav') {\n name += 'Mini';\n version = null;\n } else {\n name += 'Mobile';\n }\n os = os.replace(RegExp(' *' + data + '$'), '');\n }\n // Detect Chrome desktop mode.\n else if (name == 'Safari' && /\\bChrome\\b/.exec(layout && layout[1])) {\n description.unshift('desktop mode');\n name = 'Chrome Mobile';\n version = null;\n\n if (/\\bOS X\\b/.test(os)) {\n manufacturer = 'Apple';\n os = 'iOS 4.3+';\n } else {\n os = null;\n }\n }\n // Newer versions of SRWare Iron uses the Chrome tag to indicate its version number.\n else if (/\\bSRWare Iron\\b/.test(name) && !version) {\n version = getVersion('Chrome');\n }\n // Strip incorrect OS versions.\n if (version && version.indexOf((data = /[\\d.]+$/.exec(os))) == 0 &&\n ua.indexOf('/' + data + '-') > -1) {\n os = trim(os.replace(data, ''));\n }\n // Ensure OS does not include the browser name.\n if (os && os.indexOf(name) != -1 && !RegExp(name + ' OS').test(os)) {\n os = os.replace(RegExp(' *' + qualify(name) + ' *'), '');\n }\n // Add layout engine.\n if (layout && !/\\b(?:Avant|Nook)\\b/.test(name) && (\n /Browser|Lunascape|Maxthon/.test(name) ||\n name != 'Safari' && /^iOS/.test(os) && /\\bSafari\\b/.test(layout[1]) ||\n /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(name) && layout[1])) {\n // Don't add layout details to description if they are falsey.\n (data = layout[layout.length - 1]) && description.push(data);\n }\n // Combine contextual information.\n if (description.length) {\n description = ['(' + description.join('; ') + ')'];\n }\n // Append manufacturer to description.\n if (manufacturer && product && product.indexOf(manufacturer) < 0) {\n description.push('on ' + manufacturer);\n }\n // Append product to description.\n if (product) {\n description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product);\n }\n // Parse the OS into an object.\n if (os) {\n data = / ([\\d.+]+)$/.exec(os);\n isSpecialCasedOS = data && os.charAt(os.length - data[0].length - 1) == '/';\n os = {\n 'architecture': 32,\n 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os,\n 'version': data ? data[1] : null,\n 'toString': function() {\n var version = this.version;\n return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : '');\n }\n };\n }\n // Add browser/OS architecture.\n if ((data = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(arch)) && !/\\bi686\\b/i.test(arch)) {\n if (os) {\n os.architecture = 64;\n os.family = os.family.replace(RegExp(' *' + data), '');\n }\n if (\n name && (/\\bWOW64\\b/i.test(ua) ||\n (useFeatures && /\\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\\bWin64; x64\\b/i.test(ua)))\n ) {\n description.unshift('32-bit');\n }\n }\n // Chrome 39 and above on OS X is always 64-bit.\n else if (\n os && /^OS X/.test(os.family) &&\n name == 'Chrome' && parseFloat(version) >= 39\n ) {\n os.architecture = 64;\n }\n\n ua || (ua = null);\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The platform object.\n *\n * @name platform\n * @type Object\n */\n var platform = {};\n\n /**\n * The platform description.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.description = ua;\n\n /**\n * The name of the browser's layout engine.\n *\n * The list of common layout engines include:\n * \"Blink\", \"EdgeHTML\", \"Gecko\", \"Trident\" and \"WebKit\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.layout = layout && layout[0];\n\n /**\n * The name of the product's manufacturer.\n *\n * The list of manufacturers include:\n * \"Apple\", \"Archos\", \"Amazon\", \"Asus\", \"Barnes & Noble\", \"BlackBerry\",\n * \"Google\", \"HP\", \"HTC\", \"LG\", \"Microsoft\", \"Motorola\", \"Nintendo\",\n * \"Nokia\", \"Samsung\" and \"Sony\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.manufacturer = manufacturer;\n\n /**\n * The name of the browser/environment.\n *\n * The list of common browser names include:\n * \"Chrome\", \"Electron\", \"Firefox\", \"Firefox for iOS\", \"IE\",\n * \"Microsoft Edge\", \"PhantomJS\", \"Safari\", \"SeaMonkey\", \"Silk\",\n * \"Opera Mini\" and \"Opera\"\n *\n * Mobile versions of some browsers have \"Mobile\" appended to their name:\n * eg. \"Chrome Mobile\", \"Firefox Mobile\", \"IE Mobile\" and \"Opera Mobile\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.name = name;\n\n /**\n * The alpha/beta release indicator.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.prerelease = prerelease;\n\n /**\n * The name of the product hosting the browser.\n *\n * The list of common products include:\n *\n * \"BlackBerry\", \"Galaxy S4\", \"Lumia\", \"iPad\", \"iPod\", \"iPhone\", \"Kindle\",\n * \"Kindle Fire\", \"Nexus\", \"Nook\", \"PlayBook\", \"TouchPad\" and \"Transformer\"\n *\n * @memberOf platform\n * @type string|null\n */\n platform.product = product;\n\n /**\n * The browser's user agent string.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.ua = ua;\n\n /**\n * The browser/environment version.\n *\n * @memberOf platform\n * @type string|null\n */\n platform.version = name && version;\n\n /**\n * The name of the operating system.\n *\n * @memberOf platform\n * @type Object\n */\n platform.os = os || {\n\n /**\n * The CPU architecture the OS is built for.\n *\n * @memberOf platform.os\n * @type number|null\n */\n 'architecture': null,\n\n /**\n * The family of the OS.\n *\n * Common values include:\n * \"Windows\", \"Windows Server 2008 R2 / 7\", \"Windows Server 2008 / Vista\",\n * \"Windows XP\", \"OS X\", \"Linux\", \"Ubuntu\", \"Debian\", \"Fedora\", \"Red Hat\",\n * \"SuSE\", \"Android\", \"iOS\" and \"Windows Phone\"\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'family': null,\n\n /**\n * The version of the OS.\n *\n * @memberOf platform.os\n * @type string|null\n */\n 'version': null,\n\n /**\n * Returns the OS string.\n *\n * @memberOf platform.os\n * @returns {string} The OS string.\n */\n 'toString': function() { return 'null'; }\n };\n\n platform.parse = parse;\n platform.toString = toStringPlatform;\n\n if (platform.version) {\n description.unshift(version);\n }\n if (platform.name) {\n description.unshift(name);\n }\n if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) {\n description.push(product ? '(' + os + ')' : 'on ' + os);\n }\n if (description.length) {\n platform.description = description.join(' ');\n }\n return platform;\n }\n\n /*--------------------------------------------------------------------------*/\n\n // Export platform.\n var platform = parse();\n\n // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Expose platform on the global object to prevent errors when platform is\n // loaded by a script tag in the presence of an AMD loader.\n // See http://requirejs.org/docs/errors.html#mismatch for more details.\n root.platform = platform;\n\n // Define as an anonymous module so platform can be aliased through path mapping.\n define(function() {\n return platform;\n });\n }\n // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && freeModule) {\n // Export for CommonJS support.\n forOwn(platform, function(value, key) {\n freeExports[key] = value;\n });\n }\n else {\n // Export to the global object.\n root.platform = platform;\n }\n}.call(this));\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v16.14.0\n * react-dom-server.browser.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'use strict';var k=require(\"object-assign\"),l=require(\"react\");function q(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cH;H++)F[H]=H+1;F[15]=0;\nvar qa=/^[: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]*$/,ra=Object.prototype.hasOwnProperty,sa={},ta={};\nfunction ua(a){if(ra.call(ta,a))return!0;if(ra.call(sa,a))return!1;if(qa.test(a))return ta[a]=!0;sa[a]=!0;return!1}function va(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 wa(a,b,c,d){if(null===b||\"undefined\"===typeof b||va(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 J(a,b,c,d,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=g}var K={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){K[a]=new J(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];K[b]=new J(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){K[a]=new J(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){K[a]=new J(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){K[a]=new J(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){K[a]=new J(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){K[a]=new J(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){K[a]=new J(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){K[a]=new J(a,5,!1,a.toLowerCase(),null,!1)});var L=/[\\-:]([a-z])/g;function M(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(L,\nM);K[b]=new J(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(L,M);K[b]=new J(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(L,M);K[b]=new J(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){K[a]=new J(a,1,!1,a.toLowerCase(),null,!1)});\nK.xlinkHref=new J(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){K[a]=new J(a,1,!1,a.toLowerCase(),null,!0)});var xa=/[\"'&<>]/;\nfunction N(a){if(\"boolean\"===typeof a||\"number\"===typeof a)return\"\"+a;a=\"\"+a;var b=xa.exec(a);if(b){var c=\"\",d,f=0;for(d=b.index;dV))throw Error(q(301));if(a===O)if(S=!0,a={action:c,next:null},null===U&&(U=new Map),c=U.get(b),void 0===c)U.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function Ha(){}\nvar X=0,Ia={readContext:function(a){var b=X;E(a,b);return a[b]},useContext:function(a){W();var b=X;E(a,b);return a[b]},useMemo:function(a,b){O=W();Q=Ca();b=void 0===b?null:b;if(null!==Q){var c=Q.memoizedState;if(null!==c&&null!==b){a:{var d=c[1];if(null===d)d=!1;else{for(var f=0;f=d))throw Error(q(304));var h=new Uint16Array(d);h.set(g);F=h;F[0]=c+1;for(g=c;g=\ne.children.length){var I=e.footer;\"\"!==I&&(this.previousWasTextNode=!1);this.stack.pop();if(\"select\"===e.type)this.currentSelectValue=null;else if(null!=e.type&&null!=e.type.type&&e.type.type.$$typeof===v)this.popProvider(e.type);else if(e.type===B){this.suspenseDepth--;var G=g.pop();if(x){x=!1;var n=e.fallbackFrame;if(!n)throw Error(q(303));this.stack.push(n);g[this.suspenseDepth]+=\"\\x3c!--$!--\\x3e\";continue}else g[this.suspenseDepth]+=G}g[this.suspenseDepth]+=I}else{var m=e.children[e.childIndex++],\nw=\"\";try{w+=this.render(m,e.context,e.domNamespace)}catch(r){if(null!=r&&\"function\"===typeof r.then)throw Error(q(294));throw r;}finally{}g.length<=this.suspenseDepth&&g.push(\"\");g[this.suspenseDepth]+=w}}return g[0]}finally{Qa.current=c,X=b}};b.render=function(a,b,f){if(\"string\"===typeof a||\"number\"===typeof a){f=\"\"+a;if(\"\"===f)return\"\";if(this.makeStaticMarkup)return N(f);if(this.previousWasTextNode)return\"\\x3c!-- --\\x3e\"+N(f);this.previousWasTextNode=!0;return N(f)}b=Za(a,b,this.threadID);a=b.child;\nb=b.context;if(null===a||!1===a)return\"\";if(!l.isValidElement(a)){if(null!=a&&null!=a.$$typeof){f=a.$$typeof;if(f===aa)throw Error(q(257));throw Error(q(258,f.toString()));}a=Z(a);this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"});return\"\"}var c=a.type;if(\"string\"===typeof c)return this.renderDOM(a,b,f);switch(c){case ba:case ea:case ca:case ha:case u:return a=Z(a.props.children),this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\n\"\";case B:throw Error(q(294));}if(\"object\"===typeof c&&null!==c)switch(c.$$typeof){case fa:O={};var d=c.render(a.props,a.ref);d=Da(c.render,a.props,d,a.ref);d=Z(d);this.stack.push({type:null,domNamespace:f,children:d,childIndex:0,context:b,footer:\"\"});return\"\";case ia:return a=[l.createElement(c.type,k({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\"\";case v:return c=Z(a.props.children),f={type:a,domNamespace:f,children:c,childIndex:0,\ncontext:b,footer:\"\"},this.pushProvider(a),this.stack.push(f),\"\";case da:c=a.type;d=a.props;var h=this.threadID;E(c,h);c=Z(d.children(c[h]));this.stack.push({type:a,domNamespace:f,children:c,childIndex:0,context:b,footer:\"\"});return\"\";case la:throw Error(q(338));case ja:switch(c=a.type,na(c),c._status){case 1:return a=[l.createElement(c._result,k({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\"\";case 2:throw c._result;default:throw Error(q(295));\n}case ma:throw Error(q(343));}throw Error(q(130,null==c?c:typeof c,\"\"));};b.renderDOM=function(a,b,f){var c=a.type.toLowerCase();f===Ja.html&&Ka(c);if(!Ta.hasOwnProperty(c)){if(!Sa.test(c))throw Error(q(65,c));Ta[c]=!0}var d=a.props;if(\"input\"===c)d=k({type:void 0},d,{defaultChecked:void 0,defaultValue:void 0,value:null!=d.value?d.value:d.defaultValue,checked:null!=d.checked?d.checked:d.defaultChecked});else if(\"textarea\"===c){var h=d.value;if(null==h){h=d.defaultValue;var e=d.children;if(null!=e){if(null!=\nh)throw Error(q(92));if(Array.isArray(e)){if(!(1>=e.length))throw Error(q(93));e=e[0]}h=\"\"+e}null==h&&(h=\"\")}d=k({},d,{value:void 0,children:\"\"+h})}else if(\"select\"===c)this.currentSelectValue=null!=d.value?d.value:d.defaultValue,d=k({},d,{value:void 0});else if(\"option\"===c){e=this.currentSelectValue;var I=Va(d.children);if(null!=e){var G=null!=d.value?d.value+\"\":I;h=!1;if(Array.isArray(e))for(var n=0;n\":(z+=\">\",h=\"\");a:{e=d.dangerouslySetInnerHTML;if(null!=e){if(null!=e.__html){e=e.__html;break a}}else if(e=d.children,\"string\"===typeof e||\"number\"===typeof e){e=N(e);break a}e=null}null!=e?(d=[],Ra.hasOwnProperty(c)&&\"\\n\"===e.charAt(0)&&(z+=\"\\n\"),z+=e):d=Z(d.children);a=a.type;f=null==f||\"http://www.w3.org/1999/xhtml\"===\nf?Ka(a):\"http://www.w3.org/2000/svg\"===f&&\"foreignObject\"===a?\"http://www.w3.org/1999/xhtml\":f;this.stack.push({domNamespace:f,type:c,children:d,childIndex:0,context:b,footer:h});this.previousWasTextNode=!1;return z};return a}(),ab={renderToString:function(a){a=new $a(a,!1);try{return a.read(Infinity)}finally{a.destroy()}},renderToStaticMarkup:function(a){a=new $a(a,!0);try{return a.read(Infinity)}finally{a.destroy()}},renderToNodeStream:function(){throw Error(q(207));},renderToStaticNodeStream:function(){throw Error(q(208));\n},version:\"16.14.0\"};module.exports=ab.default||ab;\n","/** @license React v16.14.0\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/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function u(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f){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}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(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(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(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 Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(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\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=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(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(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 fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(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 fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(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(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=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=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();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=td(a.document)}return b}\nfunction yd(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)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!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\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!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=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;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}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)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=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(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===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))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}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){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 uh(){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(u(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 vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(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){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(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);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect: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}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(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 Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(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 dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTimeQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per GeneratorResume behavior specified since ES2015:\n // ES2015 spec, step 3: https://262.ecma-international.org/6.0/#sec-generatorresume\n // Latest spec, step 2: https://tc39.es/ecma262/#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next method, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable != null) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n throw new TypeError(typeof iterable + \" is not iterable\");\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/** @license React v0.19.1\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\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.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(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction _objectSpread(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? Object(arguments[r]) : {},\n o = Object.keys(t);\n \"function\" == typeof Object.getOwnPropertySymbols && o.push.apply(o, Object.getOwnPropertySymbols(t).filter(function (e) {\n return Object.getOwnPropertyDescriptor(t, e).enumerable;\n })), o.forEach(function (r) {\n defineProperty(e, r, t[r]);\n });\n }\n return e;\n}\nexport { _objectSpread as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return getPath(this.data, path);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy$$1 = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy$$1[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy$$1[m] === deepKey) copy$$1[m] = res[m];\n }\n }\n\n res = copy$$1;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n\n if (options.count !== undefined) {\n var suffix = this.pluralResolver.getSuffix(lng, options.count);\n res = options[\"defaultValue\".concat(suffix)];\n }\n\n if (!res) res = options.defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n var rule = this.getRule(code);\n if (!rule) return ret;\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n\n ret.push(\"\".concat(key).concat(suffix));\n });\n return ret;\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, options);\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n str = str.replace(match[0], todo.safeValue(value));\n todo.regex.lastIndex = 0;\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].includes(this.formatSeparator) && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, options);\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\nfunction addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '',\n e = encodeURIComponent; // Must encode data\n\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n} // https://gist.github.com/Xeoncross/7663273\n\n\nfunction ajax(url, options, callback, data, cache) {\n if (data && _typeof(data) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n } // URL encoded form data must be in querystring format\n\n\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n\n x.open(data ? 'POST' : 'GET', url, 1);\n\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n x.withCredentials = !!options.withCredentials;\n\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n crossDomain: false,\n ajax: ajax\n };\n}\n\nvar Backend =\n/*#__PURE__*/\nfunction () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, {\n lng: language,\n ns: namespace\n });\n this.loadUrl(url, callback);\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true\n /* retry */\n );\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false\n /* no retry */\n );\n var ret, err;\n\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, {\n lng: lng,\n ns: namespace\n });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {//const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\n\nexport default Backend;\n","import i18n, { TFunction, InitOptions } from \"i18next\";\nimport { locales } from \"../i18next-parser.config\";\nimport Backend from \"i18next-xhr-backend\";\n\ni18n\n // load translation using xhr -> see /public/locales\n // learn more: https://github.com/i18next/i18next-xhr-backend\n .use(Backend)\n .on(\"initialized\", () => {\n locales.forEach((lang) => {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const l = require(`./locales/${lang}/translation.json`);\n i18n.addResourceBundle(lang, \"translation\", l, true, false);\n });\n });\n\nexport default i18n;\n\nlet initPromise: Promise | null = null;\nexport async function init(opts: InitOptions): Promise {\n if (!initPromise) {\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n initPromise = i18n.init(\n Object.assign(\n {\n fallbackLng: \"en\",\n debug: false,\n\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n\n backend: {\n loadPath: URL.createObjectURL(\n new Blob([\"{}\"], { type: \"application/json\" })\n ),\n crossDomain: true,\n },\n\n nsSeparator: \":::\",\n keySeparator: \"::\",\n },\n opts\n )\n );\n }\n\n return initPromise;\n}\n\nexport function t(\n args: string | string[],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params?: Record\n): string {\n return i18n.t(args, params);\n}\n","import platform from \"platform\";\nimport { RefObject } from \"react\";\n\nexport const mediaBreakPoint = 991.5;\n\nconst _isIos = platform.os?.family === \"iOS\";\nexport function isIos(): boolean {\n return _isIos;\n}\n\n// FIXME\nlet _isTouchDevice = [\"iOS\", \"Android\", \"Windows Phone\"].includes(\n platform.os?.family || \"\"\n);\ndocument.addEventListener(\n \"touchstart\",\n () => {\n _isTouchDevice = true;\n },\n { passive: true, once: true }\n);\nexport function isTouchDevice(): boolean {\n return _isTouchDevice;\n}\n\nexport function focusIfIos(ref: RefObject): void {\n if (!isIos()) {\n return;\n }\n\n if (ref.current === null) {\n return;\n }\n\n ref.current.focus();\n}\n\nlet _isNarrowScreen = false;\nexport function isNarrowScreen(): boolean {\n return _isNarrowScreen;\n}\nfunction updateIsNarrowScreen(): void {\n _isNarrowScreen = matchMedia(`(max-width:${mediaBreakPoint}px)`).matches;\n}\ndocument.addEventListener(\"resize\", updateIsNarrowScreen, { passive: true });\nupdateIsNarrowScreen();\n","/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.2.6';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","import createDOMPurify from \"dompurify\";\n\ntype TypeIndex = [string, number];\n\ninterface Selector {\n nthChildIndexes: number[];\n nthOfTypeIndexes: TypeIndex[];\n offset: number;\n}\n\nexport interface SelectorSet {\n anchor: Selector;\n focus: Selector;\n}\n\nexport function getElementById(id: string): HTMLElement {\n const e = document.getElementById(id);\n if (!e) {\n throw Error(`${id} is not found`);\n }\n return e;\n}\n\nexport function querySelector(\n elm: HTMLElement | Document,\n selector: string\n): HTMLElement {\n const e = elm.querySelector(selector) as HTMLElement;\n if (!e) {\n throw Error(`${selector} is not found`);\n }\n return e;\n}\n\nexport function getNodeValue(e: Element): string {\n return (e && e.childNodes[0] ? e.childNodes[0].nodeValue : \"\") || \"\";\n}\n\nexport function getNodeValueByTagName(e: Element, name: string): string {\n return [...e.getElementsByTagName(name)].map((e) => getNodeValue(e)).join(\"\");\n}\n\nexport function selectorCmp(a: Selector, b: Selector): number {\n for (let i = 0; i < a.nthChildIndexes.length; i++) {\n if (a.nthChildIndexes[i] !== b.nthChildIndexes[i]) {\n return a.nthChildIndexes[i] - b.nthChildIndexes[i];\n }\n }\n return a.offset - b.offset;\n}\n\nfunction buildSelector(node: Node, offset: number): Selector {\n const selector: Selector = {\n nthChildIndexes: [],\n nthOfTypeIndexes: [],\n offset: offset,\n };\n\n while (node && node.parentNode) {\n const nn = node.nodeName;\n\n selector.nthChildIndexes.unshift(\n ([...node.parentNode.childNodes] as Node[]).indexOf(node)\n );\n selector.nthOfTypeIndexes.unshift([\n nn,\n ([...node.parentNode.childNodes] as Node[])\n .filter((n) => n.nodeName === nn)\n .indexOf(node),\n ]);\n\n node = node.parentNode;\n }\n\n selector.nthChildIndexes.splice(0, 2);\n selector.nthOfTypeIndexes.splice(0, 2);\n\n return selector;\n}\n\nexport function getShadowDomSelectorSet(blockId: string): SelectorSet | null {\n const div = document.querySelector(\n `[data-mt-block-editor-block-id=\"${blockId}\"] .mt-be-block div:last-child`\n );\n if (!div || !div.shadowRoot) {\n return null;\n }\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n const s = (div.shadowRoot as any).getSelection\n ? (div.shadowRoot as any).getSelection() // chrome\n : document.getSelection(); // firefox\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n // currently only supports text nodes\n if (\n !s ||\n !s.anchorNode ||\n !s.anchorNode.parentNode ||\n (s.anchorNode.parentNode as HTMLElement).closest(\"body\") ||\n !s.focusNode ||\n !s.focusNode.parentNode\n ) {\n return null;\n }\n\n return {\n anchor: buildSelector(s.anchorNode, s.anchorOffset),\n focus: buildSelector(s.focusNode, s.focusOffset),\n };\n}\n\nexport function getElementByNthOfTypeIndexes(\n node: HTMLElement | null,\n indexes: TypeIndex[]\n): HTMLElement | null {\n indexes.forEach(([nodeName, i]) => {\n if (!node) {\n return;\n }\n\n node = (\n [...node.childNodes].filter((n) => {\n if (\n n instanceof HTMLElement &&\n (n.getAttribute(\"data-mce-caret\") || n.getAttribute(\"data-mce-bogus\"))\n ) {\n return false;\n }\n\n return n.nodeName === nodeName;\n }) as HTMLElement[]\n )[i];\n });\n return node;\n}\n\nconst entityMap: Record = {\n \"\\t\": \"\",\n \"\\n\": \" \",\n \"\\r\": \" \",\n \"&\": \"&\",\n \"'\": \"'\",\n \"<\": \"<\",\n \">\": \">\",\n \"\\u2018\": \"‘\", // left single quotation mark\n \"\\u2019\": \"’\", // right single quotation mark\n \"\\u201c\": \"“\", // left double quotation mark\n \"\\u201d\": \"”\", // right double quotation mark\n};\nexport const escapeSingleQuoteAttribute = (() => {\n const entityRegExp = new RegExp(`[${Object.keys(entityMap).join(\"\")}]`, \"g\");\n\n return (string: string): string => {\n if (typeof string !== \"string\") {\n return string;\n }\n return string.replace(entityRegExp, (match) => entityMap[match]);\n };\n})();\n\nexport const unescapeSingleQuoteAttribute = (() => {\n const entityReverseMap = Object.fromEntries(\n Object.entries(entityMap).map(([k, v]) => [v, k])\n );\n const entityRegExp = new RegExp(\n `(${Object.keys(entityReverseMap).join(\"|\")})`,\n \"g\"\n );\n\n return (string: string): string => {\n if (typeof string !== \"string\") {\n return string;\n }\n return string.replace(entityRegExp, (_, match) => {\n return entityReverseMap[match];\n });\n };\n})();\n\nconst DOMPurify = createDOMPurify(window);\nexport function sanitize(str: string): string {\n return DOMPurify.sanitize(str);\n}\n\nexport function decodeHtml(html: string): string {\n const e = document.createElement(\"textarea\");\n e.innerHTML = html;\n return e.value;\n}\n\nexport function isPassThroughNativeEvent(ev: Event): boolean {\n return !!(ev.target instanceof Element && ev.target.closest(\".tox\"));\n}\n","import React from \"react\";\n\nexport const nl2br = (() => {\n const regex = /(\\r\\n|\\r|\\n)/g;\n\n return function nl2br(str: string): Array {\n if (typeof str !== \"string\") {\n return str;\n }\n\n return str.split(regex).map((line, index) => {\n if (line.match(regex)) {\n return React.createElement(\"br\", { key: index });\n }\n return line;\n });\n };\n})();\n","export interface Size {\n width: string | number;\n height: string | number;\n}\n\nexport const defaultSize = { width: \"100%\", height: \"100px\" };\nexport const defaultSinglelineSize = { width: \"100%\", height: \"16px\" };\nexport function isDefaultSize(size: Size): boolean {\n return size === defaultSize || size === defaultSinglelineSize;\n}\n\nexport function isEqualSize(a: Size, b: Size): boolean {\n return a.width === b.width && a.height === b.height;\n}\n","import { t } from \"./i18n\";\nimport React, { RefObject } from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport Editor from \"./Editor\";\nimport BlockFactory from \"./BlockFactory\";\nimport { EditHistory } from \"./EditManager\";\nimport {\n escapeSingleQuoteAttribute,\n} from \"./util/dom\";\nimport ParserContext from \"./util/ParserContext\";\nimport icon from \"./img/icon/default-block.svg\";\nimport {\n Size,\n defaultSize,\n defaultSinglelineSize,\n} from \"./Component/BlockIframePreview/size\";\n\nlet idSequence = 1;\n\nexport interface HasBlocks {\n blocks: Block[];\n}\n\nexport interface Metadata {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface EditorOptions {\n focus: boolean;\n focusBlock?: boolean;\n focusDescendant?: boolean;\n canRemove?: boolean;\n parentBlock?: Block;\n clickBlockTargetRef?: RefObject;\n}\n\nexport interface NewOptions {\n editor: Editor;\n event: Event;\n}\n\nexport interface NewFromHtmlOptions {\n html: string;\n node: Element;\n factory: BlockFactory;\n meta: Metadata;\n context: ParserContext;\n}\n\nexport interface CompileOptions {\n editor: Editor;\n}\n\nexport interface SerializeOptions extends CompileOptions {\n external: boolean;\n removeChildIntermediateProduct?: boolean;\n}\n\nexport const DEFAULT_KEYS_FOR_SETUP = [\"label\", \"helpText\", \"className\"];\n\nclass Block {\n public static typeId: string;\n public static label: string;\n public static selectable: boolean;\n public static shouldBeCompiled = false;\n public id: string;\n public isNewlyAdded = false;\n public wrapperRef: RefObject;\n public compiledHtml: string | undefined = undefined;\n public removeIntermediateProduct = false;\n public label = \"\";\n public helpText = \"\";\n public className = \"\";\n public iframePreviewSize: Size | null = null;\n\n public static get icon(): string {\n const str = this.iconString;\n if (str) {\n return icon.replace(/__str__/, str);\n } else {\n return icon;\n }\n }\n public static get iconString(): string {\n const m = this.typeId.match(/-(.)/);\n return m ? m[1].toUpperCase() : \"\";\n }\n\n public getIframePreviewSize(content: string): Size {\n if (this.iframePreviewSize) {\n return this.iframePreviewSize;\n }\n\n if (!content) {\n return defaultSinglelineSize;\n }\n\n const stripped = content.replace(//g, \"\");\n if (\n /^\\s*(?:\\s*|<(?:h[1-6]|p)>[^<]+<\\/(?:h[1-6]|p)>|(\\s*]*>[^<]*<\\/span>\\s*)+)\\s*$/.test(\n stripped\n )\n ) {\n // Probably a single line content\n return defaultSinglelineSize;\n }\n\n return defaultSize;\n }\n\n public setIframePreviewSize(size: Size): void {\n this.iframePreviewSize = size;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static async new(opts: NewOptions): Promise {\n const block = new this();\n block.isNewlyAdded = true;\n return block;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static async newFromHtml(opts: NewFromHtmlOptions): Promise {\n throw \"Should be implemented for each concrete class\";\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static canNewFromFile({ file }: { file: File }): boolean {\n return false;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static async newFromFile({ file }: { file: File }): Promise {\n throw \"Should be implemented for each concrete class\";\n }\n\n public constructor() {\n this.id =\n Math.round(Math.random() * 46656)\n .toString(36)\n .padStart(3, \"0\") + (idSequence++).toString(36).padStart(3, \"0\");\n this.wrapperRef = React.createRef();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public canMerge(block: Block): boolean {\n return false;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public merge(block: Block): EditHistory {\n throw \"Should be implemented for each concrete class\";\n }\n\n public focusEditor(): void {\n if (!this.wrapperRef.current) {\n return;\n }\n\n const wrapperElement = this.wrapperRef.current;\n const inputElm =\n wrapperElement.querySelector(\n \"[data-mt-block-editor-focus-default]\"\n ) || wrapperElement.querySelector(\"input, textarea, select\");\n if (!inputElm) {\n return;\n }\n\n inputElm.focus();\n }\n\n public contentLabel(): string {\n return (this.constructor as typeof Block).label;\n }\n\n public placeholderLabel(): string {\n return this.contentLabel();\n }\n\n public placeholder(): JSX.Element {\n const label = this.label || this.placeholderLabel();\n return (\n \n {t(\"Please input {{label}}.\", {\n label: label,\n })}\n \n );\n }\n\n public childBlocks(): Block[] {\n return [];\n }\n\n public htmlString(): string {\n let html = this.html();\n\n if (typeof html !== \"string\") {\n html = ReactDOMServer.renderToStaticMarkup(html);\n }\n\n if (this.className) {\n if (/^<[^>]+class=\"/.test(html)) {\n html = html.replace(\n /^(<[^>]+class=\")([^\"]+)/,\n (m, prefix, classNames) => {\n return (\n prefix +\n this.className\n .split(/\\s+/)\n .reduce((list, c) => {\n if (list.indexOf(c) === -1) {\n list.push(c);\n }\n return list;\n }, classNames.split(/\\s+/))\n .join(\" \")\n );\n }\n );\n } else {\n html = html.replace(\n /^<([^>]+)>/,\n (m, tag) => `<${tag} class=\"${this.className}\">`\n );\n }\n }\n\n return html;\n }\n\n public metadata(): Metadata | null {\n return this.metadataByOwnKeys({ keys: [] });\n }\n\n public metadataByOwnKeys(opts?: { keys?: string[] }): Metadata | null {\n const src: Metadata = this as Metadata;\n const data: Metadata = {};\n\n let keys = opts && opts.keys;\n\n if (!keys) {\n const parentKeys = Reflect.ownKeys(new Block());\n keys = Reflect.ownKeys(this).filter(\n (k) => typeof k == \"string\" && !parentKeys.find((pk) => pk === k)\n ) as string[];\n }\n\n keys.forEach((k) => {\n if (src[k] !== null && src[k] !== undefined) {\n data[k] = src[k];\n }\n });\n\n [\"label\", \"helpText\", \"className\", \"removeIntermediateProduct\"].forEach(\n (k) => {\n if (src[k]) {\n data[k] = src[k];\n }\n }\n );\n\n return Object.keys(data).length !== 0 ? data : null;\n }\n\n public keysForSetup(): string[] {\n return [];\n }\n\n public isSetupBlank(): boolean {\n return !(this.label || this.helpText || this.className);\n }\n\n public isBlank(): boolean {\n return this.htmlString() === \"\";\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public async serializedString(opts: SerializeOptions): Promise {\n return this.htmlString();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public async compile(opts: CompileOptions): Promise {\n throw \"Should be implemented for each concrete class\";\n }\n\n public async serialize(opts: SerializeOptions): Promise {\n if (opts.removeChildIntermediateProduct) {\n this.compiledHtml = undefined;\n } else if (\n (this.constructor as typeof Block).shouldBeCompiled &&\n this.compiledHtml === undefined\n ) {\n await this.compile(opts);\n }\n\n const m = opts.editor.serializeMeta(this, opts.external);\n const html = await this.serializedString(opts);\n\n let typeId = (this.constructor as typeof Block).typeId;\n if (typeId === \"core-text\") {\n // default type\n typeId = \"\";\n }\n return `${\n opts.removeChildIntermediateProduct\n ? html\n : this.removeIntermediateProduct\n ? this.compiledHtml || html\n : this.compiledHtml ?? html\n }`;\n }\n\n public async toClipboardItem(\n opts: Omit\n ): Promise {\n return await this.serialize({ ...opts, external: true });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public editor(opts: EditorOptions): JSX.Element {\n throw \"Should be implemented for each concrete class\";\n }\n\n public html(): JSX.Element | string {\n throw \"Should be implemented for each concrete class\";\n }\n}\n\nexport default Block;\n","import { createContext, useContext } from \"react\";\nimport Editor from \"./Editor\";\nimport Block from \"./Block\";\n\ninterface SetFocusedIdsOptions {\n forceUpdate: boolean;\n}\n\nexport type SetFocusedIds = (\n ids: string[],\n opts?: SetFocusedIdsOptions\n) => void;\n\nexport interface EditorContextProps {\n editor: Editor;\n setFocusedIds: SetFocusedIds;\n getFocusedIds: () => string[];\n}\nexport const EditorContext = createContext(null);\nexport function useEditorContext(): EditorContextProps {\n const c = useContext(EditorContext);\n if (!c) {\n throw Error(\"EditorContext is not initialized\");\n }\n return c;\n}\n\nexport interface BlocksContextProps {\n panelBlockTypes: string[] | null;\n shortcutBlockTypes: string[] | null;\n addBlock: (b: Block, index: number | Block) => void;\n mergeBlock: (b: Block) => void;\n removeBlock: (b: Block) => void;\n swapBlocks: (a: number, b: number, scroll?: boolean) => void;\n}\nexport const BlocksContext = createContext(null);\nexport function useBlocksContext(): BlocksContextProps {\n const c = useContext(BlocksContext);\n if (!c) {\n throw Error(\"BlocksContext is not initialized\");\n }\n return c;\n}\n\ninterface BlockContextProps {\n block: Block;\n index: number;\n rendered: boolean;\n}\nexport const BlockContext = createContext(null);\nexport function useBlockContext(): BlockContextProps {\n const c = useContext(BlockContext);\n if (!c) {\n throw Error(\"BlockContext is not initialized\");\n }\n return c;\n}\n","import React, { ReactNode } from \"react\";\nimport { useEditorContext } from \"../Context\";\n\ninterface EditorModeProps {\n children?: ReactNode;\n mode: string | string[];\n}\n\nconst EditorMode: React.FC = ({\n children,\n mode,\n}: EditorModeProps) => {\n if (typeof mode === \"string\") {\n mode = [mode];\n }\n\n const { editor } = useEditorContext();\n\n if (!mode.find((m) => m === editor.opts.mode)) {\n return null;\n }\n\n return <>{children} ;\n};\n\nexport default EditorMode;\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n ;\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : PropTypes.instanceOf(Element)\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","export default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import React, { useState } from \"react\";\nimport { useBlocksContext, useEditorContext } from \"../Context\";\nimport type { Command } from \"../CommandManager\";\nimport { toKeyboardShortcutLabel } from \"../util\";\nimport type Block from \"../Block\";\n\ntype DialogStatus = boolean | undefined; // undefined means dialog is not initialized\ninterface BlockCommandProps {\n block: Block;\n command: Command;\n}\n\nconst BlockCommand: React.FC = ({\n command,\n block,\n}: BlockCommandProps) => {\n const [isDialogOpen, setDialogOpen] = useState(undefined);\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor, getFocusedIds } = editorContext;\n\n return (\n {\n if (command.dialog) {\n setDialogOpen(true);\n } else {\n editor.commandManager.execute({\n command: command.command,\n blockIds:\n getFocusedIds().length === 0 ? [block.id] : getFocusedIds(),\n editorContext,\n blocksContext,\n event: ev.nativeEvent,\n });\n }\n }}\n >\n \n {command.icon && }\n {command.label}\n \n \n {command.shortcut && toKeyboardShortcutLabel(command.shortcut)}\n \n {command.dialog && typeof isDialogOpen === \"boolean\" && (\n \n )}\n \n );\n};\n\nexport default BlockCommand;\n","import React, { memo, ReactNode, useEffect, useState, useRef } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { useEditorContext } from \"../Context\";\nimport type { Command } from \"../CommandManager\";\nimport BlockCommand from \"./BlockCommand\";\nimport type Block from \"../Block\";\n\ninterface BlockCommandPanelProps {\n children?: ReactNode;\n in: boolean;\n block: Block;\n id?: string;\n className?: string;\n}\n\nconst PANEL_CLASS_NAME = \"mt-be-block-command-panel\";\nconst PANEL_PLACEMENT_DATA_NAME = `mtBeBlockCommandPanelPlacement`;\n\nconst BlockCommandPanel: React.FC = memo(\n function BlockCommandPanel(props: BlockCommandPanelProps) {\n const [commands, setCommands] = useState([]);\n const panelRef = useRef(null);\n const editorContext = useEditorContext();\n const { editor } = editorContext;\n\n let className = PANEL_CLASS_NAME;\n if (props.className) {\n className += ` ${props.className}`;\n }\n\n useEffect(() => {\n let unloaded = false;\n editor.commandManager.contextCommands().then((commands) => {\n if (!unloaded) {\n setCommands(commands);\n }\n });\n return () => {\n unloaded = true;\n };\n }, []);\n\n useEffect(() => {\n const panel = panelRef.current;\n if (props.in && panel) {\n panel.dataset[PANEL_PLACEMENT_DATA_NAME] = \"left\"; // initial state\n const left = panel.getBoundingClientRect().left;\n if (left < 0) {\n // place the panel below if it extends beyond the left edge of the viewport.\n panel.dataset[PANEL_PLACEMENT_DATA_NAME] = \"bottom\";\n }\n }\n }, [props.in]);\n\n if (commands.length === 0) {\n return null;\n }\n\n return (\n \n
\n {props.children}\n {commands.map((command) => (\n \n ))}\n
\n
\n );\n },\n (prev, next) => prev.in === next.in\n);\n\nexport default BlockCommandPanel;\n","import { focusIfIos } from \"../util\";\nimport React, {\n memo,\n useCallback,\n useEffect,\n useState,\n useRef,\n useMemo,\n} from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\nimport { useEditorContext, useBlocksContext } from \"../Context\";\nimport Block from \"../Block\";\n\nenum ListStatus {\n Visible, // visible\n Hidden, // hide with animation\n None, // hide without animation\n}\n\ninterface AddButtonProps {\n index: number;\n label?: string;\n labelDirect?: string;\n className?: string;\n showShortcuts?: boolean;\n}\n\nconst AddButton: React.FC = memo(\n function AddButton({\n index,\n label,\n labelDirect,\n className,\n showShortcuts,\n }: AddButtonProps) {\n const { editor } = useEditorContext();\n const { panelBlockTypes, shortcutBlockTypes, addBlock } =\n useBlocksContext();\n const [showList, setShowList] = useState(ListStatus.Hidden);\n const buttonElRef = useRef(null);\n const blockListElRef = useRef(null);\n const dummyInputElRef = useRef(null);\n\n useEffect(() => {\n const onDrop = (): void => {\n if (buttonElRef.current === null) {\n return;\n }\n\n const buttonEl = buttonElRef.current as unknown as HTMLElement;\n buttonEl.classList.remove(\"mt-be-droppable\");\n };\n\n const onWindowClick = (ev: MouseEvent | CustomEvent): void => {\n if (blockListElRef.current === null) {\n return;\n }\n\n const blockListEl = blockListElRef.current as unknown as HTMLElement;\n\n let target = ev.target as HTMLElement | Window;\n if (target instanceof HTMLElement) {\n while (target.parentNode && target.parentNode !== target) {\n if (target === blockListEl) {\n return;\n }\n target = target.parentNode as HTMLElement;\n }\n }\n\n setShowList(ListStatus.Hidden);\n };\n\n document.addEventListener(\"drop\", onDrop, {\n capture: true,\n passive: true,\n });\n window.addEventListener(\"click\", onWindowClick, {\n capture: true,\n passive: true,\n });\n window.addEventListener(\"mt-block-editor-click-block\", onWindowClick);\n\n return () => {\n document.removeEventListener(\"drop\", onDrop, {\n capture: true,\n });\n window.removeEventListener(\"click\", onWindowClick, {\n capture: true,\n });\n };\n }, []);\n\n if (!editor) {\n return <>;\n }\n\n const [shortcutTypes, panelTypes] = useMemo(\n () => [\n !showShortcuts\n ? []\n : shortcutBlockTypes\n ? editor.selectableTypes(shortcutBlockTypes)\n : editor.shortcutTypes(),\n panelBlockTypes\n ? editor.selectableTypes(panelBlockTypes)\n : showShortcuts\n ? editor.panelTypes()\n : [...new Set(editor.shortcutTypes().concat(editor.panelTypes()))],\n ],\n []\n );\n const onlyShortcuts = showShortcuts && panelTypes.length === 0;\n\n if (shortcutTypes.length === 0 && panelTypes.length === 0) {\n return <>;\n }\n\n const add = useCallback(\n async (type: typeof Block): Promise => {\n focusIfIos(dummyInputElRef);\n addBlock(\n await type.new({\n editor: editor,\n event: new Event(\"addButton\"),\n }),\n index\n );\n },\n [index, addBlock]\n );\n\n return (\n <>\n \n {\n if (!ev.dataTransfer.types.find((t) => t === \"Files\")) {\n return;\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n ev.dataTransfer.dropEffect = \"copy\";\n ev.currentTarget.classList.add(\"mt-be-droppable\");\n }}\n onDragEnter={(ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n }}\n onDragLeave={(ev) => {\n ev.currentTarget.classList.remove(\"mt-be-droppable\");\n }}\n onDrop={async (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n const selectableTypes = shortcutTypes.concat(panelTypes);\n const files = ev.dataTransfer.files;\n for (let i = 0; i < files.length; i++) {\n const f = files[i];\n const t = selectableTypes.find((t: typeof Block) => {\n try {\n return t.canNewFromFile({ file: f });\n } catch (e) {\n return false;\n }\n });\n if (t) {\n const b = await t.newFromFile({ file: f });\n addBlock(b, index);\n }\n }\n }}\n >\n {showShortcuts && (\n
    \n {shortcutTypes.map((t: typeof Block) => (\n
  • \n {\n ev.preventDefault();\n ev.stopPropagation();\n ev.nativeEvent.stopImmediatePropagation();\n add(t);\n }}\n >\n \n \n
  • \n ))}\n
\n )}\n {panelTypes.length === 1 ? (\n {\n ev.stopPropagation();\n add(panelTypes[0]);\n }}\n >\n {labelDirect\n ? labelDirect.replace(/{{label}}/, panelTypes[0].label)\n : label || \"\"}\n \n ) : (\n {\n ev.stopPropagation();\n setShowList(\n showList === ListStatus.Visible\n ? ListStatus.Hidden\n : ListStatus.Visible\n );\n }}\n >\n {label || \"\"}\n \n )}\n \n \n \n
    \n {panelTypes.map((t: typeof Block) => (\n
  • \n {\n ev.preventDefault();\n ev.stopPropagation();\n ev.nativeEvent.stopImmediatePropagation();\n setShowList(ListStatus.None);\n add(t);\n }}\n >\n
    \n \n {t.label}\n
    \n \n
  • \n ))}\n
\n \n \n \n );\n },\n (prev, next) => prev.index === next.index\n);\n\nexport default AddButton;\n","import React, {\n useState,\n useCallback,\n forwardRef,\n ReactNode,\n MouseEventHandler,\n} from \"react\";\nimport { t } from \"../i18n\";\nimport { useBlocksContext, useBlockContext } from \"../Context\";\nimport BlockCommandPanel from \"./BlockCommandPanel\";\nimport AddButton from \"./AddButton\";\n\ninterface BlockToolbarProps {\n children?: ReactNode;\n className?: string;\n rows?: number;\n hasBorder?: boolean;\n fullWidth?: boolean;\n onMouseDown?: MouseEventHandler;\n}\n\nconst BlockToolbar = forwardRef(\n (props, ref) => {\n const blockContext = useBlockContext();\n blockContext.rendered = true;\n const { block, index } = blockContext;\n\n const { swapBlocks } = useBlocksContext();\n const [isCommandPanelShown, setCommandPanelShown] = useState(false);\n const toggleCommandPanelShown = useCallback(() => {\n setCommandPanelShown((prev) => !prev);\n block.focusEditor();\n }, []);\n\n let className = \"mt-be-block-toolbar--block\";\n if (props.className) {\n className += ` ${props.className}`;\n }\n if (props.rows && props.rows >= 2) {\n className += ` mt-be-block-toolbar--x${props.rows}`;\n }\n if (props.hasBorder === false) {\n className += \" mt-be-block-toolbar--no-border\";\n }\n const onMouseDown =\n props.onMouseDown ||\n ((ev) => {\n ev.preventDefault();\n });\n\n return (\n <>\n \n {props.children}\n
\n swapBlocks(index, index - 1, true)}\n >\n swapBlocks(index, index + 1, true)}\n >\n \n
\n \n \n \n \n \n \n );\n }\n);\n\nBlockToolbar.displayName = \"BlockToolbar\";\n\nexport default BlockToolbar;\n","import React, { useState, useEffect } from \"react\";\nimport Block from \"../Block\";\nimport { useEditorContext } from \"../Context\";\nimport { EditHistoryHandlers } from \"../EditManager\";\n\nconst DEFAULT_MIN_ROWS = 5;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction recursiveMap(children: any, fn: (child: JSX.Element) => void): any {\n return React.Children.map(children, (child: JSX.Element) => {\n // if (!React.isValidElement(child)) {\n // return child;\n // }\n if (!child || !child.props) {\n return child;\n }\n\n if (child.props.children) {\n child = React.cloneElement(child, {\n children: recursiveMap(child.props.children, fn),\n });\n }\n\n return fn(child);\n });\n}\n\nfunction rowCount(value: string): number {\n return (value.match(/\\r|\\n/g) || []).length + 1;\n}\n\nconst editHandlers: EditHistoryHandlers = {\n id: Symbol(\"edit\"),\n merge(a, b) {\n a.data.cur = b.data.cur;\n return a;\n },\n undo(hist, { editor, setFocusedIds }) {\n hist.data.cur = hist.data.cur || (hist.block as MapObject)[hist.data.name];\n (hist.block as MapObject)[hist.data.name] = hist.data.last;\n setFocusedIds([hist.block.id]);\n editor.render();\n },\n redo(hist, { editor, setFocusedIds }) {\n (hist.block as MapObject)[hist.data.name] = hist.data.cur;\n setFocusedIds([hist.block.id]);\n editor.render();\n },\n};\n\ninterface EditorProps {\n block: Block;\n}\n\ninterface MapObject {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport default function blockProperty(\n editor: React.FC\n): React.FC {\n return (props: T) => {\n const block: MapObject = props.block as MapObject;\n const { wrapperRef } = props.block;\n const [, setBlock] = useState(Object.assign({}, block));\n const [editGroups, setEditGroups] = useState({});\n const children = editor(props);\n const editorContext = useEditorContext();\n const { setFocusedIds, getFocusedIds } = editorContext;\n const blockEditor = editorContext.editor;\n\n useEffect(() => {\n // focus\n setTimeout(function () {\n const wrapperElement = wrapperRef.current;\n if (!wrapperElement) {\n return;\n }\n\n const focusEl = wrapperElement.querySelector(\n `[data-mt-block-editor-focus-default]`\n );\n if (!focusEl) {\n return;\n }\n\n // Skip if focusEl is a grand child\n if (\n focusEl.closest(\"[data-mt-block-editor-block-id]\") !== wrapperElement\n ) {\n return;\n }\n\n if (\n !block.isNewlyAdded &&\n focusEl.closest(`[data-mt-block-editor-skip-focus-default]`)\n ) {\n return;\n }\n\n const activeEl = document.activeElement;\n if (\n activeEl &&\n activeEl.closest(\n getFocusedIds()\n .map((id) => `[data-mt-block-editor-block-id=\"${id}\"]`)\n .join(\",\")\n )\n ) {\n return;\n }\n\n focusEl.focus();\n }, 10);\n\n // adjust height\n wrapperRef.current\n ?.querySelectorAll(`textarea[data-min-rows]`)\n .forEach((target) => {\n if (target.scrollHeight > target.offsetHeight) {\n target.style.height = target.scrollHeight + \"px\";\n }\n });\n }, []);\n\n return recursiveMap(children, (child: JSX.Element) => {\n if (\n child.type !== \"input\" &&\n child.type !== \"textarea\" &&\n child.type !== \"select\"\n ) {\n return child;\n }\n\n if (\"defaultValue\" in child.props) {\n return child;\n }\n\n if (child.props.onChange && child.props.onKeyDown) {\n return child;\n }\n\n const n = child.props[\"data-property-name\"] ?? child.props.name;\n\n if (!(n in block)) {\n return child;\n }\n\n const value = block[n] === null ? \"\" : block[n];\n const minRows =\n parseInt(child.props[\"data-min-rows\"], 10) || DEFAULT_MIN_ROWS;\n\n const onChange = (ev: InputEvent): void => {\n if (!ev.target) {\n return;\n }\n\n const target = ev.target as HTMLElement;\n const lastValue = block[n];\n const value = (target as HTMLInputElement).value;\n block[n] = value;\n\n if (target instanceof HTMLTextAreaElement) {\n const rc = rowCount(value);\n if (rc !== rowCount(lastValue)) {\n if (target.scrollHeight <= target.offsetHeight) {\n // Reset when the number of rows has decreased\n target.style.height = \"\";\n }\n\n if (target.scrollHeight > target.offsetHeight) {\n target.style.height = target.scrollHeight + \"px\";\n }\n }\n }\n\n if (!editGroups[n]) {\n editGroups[n] = blockEditor.editManager.generateGroup();\n setEditGroups(editGroups);\n }\n blockEditor.editManager.add({\n group: editGroups[n],\n block: props.block,\n data: {\n name: n,\n last: lastValue,\n },\n handlers: editHandlers,\n });\n\n setBlock(Object.assign({}, block));\n };\n\n const onKeyDown = (ev: KeyboardEvent): void => {\n const target = ev.target as HTMLElement;\n if (!(target instanceof HTMLInputElement)) {\n return;\n }\n if (ev.keyCode === 13) {\n ev.preventDefault();\n setFocusedIds([]); // blur\n }\n };\n\n return React.cloneElement(child, {\n name: undefined,\n value: value,\n rows: minRows,\n \"data-min-rows\": minRows,\n onChange: child.props.onChange || onChange,\n onKeyDown: child.props.onKeyDown || onKeyDown,\n });\n });\n };\n}\n","import React, { ReactNode } from \"react\";\nimport Block from \"../Block\";\nimport EditorMode from \"./EditorMode\";\nimport { blockProperty } from \"../decorator\";\n\ninterface EditorProps {\n children: ReactNode;\n block: Block;\n}\n\nconst BlockSetup: React.FC = blockProperty(\n ({ children }: EditorProps) => (\n \n
{children}
\n
\n )\n);\n\nexport default BlockSetup;\n","import React from \"react\";\nimport { t } from \"../i18n\";\nimport Block from \"../Block\";\nimport BlockSetup from \"./BlockSetup\";\nimport { blockProperty } from \"../decorator\";\n\ninterface EditorProps {\n block: Block;\n keys?: string[];\n}\n\nconst labelMap: { [key: string]: string } = {\n label: \"Label\",\n helpText: \"Help Text\",\n className: \"Class Name\",\n};\n\nconst BlockSetupCommon: React.FC = blockProperty(\n ({ block, keys = [\"label\", \"helpText\", \"className\"] }: EditorProps) => (\n <>\n {keys.map((k) => (\n \n \n
{t(labelMap[k])}
\n {k === \"helpText\" ? (\n \n ) : (\n \n )}\n \n
\n ))}\n \n )\n);\n\nexport default BlockSetupCommon;\n","import { t } from \"../i18n\";\nimport React, { ReactNode } from \"react\";\nimport Block from \"../Block\";\nimport { useEditorContext } from \"../Context\";\nimport { nl2br } from \"../util\";\n\ninterface EditorProps {\n children: ReactNode;\n block: Block;\n}\n\nconst BlockLabel: React.FC = ({\n block,\n children,\n}: EditorProps) => {\n const { editor } = useEditorContext();\n\n if (editor.opts.mode === \"setup\") {\n return (\n <>\n \n {children}\n \n );\n }\n\n if (!block.label && !block.helpText) {\n return <>{children};\n }\n\n return (\n <>\n {\n block.focusEditor();\n }}\n >\n {block.label ? (\n
{block.label}
\n ) : null}\n {block.helpText ? (\n
{nl2br(block.helpText)}
\n ) : null}\n \n {children}\n \n );\n};\n\nexport default BlockLabel;\n","import React, { useEffect, useRef, CSSProperties } from \"react\";\nimport Block from \"../Block\";\nimport { sanitize, getShadowDomSelectorSet } from \"../util\";\nimport { useEditorContext } from \"../Context\";\n\nexport interface HasEditorStyle extends Block {\n editorStyle: CSSProperties;\n}\n\ninterface EditorProps {\n block: Block;\n html: string;\n onMouseUp?(ev: MouseEvent): void;\n}\n\nconst BlockContentEditablePreview: React.FC = ({\n block,\n html,\n onMouseUp,\n}: EditorProps) => {\n const { getFocusedIds, setFocusedIds } = useEditorContext();\n const divElRef = useRef(null);\n const focusedIds = getFocusedIds();\n const inFocusGroup = focusedIds.length >= 2 && focusedIds.includes(block.id);\n\n useEffect(() => {\n const divEl = divElRef.current;\n\n if (!divEl) {\n return;\n }\n\n setTimeout(() => {\n const style = window.getComputedStyle(\n divEl.childNodes.length > 0 &&\n divEl.childNodes[0] instanceof HTMLElement\n ? (divEl.childNodes[0] as HTMLElement)\n : divEl\n );\n (block as HasEditorStyle).editorStyle = {\n lineHeight: style.lineHeight,\n fontSize: style.fontSize,\n fontFamily: style.fontFamily,\n };\n }, 10);\n\n const mousedownListener = (ev: MouseEvent): void => {\n if (ev.shiftKey || ev.ctrlKey || ev.metaKey || ev.altKey) {\n return;\n }\n\n document.addEventListener(\n \"mouseup\",\n (ev: MouseEvent) => {\n if (!getShadowDomSelectorSet(block.id)) {\n return;\n }\n\n window.dispatchEvent(new CustomEvent(\"mt-block-editor-click-block\"));\n\n if (onMouseUp) {\n onMouseUp(ev);\n }\n setFocusedIds([block.id]);\n },\n { once: true, passive: true }\n );\n };\n divEl.addEventListener(\"mousedown\", mousedownListener, { passive: true });\n\n const keyupListener = (ev: KeyboardEvent): void => {\n if (!ev.shiftKey) {\n setFocusedIds([block.id]);\n }\n };\n divEl.addEventListener(\"keyup\", keyupListener, { passive: true });\n\n return () => {\n divEl.removeEventListener(\"mousedown\", mousedownListener);\n divEl.removeEventListener(\"keyup\", keyupListener);\n };\n }, [inFocusGroup]);\n\n if (inFocusGroup) {\n return (\n \n );\n }\n\n return (\n \n );\n};\n\nexport default BlockContentEditablePreview;\n","import type { Editor as TinyMCEEditor, TinyMCE } from \"tinymce\";\nimport {\n SelectorSet,\n selectorCmp,\n getElementByNthOfTypeIndexes,\n mediaBreakPoint,\n} from \"../../../util\";\n\ndeclare const tinymce: TinyMCE;\n\nexport interface HasTinyMCE {\n id: string;\n text: string;\n tinymce: TinyMCEEditor | null;\n tinymceId(): string;\n}\n\nexport const CARET_ATTR = \"data-mt-block-editor-caret\";\nexport const CARET = `
`;\n\nfunction _tinymceFocus(\n ed: TinyMCEEditor,\n selectorSet: SelectorSet | null\n): void {\n try {\n ed.focus(false);\n } catch (e) {\n // Probably unloaded.\n return;\n }\n\n if (!ed.selection) {\n return;\n }\n\n const body = ed.getBody();\n\n const caret = body.querySelector(`[${CARET_ATTR}=\"1\"]`);\n if (caret) {\n ed.selection.select(caret, true);\n ed.dom.remove(caret);\n return;\n }\n\n if (selectorSet) {\n const [start, end] = [selectorSet.anchor, selectorSet.focus].sort(\n selectorCmp\n );\n const startNode = getElementByNthOfTypeIndexes(\n body,\n start.nthOfTypeIndexes\n );\n const endNode = getElementByNthOfTypeIndexes(body, end.nthOfTypeIndexes);\n\n if (startNode && endNode) {\n try {\n const rng = ed.selection.getRng();\n rng.setStart(startNode, start.offset);\n rng.setEnd(endNode, end.offset);\n return;\n } catch (e) {\n console.log(e);\n }\n }\n }\n\n // fallback\n ed.selection.select(body, true);\n ed.selection.collapse(false);\n}\n\nexport function tinymceFocus(\n ed: TinyMCEEditor,\n selectorSet: SelectorSet | null\n): void {\n try {\n _tinymceFocus(ed, selectorSet);\n } catch (e) {\n console.log(e);\n }\n}\n\nexport function removeTinyMCEFromBlock(block: HasTinyMCE): void {\n if (block.tinymce) {\n try {\n block.text = block.tinymce.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n\n const ed = block.tinymce || tinymce.get(block.tinymceId());\n block.tinymce = null;\n if (!ed) {\n return;\n }\n\n try {\n ed.remove();\n } catch (e) {\n console.log(e);\n }\n}\n\nexport async function adjustToolbar(\n ed: TinyMCEEditor,\n block: HasTinyMCE,\n editorElement: HTMLElement\n): Promise {\n const root = ed.dom.getRoot();\n const toolbar = await new Promise((resolve, reject) => {\n const lookup = (count: number): void => {\n const toolbar = document.querySelector(\n `[data-mt-be-toolbar=\"${block.id}\"]`\n );\n if (toolbar) {\n resolve(toolbar);\n } else if (count > 100) {\n // timeout 10s passed\n reject();\n } else {\n setTimeout(() => lookup(count + 1), 100);\n }\n };\n lookup(0);\n });\n\n if (matchMedia(`(max-width:${mediaBreakPoint}px)`).matches) {\n const blockEl = root.closest(\".block\");\n // Set width property only when this block in inside .column\n if (blockEl?.closest(\".column\")) {\n const editorRect = editorElement.getBoundingClientRect();\n const blockRect = blockEl.getBoundingClientRect();\n toolbar.style.left = `-${blockRect.left - editorRect.left}px`;\n toolbar.style.setProperty(\n \"width\",\n `calc(100vw - ${editorRect.left}px)`,\n \"important\"\n );\n }\n }\n\n toolbar.style.top = `-${toolbar.offsetHeight}px`;\n}\n","import EventEmitter from \"eventemitter3\";\nimport React, { useEffect } from \"react\";\n\nimport type Editor from \"./Editor\";\nimport type Block from \"./Block\";\nimport type { EditorContextProps, BlocksContextProps } from \"./Context\";\nimport { useEditorContext } from \"./Context\";\nimport { findDescendantBlocks, toKeyboardShortcutKey } from \"./util\";\nimport { DialogProps } from \"./Component/Dialog\";\n\ninterface BlockEditorCommandArgs {\n blocks: Readonly;\n editorContext: EditorContextProps;\n blocksContext: BlocksContextProps;\n event: Event;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\n\nexport interface Command {\n command: string;\n callback?: (args: BlockEditorCommandArgs) => void;\n label?: string;\n icon?: string;\n shortcut?: string;\n dialog?: React.FC;\n condition?: () => boolean | Promise;\n}\n\ninterface BlockEditorCommandDetail {\n command: string;\n blockIds: Readonly;\n editorContext: EditorContextProps;\n blocksContext: BlocksContextProps;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n extra?: any;\n}\nexport class BlockEditorCommandEvent extends CustomEvent {\n constructor(detail: BlockEditorCommandDetail) {\n super(\"mt-block-editor-command\", { detail });\n }\n}\n\ninterface UseCommandsParams {\n block: Block;\n commands: Command[];\n}\n\nexport default class CommandManager {\n public static allCommands: Command[] = [];\n private static _allContextCommands: Command[] | undefined;\n public editor: Editor;\n private eventEmitters: Map = new Map();\n\n public static registerCommand(command: Command): void {\n CommandManager.allCommands.push(command);\n CommandManager._allContextCommands = undefined;\n }\n\n public static get allContextCommands(): Command[] {\n return (this._allContextCommands ||= CommandManager.allCommands.filter(\n (c) => !!c.label\n ));\n }\n\n public constructor(init: Pick) {\n this.editor = init.editor;\n }\n\n public async contextCommands(): Promise {\n return (\n await Promise.all(\n CommandManager.allContextCommands.map(async (c) => {\n return (await c.condition?.()) ?? true ? c : undefined;\n })\n )\n ).filter((c): c is Command => !!c);\n }\n\n public async commands(): Promise {\n return (\n await Promise.all(\n CommandManager.allCommands.map(async (c) => {\n return (await c.condition?.()) ?? true ? c : undefined;\n })\n )\n ).filter((c): c is Command => !!c);\n }\n\n public on(\n block: Block,\n command: string,\n callback: (args: BlockEditorCommandArgs) => void\n ): void {\n let emitter = this.eventEmitters.get(block);\n if (!emitter) {\n this.eventEmitters.set(block, (emitter = new EventEmitter()));\n }\n emitter.on(command, callback);\n }\n\n public removeAllListenersOfBlock(block: Block): void {\n this.eventEmitters.get(block)?.removeAllListeners();\n this.eventEmitters.delete(block);\n }\n\n public emit(\n blocks: Readonly,\n command: string,\n ...args: unknown[]\n ): void {\n for (let i = 0, len = blocks.length; i < len; i++) {\n this.eventEmitters.get(blocks[i])?.emit(command, ...args);\n }\n }\n\n public dispatchKeydownEvent({\n event,\n blockIds,\n editorContext,\n blocksContext,\n }: {\n event: KeyboardEvent;\n blockIds: string[];\n editorContext: EditorContextProps;\n blocksContext: BlocksContextProps;\n }): void {\n const key = toKeyboardShortcutKey(event);\n const command = this.editor.keyboardShortcutMap()[key];\n if (command && command.callback) {\n command.callback({\n blocks: findDescendantBlocks(this.editor, blockIds),\n editorContext,\n blocksContext,\n event: event,\n });\n }\n }\n\n public execute({\n command,\n blockIds,\n editorContext,\n blocksContext,\n event,\n }: {\n command: string;\n blockIds: Readonly;\n editorContext: EditorContextProps;\n blocksContext: BlocksContextProps;\n event: Event;\n }): void {\n CommandManager.allCommands.forEach((c) => {\n if (c.command === command && c.callback) {\n c.callback({\n blocks: findDescendantBlocks(this.editor, blockIds),\n editorContext,\n blocksContext,\n event,\n });\n }\n });\n }\n}\n\nexport function useCommands(\n { block, commands }: UseCommandsParams,\n deps?: React.DependencyList | undefined\n): void {\n const {\n editor: { commandManager },\n } = useEditorContext();\n\n useEffect(() => {\n for (const command of commands) {\n if (command.callback) {\n commandManager.on(block, command.command, command.callback);\n }\n }\n\n return () => {\n commandManager.removeAllListenersOfBlock(block);\n };\n }, deps);\n}\n","import { t } from \"../i18n\";\nimport icon from \"../img/paste.svg\";\nimport type { Command } from \"../CommandManager\";\nimport type { EditorContextProps, BlocksContextProps } from \"../Context\";\nimport { BlockEditorCommandEvent } from \"../CommandManager\";\nimport { parseContent, preParseContent, ParserContext } from \"../util\";\n\nconst commandId = \"core-pasteBlock\";\n\nexport class BlockEditorPasteCommandEvent extends BlockEditorCommandEvent {\n constructor({\n blockIds,\n editorContext,\n blocksContext,\n clipboardData,\n }: {\n blockIds: string[];\n editorContext: EditorContextProps;\n blocksContext: BlocksContextProps;\n clipboardData: DataTransfer;\n }) {\n super({\n command: commandId,\n blockIds,\n editorContext,\n blocksContext,\n extra: {\n clipboardData,\n },\n });\n }\n\n get clipboardData(): DataTransfer {\n return this.detail.extra.clipboardData;\n }\n}\n\nconst command: Command = {\n get label() {\n return t(\"Paste\");\n },\n icon,\n shortcut: \"cmd+v\",\n command: commandId,\n condition: async () => typeof navigator.clipboard?.read === \"function\",\n callback: async ({\n blocks,\n editorContext: { editor, setFocusedIds },\n blocksContext: { addBlock },\n event,\n }) => {\n if (blocks.length === 0) {\n return;\n }\n\n if (document.querySelector(\"[data-mt-be-dialog]\")) {\n return;\n }\n\n // Always ignore calls from keyboard shortcuts.\n // ClipboardEvent will be fired next, and it will be handled there.\n if (\n event instanceof KeyboardEvent &&\n event.target instanceof HTMLElement &&\n event.target.closest(\n \"[data-mt-block-editor-block-id], [data-mt-be-toolbar], .modal\"\n )\n ) {\n return;\n }\n\n // Process on TinyMCE\n if (\n event?.target instanceof HTMLElement &&\n event.target.id === \"mcepastebin\"\n ) {\n return;\n }\n\n if (\n !(\n event instanceof ClipboardEvent ||\n event instanceof BlockEditorPasteCommandEvent ||\n typeof navigator.clipboard.read === \"function\"\n )\n ) {\n return;\n }\n\n let html = \"\";\n if (\n event instanceof ClipboardEvent ||\n event instanceof BlockEditorPasteCommandEvent\n ) {\n const clipboardItems = event.clipboardData?.items || [];\n for (const clipboardItem of clipboardItems) {\n if (\n clipboardItem.type === \"text/plain\" ||\n clipboardItem.type === \"text/html\"\n ) {\n html = event.clipboardData?.getData(clipboardItem.type) || \"\";\n }\n }\n\n if (!html.match(/$/)) {\n // Prefer browser default behavior\n return;\n }\n\n event.preventDefault();\n } else {\n event.preventDefault();\n\n for (const clipboardItem of await navigator.clipboard.read()) {\n const types = clipboardItem.types;\n if (types.includes(\"text/html\")) {\n html = await (await clipboardItem.getType(\"text/html\")).text();\n if (\n html.match(//) &&\n types.includes(\"text/plain\")\n ) {\n // If copied from MTBlockEditor, text/plain is more suitable for pasting.\n html = await (await clipboardItem.getType(\"text/plain\")).text();\n }\n\n break;\n }\n\n for (const type of types) {\n const blob = await clipboardItem.getType(type);\n // we can now use blob here\n html = await blob.text();\n break;\n }\n }\n }\n\n if (html === \"\") {\n return;\n }\n\n const newBlocks = await parseContent(\n preParseContent(html),\n editor.factory,\n new ParserContext(),\n \"core-text\"\n );\n\n if (newBlocks.length === 0) {\n return;\n }\n\n editor.editManager.beginGrouping();\n for (const newBlock of newBlocks.reverse()) {\n addBlock(newBlock, blocks[blocks.length - 1]);\n }\n editor.editManager.endGrouping();\n setFocusedIds([newBlocks[0].id]);\n\n editor.render();\n },\n};\n\nexport default command;\n","import type { Editor as TinyMCEEditor } from \"tinymce\";\n\nconst eventAttrs = [\n \"onabortonblur\",\n \"oncancel\",\n \"oncanplay\",\n \"oncanplaythrough\",\n \"onchange\",\n \"onclick\",\n \"onclose\",\n \"oncontextmenu\",\n \"oncuechange\",\n \"ondblclick\",\n \"ondrag\",\n \"ondragend\",\n \"ondragenter\",\n \"ondragleave\",\n \"ondragover\",\n \"ondragstart\",\n \"ondrop\",\n \"ondurationchange\",\n \"onemptied\",\n \"onended\",\n \"onerror\",\n \"onfocus\",\n \"oninput\",\n \"oninvalid\",\n \"onkeydown\",\n \"onkeypress\",\n \"onkeyup\",\n \"onload\",\n \"onloadeddata\",\n \"onloadedmetadata\",\n \"onloadstart\",\n \"onmousedown\",\n \"onmousemove\",\n \"onmouseout\",\n \"onmouseover\",\n \"onmouseup\",\n \"onmousewheel\",\n \"onpause\",\n \"onplay\",\n \"onplaying\",\n \"onprogress\",\n \"onratechange\",\n \"onreset\",\n \"onscroll\",\n \"onseeked\",\n \"onseeking\",\n \"onseeking\",\n \"onselect\",\n \"onshow\",\n \"onstalled\",\n \"onsubmit\",\n \"onsuspend\",\n \"ontimeupdate\",\n \"onvolumechange\",\n \"onwaiting\",\n \"formaction\",\n \"action\",\n];\nconst eventPrefix = \"data-mt-be-ev-\";\n\nconst eventAttrsArg = eventAttrs.join(\",\");\nconst eventPrefixedAttrsArg = eventAttrs\n .map((n) => `${eventPrefix}${n}`)\n .join(\",\");\n\nfunction addEventHandlerFilter(ed: TinyMCEEditor): void {\n ed.parser.addAttributeFilter(eventAttrsArg, (nodes, name) => {\n nodes.forEach((node) => {\n if (!node.attr(eventPrefix + name)) {\n node.attr(eventPrefix + name, node.attr(name) || \"\");\n }\n node.attr(name, \"javascript:void(0)\");\n });\n });\n\n ed.serializer.addAttributeFilter(\n eventPrefixedAttrsArg,\n (nodes, nameWithPrefix) => {\n nodes.forEach((node) => {\n if (node.attr(nameWithPrefix)) {\n const name = nameWithPrefix.substring(eventPrefix.length);\n node.attr(name, node.attr(nameWithPrefix) || \"\");\n }\n node.attr(nameWithPrefix, null);\n });\n }\n );\n}\n\nconst commentPrefix = \"data-mt-be-comment \";\n\nfunction addCommentFilter(ed: TinyMCEEditor): void {\n ed.parser.addNodeFilter(\"#comment\", function (nodes) {\n nodes.forEach((node) => {\n if (node.value) {\n node.value = commentPrefix + escape(node.value);\n }\n });\n });\n\n ed.serializer.addNodeFilter(\"#comment\", function (nodes) {\n nodes.forEach((node) => {\n const value = node.value;\n if (!value) {\n return;\n }\n if (value.indexOf(commentPrefix) === 0) {\n node.value = unescape(value.substring(commentPrefix.length));\n }\n });\n });\n}\n\nfunction plugin(ed: TinyMCEEditor): void {\n ed.on(\"PreInit\", ({ target }: { target: TinyMCEEditor }) => {\n addEventHandlerFilter(target);\n\n if (parseInt(target.editorManager.majorVersion) >= 6) {\n return;\n }\n\n addCommentFilter(target);\n });\n\n ed.on(\"drop paste\", function (e) {\n const files: File[] = [];\n const dataTransfer = e.dataTransfer || e.clipboardData;\n for (let i = 0; i < dataTransfer.items.length; i++) {\n const item = dataTransfer.items[i];\n if (item.kind === \"string\" && item.type === \"text/plain\") {\n const plainTextContent = dataTransfer.getData(\"text/plain\");\n if (plainTextContent && !plainTextContent.startsWith(\"file://\")) {\n return; // paste as text\n }\n } else if (/text\\/(html|plain)/.test(item.type)) {\n return; // paste as text\n } else if (item.kind === \"file\" && /^image\\//.test(item.type)) {\n files.push(item.getAsFile());\n }\n }\n\n if (files.length !== 0) {\n // ignore this paste event to prevent pasting as an image.\n return false;\n }\n\n // paste as text\n });\n}\n\nexport default plugin;\n","import type Editor from \"../../../Editor\";\nimport type Block from \"../../../Block\";\nimport type { HasTinyMCE } from \"./util\";\nimport type { TinyMCE, RawEditorOptions } from \"tinymce\";\nimport type { EditorContextProps, BlocksContextProps } from \"../../../Context\";\nimport { decodeHtml } from \"../../../util\";\nimport { BlockEditorPasteCommandEvent } from \"../../../commands/pasteBlock\";\nimport MTBlockEditorPlugin from \"./MTBlockEditorPlugin\";\n\ndeclare const tinymce: TinyMCE;\n\nlet tinymceMajorVersion: number | undefined = undefined;\nexport const getTinymceMajorVersion = (): number => {\n tinymceMajorVersion ||= parseInt(tinymce.majorVersion);\n return tinymceMajorVersion;\n};\n\nexport const installPlugins = (() => {\n let pluginsInstalled = false;\n return (): void => {\n if (pluginsInstalled) {\n return;\n }\n pluginsInstalled = true;\n\n tinymce.PluginManager.add(\"MTBlockEditor\", MTBlockEditorPlugin);\n };\n})();\n\nexport const commonSettings: (\n editor: Editor,\n block: Block & HasTinyMCE,\n editorContext: EditorContextProps,\n blocksContext: BlocksContextProps\n) => RawEditorOptions = (editor, block, editorContext, blocksContext) => ({\n language: editor.opts.i18n.lng,\n selector: `#${block.tinymceId()}`,\n menubar: false,\n contextmenu: false,\n fixed_toolbar_container: `[data-mt-be-toolbar=\"${block.id}\"]`,\n inline: true,\n paste_preprocess: (_, ev) => {\n const content = ev.content.match(/^<!-- mt-beb .* \\/mt-beb -->$/)\n ? decodeHtml(ev.content)\n : ev.content;\n if (content.match(/$/)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (ev as any).preventDefault?.(); // PastePreProcessEvent probably has preventDefault\n\n if (getTinymceMajorVersion() >= 6) {\n return;\n }\n\n const clipboardData = new DataTransfer();\n clipboardData.setData(\"text/html\", content);\n window.dispatchEvent(\n new BlockEditorPasteCommandEvent({\n blockIds: [block.id],\n editorContext,\n blocksContext,\n clipboardData,\n })\n );\n }\n },\n});\n","import type { TinyMCE } from \"tinymce\";\nimport { EditHistoryHandlers } from \"../../../EditManager\";\nimport type Text from \"./Text\";\nimport { getTinymceMajorVersion } from \"./tinymce\";\n\ndeclare const tinymce: TinyMCE;\n\nexport const editHandlers: EditHistoryHandlers = {\n id: Symbol(\"edit\"),\n merge(a, b): undefined {\n a.data.cur = b.data.last;\n return;\n },\n undo(hist, { setFocusedIds }) {\n const block = hist.block as Text;\n const data = hist.data;\n\n const ed = tinymce.get(block.tinymceId());\n if (ed) {\n data.cur = data.cur || ed.getContent();\n if (getTinymceMajorVersion() >= 6) {\n ed.dispatch(\"MTBlockEditorEdit\", { html: data.last });\n } else {\n ed.fire(\"MTBlockEditorEdit\", { html: data.last });\n }\n } else {\n data.cur = data.cur || block.text;\n block.text = data.last;\n setFocusedIds([block.id]);\n }\n },\n redo(hist, { setFocusedIds }) {\n const block = hist.block as Text;\n const data = hist.data;\n\n const ed = tinymce.get(block.tinymceId());\n if (ed) {\n if (getTinymceMajorVersion() >= 6) {\n ed.dispatch(\"MTBlockEditorEdit\", { html: data.cur });\n } else {\n ed.fire(\"MTBlockEditorEdit\", { html: data.cur });\n }\n } else {\n block.text = data.cur;\n setFocusedIds([block.id]);\n }\n },\n};\n","import { t } from \"../../../i18n\";\nimport React, { useEffect, useMemo, CSSProperties } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../../../Block\";\nimport type {\n Editor as TinyMCEEditor,\n TinyMCE,\n RawEditorOptions as TinyMCESettings,\n} from \"tinymce\";\nimport { useBlocksContext, useEditorContext } from \"../../../Context\";\nimport icon from \"../../../img/icon/text-block.svg\";\nimport {\n sanitize,\n isIos,\n getShadowDomSelectorSet,\n isPassThroughNativeEvent,\n} from \"../../../util\";\nimport EditorMode from \"../../../Component/EditorMode\";\nimport BlockToolbar from \"../../../Component/BlockToolbar\";\nimport BlockSetupCommon from \"../../../Component/BlockSetupCommon\";\nimport BlockLabel from \"../../../Component/BlockLabel\";\nimport BlockContentEditablePreview, {\n HasEditorStyle,\n} from \"../../../Component/BlockContentEditablePreview\";\n\nimport { EditHistory } from \"../../../EditManager\";\nimport {\n HasTinyMCE,\n CARET,\n CARET_ATTR,\n tinymceFocus,\n removeTinyMCEFromBlock,\n adjustToolbar,\n} from \"./util\";\nimport { editHandlers } from \"./edit\";\nimport {\n installPlugins as installTinyMCEPlugins,\n commonSettings,\n getTinymceMajorVersion,\n} from \"./tinymce\";\n\ndeclare const tinymce: TinyMCE;\n\ninterface EditorProps extends Omit {\n block: Text;\n}\n\nconst TAG_NAME_MAP: { [key: string]: string } = {\n p: \"Paragraph\",\n h1: \"Heading 1\",\n h2: \"Heading 2\",\n h3: \"Heading 3\",\n h4: \"Heading 4\",\n h5: \"Heading 5\",\n h6: \"Heading 6\",\n pre: \"Preformatted\",\n} as const;\n\nconst ToolbarVisibleStatus = {\n DependsOnContent: Symbol(),\n Visible: Symbol(),\n Invisible: Symbol(),\n} as const;\ntype ToolbarVisibleStatus =\n typeof ToolbarVisibleStatus[keyof typeof ToolbarVisibleStatus];\n\nconst Editor: React.FC = ({ block, canRemove }: EditorProps) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor, setFocusedIds } = editorContext;\n const { addBlock, removeBlock, mergeBlock } = useBlocksContext();\n\n const selectorSet = getShadowDomSelectorSet(block.id);\n const settings = useMemo(() => {\n const pluginsToolbarSettings: TinyMCESettings =\n getTinymceMajorVersion() >= 6\n ? {\n plugins: [\"lists\", \"media\", \"code\", \"link\", \"MTBlockEditor\"],\n toolbar: [\n \"blocks | bold italic underline strikethrough forecolor backcolor removeformat | alignleft aligncenter alignright | code\",\n \"bullist numlist outdent indent | blockquote link unlink\",\n ],\n }\n : {\n plugins: \"lists paste media code hr link MTBlockEditor\",\n toolbar: [\n \"formatselect | bold italic underline strikethrough forecolor backcolor removeformat | alignleft aligncenter alignright | code\",\n \"bullist numlist outdent indent | blockquote link unlink\",\n ],\n };\n\n const _settings: TinyMCESettings = {\n ...commonSettings(editor, block, editorContext, blocksContext),\n ...pluginsToolbarSettings,\n init_instance_callback: (ed: TinyMCEEditor) => {\n block.tinymce = ed;\n\n ed.setContent(block.text);\n tinymceFocus(ed, selectorSet);\n\n const root = ed.dom.getRoot();\n\n // XXX: disable undo feature focefully\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ed.undoManager.add = (): any => {\n // XXX: improve performance\n if (getTinymceMajorVersion() >= 6) {\n ed.dispatch(\"Change\");\n } else {\n ed.fire(\"Change\");\n }\n return null;\n };\n\n let last = block.text.replace(CARET, \"\");\n ed.on(\"MTBlockEditorEdit\", (ev) => {\n ed.dom.setHTML(ed.getBody(), ev.html);\n last = ev.html;\n });\n\n ed.on(\"SaveContent\", (ev) => {\n ev.content = sanitize(ev.content);\n });\n\n const addEdit = (): void => {\n const cur = ed.getContent();\n if (last === cur) {\n return;\n }\n\n editor.editManager.add({\n block,\n data: {\n last,\n },\n handlers: editHandlers,\n });\n\n last = cur;\n };\n\n ed.on(\"NodeChange Change\", (ev) => {\n const children = [...root.children].filter(\n (e) => !e.classList.contains(\"mce-resizehandle\")\n );\n\n if (children.length <= 1 || root.querySelector(\".mce-pastebin\")) {\n addEdit();\n return;\n }\n\n const firstChild = children.shift();\n if (!firstChild) {\n addEdit();\n return;\n }\n\n if (ev.type === \"change\") {\n return;\n }\n\n children.reverse();\n children.forEach((c) => {\n ed.dom.remove(c);\n });\n\n editor.editManager.beginGrouping();\n\n addEdit();\n\n if (canRemove) {\n children.forEach((c, i) => {\n if (i === 0 && isIos()) {\n const editorRect = editor.editorElement.getBoundingClientRect();\n const rootRect = root.getBoundingClientRect();\n const input = document.createElement(\"input\");\n input.classList.add(\"mt-be-input--hidden\");\n input.style.top = rootRect.top - editorRect.top + \"px\";\n editor.editorElement.appendChild(input);\n input.focus();\n setTimeout(() => {\n input.remove();\n }, 5 * 1000);\n }\n\n [...c.querySelectorAll(`br[data-mce-bogus=\"1\"]`)].forEach((e) =>\n e.remove()\n );\n if (c.childNodes.length !== 0 && i === children.length - 1) {\n let target: Element | null;\n if ([\"UL\", \"OL\"].find((tn) => c.tagName === tn)) {\n target = c.querySelector(\"LI\");\n } else if (\n // has no text content\n c.textContent === \"\" &&\n // has no embedded / interactive content\n // https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories\n c.querySelector(\n `audio, canvas, embed, iframe, img, math, object, svg, video, button, details, embed, iframe, keygen, select, textarea, input:not([type=\"hidden\"]), menu:not([type=\"toolbar\"])`\n ) === null\n ) {\n c.textContent = \"\";\n target = null;\n } else {\n target = c;\n }\n if (target) {\n const caret = document.createElement(\"br\");\n caret.setAttribute(CARET_ATTR, \"1\");\n\n target.insertBefore(caret, target.firstChild);\n }\n }\n const text = c.childNodes.length === 0 ? \"\" : c.outerHTML;\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const textBlock = new Text({\n text,\n toolbarVisibleStatus: ToolbarVisibleStatus.Invisible,\n });\n\n addBlock(textBlock, block);\n });\n } else {\n setFocusedIds([]);\n }\n\n editor.editManager.endGrouping();\n });\n\n let contentDeleted = false;\n if (getTinymceMajorVersion() >= 6) {\n ed.on(\"beforeinput\", (e: InputEvent) => {\n if (e.inputType.startsWith(\"delete\")) {\n contentDeleted = true;\n setTimeout(() => {\n contentDeleted = false;\n }, 50);\n }\n });\n } else {\n root.addEventListener(\n \"keydown\",\n (e) => {\n if (\n (e.keyCode === 8 || e.keyCode === 46) &&\n !(root.textContent === \"\" && ed.getContent() === \"\")\n ) {\n contentDeleted = true;\n setTimeout(() => {\n contentDeleted = false;\n }, 50);\n }\n },\n { capture: true }\n );\n }\n\n ed.on(\"keydown\", (e: KeyboardEvent) => {\n setTimeout(() => {\n const toolbar = document.querySelector(\n `[data-mt-be-toolbar=\"${block.id}\"]`\n );\n if (!toolbar) {\n return;\n }\n\n if (ed.selection.getRng().collapsed) {\n toolbar.classList.add(\"invisible\");\n } else {\n toolbar.classList.remove(\"invisible\");\n }\n });\n\n if (e.keyCode === 8 || e.keyCode === 46) {\n if (root.textContent === \"\" && ed.getContent() === \"\") {\n if (!contentDeleted) {\n if (canRemove) {\n removeBlock(block);\n }\n e.preventDefault();\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sel = ed.selection.getSel() as any as Selection;\n const start = ed.selection.getStart();\n const rng = ed.selection.getRng();\n if (\n rng.collapsed &&\n rng.startOffset === 0 &&\n (sel.anchorNode === root.firstChild ||\n start === root.firstChild) &&\n !start.previousSibling &&\n sel.anchorNode &&\n !sel.anchorNode.previousSibling\n ) {\n e.preventDefault();\n mergeBlock(block);\n }\n }\n }\n });\n\n adjustToolbar(ed, block, editor.editorElement);\n },\n ...(editor.opts.block[\"core-text\"]?.[\"tinyMCESettings\"] || {}),\n };\n\n editor.emit(\"buildTinyMCESettings\", {\n editor,\n block,\n settings: _settings,\n });\n\n return _settings;\n }, []);\n\n useEffect(() => {\n installTinyMCEPlugins();\n tinymce.init(settings);\n\n return () => {\n removeTinyMCEFromBlock(block);\n };\n }, []);\n\n const html = block.html();\n const isInSetupMode = editor.opts.mode === \"setup\";\n const toolbarVisible =\n block.toolbarVisibleStatus === ToolbarVisibleStatus.Visible ||\n (block.toolbarVisibleStatus === ToolbarVisibleStatus.DependsOnContent &&\n html === \"\");\n block.toolbarVisibleStatus = ToolbarVisibleStatus.DependsOnContent;\n\n return (\n {\n document\n .querySelector(`[data-mt-be-toolbar=\"${block.id}\"]`)\n ?.classList.remove(\"invisible\");\n }}\n style={block.editorStyle}\n >\n \n \n \n \n {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.preventDefault();\n }}\n >\n \n );\n};\n\nclass Text extends Block implements HasTinyMCE, HasEditorStyle {\n public static typeId = \"core-text\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Text Block\");\n }\n\n public text = \"\";\n public editorStyle: CSSProperties = {};\n public tinymce: TinyMCEEditor | null = null;\n public toolbarVisibleStatus: ToolbarVisibleStatus =\n ToolbarVisibleStatus.DependsOnContent;\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public placeholderLabel(): string {\n return t(\"Text\");\n }\n\n public contentLabel(): string {\n const m = this.htmlString().match(/<(\\w+)/);\n if (m) {\n let label = m[1].toLowerCase();\n if (TAG_NAME_MAP[label]) {\n label = t(TAG_NAME_MAP[label]);\n }\n return `${super.contentLabel()} - ${label}`;\n } else {\n return super.contentLabel();\n }\n }\n\n public isBlank(): boolean {\n return this.html() === \"\";\n }\n\n public focusEditor(): void {\n if (this.tinymce) {\n this.tinymce.focus(false);\n }\n }\n\n public tinymceId(): string {\n return `textarea-${this.id}`;\n }\n\n public editor({ focus, focusBlock, canRemove }: EditorOptions): JSX.Element {\n if (focus) {\n return ;\n }\n\n if (focusBlock || this.htmlString()) {\n const preview = (\n {\n this.toolbarVisibleStatus = ToolbarVisibleStatus.Visible;\n }}\n />\n );\n return (\n <>\n \n {preview}\n \n {preview}\n \n );\n } else {\n return this.placeholder();\n }\n }\n\n public canMerge(block: Block): boolean {\n return block instanceof (this.constructor as typeof Block);\n }\n\n public merge(block: Block): EditHistory {\n const history = {\n block: this,\n data: {\n last: this.html(),\n },\n handlers: editHandlers,\n };\n\n this.text = this.html().replace(/(<\\/[^>]*>)?$/, (all, closeTag) => {\n const h = block.html() as string;\n if (closeTag) {\n return CARET + h.replace(/^<[^>]*>|<\\/[^>]*>$/g, \"\") + closeTag;\n } else {\n return h.replace(/^(<[^>]*>)/, (all, openTag) => {\n return openTag + CARET;\n });\n }\n });\n\n return history;\n }\n\n public html(): string {\n if (this.tinymce) {\n try {\n return this.tinymce.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Text(Object.assign({ text: html }, meta));\n }\n}\n\nexport default Text;\n","import type EditorManager from \"@movabletype/mt-rich-text-editor\";\nimport type {\n Editor as MTRichTextEditorEditor,\n EditorCreateOptions,\n} from \"@movabletype/mt-rich-text-editor\";\nimport {\n SelectorSet,\n getElementByNthOfTypeIndexes,\n mediaBreakPoint,\n} from \"../../../util\";\n\ndeclare const MTRichTextEditor: typeof EditorManager;\n\n// FIXME it will be resolved with the correct type\ntype TextSelection = any;\n\nexport interface HasMTRichTextEditor {\n id: string;\n text: string;\n mtRichTextEditor: MTRichTextEditorEditor | null;\n mtRichTextEditorId(): string;\n}\n\nexport const CARET_ATTR = \"data-mt-block-editor-caret\";\nexport const CARET = `
`;\n\nfunction _mtRichTextEditorFocus(\n ed: MTRichTextEditorEditor,\n selectorSet: SelectorSet | null\n): void {\n try {\n ed.focus();\n } catch (e) {\n // Probably unloaded.\n return;\n }\n\n const caret = ed.tiptap.view.dom.querySelector(`[${CARET_ATTR}=\"1\"]`);\n if (caret) {\n const pos = ed.tiptap.view.posAtDOM(caret, 0);\n const resolvedPos = ed.tiptap.state.doc.resolve(pos);\n const selection = (\n ed.tiptap.state.selection.constructor as TextSelection\n ).create(ed.tiptap.state.doc, resolvedPos.pos, resolvedPos.pos + 1);\n\n ed.tiptap.view.dispatch(\n ed.tiptap.state.tr.setSelection(selection).deleteSelection()\n );\n } else if (selectorSet) {\n try {\n const startElement = getElementByNthOfTypeIndexes(\n ed.tiptap.view.dom,\n selectorSet.anchor.nthOfTypeIndexes\n );\n const endElement = getElementByNthOfTypeIndexes(\n ed.tiptap.view.dom,\n selectorSet.focus.nthOfTypeIndexes\n );\n\n if (startElement && endElement) {\n const startPos = ed.tiptap.view.posAtDOM(\n startElement,\n selectorSet.anchor.offset\n );\n const endPos = ed.tiptap.view.posAtDOM(\n endElement,\n selectorSet.focus.offset\n );\n\n const selection = (\n ed.tiptap.state.selection.constructor as TextSelection\n ).create(ed.tiptap.state.doc, startPos, endPos);\n\n ed.tiptap.view.dispatch(ed.tiptap.state.tr.setSelection(selection));\n }\n } catch (e) {\n console.warn(\"Failed to set selection:\", e);\n }\n }\n}\n\nexport function mtRichTextEditorFocus(\n ed: MTRichTextEditorEditor,\n selectorSet: SelectorSet | null\n): void {\n try {\n _mtRichTextEditorFocus(ed, selectorSet);\n } catch (e) {\n console.log(e);\n }\n}\n\nexport function removeMTRichTextEditorFromBlock(\n block: HasMTRichTextEditor\n): void {\n if (block.mtRichTextEditor) {\n try {\n block.text = block.mtRichTextEditor.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n\n block.mtRichTextEditor = null;\n MTRichTextEditor.unload({ id: block.mtRichTextEditorId() });\n}\n\nexport function isEmptyContentNode(node: Element): boolean {\n return (\n node.textContent === \"\" &&\n node.querySelector(\n `audio, canvas, embed, iframe, img, math, object, svg, video, button, details, embed, iframe, keygen, select, textarea, input:not([type=\"hidden\"]), menu:not([type=\"toolbar\"])`\n ) === null\n );\n}\n\nexport async function adjustToolbar(\n block: HasMTRichTextEditor,\n editorElement: HTMLElement\n): Promise {\n const toolbar = await new Promise((resolve, reject) => {\n const lookup = (count: number): void => {\n const toolbar = document.querySelector(\n `[data-mt-be-toolbar=\"${block.id}\"]`\n );\n if (toolbar) {\n resolve(toolbar);\n } else if (count > 100) {\n // timeout 10s passed\n reject();\n } else {\n setTimeout(() => lookup(count + 1), 100);\n }\n };\n lookup(0);\n });\n\n if (matchMedia(`(max-width:${mediaBreakPoint}px)`).matches) {\n // Set width property only when this block in inside .column\n if (toolbar?.closest(\".mt-be-column\")) {\n let blockEl = toolbar.parentElement?.closest(\n \".mt-be-block\"\n ) as HTMLElement;\n const firstBlockElRect = blockEl.getBoundingClientRect();\n for (;;) {\n const parentBlockEl = blockEl.parentElement?.closest(\".mt-be-block\");\n if (parentBlockEl) {\n blockEl = parentBlockEl as HTMLElement;\n } else {\n break;\n }\n }\n const editorRect = editorElement.getBoundingClientRect();\n const blockElRect = blockEl.children[0].getBoundingClientRect(); // include padding\n const left = firstBlockElRect.left - blockElRect.left;\n toolbar.style.left = `-${left}px`;\n toolbar.style.setProperty(\n \"width\",\n `calc(${editorRect.width - blockElRect.left * 2}px)`,\n \"important\"\n );\n }\n }\n\n toolbar.style.top = `-${toolbar.offsetHeight}px`;\n}\n\nconst PLACEHOLDER_ITEM_NAME = \"mt-be-command-placeholder\";\nlet isCommandPlaceholderDefined = false;\nexport function insertCommandPlaceholder(settings: EditorCreateOptions): void {\n if (!matchMedia(`(max-width:${mediaBreakPoint}px)`).matches) {\n return;\n }\n\n if (!isCommandPlaceholderDefined) {\n customElements.define(\n `mt-rich-text-editor-toolbar-item-${PLACEHOLDER_ITEM_NAME}`,\n class extends HTMLElement {\n connectedCallback(): void {\n this.style.display = \"inline-block\";\n this.style.width = \"100px\";\n }\n }\n );\n isCommandPlaceholderDefined = true;\n }\n\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n if (!settings.toolbar!.at(-1)![1]) {\n settings.toolbar!.at(-1)![1] = [];\n }\n settings.toolbar!.at(-1)![1]!.unshift([PLACEHOLDER_ITEM_NAME]);\n /* eslint-enable @typescript-eslint/no-non-null-assertion */\n}\n","import type EditorManager from \"@movabletype/mt-rich-text-editor\";\nimport { EditHistoryHandlers } from \"../../../EditManager\";\nimport type Text from \"./Text\";\n\ndeclare const MTRichTextEditor: typeof EditorManager;\n\nexport const editHandlers: EditHistoryHandlers = {\n id: Symbol(\"edit\"),\n merge(a, b): undefined {\n a.data.cur = b.data.last;\n return;\n },\n undo(hist, { setFocusedIds }) {\n const block = hist.block as Text;\n const data = hist.data;\n\n const ed = MTRichTextEditor.get({ id: block.mtRichTextEditorId() });\n if (ed) {\n data.cur ||= ed.getContent();\n ed.setContent(data.last);\n data.onUndo(data.last);\n } else {\n data.cur = data.cur || block.text;\n block.text = data.last;\n setFocusedIds([block.id]);\n }\n },\n redo(hist, { setFocusedIds }) {\n const block = hist.block as Text;\n const data = hist.data;\n\n const ed = MTRichTextEditor.get({ id: block.mtRichTextEditorId() });\n if (ed) {\n data.cur ||= ed.getContent();\n ed.setContent(data.cur);\n } else {\n block.text = data.cur;\n setFocusedIds([block.id]);\n }\n },\n};\n","import type Editor from \"../../../Editor\";\nimport type Block from \"../../../Block\";\nimport type { HasMTRichTextEditor } from \"./util\";\nimport type { EditorCreateOptions } from \"@movabletype/mt-rich-text-editor\";\n\nexport const commonSettings: (\n editor: Editor,\n block: Block & HasMTRichTextEditor\n) => EditorCreateOptions = (editor, block) => ({\n height: \"auto\",\n language: editor.opts.i18n.lng ?? \"en\",\n id: block.mtRichTextEditorId(),\n fixed_toolbar_container: `[data-mt-be-toolbar=\"${block.id}\"]`,\n inline: true,\n editorStylesheets: [\n `\n .mt-rich-text-editor-editor { border: none; }\n .mt-rich-text-editor-content-root>.tiptap { padding: 0; }\n .mt-rich-text-editor-content-root>.tiptap:after { content: \"\"; height: 0; }\n `,\n ],\n stylesheets: [\n `\n p { margin: 0; }\n `,\n ],\n pasteMenu: [\"embedInline\", \"html\", \"link\", \"text\", \"markdown\"],\n extensionOptions: {\n undoRedo: {\n depth: 1,\n registerShortcuts: false,\n },\n embedObject: {\n resolver: editor.opts.block[\"core-text\"]?.embedObjectResolver,\n },\n },\n});\n","import { t } from \"../../../i18n\";\nimport React, { useEffect, useRef, useMemo, CSSProperties } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../../../Block\";\nimport type EditorManager from \"@movabletype/mt-rich-text-editor\";\nimport type {\n Editor as MTRichTextEditorEditor,\n EditorCreateOptions,\n} from \"@movabletype/mt-rich-text-editor\";\n\nimport { useBlocksContext, useEditorContext } from \"../../../Context\";\nimport icon from \"../../../img/icon/text-block.svg\";\nimport {\n sanitize,\n isIos,\n getShadowDomSelectorSet,\n isPassThroughNativeEvent,\n} from \"../../../util\";\nimport EditorMode from \"../../../Component/EditorMode\";\nimport BlockToolbar from \"../../../Component/BlockToolbar\";\nimport BlockSetupCommon from \"../../../Component/BlockSetupCommon\";\nimport BlockLabel from \"../../../Component/BlockLabel\";\nimport BlockContentEditablePreview, {\n HasEditorStyle,\n} from \"../../../Component/BlockContentEditablePreview\";\n\nimport { EditHistory } from \"../../../EditManager\";\nimport {\n HasMTRichTextEditor,\n CARET,\n CARET_ATTR,\n mtRichTextEditorFocus,\n removeMTRichTextEditorFromBlock,\n adjustToolbar,\n insertCommandPlaceholder,\n} from \"./util\";\nimport { editHandlers } from \"./edit\";\nimport { commonSettings } from \"./common\";\n\ndeclare const MTRichTextEditor: typeof EditorManager;\n\ninterface EditorProps extends Omit {\n block: Text;\n}\n\nconst TAG_NAME_MAP: { [key: string]: string } = {\n p: \"Paragraph\",\n h1: \"Heading 1\",\n h2: \"Heading 2\",\n h3: \"Heading 3\",\n h4: \"Heading 4\",\n h5: \"Heading 5\",\n h6: \"Heading 6\",\n pre: \"Preformatted\",\n} as const;\n\nconst ToolbarVisibleStatus = {\n DependsOnContent: Symbol(),\n Visible: Symbol(),\n Invisible: Symbol(),\n} as const;\ntype ToolbarVisibleStatus =\n typeof ToolbarVisibleStatus[keyof typeof ToolbarVisibleStatus];\n\nconst Editor: React.FC = ({ block, canRemove }: EditorProps) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor, setFocusedIds } = editorContext;\n const { addBlock, removeBlock, mergeBlock } = useBlocksContext();\n\n const selectorSet = getShadowDomSelectorSet(block.id);\n\n const toolbar = useRef(null);\n const settings: EditorCreateOptions = useMemo(() => {\n const _settings = {\n ...commonSettings(editor, block),\n toolbar: [\n [\n [\n [\"block\"],\n [\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"foregroundColor\",\n \"backgroundColor\",\n \"removeFormat\",\n ],\n [\"alignLeft\", \"alignCenter\", \"alignRight\"],\n [\"source\"],\n ],\n ],\n [\n [\n [\"bulletList\", \"orderedList\", \"indent\", \"outdent\"],\n [\"blockquote\", \"link\", \"unlink\"],\n ],\n ],\n ],\n ...(editor.opts.block[\"core-text\"]?.[\"mtRichTextEditorSettings\"] || {}),\n };\n\n editor.emit(\"buildMTRichTextEditorSettings\", {\n editor,\n block,\n settings: _settings,\n });\n\n insertCommandPlaceholder(_settings);\n\n return _settings;\n }, []);\n\n useEffect(() => {\n const toolbarContainer = document.createElement(\"div\");\n toolbar.current?.appendChild(toolbarContainer);\n settings.toolbarContainer = toolbarContainer;\n MTRichTextEditor.create(settings).then((ed) => {\n block.mtRichTextEditor = ed;\n ed.setContent(block.text);\n mtRichTextEditorFocus(ed, selectorSet);\n adjustToolbar(block, editor.editorElement);\n\n // TBD: required?\n // ed.on(\"SaveContent\", (ev) => {\n // ev.content = sanitize(ev.content);\n // });\n\n let last = block.text;\n const onUndo = (html: string): void => {\n last = html;\n };\n const addEdit = (): void => {\n const cur = ed.getContent();\n if (last === cur) {\n return;\n }\n\n editor.editManager.add({\n block,\n data: {\n last,\n onUndo,\n },\n handlers: editHandlers,\n });\n\n last = cur;\n };\n\n const root = ed.tiptap.view.dom;\n ed.tiptap.on(\"update\", (ev) => {\n if (ev.transaction.getMeta(\"paste\")) {\n return;\n }\n\n const children = [...root.children];\n // const children = [...root.children].filter(\n // (e) => !e.classList.contains(\"mce-resizehandle\")\n // );\n\n if (children.length <= 1) {\n addEdit();\n return;\n }\n\n const firstChild = children.shift();\n if (!firstChild) {\n addEdit();\n return;\n }\n\n // TBD: Do we need migration from TinyMCE?\n // if (ev.type === \"change\") {\n // return;\n // }\n\n children.reverse();\n ed.tiptap.commands.setContent(firstChild.outerHTML);\n\n editor.editManager.beginGrouping();\n\n addEdit();\n\n if (canRemove) {\n children.forEach((c, i) => {\n // TBD: iOS\n // if (i === 0 && isIos()) {\n // const editorRect = editor.editorElement.getBoundingClientRect();\n // const rootRect = root.getBoundingClientRect();\n // const input = document.createElement(\"input\");\n // input.classList.add(\"mt-be-input--hidden\");\n // input.style.top = rootRect.top - editorRect.top + \"px\";\n // editor.editorElement.appendChild(input);\n // input.focus();\n // setTimeout(() => {\n // input.remove();\n // }, 5 * 1000);\n // }\n\n if (c.childNodes.length !== 0 && i === children.length - 1) {\n let target: Element | null;\n if ([\"UL\", \"OL\"].find((tn) => c.tagName === tn)) {\n target = c.querySelector(\"LI\");\n } else if (\n // has no text content\n c.textContent === \"\" &&\n // has no embedded / interactive content\n // https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories\n c.querySelector(\n `audio, canvas, embed, iframe, img, math, object, svg, video, button, details, embed, iframe, keygen, select, textarea, input:not([type=\"hidden\"]), menu:not([type=\"toolbar\"])`\n ) === null\n ) {\n c.textContent = \"\";\n target = null;\n } else {\n target = c;\n }\n if (target) {\n const caret = document.createElement(\"br\");\n caret.setAttribute(CARET_ATTR, \"1\");\n\n target.insertBefore(caret, target.firstChild);\n }\n }\n const text = c.childNodes.length === 0 ? \"\" : c.outerHTML;\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const textBlock = new Text({\n text,\n toolbarVisibleStatus: ToolbarVisibleStatus.Invisible,\n });\n\n addBlock(textBlock, block);\n });\n } else {\n setFocusedIds([]);\n }\n\n editor.editManager.endGrouping();\n });\n\n root.addEventListener(\n \"keydown\",\n (e: KeyboardEvent) => {\n setTimeout(() => {\n const toolbar = document.querySelector(\n `[data-mt-be-toolbar=\"${block.id}\"]`\n );\n if (!toolbar) {\n return;\n }\n\n if (ed.tiptap.state.selection.empty) {\n toolbar.classList.add(\"invisible\");\n } else {\n toolbar.classList.remove(\"invisible\");\n }\n });\n\n if (e.keyCode === 8 || e.keyCode === 46) {\n if (root.textContent === \"\") {\n const content = ed.getContent();\n if (content === \"\" || content === \"

\") {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n removeBlock(block);\n return;\n }\n }\n\n const cursorIsAtTheBeginning =\n ed.tiptap.state.selection.$from.pos === 1;\n if (cursorIsAtTheBeginning) {\n e.preventDefault();\n mergeBlock(block);\n }\n }\n },\n { capture: true }\n );\n });\n\n return () => {\n removeMTRichTextEditorFromBlock(block);\n };\n }, []);\n\n const html = block.html();\n const isInSetupMode = editor.opts.mode === \"setup\";\n const toolbarVisible =\n block.toolbarVisibleStatus === ToolbarVisibleStatus.Visible ||\n (block.toolbarVisibleStatus === ToolbarVisibleStatus.DependsOnContent &&\n html === \"\");\n block.toolbarVisibleStatus = ToolbarVisibleStatus.DependsOnContent;\n\n return (\n {\n document\n .querySelector(`[data-mt-be-toolbar=\"${block.id}\"]`)\n ?.classList.remove(\"invisible\");\n }}\n style={block.editorStyle}\n >\n \n \n \n \n {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.preventDefault();\n }}\n ref={toolbar}\n >\n \n );\n};\n\nclass Text extends Block implements HasMTRichTextEditor, HasEditorStyle {\n public static typeId = \"core-text\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Text Block\");\n }\n\n public text = \"\";\n public editorStyle: CSSProperties = {};\n public mtRichTextEditor: MTRichTextEditorEditor | null = null;\n public toolbarVisibleStatus: ToolbarVisibleStatus =\n ToolbarVisibleStatus.DependsOnContent;\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public placeholderLabel(): string {\n return t(\"Text\");\n }\n\n public contentLabel(): string {\n const m = this.htmlString().match(/<(\\w+)/);\n if (m) {\n let label = m[1].toLowerCase();\n if (TAG_NAME_MAP[label]) {\n label = t(TAG_NAME_MAP[label]);\n }\n return `${super.contentLabel()} - ${label}`;\n } else {\n return super.contentLabel();\n }\n }\n\n public isBlank(): boolean {\n return this.html() === \"\";\n }\n\n public focusEditor(): void {\n if (this.mtRichTextEditor) {\n this.mtRichTextEditor.focus();\n }\n }\n\n public mtRichTextEditorId(): string {\n return `textarea-${this.id}`;\n }\n\n public editor({ focus, focusBlock, canRemove }: EditorOptions): JSX.Element {\n if (focus) {\n return ;\n }\n\n if (focusBlock || this.htmlString()) {\n const preview = (\n {\n this.toolbarVisibleStatus = ToolbarVisibleStatus.Visible;\n }}\n />\n );\n return (\n <>\n \n {preview}\n \n {preview}\n \n );\n } else {\n return this.placeholder();\n }\n }\n\n public canMerge(block: Block): boolean {\n return block instanceof (this.constructor as typeof Block);\n }\n\n public merge(block: Block): EditHistory {\n const history = {\n block: this,\n data: {\n last: this.html(),\n },\n handlers: editHandlers,\n };\n\n this.text = this.html().replace(/(<\\/[^>]*>)?$/, (all, closeTag) => {\n const h = block.html() as string;\n if (closeTag) {\n return CARET + h.replace(/^<[^>]*>|<\\/[^>]*>$/g, \"\") + closeTag;\n } else {\n return h.replace(/^(<[^>]*>)/, (all, openTag) => {\n return openTag + CARET;\n });\n }\n });\n\n return history;\n }\n\n public html(): string {\n if (this.mtRichTextEditor) {\n try {\n return this.mtRichTextEditor.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Text(Object.assign({ text: html }, meta));\n }\n}\n\nexport default Text;\n","import TextForTinyMCE from \"./tinymce/Text\";\nimport TextForMTRichTextEditor from \"./mt-rich-text-editor/Text\";\n\nconst Text =\n \"MTRichTextEditor\" in globalThis ? TextForMTRichTextEditor : TextForTinyMCE;\n\nexport default Text;\n","import e,{useRef as r,useEffect as t,createContext as n,forwardRef as o,useState as a,useContext as c}from\"react\";import{createPortal as u}from\"react-dom\";import l from\"prop-types\";var i=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function s(e,r){return e(r={exports:{}},r.exports),r.exports}var f=s((function(e){!function(r){var t=function(e,r,n){if(!l(r)||s(r)||f(r)||p(r)||u(r))return r;var o,a=0,c=0;if(i(r))for(o=[],c=r.length;ae.length)&&(r=e.length);for(var t=0,n=new Array(r);t=0||(o[t]=e[t]);return o};var S=function(e,r){if(null==e)return{};var t,n,o=g(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o};var w=n(null);function O(e){var r=e.root,t=e.children;return u(t,r)}function j(n){var c=o((function(o,c){var u,l,i=o.mode,s=o.delegatesFocus,f=o.styleSheets,d=o.ssr,y=o.children,h=S(o,[\"mode\",\"delegatesFocus\",\"styleSheets\",\"ssr\",\"children\"]),v=(l=r((u=c)&&u.current),t((function(){u&&(u.current=l.current)}),[u]),l),m=a(null),g=b(m,2),j=g[0],x=g[1],z=\"node_\".concat(i).concat(s);return t((function(){if(v.current)try{if(\"function\"==typeof c&&c(v.current),d){var e=v.current.shadowRoot;return void x(e)}var r=v.current.attachShadow({mode:i,delegatesFocus:s});f.length>0&&(r.adoptedStyleSheets=f),x(r)}catch(e){!function(e){var r=e.error,t=e.styleSheets,n=e.root;switch(r.name){case\"NotSupportedError\":t.length>0&&(n.adoptedStyleSheets=t);break;default:throw r}}({error:e,styleSheets:f,root:j})}}),[c,v,f]),e.createElement(e.Fragment,null,e.createElement(n.tag,p({key:z,ref:v},h),(j||d)&&e.createElement(w.Provider,{value:j},d?e.createElement(\"template\",{shadowroot:\"open\"},n.render({root:j,ssr:d,children:y})):e.createElement(O,{root:j},n.render({root:j,ssr:d,children:y})))))}));return c.propTypes={mode:l.oneOf([\"open\",\"closed\"]),delegatesFocus:l.bool,styleSheets:l.arrayOf(l.instanceOf(global.CSSStyleSheet)),ssr:l.bool,children:l.node},c.defaultProps={mode:\"open\",delegatesFocus:!1,styleSheets:[],ssr:!1,children:null},c}O.propTypes={root:l.object.isRequired,children:l.node},O.defaultProps={children:null};var x=new Map;function z(){return c(w)}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"core\",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(e){return e.children};return new Proxy(e,{get:function(e,n){var o=f(n,{separator:\"-\"}),a=\"\".concat(r,\"-\").concat(o);return x.has(a)||x.set(a,j({tag:o,render:t})),x.get(a)}})}var A=E();export default A;export{E as createProxy,z as useShadowRoot};\n//# sourceMappingURL=react-shadow.esm.js.map\n","/**\r\n * Use invariant() to assert state which your program assumes to be true.\r\n *\r\n * Provide sprintf-style format (only %s is supported) and arguments\r\n * to provide information about what broke and what you were\r\n * expecting.\r\n *\r\n * The invariant message will be stripped in production, but the invariant\r\n * will remain to ensure logic does not differ in production.\r\n */\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n\n throw error;\n }\n}\n\nexport { invariant };\n//# sourceMappingURL=invariant.esm.js.map\n","import { createContext } from 'react';\n/**\n * Create the React Context\n */\n\nexport var DndContext = createContext({\n dragDropManager: undefined\n});","import { useContext } from 'react';\nimport { invariant } from '@react-dnd/invariant';\nimport { DndContext } from '../core';\n/**\n * A hook to retrieve the DragDropManager from Context\n */\n\nexport function useDragDropManager() {\n var _useContext = useContext(DndContext),\n dragDropManager = _useContext.dragDropManager;\n\n invariant(dragDropManager != null, 'Expected drag drop context');\n return dragDropManager;\n}","import { useLayoutEffect, useEffect } from 'react'; // suppress the useLayoutEffect warning on server side.\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var DropTargetImpl = /*#__PURE__*/function () {\n function DropTargetImpl(spec, monitor) {\n _classCallCheck(this, DropTargetImpl);\n\n _defineProperty(this, \"spec\", void 0);\n\n _defineProperty(this, \"monitor\", void 0);\n\n this.spec = spec;\n this.monitor = monitor;\n }\n\n _createClass(DropTargetImpl, [{\n key: \"canDrop\",\n value: function canDrop() {\n var spec = this.spec;\n var monitor = this.monitor;\n return spec.canDrop ? spec.canDrop(monitor.getItem(), monitor) : true;\n }\n }, {\n key: \"hover\",\n value: function hover() {\n var spec = this.spec;\n var monitor = this.monitor;\n\n if (spec.hover) {\n spec.hover(monitor.getItem(), monitor);\n }\n }\n }, {\n key: \"drop\",\n value: function drop() {\n var spec = this.spec;\n var monitor = this.monitor;\n\n if (spec.drop) {\n return spec.drop(monitor.getItem(), monitor);\n }\n }\n }]);\n\n return DropTargetImpl;\n}();","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { registerTarget } from '../../internals';\nimport { useDragDropManager } from '../useDragDropManager';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\nimport { useAccept } from './useAccept';\nimport { useDropTarget } from './useDropTarget';\nexport function useRegisteredDropTarget(spec, monitor, connector) {\n var manager = useDragDropManager();\n var dropTarget = useDropTarget(spec, monitor);\n var accept = useAccept(spec);\n useIsomorphicLayoutEffect(function registerDropTarget() {\n var _registerTarget = registerTarget(accept, dropTarget, manager),\n _registerTarget2 = _slicedToArray(_registerTarget, 2),\n handlerId = _registerTarget2[0],\n unregister = _registerTarget2[1];\n\n monitor.receiveHandlerId(handlerId);\n connector.receiveHandlerId(handlerId);\n return unregister;\n }, [manager, monitor, dropTarget, connector, accept.map(function (a) {\n return a.toString();\n }).join('|')]);\n}","import { useEffect, useMemo } from 'react';\nimport { DropTargetImpl } from './DropTargetImpl';\nexport function useDropTarget(spec, monitor) {\n var dropTarget = useMemo(function () {\n return new DropTargetImpl(spec, monitor);\n }, [monitor]);\n useEffect(function () {\n dropTarget.spec = spec;\n }, [spec]);\n return dropTarget;\n}","import { invariant } from '@react-dnd/invariant';\nimport { useMemo } from 'react';\n/**\n * Internal utility hook to get an array-version of spec.accept.\n * The main utility here is that we aren't creating a new array on every render if a non-array spec.accept is passed in.\n * @param spec\n */\n\nexport function useAccept(spec) {\n var accept = spec.accept;\n return useMemo(function () {\n invariant(spec.accept != null, 'accept must be defined');\n return Array.isArray(accept) ? accept : [accept];\n }, [accept]);\n}","export function registerTarget(type, target, manager) {\n var registry = manager.getRegistry();\n var targetId = registry.addTarget(type, target);\n return [targetId, function () {\n return registry.removeTarget(targetId);\n }];\n}\nexport function registerSource(type, source, manager) {\n var registry = manager.getRegistry();\n var sourceId = registry.addSource(type, source);\n return [sourceId, function () {\n return registry.removeSource(sourceId);\n }];\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { useMemo } from 'react';\nexport function useOptionalFactory(arg, deps) {\n var memoDeps = _toConsumableArray(deps || []);\n\n if (deps == null && typeof arg !== 'function') {\n memoDeps.push(arg);\n }\n\n return useMemo(function () {\n return typeof arg === 'function' ? arg() : arg;\n }, memoDeps);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { invariant } from '@react-dnd/invariant';\nvar isCallingCanDrop = false;\nexport var DropTargetMonitorImpl = /*#__PURE__*/function () {\n function DropTargetMonitorImpl(manager) {\n _classCallCheck(this, DropTargetMonitorImpl);\n\n _defineProperty(this, \"internalMonitor\", void 0);\n\n _defineProperty(this, \"targetId\", null);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n _createClass(DropTargetMonitorImpl, [{\n key: \"receiveHandlerId\",\n value: function receiveHandlerId(targetId) {\n this.targetId = targetId;\n }\n }, {\n key: \"getHandlerId\",\n value: function getHandlerId() {\n return this.targetId;\n }\n }, {\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener, options) {\n return this.internalMonitor.subscribeToStateChange(listener, options);\n }\n }, {\n key: \"canDrop\",\n value: function canDrop() {\n // Cut out early if the target id has not been set. This should prevent errors\n // where the user has an older version of dnd-core like in\n // https://github.com/react-dnd/react-dnd/issues/1310\n if (!this.targetId) {\n return false;\n }\n\n invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor');\n\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n } finally {\n isCallingCanDrop = false;\n }\n }\n }, {\n key: \"isOver\",\n value: function isOver(options) {\n if (!this.targetId) {\n return false;\n }\n\n return this.internalMonitor.isOverTarget(this.targetId, options);\n }\n }, {\n key: \"getItemType\",\n value: function getItemType() {\n return this.internalMonitor.getItemType();\n }\n }, {\n key: \"getItem\",\n value: function getItem() {\n return this.internalMonitor.getItem();\n }\n }, {\n key: \"getDropResult\",\n value: function getDropResult() {\n return this.internalMonitor.getDropResult();\n }\n }, {\n key: \"didDrop\",\n value: function didDrop() {\n return this.internalMonitor.didDrop();\n }\n }, {\n key: \"getInitialClientOffset\",\n value: function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n }\n }, {\n key: \"getInitialSourceClientOffset\",\n value: function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n }\n }, {\n key: \"getSourceClientOffset\",\n value: function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n }\n }, {\n key: \"getClientOffset\",\n value: function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n }\n }, {\n key: \"getDifferenceFromInitialOffset\",\n value: function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n }\n }]);\n\n return DropTargetMonitorImpl;\n}();","function shallowEqual(objA, objB, compare, compareContext) {\n var compareResult = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (compareResult !== void 0) {\n return !!compareResult;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n compareResult = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (compareResult === false || compareResult === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n}\n\nexport { shallowEqual };\n//# sourceMappingURL=shallowequal.esm.js.map\n","import { invariant } from '@react-dnd/invariant';\nimport { cloneElement, isValidElement } from 'react';\n\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n\n var displayName = element.type.displayName || element.type.name || 'the component';\n throw new Error('Only native element nodes can now be passed to React DnD connectors.' + \"You can either wrap \".concat(displayName, \" into a
, or turn it into a \") + 'drag source or a drop target itself.');\n}\n\nfunction wrapHookToRecognizeElement(hook) {\n return function () {\n var elementOrNode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // When passed a node, call the hook straight away.\n if (!isValidElement(elementOrNode)) {\n var node = elementOrNode;\n hook(node, options); // return the node so it can be chained (e.g. when within callback refs\n //
connectDragSource(connectDropTarget(node))}/>\n\n return node;\n } // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n\n\n var element = elementOrNode;\n throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly\n\n var ref = options ? function (node) {\n return hook(node, options);\n } : hook;\n return cloneWithRef(element, ref);\n };\n}\n\nexport function wrapConnectorHooks(hooks) {\n var wrappedHooks = {};\n Object.keys(hooks).forEach(function (key) {\n var hook = hooks[key]; // ref objects should be passed straight through without wrapping\n\n if (key.endsWith('Ref')) {\n wrappedHooks[key] = hooks[key];\n } else {\n var wrappedHook = wrapHookToRecognizeElement(hook);\n\n wrappedHooks[key] = function () {\n return wrappedHook;\n };\n }\n });\n return wrappedHooks;\n}\n\nfunction setRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n}\n\nfunction cloneWithRef(element, newRef) {\n var previousRef = element.ref;\n invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a or
. ' + 'Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs');\n\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return cloneElement(element, {\n ref: newRef\n });\n } else {\n return cloneElement(element, {\n ref: function ref(node) {\n setRef(previousRef, node);\n setRef(newRef, node);\n }\n });\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nexport function isRef(obj) {\n return (// eslint-disable-next-line no-prototype-builtins\n obj !== null && _typeof(obj) === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current')\n );\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { shallowEqual } from '@react-dnd/shallowequal';\nimport { wrapConnectorHooks } from './wrapConnectorHooks';\nimport { isRef } from './isRef';\nexport var TargetConnector = /*#__PURE__*/function () {\n // The drop target may either be attached via ref or connect function\n function TargetConnector(backend) {\n var _this = this;\n\n _classCallCheck(this, TargetConnector);\n\n _defineProperty(this, \"hooks\", wrapConnectorHooks({\n dropTarget: function dropTarget(node, options) {\n _this.clearDropTarget();\n\n _this.dropTargetOptions = options;\n\n if (isRef(node)) {\n _this.dropTargetRef = node;\n } else {\n _this.dropTargetNode = node;\n }\n\n _this.reconnect();\n }\n }));\n\n _defineProperty(this, \"handlerId\", null);\n\n _defineProperty(this, \"dropTargetRef\", null);\n\n _defineProperty(this, \"dropTargetNode\", void 0);\n\n _defineProperty(this, \"dropTargetOptionsInternal\", null);\n\n _defineProperty(this, \"unsubscribeDropTarget\", void 0);\n\n _defineProperty(this, \"lastConnectedHandlerId\", null);\n\n _defineProperty(this, \"lastConnectedDropTarget\", null);\n\n _defineProperty(this, \"lastConnectedDropTargetOptions\", null);\n\n _defineProperty(this, \"backend\", void 0);\n\n this.backend = backend;\n }\n\n _createClass(TargetConnector, [{\n key: \"connectTarget\",\n get: function get() {\n return this.dropTarget;\n }\n }, {\n key: \"reconnect\",\n value: function reconnect() {\n // if nothing has changed then don't resubscribe\n var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange();\n\n if (didChange) {\n this.disconnectDropTarget();\n }\n\n var dropTarget = this.dropTarget;\n\n if (!this.handlerId) {\n return;\n }\n\n if (!dropTarget) {\n this.lastConnectedDropTarget = dropTarget;\n return;\n }\n\n if (didChange) {\n this.lastConnectedHandlerId = this.handlerId;\n this.lastConnectedDropTarget = dropTarget;\n this.lastConnectedDropTargetOptions = this.dropTargetOptions;\n this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions);\n }\n }\n }, {\n key: \"receiveHandlerId\",\n value: function receiveHandlerId(newHandlerId) {\n if (newHandlerId === this.handlerId) {\n return;\n }\n\n this.handlerId = newHandlerId;\n this.reconnect();\n }\n }, {\n key: \"dropTargetOptions\",\n get: function get() {\n return this.dropTargetOptionsInternal;\n },\n set: function set(options) {\n this.dropTargetOptionsInternal = options;\n }\n }, {\n key: \"didHandlerIdChange\",\n value: function didHandlerIdChange() {\n return this.lastConnectedHandlerId !== this.handlerId;\n }\n }, {\n key: \"didDropTargetChange\",\n value: function didDropTargetChange() {\n return this.lastConnectedDropTarget !== this.dropTarget;\n }\n }, {\n key: \"didOptionsChange\",\n value: function didOptionsChange() {\n return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions);\n }\n }, {\n key: \"disconnectDropTarget\",\n value: function disconnectDropTarget() {\n if (this.unsubscribeDropTarget) {\n this.unsubscribeDropTarget();\n this.unsubscribeDropTarget = undefined;\n }\n }\n }, {\n key: \"dropTarget\",\n get: function get() {\n return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current;\n }\n }, {\n key: \"clearDropTarget\",\n value: function clearDropTarget() {\n this.dropTargetRef = null;\n this.dropTargetNode = null;\n }\n }]);\n\n return TargetConnector;\n}();","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport equal from 'fast-deep-equal';\nimport { useState, useCallback } from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n *\n * @param monitor The monitor to collect state from\n * @param collect The collecting function\n * @param onUpdate A method to invoke when updates occur\n */\n\nexport function useCollector(monitor, collect, onUpdate) {\n var _useState = useState(function () {\n return collect(monitor);\n }),\n _useState2 = _slicedToArray(_useState, 2),\n collected = _useState2[0],\n setCollected = _useState2[1];\n\n var updateCollected = useCallback(function () {\n var nextValue = collect(monitor); // This needs to be a deep-equality check because some monitor-collected values\n // include XYCoord objects that may be equivalent, but do not have instance equality.\n\n if (!equal(collected, nextValue)) {\n setCollected(nextValue);\n\n if (onUpdate) {\n onUpdate();\n }\n }\n }, [collected, monitor, onUpdate]); // update the collected properties after react renders.\n // Note that the \"Dustbin Stress Test\" fails if this is not\n // done when the component updates\n\n useIsomorphicLayoutEffect(updateCollected);\n return [collected, updateCollected];\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nimport { useCollector } from './useCollector';\nexport function useMonitorOutput(monitor, collect, onCollect) {\n var _useCollector = useCollector(monitor, collect, onCollect),\n _useCollector2 = _slicedToArray(_useCollector, 2),\n collected = _useCollector2[0],\n updateCollected = _useCollector2[1];\n\n useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() {\n var handlerId = monitor.getHandlerId();\n\n if (handlerId == null) {\n return;\n }\n\n return monitor.subscribeToStateChange(updateCollected, {\n handlerIds: [handlerId]\n });\n }, [monitor, updateCollected]);\n return collected;\n}","import { useMonitorOutput } from './useMonitorOutput';\nexport function useCollectedProps(collector, monitor, connector) {\n return useMonitorOutput(monitor, collector || function () {\n return {};\n }, function () {\n return connector.reconnect();\n });\n}","import { useMemo } from 'react';\nexport function useConnectDropTarget(connector) {\n return useMemo(function () {\n return connector.hooks.dropTarget();\n }, [connector]);\n}","import { useRegisteredDropTarget } from './useRegisteredDropTarget';\nimport { useOptionalFactory } from '../useOptionalFactory';\nimport { useDropTargetMonitor } from './useDropTargetMonitor';\nimport { useDropTargetConnector } from './useDropTargetConnector';\nimport { useCollectedProps } from '../useCollectedProps';\nimport { useConnectDropTarget } from './connectors';\n/**\n * useDropTarget Hook\n * @param spec The drop target specification (object or function, function preferred)\n * @param deps The memoization deps array to use when evaluating spec changes\n */\n\nexport function useDrop(specArg, deps) {\n var spec = useOptionalFactory(specArg, deps);\n var monitor = useDropTargetMonitor();\n var connector = useDropTargetConnector(spec.options);\n useRegisteredDropTarget(spec, monitor, connector);\n return [useCollectedProps(spec.collect, monitor, connector), useConnectDropTarget(connector)];\n}","import { useMemo } from 'react';\nimport { DropTargetMonitorImpl } from '../../internals';\nimport { useDragDropManager } from '../useDragDropManager';\nexport function useDropTargetMonitor() {\n var manager = useDragDropManager();\n return useMemo(function () {\n return new DropTargetMonitorImpl(manager);\n }, [manager]);\n}","import { useMemo } from 'react';\nimport { TargetConnector } from '../../internals';\nimport { useDragDropManager } from '../useDragDropManager';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\nexport function useDropTargetConnector(options) {\n var manager = useDragDropManager();\n var connector = useMemo(function () {\n return new TargetConnector(manager.getBackend());\n }, [manager]);\n useIsomorphicLayoutEffect(function () {\n connector.dropTargetOptions = options || null;\n connector.reconnect();\n return function () {\n return connector.disconnectDropTarget();\n };\n }, [options]);\n return connector;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var DragSourceImpl = /*#__PURE__*/function () {\n function DragSourceImpl(spec, monitor, connector) {\n _classCallCheck(this, DragSourceImpl);\n\n _defineProperty(this, \"spec\", void 0);\n\n _defineProperty(this, \"monitor\", void 0);\n\n _defineProperty(this, \"connector\", void 0);\n\n this.spec = spec;\n this.monitor = monitor;\n this.connector = connector;\n }\n\n _createClass(DragSourceImpl, [{\n key: \"beginDrag\",\n value: function beginDrag() {\n var _result;\n\n var spec = this.spec;\n var monitor = this.monitor;\n var result = null;\n\n if (_typeof(spec.item) === 'object') {\n result = spec.item;\n } else if (typeof spec.item === 'function') {\n result = spec.item(monitor);\n } else {\n result = {};\n }\n\n return (_result = result) !== null && _result !== void 0 ? _result : null;\n }\n }, {\n key: \"canDrag\",\n value: function canDrag() {\n var spec = this.spec;\n var monitor = this.monitor;\n\n if (typeof spec.canDrag === 'boolean') {\n return spec.canDrag;\n } else if (typeof spec.canDrag === 'function') {\n return spec.canDrag(monitor);\n } else {\n return true;\n }\n }\n }, {\n key: \"isDragging\",\n value: function isDragging(globalMonitor, target) {\n var spec = this.spec;\n var monitor = this.monitor;\n var isDragging = spec.isDragging;\n return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId();\n }\n }, {\n key: \"endDrag\",\n value: function endDrag() {\n var spec = this.spec;\n var monitor = this.monitor;\n var connector = this.connector;\n var end = spec.end;\n\n if (end) {\n end(monitor.getItem(), monitor);\n }\n\n connector.reconnect();\n }\n }]);\n\n return DragSourceImpl;\n}();","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { registerSource } from '../../internals';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\nimport { useDragSource } from './useDragSource';\nimport { useDragDropManager } from '../useDragDropManager';\nimport { useDragType } from './useDragType';\nexport function useRegisteredDragSource(spec, monitor, connector) {\n var manager = useDragDropManager();\n var handler = useDragSource(spec, monitor, connector);\n var itemType = useDragType(spec);\n useIsomorphicLayoutEffect(function registerDragSource() {\n if (itemType != null) {\n var _registerSource = registerSource(itemType, handler, manager),\n _registerSource2 = _slicedToArray(_registerSource, 2),\n handlerId = _registerSource2[0],\n unregister = _registerSource2[1];\n\n monitor.receiveHandlerId(handlerId);\n connector.receiveHandlerId(handlerId);\n return unregister;\n }\n }, [manager, monitor, connector, handler, itemType]);\n}","import { useEffect, useMemo } from 'react';\nimport { DragSourceImpl } from './DragSourceImpl';\nexport function useDragSource(spec, monitor, connector) {\n var handler = useMemo(function () {\n return new DragSourceImpl(spec, monitor, connector);\n }, [monitor, connector]);\n useEffect(function () {\n handler.spec = spec;\n }, [spec]);\n return handler;\n}","import { invariant } from '@react-dnd/invariant';\nimport { useMemo } from 'react';\nexport function useDragType(spec) {\n return useMemo(function () {\n var result = spec.type;\n invariant(result != null, 'spec.type must be defined');\n return result;\n }, [spec]);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { invariant } from '@react-dnd/invariant';\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\nexport var DragSourceMonitorImpl = /*#__PURE__*/function () {\n function DragSourceMonitorImpl(manager) {\n _classCallCheck(this, DragSourceMonitorImpl);\n\n _defineProperty(this, \"internalMonitor\", void 0);\n\n _defineProperty(this, \"sourceId\", null);\n\n this.internalMonitor = manager.getMonitor();\n }\n\n _createClass(DragSourceMonitorImpl, [{\n key: \"receiveHandlerId\",\n value: function receiveHandlerId(sourceId) {\n this.sourceId = sourceId;\n }\n }, {\n key: \"getHandlerId\",\n value: function getHandlerId() {\n return this.sourceId;\n }\n }, {\n key: \"canDrag\",\n value: function canDrag() {\n invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor');\n\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n } finally {\n isCallingCanDrag = false;\n }\n }\n }, {\n key: \"isDragging\",\n value: function isDragging() {\n if (!this.sourceId) {\n return false;\n }\n\n invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor');\n\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n } finally {\n isCallingIsDragging = false;\n }\n }\n }, {\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener, options) {\n return this.internalMonitor.subscribeToStateChange(listener, options);\n }\n }, {\n key: \"isDraggingSource\",\n value: function isDraggingSource(sourceId) {\n return this.internalMonitor.isDraggingSource(sourceId);\n }\n }, {\n key: \"isOverTarget\",\n value: function isOverTarget(targetId, options) {\n return this.internalMonitor.isOverTarget(targetId, options);\n }\n }, {\n key: \"getTargetIds\",\n value: function getTargetIds() {\n return this.internalMonitor.getTargetIds();\n }\n }, {\n key: \"isSourcePublic\",\n value: function isSourcePublic() {\n return this.internalMonitor.isSourcePublic();\n }\n }, {\n key: \"getSourceId\",\n value: function getSourceId() {\n return this.internalMonitor.getSourceId();\n }\n }, {\n key: \"subscribeToOffsetChange\",\n value: function subscribeToOffsetChange(listener) {\n return this.internalMonitor.subscribeToOffsetChange(listener);\n }\n }, {\n key: \"canDragSource\",\n value: function canDragSource(sourceId) {\n return this.internalMonitor.canDragSource(sourceId);\n }\n }, {\n key: \"canDropOnTarget\",\n value: function canDropOnTarget(targetId) {\n return this.internalMonitor.canDropOnTarget(targetId);\n }\n }, {\n key: \"getItemType\",\n value: function getItemType() {\n return this.internalMonitor.getItemType();\n }\n }, {\n key: \"getItem\",\n value: function getItem() {\n return this.internalMonitor.getItem();\n }\n }, {\n key: \"getDropResult\",\n value: function getDropResult() {\n return this.internalMonitor.getDropResult();\n }\n }, {\n key: \"didDrop\",\n value: function didDrop() {\n return this.internalMonitor.didDrop();\n }\n }, {\n key: \"getInitialClientOffset\",\n value: function getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n }\n }, {\n key: \"getInitialSourceClientOffset\",\n value: function getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n }\n }, {\n key: \"getSourceClientOffset\",\n value: function getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n }\n }, {\n key: \"getClientOffset\",\n value: function getClientOffset() {\n return this.internalMonitor.getClientOffset();\n }\n }, {\n key: \"getDifferenceFromInitialOffset\",\n value: function getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n }\n }]);\n\n return DragSourceMonitorImpl;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { wrapConnectorHooks } from './wrapConnectorHooks';\nimport { isRef } from './isRef';\nimport { shallowEqual } from '@react-dnd/shallowequal';\nexport var SourceConnector = /*#__PURE__*/function () {\n // The drop target may either be attached via ref or connect function\n // The drag preview may either be attached via ref or connect function\n function SourceConnector(backend) {\n var _this = this;\n\n _classCallCheck(this, SourceConnector);\n\n _defineProperty(this, \"hooks\", wrapConnectorHooks({\n dragSource: function dragSource(node, options) {\n _this.clearDragSource();\n\n _this.dragSourceOptions = options || null;\n\n if (isRef(node)) {\n _this.dragSourceRef = node;\n } else {\n _this.dragSourceNode = node;\n }\n\n _this.reconnectDragSource();\n },\n dragPreview: function dragPreview(node, options) {\n _this.clearDragPreview();\n\n _this.dragPreviewOptions = options || null;\n\n if (isRef(node)) {\n _this.dragPreviewRef = node;\n } else {\n _this.dragPreviewNode = node;\n }\n\n _this.reconnectDragPreview();\n }\n }));\n\n _defineProperty(this, \"handlerId\", null);\n\n _defineProperty(this, \"dragSourceRef\", null);\n\n _defineProperty(this, \"dragSourceNode\", void 0);\n\n _defineProperty(this, \"dragSourceOptionsInternal\", null);\n\n _defineProperty(this, \"dragSourceUnsubscribe\", void 0);\n\n _defineProperty(this, \"dragPreviewRef\", null);\n\n _defineProperty(this, \"dragPreviewNode\", void 0);\n\n _defineProperty(this, \"dragPreviewOptionsInternal\", null);\n\n _defineProperty(this, \"dragPreviewUnsubscribe\", void 0);\n\n _defineProperty(this, \"lastConnectedHandlerId\", null);\n\n _defineProperty(this, \"lastConnectedDragSource\", null);\n\n _defineProperty(this, \"lastConnectedDragSourceOptions\", null);\n\n _defineProperty(this, \"lastConnectedDragPreview\", null);\n\n _defineProperty(this, \"lastConnectedDragPreviewOptions\", null);\n\n _defineProperty(this, \"backend\", void 0);\n\n this.backend = backend;\n }\n\n _createClass(SourceConnector, [{\n key: \"receiveHandlerId\",\n value: function receiveHandlerId(newHandlerId) {\n if (this.handlerId === newHandlerId) {\n return;\n }\n\n this.handlerId = newHandlerId;\n this.reconnect();\n }\n }, {\n key: \"connectTarget\",\n get: function get() {\n return this.dragSource;\n }\n }, {\n key: \"dragSourceOptions\",\n get: function get() {\n return this.dragSourceOptionsInternal;\n },\n set: function set(options) {\n this.dragSourceOptionsInternal = options;\n }\n }, {\n key: \"dragPreviewOptions\",\n get: function get() {\n return this.dragPreviewOptionsInternal;\n },\n set: function set(options) {\n this.dragPreviewOptionsInternal = options;\n }\n }, {\n key: \"reconnect\",\n value: function reconnect() {\n this.reconnectDragSource();\n this.reconnectDragPreview();\n }\n }, {\n key: \"reconnectDragSource\",\n value: function reconnectDragSource() {\n var dragSource = this.dragSource; // if nothing has changed then don't resubscribe\n\n var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange();\n\n if (didChange) {\n this.disconnectDragSource();\n }\n\n if (!this.handlerId) {\n return;\n }\n\n if (!dragSource) {\n this.lastConnectedDragSource = dragSource;\n return;\n }\n\n if (didChange) {\n this.lastConnectedHandlerId = this.handlerId;\n this.lastConnectedDragSource = dragSource;\n this.lastConnectedDragSourceOptions = this.dragSourceOptions;\n this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions);\n }\n }\n }, {\n key: \"reconnectDragPreview\",\n value: function reconnectDragPreview() {\n var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe\n\n var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange();\n\n if (didChange) {\n this.disconnectDragPreview();\n }\n\n if (!this.handlerId) {\n return;\n }\n\n if (!dragPreview) {\n this.lastConnectedDragPreview = dragPreview;\n return;\n }\n\n if (didChange) {\n this.lastConnectedHandlerId = this.handlerId;\n this.lastConnectedDragPreview = dragPreview;\n this.lastConnectedDragPreviewOptions = this.dragPreviewOptions;\n this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions);\n }\n }\n }, {\n key: \"didHandlerIdChange\",\n value: function didHandlerIdChange() {\n return this.lastConnectedHandlerId !== this.handlerId;\n }\n }, {\n key: \"didConnectedDragSourceChange\",\n value: function didConnectedDragSourceChange() {\n return this.lastConnectedDragSource !== this.dragSource;\n }\n }, {\n key: \"didConnectedDragPreviewChange\",\n value: function didConnectedDragPreviewChange() {\n return this.lastConnectedDragPreview !== this.dragPreview;\n }\n }, {\n key: \"didDragSourceOptionsChange\",\n value: function didDragSourceOptionsChange() {\n return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions);\n }\n }, {\n key: \"didDragPreviewOptionsChange\",\n value: function didDragPreviewOptionsChange() {\n return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions);\n }\n }, {\n key: \"disconnectDragSource\",\n value: function disconnectDragSource() {\n if (this.dragSourceUnsubscribe) {\n this.dragSourceUnsubscribe();\n this.dragSourceUnsubscribe = undefined;\n }\n }\n }, {\n key: \"disconnectDragPreview\",\n value: function disconnectDragPreview() {\n if (this.dragPreviewUnsubscribe) {\n this.dragPreviewUnsubscribe();\n this.dragPreviewUnsubscribe = undefined;\n this.dragPreviewNode = null;\n this.dragPreviewRef = null;\n }\n }\n }, {\n key: \"dragSource\",\n get: function get() {\n return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current;\n }\n }, {\n key: \"dragPreview\",\n get: function get() {\n return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current;\n }\n }, {\n key: \"clearDragSource\",\n value: function clearDragSource() {\n this.dragSourceNode = null;\n this.dragSourceRef = null;\n }\n }, {\n key: \"clearDragPreview\",\n value: function clearDragPreview() {\n this.dragPreviewNode = null;\n this.dragPreviewRef = null;\n }\n }]);\n\n return SourceConnector;\n}();","import { useMemo } from 'react';\nexport function useConnectDragSource(connector) {\n return useMemo(function () {\n return connector.hooks.dragSource();\n }, [connector]);\n}\nexport function useConnectDragPreview(connector) {\n return useMemo(function () {\n return connector.hooks.dragPreview();\n }, [connector]);\n}","import { useRegisteredDragSource } from './useRegisteredDragSource';\nimport { useOptionalFactory } from '../useOptionalFactory';\nimport { useDragSourceMonitor } from './useDragSourceMonitor';\nimport { useDragSourceConnector } from './useDragSourceConnector';\nimport { useCollectedProps } from '../useCollectedProps';\nimport { useConnectDragPreview, useConnectDragSource } from './connectors';\nimport { invariant } from '@react-dnd/invariant';\n/**\n * useDragSource hook\n * @param sourceSpec The drag source specification (object or function, function preferred)\n * @param deps The memoization deps array to use when evaluating spec changes\n */\n\nexport function useDrag(specArg, deps) {\n var spec = useOptionalFactory(specArg, deps);\n invariant(!spec.begin, \"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)\");\n var monitor = useDragSourceMonitor();\n var connector = useDragSourceConnector(spec.options, spec.previewOptions);\n useRegisteredDragSource(spec, monitor, connector);\n return [useCollectedProps(spec.collect, monitor, connector), useConnectDragSource(connector), useConnectDragPreview(connector)];\n}","import { useMemo } from 'react';\nimport { DragSourceMonitorImpl } from '../../internals';\nimport { useDragDropManager } from '../useDragDropManager';\nexport function useDragSourceMonitor() {\n var manager = useDragDropManager();\n return useMemo(function () {\n return new DragSourceMonitorImpl(manager);\n }, [manager]);\n}","import { useMemo } from 'react';\nimport { SourceConnector } from '../../internals';\nimport { useDragDropManager } from '../useDragDropManager';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\nexport function useDragSourceConnector(dragSourceOptions, dragPreviewOptions) {\n var manager = useDragDropManager();\n var connector = useMemo(function () {\n return new SourceConnector(manager.getBackend());\n }, [manager]);\n useIsomorphicLayoutEffect(function () {\n connector.dragSourceOptions = dragSourceOptions || null;\n connector.reconnect();\n return function () {\n return connector.disconnectDragSource();\n };\n }, [connector, dragSourceOptions]);\n useIsomorphicLayoutEffect(function () {\n connector.dragPreviewOptions = dragPreviewOptions || null;\n connector.reconnect();\n return function () {\n return connector.disconnectDragPreview();\n };\n }, [connector, dragPreviewOptions]);\n return connector;\n}","// cheap lodash replacements\nexport function memoize(fn) {\n var result = null;\n\n var memoized = function memoized() {\n if (result == null) {\n result = fn();\n }\n\n return result;\n };\n\n return memoized;\n}\n/**\n * drop-in replacement for _.without\n */\n\nexport function without(items, item) {\n return items.filter(function (i) {\n return i !== item;\n });\n}\nexport function union(itemsA, itemsB) {\n var set = new Set();\n\n var insertItem = function insertItem(item) {\n return set.add(item);\n };\n\n itemsA.forEach(insertItem);\n itemsB.forEach(insertItem);\n var result = [];\n set.forEach(function (key) {\n return result.push(key);\n });\n return result;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { union, without } from './utils/js_utils';\nexport var EnterLeaveCounter = /*#__PURE__*/function () {\n function EnterLeaveCounter(isNodeInDocument) {\n _classCallCheck(this, EnterLeaveCounter);\n\n _defineProperty(this, \"entered\", []);\n\n _defineProperty(this, \"isNodeInDocument\", void 0);\n\n this.isNodeInDocument = isNodeInDocument;\n }\n\n _createClass(EnterLeaveCounter, [{\n key: \"enter\",\n value: function enter(enteringNode) {\n var _this = this;\n\n var previousLength = this.entered.length;\n\n var isNodeEntered = function isNodeEntered(node) {\n return _this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode));\n };\n\n this.entered = union(this.entered.filter(isNodeEntered), [enteringNode]);\n return previousLength === 0 && this.entered.length > 0;\n }\n }, {\n key: \"leave\",\n value: function leave(leavingNode) {\n var previousLength = this.entered.length;\n this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode);\n return previousLength > 0 && this.entered.length === 0;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.entered = [];\n }\n }]);\n\n return EnterLeaveCounter;\n}();","import { memoize } from './utils/js_utils';\nexport var isFirefox = memoize(function () {\n return /firefox/i.test(navigator.userAgent);\n});\nexport var isSafari = memoize(function () {\n return Boolean(window.safari);\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var MonotonicInterpolant = /*#__PURE__*/function () {\n function MonotonicInterpolant(xs, ys) {\n _classCallCheck(this, MonotonicInterpolant);\n\n _defineProperty(this, \"xs\", void 0);\n\n _defineProperty(this, \"ys\", void 0);\n\n _defineProperty(this, \"c1s\", void 0);\n\n _defineProperty(this, \"c2s\", void 0);\n\n _defineProperty(this, \"c3s\", void 0);\n\n var length = xs.length; // Rearrange xs and ys so that xs is sorted\n\n var indexes = [];\n\n for (var i = 0; i < length; i++) {\n indexes.push(i);\n }\n\n indexes.sort(function (a, b) {\n return xs[a] < xs[b] ? -1 : 1;\n }); // Get consecutive differences and slopes\n\n var dys = [];\n var dxs = [];\n var ms = [];\n var dx;\n var dy;\n\n for (var _i = 0; _i < length - 1; _i++) {\n dx = xs[_i + 1] - xs[_i];\n dy = ys[_i + 1] - ys[_i];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n } // Get degree-1 coefficients\n\n\n var c1s = [ms[0]];\n\n for (var _i2 = 0; _i2 < dxs.length - 1; _i2++) {\n var m2 = ms[_i2];\n var mNext = ms[_i2 + 1];\n\n if (m2 * mNext <= 0) {\n c1s.push(0);\n } else {\n dx = dxs[_i2];\n var dxNext = dxs[_i2 + 1];\n var common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext));\n }\n }\n\n c1s.push(ms[ms.length - 1]); // Get degree-2 and degree-3 coefficients\n\n var c2s = [];\n var c3s = [];\n var m;\n\n for (var _i3 = 0; _i3 < c1s.length - 1; _i3++) {\n m = ms[_i3];\n var c1 = c1s[_i3];\n var invDx = 1 / dxs[_i3];\n\n var _common = c1 + c1s[_i3 + 1] - m - m;\n\n c2s.push((m - c1 - _common) * invDx);\n c3s.push(_common * invDx * invDx);\n }\n\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n\n _createClass(MonotonicInterpolant, [{\n key: \"interpolate\",\n value: function interpolate(x) {\n var xs = this.xs,\n ys = this.ys,\n c1s = this.c1s,\n c2s = this.c2s,\n c3s = this.c3s; // The rightmost point in the dataset should give an exact result\n\n var i = xs.length - 1;\n\n if (x === xs[i]) {\n return ys[i];\n } // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n\n\n var low = 0;\n var high = c3s.length - 1;\n var mid;\n\n while (low <= high) {\n mid = Math.floor(0.5 * (low + high));\n var xHere = xs[mid];\n\n if (xHere < x) {\n low = mid + 1;\n } else if (xHere > x) {\n high = mid - 1;\n } else {\n return ys[mid];\n }\n }\n\n i = Math.max(0, high); // Interpolate\n\n var diff = x - xs[i];\n var diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n }\n }]);\n\n return MonotonicInterpolant;\n}();","import { isSafari, isFirefox } from './BrowserDetector';\nimport { MonotonicInterpolant } from './MonotonicInterpolant';\nvar ELEMENT_NODE = 1;\nexport function getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\n if (!el) {\n return null;\n }\n\n var _el$getBoundingClient = el.getBoundingClientRect(),\n top = _el$getBoundingClient.top,\n left = _el$getBoundingClient.left;\n\n return {\n x: left,\n y: top\n };\n}\nexport function getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY\n };\n}\n\nfunction isImageNode(node) {\n var _document$documentEle;\n\n return node.nodeName === 'IMG' && (isFirefox() || !((_document$documentEle = document.documentElement) !== null && _document$documentEle !== void 0 && _document$documentEle.contains(node)));\n}\n\nfunction getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) {\n var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight; // Work around @2x coordinate discrepancies in browsers\n\n if (isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n }\n\n return {\n dragPreviewWidth: dragPreviewWidth,\n dragPreviewHeight: dragPreviewHeight\n };\n}\n\nexport function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n var isImage = isImageNode(dragPreview);\n var dragPreviewNode = isImage ? sourceNode : dragPreview;\n var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n var offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n };\n var sourceWidth = sourceNode.offsetWidth,\n sourceHeight = sourceNode.offsetHeight;\n var anchorX = anchorPoint.anchorX,\n anchorY = anchorPoint.anchorY;\n\n var _getDragPreviewSize = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight),\n dragPreviewWidth = _getDragPreviewSize.dragPreviewWidth,\n dragPreviewHeight = _getDragPreviewSize.dragPreviewHeight;\n\n var calculateYOffset = function calculateYOffset() {\n var interpolantY = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the top\n offsetFromDragPreview.y, // Align at the center\n offsetFromDragPreview.y / sourceHeight * dragPreviewHeight, // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight]);\n var y = interpolantY.interpolate(anchorY); // Work around Safari 8 positioning bug\n\n if (isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n\n return y;\n };\n\n var calculateXOffset = function calculateXOffset() {\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n var interpolantX = new MonotonicInterpolant([0, 0.5, 1], [// Dock to the left\n offsetFromDragPreview.x, // Align at the center\n offsetFromDragPreview.x / sourceWidth * dragPreviewWidth, // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth]);\n return interpolantX.interpolate(anchorX);\n }; // Force offsets if specified in the options.\n\n\n var offsetX = offsetPoint.offsetX,\n offsetY = offsetPoint.offsetY;\n var isManualOffsetX = offsetX === 0 || offsetX;\n var isManualOffsetY = offsetY === 0 || offsetY;\n return {\n x: isManualOffsetX ? offsetX : calculateXOffset(),\n y: isManualOffsetY ? offsetY : calculateYOffset()\n };\n}","export var FILE = '__NATIVE_FILE__';\nexport var URL = '__NATIVE_URL__';\nexport var TEXT = '__NATIVE_TEXT__';\nexport var HTML = '__NATIVE_HTML__';","var _nativeTypesConfig;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport * as NativeTypes from '../NativeTypes';\nimport { getDataFromDataTransfer } from './getDataFromDataTransfer';\nexport var nativeTypesConfig = (_nativeTypesConfig = {}, _defineProperty(_nativeTypesConfig, NativeTypes.FILE, {\n exposeProperties: {\n files: function files(dataTransfer) {\n return Array.prototype.slice.call(dataTransfer.files);\n },\n items: function items(dataTransfer) {\n return dataTransfer.items;\n }\n },\n matchesTypes: ['Files']\n}), _defineProperty(_nativeTypesConfig, NativeTypes.HTML, {\n exposeProperties: {\n html: function html(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n }\n },\n matchesTypes: ['Html', 'text/html']\n}), _defineProperty(_nativeTypesConfig, NativeTypes.URL, {\n exposeProperties: {\n urls: function urls(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n }\n },\n matchesTypes: ['Url', 'text/uri-list']\n}), _defineProperty(_nativeTypesConfig, NativeTypes.TEXT, {\n exposeProperties: {\n text: function text(dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n }\n },\n matchesTypes: ['Text', 'text/plain']\n}), _nativeTypesConfig);","export function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n var result = typesToTry.reduce(function (resultSoFar, typeToTry) {\n return resultSoFar || dataTransfer.getData(typeToTry);\n }, '');\n return result != null ? result : defaultValue;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var NativeDragSource = /*#__PURE__*/function () {\n function NativeDragSource(config) {\n _classCallCheck(this, NativeDragSource);\n\n _defineProperty(this, \"item\", void 0);\n\n _defineProperty(this, \"config\", void 0);\n\n this.config = config;\n this.item = {};\n this.initializeExposedProperties();\n }\n\n _createClass(NativeDragSource, [{\n key: \"initializeExposedProperties\",\n value: function initializeExposedProperties() {\n var _this = this;\n\n Object.keys(this.config.exposeProperties).forEach(function (property) {\n Object.defineProperty(_this.item, property, {\n configurable: true,\n enumerable: true,\n get: function get() {\n // eslint-disable-next-line no-console\n console.warn(\"Browser doesn't allow reading \\\"\".concat(property, \"\\\" until the drop event.\"));\n return null;\n }\n });\n });\n }\n }, {\n key: \"loadDataTransfer\",\n value: function loadDataTransfer(dataTransfer) {\n var _this2 = this;\n\n if (dataTransfer) {\n var newProperties = {};\n Object.keys(this.config.exposeProperties).forEach(function (property) {\n newProperties[property] = {\n value: _this2.config.exposeProperties[property](dataTransfer, _this2.config.matchesTypes),\n configurable: true,\n enumerable: true\n };\n });\n Object.defineProperties(this.item, newProperties);\n }\n }\n }, {\n key: \"canDrag\",\n value: function canDrag() {\n return true;\n }\n }, {\n key: \"beginDrag\",\n value: function beginDrag() {\n return this.item;\n }\n }, {\n key: \"isDragging\",\n value: function isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n }\n }, {\n key: \"endDrag\",\n value: function endDrag() {// empty\n }\n }]);\n\n return NativeDragSource;\n}();","import { nativeTypesConfig } from './nativeTypesConfig';\nimport { NativeDragSource } from './NativeDragSource';\nexport function createNativeDragSource(type, dataTransfer) {\n var result = new NativeDragSource(nativeTypesConfig[type]);\n result.loadDataTransfer(dataTransfer);\n return result;\n}\nexport function matchNativeItemType(dataTransfer) {\n if (!dataTransfer) {\n return null;\n }\n\n var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n return Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n return matchesTypes.some(function (t) {\n return dataTransferTypes.indexOf(t) > -1;\n });\n })[0] || null;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var OptionsReader = /*#__PURE__*/function () {\n function OptionsReader(globalContext, options) {\n _classCallCheck(this, OptionsReader);\n\n _defineProperty(this, \"ownerDocument\", null);\n\n _defineProperty(this, \"globalContext\", void 0);\n\n _defineProperty(this, \"optionsArgs\", void 0);\n\n this.globalContext = globalContext;\n this.optionsArgs = options;\n }\n\n _createClass(OptionsReader, [{\n key: \"window\",\n get: function get() {\n if (this.globalContext) {\n return this.globalContext;\n } else if (typeof window !== 'undefined') {\n return window;\n }\n\n return undefined;\n }\n }, {\n key: \"document\",\n get: function get() {\n var _this$globalContext;\n\n if ((_this$globalContext = this.globalContext) !== null && _this$globalContext !== void 0 && _this$globalContext.document) {\n return this.globalContext.document;\n } else if (this.window) {\n return this.window.document;\n } else {\n return undefined;\n }\n }\n }, {\n key: \"rootElement\",\n get: function get() {\n var _this$optionsArgs;\n\n return ((_this$optionsArgs = this.optionsArgs) === null || _this$optionsArgs === void 0 ? void 0 : _this$optionsArgs.rootElement) || this.window;\n }\n }]);\n\n return OptionsReader;\n}();","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { EnterLeaveCounter } from './EnterLeaveCounter';\nimport { getNodeClientOffset, getEventClientOffset, getDragPreviewOffset } from './OffsetUtils';\nimport { createNativeDragSource, matchNativeItemType } from './NativeDragSources';\nimport * as NativeTypes from './NativeTypes';\nimport { OptionsReader } from './OptionsReader';\nexport var HTML5BackendImpl = /*#__PURE__*/function () {\n // React-Dnd Components\n // Internal State\n function HTML5BackendImpl(manager, globalContext, options) {\n var _this = this;\n\n _classCallCheck(this, HTML5BackendImpl);\n\n _defineProperty(this, \"options\", void 0);\n\n _defineProperty(this, \"actions\", void 0);\n\n _defineProperty(this, \"monitor\", void 0);\n\n _defineProperty(this, \"registry\", void 0);\n\n _defineProperty(this, \"enterLeaveCounter\", void 0);\n\n _defineProperty(this, \"sourcePreviewNodes\", new Map());\n\n _defineProperty(this, \"sourcePreviewNodeOptions\", new Map());\n\n _defineProperty(this, \"sourceNodes\", new Map());\n\n _defineProperty(this, \"sourceNodeOptions\", new Map());\n\n _defineProperty(this, \"dragStartSourceIds\", null);\n\n _defineProperty(this, \"dropTargetIds\", []);\n\n _defineProperty(this, \"dragEnterTargetIds\", []);\n\n _defineProperty(this, \"currentNativeSource\", null);\n\n _defineProperty(this, \"currentNativeHandle\", null);\n\n _defineProperty(this, \"currentDragSourceNode\", null);\n\n _defineProperty(this, \"altKeyPressed\", false);\n\n _defineProperty(this, \"mouseMoveTimeoutTimer\", null);\n\n _defineProperty(this, \"asyncEndDragFrameId\", null);\n\n _defineProperty(this, \"dragOverTargetIds\", null);\n\n _defineProperty(this, \"getSourceClientOffset\", function (sourceId) {\n var source = _this.sourceNodes.get(sourceId);\n\n return source && getNodeClientOffset(source) || null;\n });\n\n _defineProperty(this, \"endDragNativeItem\", function () {\n if (!_this.isDraggingNativeItem()) {\n return;\n }\n\n _this.actions.endDrag();\n\n if (_this.currentNativeHandle) {\n _this.registry.removeSource(_this.currentNativeHandle);\n }\n\n _this.currentNativeHandle = null;\n _this.currentNativeSource = null;\n });\n\n _defineProperty(this, \"isNodeInDocument\", function (node) {\n // Check the node either in the main document or in the current context\n return Boolean(node && _this.document && _this.document.body && _this.document.body.contains(node));\n });\n\n _defineProperty(this, \"endDragIfSourceWasRemovedFromDOM\", function () {\n var node = _this.currentDragSourceNode;\n\n if (node == null || _this.isNodeInDocument(node)) {\n return;\n }\n\n if (_this.clearCurrentDragSourceNode() && _this.monitor.isDragging()) {\n _this.actions.endDrag();\n }\n });\n\n _defineProperty(this, \"handleTopDragStartCapture\", function () {\n _this.clearCurrentDragSourceNode();\n\n _this.dragStartSourceIds = [];\n });\n\n _defineProperty(this, \"handleTopDragStart\", function (e) {\n if (e.defaultPrevented) {\n return;\n }\n\n var dragStartSourceIds = _this.dragStartSourceIds;\n _this.dragStartSourceIds = null;\n var clientOffset = getEventClientOffset(e); // Avoid crashing if we missed a drop event or our previous drag died\n\n if (_this.monitor.isDragging()) {\n _this.actions.endDrag();\n } // Don't publish the source just yet (see why below)\n\n\n _this.actions.beginDrag(dragStartSourceIds || [], {\n publishSource: false,\n getSourceClientOffset: _this.getSourceClientOffset,\n clientOffset: clientOffset\n });\n\n var dataTransfer = e.dataTransfer;\n var nativeType = matchNativeItemType(dataTransfer);\n\n if (_this.monitor.isDragging()) {\n if (dataTransfer && typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n var sourceId = _this.monitor.getSourceId();\n\n var sourceNode = _this.sourceNodes.get(sourceId);\n\n var dragPreview = _this.sourcePreviewNodes.get(sourceId) || sourceNode;\n\n if (dragPreview) {\n var _this$getCurrentSourc = _this.getCurrentSourcePreviewNodeOptions(),\n anchorX = _this$getCurrentSourc.anchorX,\n anchorY = _this$getCurrentSourc.anchorY,\n offsetX = _this$getCurrentSourc.offsetX,\n offsetY = _this$getCurrentSourc.offsetY;\n\n var anchorPoint = {\n anchorX: anchorX,\n anchorY: anchorY\n };\n var offsetPoint = {\n offsetX: offsetX,\n offsetY: offsetY\n };\n var dragPreviewOffset = getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n }\n\n try {\n // Firefox won't drag without setting data\n dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {});\n } catch (err) {// IE doesn't support MIME types in setData\n } // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n\n\n _this.setCurrentDragSourceNode(e.target); // Now we are ready to publish the drag source.. or are we not?\n\n\n var _this$getCurrentSourc2 = _this.getCurrentSourcePreviewNodeOptions(),\n captureDraggingState = _this$getCurrentSourc2.captureDraggingState;\n\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(function () {\n return _this.actions.publishDragSource();\n }, 0);\n } else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n _this.actions.publishDragSource();\n }\n } else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n _this.beginDragNativeItem(nativeType);\n } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in\n // dragenter handler.\n return;\n } else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n });\n\n _defineProperty(this, \"handleTopDragEndCapture\", function () {\n if (_this.clearCurrentDragSourceNode() && _this.monitor.isDragging()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n _this.actions.endDrag();\n }\n });\n\n _defineProperty(this, \"handleTopDragEnterCapture\", function (e) {\n _this.dragEnterTargetIds = [];\n\n var isFirstEnter = _this.enterLeaveCounter.enter(e.target);\n\n if (!isFirstEnter || _this.monitor.isDragging()) {\n return;\n }\n\n var dataTransfer = e.dataTransfer;\n var nativeType = matchNativeItemType(dataTransfer);\n\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n _this.beginDragNativeItem(nativeType, dataTransfer);\n }\n });\n\n _defineProperty(this, \"handleTopDragEnter\", function (e) {\n var dragEnterTargetIds = _this.dragEnterTargetIds;\n _this.dragEnterTargetIds = [];\n\n if (!_this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n\n _this.altKeyPressed = e.altKey; // If the target changes position as the result of `dragenter`, `dragover` might still\n // get dispatched despite target being no longer there. The easy solution is to check\n // whether there actually is a target before firing `hover`.\n\n if (dragEnterTargetIds.length > 0) {\n _this.actions.hover(dragEnterTargetIds, {\n clientOffset: getEventClientOffset(e)\n });\n }\n\n var canDrop = dragEnterTargetIds.some(function (targetId) {\n return _this.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = _this.getCurrentDropEffect();\n }\n }\n });\n\n _defineProperty(this, \"handleTopDragOverCapture\", function () {\n _this.dragOverTargetIds = [];\n });\n\n _defineProperty(this, \"handleTopDragOver\", function (e) {\n var dragOverTargetIds = _this.dragOverTargetIds;\n _this.dragOverTargetIds = [];\n\n if (!_this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = 'none';\n }\n\n return;\n }\n\n _this.altKeyPressed = e.altKey;\n\n _this.actions.hover(dragOverTargetIds || [], {\n clientOffset: getEventClientOffset(e)\n });\n\n var canDrop = (dragOverTargetIds || []).some(function (targetId) {\n return _this.monitor.canDropOnTarget(targetId);\n });\n\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = _this.getCurrentDropEffect();\n }\n } else if (_this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n } else {\n e.preventDefault();\n\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = 'none';\n }\n }\n });\n\n _defineProperty(this, \"handleTopDragLeaveCapture\", function (e) {\n if (_this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n\n var isLastLeave = _this.enterLeaveCounter.leave(e.target);\n\n if (!isLastLeave) {\n return;\n }\n\n if (_this.isDraggingNativeItem()) {\n setTimeout(function () {\n return _this.endDragNativeItem();\n }, 0);\n }\n });\n\n _defineProperty(this, \"handleTopDropCapture\", function (e) {\n _this.dropTargetIds = [];\n\n if (_this.isDraggingNativeItem()) {\n var _this$currentNativeSo;\n\n e.preventDefault();\n (_this$currentNativeSo = _this.currentNativeSource) === null || _this$currentNativeSo === void 0 ? void 0 : _this$currentNativeSo.loadDataTransfer(e.dataTransfer);\n } else if (matchNativeItemType(e.dataTransfer)) {\n // Dragging some elements, like and may still behave like a native drag event,\n // even if the current drag event matches a user-defined type.\n // Stop the default behavior when we're not expecting a native item to be dropped.\n e.preventDefault();\n }\n\n _this.enterLeaveCounter.reset();\n });\n\n _defineProperty(this, \"handleTopDrop\", function (e) {\n var dropTargetIds = _this.dropTargetIds;\n _this.dropTargetIds = [];\n\n _this.actions.hover(dropTargetIds, {\n clientOffset: getEventClientOffset(e)\n });\n\n _this.actions.drop({\n dropEffect: _this.getCurrentDropEffect()\n });\n\n if (_this.isDraggingNativeItem()) {\n _this.endDragNativeItem();\n } else if (_this.monitor.isDragging()) {\n _this.actions.endDrag();\n }\n });\n\n _defineProperty(this, \"handleSelectStart\", function (e) {\n var target = e.target; // Only IE requires us to explicitly say\n // we want drag drop operation to start\n\n if (typeof target.dragDrop !== 'function') {\n return;\n } // Inputs and textareas should be selectable\n\n\n if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return;\n } // For other targets, ask IE\n // to enable drag and drop\n\n\n e.preventDefault();\n target.dragDrop();\n });\n\n this.options = new OptionsReader(globalContext, options);\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n this.enterLeaveCounter = new EnterLeaveCounter(this.isNodeInDocument);\n }\n /**\n * Generate profiling statistics for the HTML5Backend.\n */\n\n\n _createClass(HTML5BackendImpl, [{\n key: \"profile\",\n value: function profile() {\n var _this$dragStartSource, _this$dragOverTargetI;\n\n return {\n sourcePreviewNodes: this.sourcePreviewNodes.size,\n sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size,\n sourceNodeOptions: this.sourceNodeOptions.size,\n sourceNodes: this.sourceNodes.size,\n dragStartSourceIds: ((_this$dragStartSource = this.dragStartSourceIds) === null || _this$dragStartSource === void 0 ? void 0 : _this$dragStartSource.length) || 0,\n dropTargetIds: this.dropTargetIds.length,\n dragEnterTargetIds: this.dragEnterTargetIds.length,\n dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0\n };\n } // public for test\n\n }, {\n key: \"window\",\n get: function get() {\n return this.options.window;\n }\n }, {\n key: \"document\",\n get: function get() {\n return this.options.document;\n }\n /**\n * Get the root element to use for event subscriptions\n */\n\n }, {\n key: \"rootElement\",\n get: function get() {\n return this.options.rootElement;\n }\n }, {\n key: \"setup\",\n value: function setup() {\n var root = this.rootElement;\n\n if (root === undefined) {\n return;\n }\n\n if (root.__isReactDndBackendSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n\n root.__isReactDndBackendSetUp = true;\n this.addEventListeners(root);\n }\n }, {\n key: \"teardown\",\n value: function teardown() {\n var root = this.rootElement;\n\n if (root === undefined) {\n return;\n }\n\n root.__isReactDndBackendSetUp = false;\n this.removeEventListeners(this.rootElement);\n this.clearCurrentDragSourceNode();\n\n if (this.asyncEndDragFrameId) {\n var _this$window;\n\n (_this$window = this.window) === null || _this$window === void 0 ? void 0 : _this$window.cancelAnimationFrame(this.asyncEndDragFrameId);\n }\n }\n }, {\n key: \"connectDragPreview\",\n value: function connectDragPreview(sourceId, node, options) {\n var _this2 = this;\n\n this.sourcePreviewNodeOptions.set(sourceId, options);\n this.sourcePreviewNodes.set(sourceId, node);\n return function () {\n _this2.sourcePreviewNodes.delete(sourceId);\n\n _this2.sourcePreviewNodeOptions.delete(sourceId);\n };\n }\n }, {\n key: \"connectDragSource\",\n value: function connectDragSource(sourceId, node, options) {\n var _this3 = this;\n\n this.sourceNodes.set(sourceId, node);\n this.sourceNodeOptions.set(sourceId, options);\n\n var handleDragStart = function handleDragStart(e) {\n return _this3.handleDragStart(e, sourceId);\n };\n\n var handleSelectStart = function handleSelectStart(e) {\n return _this3.handleSelectStart(e);\n };\n\n node.setAttribute('draggable', 'true');\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n return function () {\n _this3.sourceNodes.delete(sourceId);\n\n _this3.sourceNodeOptions.delete(sourceId);\n\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', 'false');\n };\n }\n }, {\n key: \"connectDropTarget\",\n value: function connectDropTarget(targetId, node) {\n var _this4 = this;\n\n var handleDragEnter = function handleDragEnter(e) {\n return _this4.handleDragEnter(e, targetId);\n };\n\n var handleDragOver = function handleDragOver(e) {\n return _this4.handleDragOver(e, targetId);\n };\n\n var handleDrop = function handleDrop(e) {\n return _this4.handleDrop(e, targetId);\n };\n\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n return function () {\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners(target) {\n // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813\n if (!target.addEventListener) {\n return;\n }\n\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n }\n }, {\n key: \"removeEventListeners\",\n value: function removeEventListeners(target) {\n // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813\n if (!target.removeEventListener) {\n return;\n }\n\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n }\n }, {\n key: \"getCurrentSourceNodeOptions\",\n value: function getCurrentSourceNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourceNodeOptions = this.sourceNodeOptions.get(sourceId);\n return _objectSpread({\n dropEffect: this.altKeyPressed ? 'copy' : 'move'\n }, sourceNodeOptions || {});\n }\n }, {\n key: \"getCurrentDropEffect\",\n value: function getCurrentDropEffect() {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n\n return this.getCurrentSourceNodeOptions().dropEffect;\n }\n }, {\n key: \"getCurrentSourcePreviewNodeOptions\",\n value: function getCurrentSourcePreviewNodeOptions() {\n var sourceId = this.monitor.getSourceId();\n var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId);\n return _objectSpread({\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false\n }, sourcePreviewNodeOptions || {});\n }\n }, {\n key: \"isDraggingNativeItem\",\n value: function isDraggingNativeItem() {\n var itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some(function (key) {\n return NativeTypes[key] === itemType;\n });\n }\n }, {\n key: \"beginDragNativeItem\",\n value: function beginDragNativeItem(type, dataTransfer) {\n this.clearCurrentDragSourceNode();\n this.currentNativeSource = createNativeDragSource(type, dataTransfer);\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([this.currentNativeHandle]);\n }\n }, {\n key: \"setCurrentDragSourceNode\",\n value: function setCurrentDragSourceNode(node) {\n var _this5 = this;\n\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node; // A timeout of > 0 is necessary to resolve Firefox issue referenced\n // See:\n // * https://github.com/react-dnd/react-dnd/pull/928\n // * https://github.com/react-dnd/react-dnd/issues/869\n\n var MOUSE_MOVE_TIMEOUT = 1000; // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n //\n // We need to wait before we start listening for mousemove events.\n // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event\n // immediately in some browsers.\n //\n // See:\n // * https://github.com/react-dnd/react-dnd/pull/928\n // * https://github.com/react-dnd/react-dnd/issues/869\n //\n\n this.mouseMoveTimeoutTimer = setTimeout(function () {\n var _this5$rootElement;\n\n return (_this5$rootElement = _this5.rootElement) === null || _this5$rootElement === void 0 ? void 0 : _this5$rootElement.addEventListener('mousemove', _this5.endDragIfSourceWasRemovedFromDOM, true);\n }, MOUSE_MOVE_TIMEOUT);\n }\n }, {\n key: \"clearCurrentDragSourceNode\",\n value: function clearCurrentDragSourceNode() {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n\n if (this.rootElement) {\n var _this$window2;\n\n (_this$window2 = this.window) === null || _this$window2 === void 0 ? void 0 : _this$window2.clearTimeout(this.mouseMoveTimeoutTimer || undefined);\n this.rootElement.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n }\n\n this.mouseMoveTimeoutTimer = null;\n return true;\n }\n\n return false;\n }\n }, {\n key: \"handleDragStart\",\n value: function handleDragStart(e, sourceId) {\n if (e.defaultPrevented) {\n return;\n }\n\n if (!this.dragStartSourceIds) {\n this.dragStartSourceIds = [];\n }\n\n this.dragStartSourceIds.unshift(sourceId);\n }\n }, {\n key: \"handleDragEnter\",\n value: function handleDragEnter(e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n }\n }, {\n key: \"handleDragOver\",\n value: function handleDragOver(e, targetId) {\n if (this.dragOverTargetIds === null) {\n this.dragOverTargetIds = [];\n }\n\n this.dragOverTargetIds.unshift(targetId);\n }\n }, {\n key: \"handleDrop\",\n value: function handleDrop(e, targetId) {\n this.dropTargetIds.unshift(targetId);\n }\n }]);\n\n return HTML5BackendImpl;\n}();","export var ListenerType;\n\n(function (ListenerType) {\n ListenerType[\"mouse\"] = \"mouse\";\n ListenerType[\"touch\"] = \"touch\";\n ListenerType[\"keyboard\"] = \"keyboard\";\n})(ListenerType || (ListenerType = {}));","import { HTML5BackendImpl } from './HTML5BackendImpl';\nimport * as NativeTypes from './NativeTypes';\nexport { getEmptyImage } from './getEmptyImage';\nexport { NativeTypes };\nexport var HTML5Backend = function createBackend(manager, context, options) {\n return new HTML5BackendImpl(manager, context, options);\n};","// Used for MouseEvent.buttons (note the s on the end).\nvar MouseButtons = {\n Left: 1,\n Right: 2,\n Center: 4\n}; // Used for e.button (note the lack of an s on the end).\n\nvar MouseButton = {\n Left: 0,\n Center: 1,\n Right: 2\n};\n/**\n * Only touch events and mouse events where the left button is pressed should initiate a drag.\n * @param {MouseEvent | TouchEvent} e The event\n */\n\nexport function eventShouldStartDrag(e) {\n // For touch events, button will be undefined. If e.button is defined,\n // then it should be MouseButton.Left.\n return e.button === undefined || e.button === MouseButton.Left;\n}\n/**\n * Only touch events and mouse events where the left mouse button is no longer held should end a drag.\n * It's possible the user mouse downs with the left mouse button, then mouse down and ups with the right mouse button.\n * We don't want releasing the right mouse button to end the drag.\n * @param {MouseEvent | TouchEvent} e The event\n */\n\nexport function eventShouldEndDrag(e) {\n // Touch events will have buttons be undefined, while mouse events will have e.buttons's left button\n // bit field unset if the left mouse button has been released\n return e.buttons === undefined || (e.buttons & MouseButtons.Left) === 0;\n}\nexport function isTouchEvent(e) {\n return !!e.targetTouches;\n}","import { isTouchEvent } from './predicates';\nvar ELEMENT_NODE = 1;\nexport function getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n\n if (!el) {\n return undefined;\n }\n\n var _el$getBoundingClient = el.getBoundingClientRect(),\n top = _el$getBoundingClient.top,\n left = _el$getBoundingClient.left;\n\n return {\n x: left,\n y: top\n };\n}\nexport function getEventClientTouchOffset(e, lastTargetTouchFallback) {\n if (e.targetTouches.length === 1) {\n return getEventClientOffset(e.targetTouches[0]);\n } else if (lastTargetTouchFallback && e.touches.length === 1) {\n if (e.touches[0].target === lastTargetTouchFallback.target) {\n return getEventClientOffset(e.touches[0]);\n }\n }\n}\nexport function getEventClientOffset(e, lastTargetTouchFallback) {\n if (isTouchEvent(e)) {\n return getEventClientTouchOffset(e, lastTargetTouchFallback);\n } else {\n return {\n x: e.clientX,\n y: e.clientY\n };\n }\n}","export var supportsPassive = function () {\n // simular to jQuery's test\n var supported = false;\n\n try {\n addEventListener('test', function () {// do nothing\n }, Object.defineProperty({}, 'passive', {\n get: function get() {\n supported = true;\n return true;\n }\n }));\n } catch (e) {// do nothing\n }\n\n return supported;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexport var OptionsReader = /*#__PURE__*/function () {\n function OptionsReader(args, context) {\n _classCallCheck(this, OptionsReader);\n\n _defineProperty(this, \"args\", void 0);\n\n _defineProperty(this, \"context\", void 0);\n\n this.args = args;\n this.context = context;\n }\n\n _createClass(OptionsReader, [{\n key: \"delay\",\n get: function get() {\n var _this$args$delay;\n\n return (_this$args$delay = this.args.delay) !== null && _this$args$delay !== void 0 ? _this$args$delay : 0;\n }\n }, {\n key: \"scrollAngleRanges\",\n get: function get() {\n return this.args.scrollAngleRanges;\n }\n }, {\n key: \"getDropTargetElementsAtPoint\",\n get: function get() {\n return this.args.getDropTargetElementsAtPoint;\n }\n }, {\n key: \"ignoreContextMenu\",\n get: function get() {\n var _this$args$ignoreCont;\n\n return (_this$args$ignoreCont = this.args.ignoreContextMenu) !== null && _this$args$ignoreCont !== void 0 ? _this$args$ignoreCont : false;\n }\n }, {\n key: \"enableHoverOutsideTarget\",\n get: function get() {\n var _this$args$enableHove;\n\n return (_this$args$enableHove = this.args.enableHoverOutsideTarget) !== null && _this$args$enableHove !== void 0 ? _this$args$enableHove : false;\n }\n }, {\n key: \"enableKeyboardEvents\",\n get: function get() {\n var _this$args$enableKeyb;\n\n return (_this$args$enableKeyb = this.args.enableKeyboardEvents) !== null && _this$args$enableKeyb !== void 0 ? _this$args$enableKeyb : false;\n }\n }, {\n key: \"enableMouseEvents\",\n get: function get() {\n var _this$args$enableMous;\n\n return (_this$args$enableMous = this.args.enableMouseEvents) !== null && _this$args$enableMous !== void 0 ? _this$args$enableMous : false;\n }\n }, {\n key: \"enableTouchEvents\",\n get: function get() {\n var _this$args$enableTouc;\n\n return (_this$args$enableTouc = this.args.enableTouchEvents) !== null && _this$args$enableTouc !== void 0 ? _this$args$enableTouc : true;\n }\n }, {\n key: \"touchSlop\",\n get: function get() {\n return this.args.touchSlop || 0;\n }\n }, {\n key: \"delayTouchStart\",\n get: function get() {\n var _ref, _this$args$delayTouch, _this$args, _this$args2;\n\n return (_ref = (_this$args$delayTouch = (_this$args = this.args) === null || _this$args === void 0 ? void 0 : _this$args.delayTouchStart) !== null && _this$args$delayTouch !== void 0 ? _this$args$delayTouch : (_this$args2 = this.args) === null || _this$args2 === void 0 ? void 0 : _this$args2.delay) !== null && _ref !== void 0 ? _ref : 0;\n }\n }, {\n key: \"delayMouseStart\",\n get: function get() {\n var _ref2, _this$args$delayMouse, _this$args3, _this$args4;\n\n return (_ref2 = (_this$args$delayMouse = (_this$args3 = this.args) === null || _this$args3 === void 0 ? void 0 : _this$args3.delayMouseStart) !== null && _this$args$delayMouse !== void 0 ? _this$args$delayMouse : (_this$args4 = this.args) === null || _this$args4 === void 0 ? void 0 : _this$args4.delay) !== null && _ref2 !== void 0 ? _ref2 : 0;\n }\n }, {\n key: \"window\",\n get: function get() {\n if (this.context && this.context.window) {\n return this.context.window;\n } else if (typeof window !== 'undefined') {\n return window;\n }\n\n return undefined;\n }\n }, {\n key: \"document\",\n get: function get() {\n var _this$context;\n\n if ((_this$context = this.context) !== null && _this$context !== void 0 && _this$context.document) {\n return this.context.document;\n }\n\n if (this.window) {\n return this.window.document;\n }\n\n return undefined;\n }\n }, {\n key: \"rootElement\",\n get: function get() {\n var _this$args5;\n\n return ((_this$args5 = this.args) === null || _this$args5 === void 0 ? void 0 : _this$args5.rootElement) || this.document;\n }\n }]);\n\n return OptionsReader;\n}();","var _eventNames;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { ListenerType } from './interfaces';\nimport { eventShouldStartDrag, eventShouldEndDrag, isTouchEvent } from './utils/predicates';\nimport { getEventClientOffset, getNodeClientOffset } from './utils/offsets';\nimport { distance, inAngleRanges } from './utils/math';\nimport { supportsPassive } from './utils/supportsPassive';\nimport { OptionsReader } from './OptionsReader';\nvar eventNames = (_eventNames = {}, _defineProperty(_eventNames, ListenerType.mouse, {\n start: 'mousedown',\n move: 'mousemove',\n end: 'mouseup',\n contextmenu: 'contextmenu'\n}), _defineProperty(_eventNames, ListenerType.touch, {\n start: 'touchstart',\n move: 'touchmove',\n end: 'touchend'\n}), _defineProperty(_eventNames, ListenerType.keyboard, {\n keydown: 'keydown'\n}), _eventNames);\nexport var TouchBackendImpl = /*#__PURE__*/function () {\n // React-DnD Dependencies\n // Internal State\n // Patch for iOS 13, discussion over #1585\n function TouchBackendImpl(manager, context, options) {\n var _this = this;\n\n _classCallCheck(this, TouchBackendImpl);\n\n _defineProperty(this, \"options\", void 0);\n\n _defineProperty(this, \"actions\", void 0);\n\n _defineProperty(this, \"monitor\", void 0);\n\n _defineProperty(this, \"sourceNodes\", void 0);\n\n _defineProperty(this, \"sourcePreviewNodes\", void 0);\n\n _defineProperty(this, \"sourcePreviewNodeOptions\", void 0);\n\n _defineProperty(this, \"targetNodes\", void 0);\n\n _defineProperty(this, \"_mouseClientOffset\", void 0);\n\n _defineProperty(this, \"_isScrolling\", void 0);\n\n _defineProperty(this, \"listenerTypes\", void 0);\n\n _defineProperty(this, \"moveStartSourceIds\", void 0);\n\n _defineProperty(this, \"waitingForDelay\", void 0);\n\n _defineProperty(this, \"timeout\", void 0);\n\n _defineProperty(this, \"dragOverTargetIds\", void 0);\n\n _defineProperty(this, \"draggedSourceNode\", void 0);\n\n _defineProperty(this, \"draggedSourceNodeRemovalObserver\", void 0);\n\n _defineProperty(this, \"lastTargetTouchFallback\", void 0);\n\n _defineProperty(this, \"getSourceClientOffset\", function (sourceId) {\n var element = _this.sourceNodes.get(sourceId);\n\n return element && getNodeClientOffset(element);\n });\n\n _defineProperty(this, \"handleTopMoveStartCapture\", function (e) {\n if (!eventShouldStartDrag(e)) {\n return;\n }\n\n _this.moveStartSourceIds = [];\n });\n\n _defineProperty(this, \"handleMoveStart\", function (sourceId) {\n // Just because we received an event doesn't necessarily mean we need to collect drag sources.\n // We only collect start collecting drag sources on touch and left mouse events.\n if (Array.isArray(_this.moveStartSourceIds)) {\n _this.moveStartSourceIds.unshift(sourceId);\n }\n });\n\n _defineProperty(this, \"handleTopMoveStart\", function (e) {\n if (!eventShouldStartDrag(e)) {\n return;\n } // Don't prematurely preventDefault() here since it might:\n // 1. Mess up scrolling\n // 2. Mess up long tap (which brings up context menu)\n // 3. If there's an anchor link as a child, tap won't be triggered on link\n\n\n var clientOffset = getEventClientOffset(e);\n\n if (clientOffset) {\n if (isTouchEvent(e)) {\n _this.lastTargetTouchFallback = e.targetTouches[0];\n }\n\n _this._mouseClientOffset = clientOffset;\n }\n\n _this.waitingForDelay = false;\n });\n\n _defineProperty(this, \"handleTopMoveStartDelay\", function (e) {\n if (!eventShouldStartDrag(e)) {\n return;\n }\n\n var delay = e.type === eventNames.touch.start ? _this.options.delayTouchStart : _this.options.delayMouseStart;\n _this.timeout = setTimeout(_this.handleTopMoveStart.bind(_this, e), delay);\n _this.waitingForDelay = true;\n });\n\n _defineProperty(this, \"handleTopMoveCapture\", function () {\n _this.dragOverTargetIds = [];\n });\n\n _defineProperty(this, \"handleMove\", function (_evt, targetId) {\n if (_this.dragOverTargetIds) {\n _this.dragOverTargetIds.unshift(targetId);\n }\n });\n\n _defineProperty(this, \"handleTopMove\", function (e) {\n if (_this.timeout) {\n clearTimeout(_this.timeout);\n }\n\n if (!_this.document || _this.waitingForDelay) {\n return;\n }\n\n var moveStartSourceIds = _this.moveStartSourceIds,\n dragOverTargetIds = _this.dragOverTargetIds;\n var enableHoverOutsideTarget = _this.options.enableHoverOutsideTarget;\n var clientOffset = getEventClientOffset(e, _this.lastTargetTouchFallback);\n\n if (!clientOffset) {\n return;\n } // If the touch move started as a scroll, or is is between the scroll angles\n\n\n if (_this._isScrolling || !_this.monitor.isDragging() && inAngleRanges(_this._mouseClientOffset.x || 0, _this._mouseClientOffset.y || 0, clientOffset.x, clientOffset.y, _this.options.scrollAngleRanges)) {\n _this._isScrolling = true;\n return;\n } // If we're not dragging and we've moved a little, that counts as a drag start\n\n\n if (!_this.monitor.isDragging() && // eslint-disable-next-line no-prototype-builtins\n _this._mouseClientOffset.hasOwnProperty('x') && moveStartSourceIds && distance(_this._mouseClientOffset.x || 0, _this._mouseClientOffset.y || 0, clientOffset.x, clientOffset.y) > (_this.options.touchSlop ? _this.options.touchSlop : 0)) {\n _this.moveStartSourceIds = undefined;\n\n _this.actions.beginDrag(moveStartSourceIds, {\n clientOffset: _this._mouseClientOffset,\n getSourceClientOffset: _this.getSourceClientOffset,\n publishSource: false\n });\n }\n\n if (!_this.monitor.isDragging()) {\n return;\n }\n\n var sourceNode = _this.sourceNodes.get(_this.monitor.getSourceId());\n\n _this.installSourceNodeRemovalObserver(sourceNode);\n\n _this.actions.publishDragSource();\n\n if (e.cancelable) e.preventDefault(); // Get the node elements of the hovered DropTargets\n\n var dragOverTargetNodes = (dragOverTargetIds || []).map(function (key) {\n return _this.targetNodes.get(key);\n }).filter(function (e) {\n return !!e;\n }); // Get the a ordered list of nodes that are touched by\n\n var elementsAtPoint = _this.options.getDropTargetElementsAtPoint ? _this.options.getDropTargetElementsAtPoint(clientOffset.x, clientOffset.y, dragOverTargetNodes) : _this.document.elementsFromPoint(clientOffset.x, clientOffset.y); // Extend list with parents that are not receiving elementsFromPoint events (size 0 elements and svg groups)\n\n var elementsAtPointExtended = [];\n\n for (var nodeId in elementsAtPoint) {\n // eslint-disable-next-line no-prototype-builtins\n if (!elementsAtPoint.hasOwnProperty(nodeId)) {\n continue;\n }\n\n var currentNode = elementsAtPoint[nodeId];\n elementsAtPointExtended.push(currentNode);\n\n while (currentNode) {\n currentNode = currentNode.parentElement;\n\n if (currentNode && elementsAtPointExtended.indexOf(currentNode) === -1) {\n elementsAtPointExtended.push(currentNode);\n }\n }\n }\n\n var orderedDragOverTargetIds = elementsAtPointExtended // Filter off nodes that arent a hovered DropTargets nodes\n .filter(function (node) {\n return dragOverTargetNodes.indexOf(node) > -1;\n }) // Map back the nodes elements to targetIds\n .map(function (node) {\n return _this._getDropTargetId(node);\n }) // Filter off possible null rows\n .filter(function (node) {\n return !!node;\n }).filter(function (id, index, ids) {\n return ids.indexOf(id) === index;\n }); // Invoke hover for drop targets when source node is still over and pointer is outside\n\n if (enableHoverOutsideTarget) {\n for (var targetId in _this.targetNodes) {\n var targetNode = _this.targetNodes.get(targetId);\n\n if (sourceNode && targetNode && targetNode.contains(sourceNode) && orderedDragOverTargetIds.indexOf(targetId) === -1) {\n orderedDragOverTargetIds.unshift(targetId);\n break;\n }\n }\n } // Reverse order because dnd-core reverse it before calling the DropTarget drop methods\n\n\n orderedDragOverTargetIds.reverse();\n\n _this.actions.hover(orderedDragOverTargetIds, {\n clientOffset: clientOffset\n });\n });\n\n _defineProperty(this, \"_getDropTargetId\", function (node) {\n var keys = _this.targetNodes.keys();\n\n var next = keys.next();\n\n while (next.done === false) {\n var targetId = next.value;\n\n if (node === _this.targetNodes.get(targetId)) {\n return targetId;\n } else {\n next = keys.next();\n }\n }\n\n return undefined;\n });\n\n _defineProperty(this, \"handleTopMoveEndCapture\", function (e) {\n _this._isScrolling = false;\n _this.lastTargetTouchFallback = undefined;\n\n if (!eventShouldEndDrag(e)) {\n return;\n }\n\n if (!_this.monitor.isDragging() || _this.monitor.didDrop()) {\n _this.moveStartSourceIds = undefined;\n return;\n }\n\n if (e.cancelable) e.preventDefault();\n _this._mouseClientOffset = {};\n\n _this.uninstallSourceNodeRemovalObserver();\n\n _this.actions.drop();\n\n _this.actions.endDrag();\n });\n\n _defineProperty(this, \"handleCancelOnEscape\", function (e) {\n if (e.key === 'Escape' && _this.monitor.isDragging()) {\n _this._mouseClientOffset = {};\n\n _this.uninstallSourceNodeRemovalObserver();\n\n _this.actions.endDrag();\n }\n });\n\n this.options = new OptionsReader(options, context);\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.sourceNodes = new Map();\n this.sourcePreviewNodes = new Map();\n this.sourcePreviewNodeOptions = new Map();\n this.targetNodes = new Map();\n this.listenerTypes = [];\n this._mouseClientOffset = {};\n this._isScrolling = false;\n\n if (this.options.enableMouseEvents) {\n this.listenerTypes.push(ListenerType.mouse);\n }\n\n if (this.options.enableTouchEvents) {\n this.listenerTypes.push(ListenerType.touch);\n }\n\n if (this.options.enableKeyboardEvents) {\n this.listenerTypes.push(ListenerType.keyboard);\n }\n }\n /**\n * Generate profiling statistics for the HTML5Backend.\n */\n\n\n _createClass(TouchBackendImpl, [{\n key: \"profile\",\n value: function profile() {\n var _this$dragOverTargetI;\n\n return {\n sourceNodes: this.sourceNodes.size,\n sourcePreviewNodes: this.sourcePreviewNodes.size,\n sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size,\n targetNodes: this.targetNodes.size,\n dragOverTargetIds: ((_this$dragOverTargetI = this.dragOverTargetIds) === null || _this$dragOverTargetI === void 0 ? void 0 : _this$dragOverTargetI.length) || 0\n };\n } // public for test\n\n }, {\n key: \"document\",\n get: function get() {\n return this.options.document;\n }\n }, {\n key: \"setup\",\n value: function setup() {\n var root = this.options.rootElement;\n\n if (!root) {\n return;\n }\n\n invariant(!TouchBackendImpl.isSetUp, 'Cannot have two Touch backends at the same time.');\n TouchBackendImpl.isSetUp = true;\n this.addEventListener(root, 'start', this.getTopMoveStartHandler());\n this.addEventListener(root, 'start', this.handleTopMoveStartCapture, true);\n this.addEventListener(root, 'move', this.handleTopMove);\n this.addEventListener(root, 'move', this.handleTopMoveCapture, true);\n this.addEventListener(root, 'end', this.handleTopMoveEndCapture, true);\n\n if (this.options.enableMouseEvents && !this.options.ignoreContextMenu) {\n this.addEventListener(root, 'contextmenu', this.handleTopMoveEndCapture);\n }\n\n if (this.options.enableKeyboardEvents) {\n this.addEventListener(root, 'keydown', this.handleCancelOnEscape, true);\n }\n }\n }, {\n key: \"teardown\",\n value: function teardown() {\n var root = this.options.rootElement;\n\n if (!root) {\n return;\n }\n\n TouchBackendImpl.isSetUp = false;\n this._mouseClientOffset = {};\n this.removeEventListener(root, 'start', this.handleTopMoveStartCapture, true);\n this.removeEventListener(root, 'start', this.handleTopMoveStart);\n this.removeEventListener(root, 'move', this.handleTopMoveCapture, true);\n this.removeEventListener(root, 'move', this.handleTopMove);\n this.removeEventListener(root, 'end', this.handleTopMoveEndCapture, true);\n\n if (this.options.enableMouseEvents && !this.options.ignoreContextMenu) {\n this.removeEventListener(root, 'contextmenu', this.handleTopMoveEndCapture);\n }\n\n if (this.options.enableKeyboardEvents) {\n this.removeEventListener(root, 'keydown', this.handleCancelOnEscape, true);\n }\n\n this.uninstallSourceNodeRemovalObserver();\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(subject, event, handler, capture) {\n var options = supportsPassive ? {\n capture: capture,\n passive: false\n } : capture;\n this.listenerTypes.forEach(function (listenerType) {\n var evt = eventNames[listenerType][event];\n\n if (evt) {\n subject.addEventListener(evt, handler, options);\n }\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(subject, event, handler, capture) {\n var options = supportsPassive ? {\n capture: capture,\n passive: false\n } : capture;\n this.listenerTypes.forEach(function (listenerType) {\n var evt = eventNames[listenerType][event];\n\n if (evt) {\n subject.removeEventListener(evt, handler, options);\n }\n });\n }\n }, {\n key: \"connectDragSource\",\n value: function connectDragSource(sourceId, node) {\n var _this2 = this;\n\n var handleMoveStart = this.handleMoveStart.bind(this, sourceId);\n this.sourceNodes.set(sourceId, node);\n this.addEventListener(node, 'start', handleMoveStart);\n return function () {\n _this2.sourceNodes.delete(sourceId);\n\n _this2.removeEventListener(node, 'start', handleMoveStart);\n };\n }\n }, {\n key: \"connectDragPreview\",\n value: function connectDragPreview(sourceId, node, options) {\n var _this3 = this;\n\n this.sourcePreviewNodeOptions.set(sourceId, options);\n this.sourcePreviewNodes.set(sourceId, node);\n return function () {\n _this3.sourcePreviewNodes.delete(sourceId);\n\n _this3.sourcePreviewNodeOptions.delete(sourceId);\n };\n }\n }, {\n key: \"connectDropTarget\",\n value: function connectDropTarget(targetId, node) {\n var _this4 = this;\n\n var root = this.options.rootElement;\n\n if (!this.document || !root) {\n return function () {\n /* noop */\n };\n }\n\n var handleMove = function handleMove(e) {\n if (!_this4.document || !root || !_this4.monitor.isDragging()) {\n return;\n }\n\n var coords;\n /**\n * Grab the coordinates for the current mouse/touch position\n */\n\n switch (e.type) {\n case eventNames.mouse.move:\n coords = {\n x: e.clientX,\n y: e.clientY\n };\n break;\n\n case eventNames.touch.move:\n coords = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY\n };\n break;\n }\n /**\n * Use the coordinates to grab the element the drag ended on.\n * If the element is the same as the target node (or any of it's children) then we have hit a drop target and can handle the move.\n */\n\n\n var droppedOn = coords != null ? _this4.document.elementFromPoint(coords.x, coords.y) : undefined;\n var childMatch = droppedOn && node.contains(droppedOn);\n\n if (droppedOn === node || childMatch) {\n return _this4.handleMove(e, targetId);\n }\n };\n /**\n * Attaching the event listener to the body so that touchmove will work while dragging over multiple target elements.\n */\n\n\n this.addEventListener(this.document.body, 'move', handleMove);\n this.targetNodes.set(targetId, node);\n return function () {\n if (_this4.document) {\n _this4.targetNodes.delete(targetId);\n\n _this4.removeEventListener(_this4.document.body, 'move', handleMove);\n }\n };\n }\n }, {\n key: \"getTopMoveStartHandler\",\n value: function getTopMoveStartHandler() {\n if (!this.options.delayTouchStart && !this.options.delayMouseStart) {\n return this.handleTopMoveStart;\n }\n\n return this.handleTopMoveStartDelay;\n }\n }, {\n key: \"installSourceNodeRemovalObserver\",\n value: function installSourceNodeRemovalObserver(node) {\n var _this5 = this;\n\n this.uninstallSourceNodeRemovalObserver();\n this.draggedSourceNode = node;\n this.draggedSourceNodeRemovalObserver = new MutationObserver(function () {\n if (node && !node.parentElement) {\n _this5.resurrectSourceNode();\n\n _this5.uninstallSourceNodeRemovalObserver();\n }\n });\n\n if (!node || !node.parentElement) {\n return;\n }\n\n this.draggedSourceNodeRemovalObserver.observe(node.parentElement, {\n childList: true\n });\n }\n }, {\n key: \"resurrectSourceNode\",\n value: function resurrectSourceNode() {\n if (this.document && this.draggedSourceNode) {\n this.draggedSourceNode.style.display = 'none';\n this.draggedSourceNode.removeAttribute('data-reactid');\n this.document.body.appendChild(this.draggedSourceNode);\n }\n }\n }, {\n key: \"uninstallSourceNodeRemovalObserver\",\n value: function uninstallSourceNodeRemovalObserver() {\n if (this.draggedSourceNodeRemovalObserver) {\n this.draggedSourceNodeRemovalObserver.disconnect();\n }\n\n this.draggedSourceNodeRemovalObserver = undefined;\n this.draggedSourceNode = undefined;\n }\n }]);\n\n return TouchBackendImpl;\n}();\n\n_defineProperty(TouchBackendImpl, \"isSetUp\", void 0);","export function distance(x1, y1, x2, y2) {\n return Math.sqrt(Math.pow(Math.abs(x2 - x1), 2) + Math.pow(Math.abs(y2 - y1), 2));\n}\nexport function inAngleRanges(x1, y1, x2, y2, angleRanges) {\n if (!angleRanges) {\n return false;\n }\n\n var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI + 180;\n\n for (var i = 0; i < angleRanges.length; ++i) {\n if ((angleRanges[i].start == null || angle >= angleRanges[i].start) && (angleRanges[i].end == null || angle <= angleRanges[i].end)) {\n return true;\n }\n }\n\n return false;\n}","import { TouchBackendImpl } from './TouchBackendImpl';\nexport * from './interfaces';\nexport * from './TouchBackendImpl';\nexport var TouchBackend = function createBackend(manager) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return new TouchBackendImpl(manager, context, options);\n};","import { isTouchDevice } from \"../util\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { TouchBackend } from \"react-dnd-touch-backend\";\n\nexport const DndBackend = isTouchDevice() ? TouchBackend : HTML5Backend;\nexport const featurePreview = DndBackend === HTML5Backend;\n","import React, { MouseEvent } from \"react\";\n\ninterface BlockToolbarButtonProps {\n icon: string;\n label?: string;\n isActive?: boolean;\n onClick: (event: MouseEvent) => void;\n}\n\nconst BlockToolbarButton: React.FC = ({\n icon,\n label,\n isActive,\n onClick,\n}: BlockToolbarButtonProps) => {\n label = label || \"\";\n\n return (\n \n \n \n );\n};\n\nexport default BlockToolbarButton;\n","import React, { ReactNode } from \"react\";\nimport { CSSTransition } from \"react-transition-group\";\n\ninterface BlockConfigPanelProps {\n children?: ReactNode;\n in: boolean;\n id?: string;\n className?: string;\n}\n\nconst PANEL_CLASS_NAME = \"mt-be-block-config-panel\";\n\nconst BlockConfigPanel: React.FC = (\n props: BlockConfigPanelProps\n) => {\n let className = PANEL_CLASS_NAME;\n if (props.className) {\n className += ` ${props.className}`;\n }\n\n return (\n \n
\n {props.children}\n
\n \n );\n};\n\nexport default BlockConfigPanel;\n","import { t } from \"../i18n\";\nimport React, { useState, useCallback, MouseEvent } from \"react\";\nimport type { Editor as EditorType } from \"../Editor\";\nimport Block, {\n NewFromHtmlOptions,\n EditorOptions,\n SerializeOptions,\n HasBlocks,\n NewOptions,\n} from \"../Block\";\nimport Column from \"./Column\";\nimport { useEditorContext } from \"../Context\";\nimport {\n parseContent,\n NO_BLOCK_TYPE_FALLBACK,\n escapeSingleQuoteAttribute,\n} from \"../util\";\nimport icon from \"../img/icon/columns.svg\";\nimport BlockToolbar from \"../Component/BlockToolbar\";\nimport BlockToolbarButton from \"../Component/BlockToolbarButton\";\nimport BlockConfigPanel from \"../Component/BlockConfigPanel\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\n\ninterface EditorProps extends EditorOptions {\n block: Columns;\n}\n\nconst getSelectableColumns = (\n editor: EditorType\n): {\n selectableColumns: number[];\n defaultColumns: number;\n} => {\n const opts = editor.opts.block[\"core-columns\"] || {};\n const selectableColumns = Array.isArray(opts.selectableColumns)\n ? opts.selectableColumns\n : [2, 3, 4];\n return {\n selectableColumns,\n defaultColumns: opts.defaultColumns || selectableColumns[0] || 2,\n };\n};\n\nconst Editor: React.FC = ({\n block,\n focus,\n focusBlock,\n canRemove,\n}: EditorProps) => {\n const { editor } = useEditorContext();\n const { selectableColumns } = getSelectableColumns(editor);\n\n const [showConfigPanel, setConfigPanel] = useState(false);\n const toggleConfigPanel = useCallback(() => {\n setConfigPanel((prev) => !prev);\n }, []);\n\n const changeLayout = useCallback((ev: MouseEvent) => {\n const inputEl = ev.currentTarget.querySelector(\"input\");\n if (!inputEl) {\n throw \"error\";\n }\n\n const layout = inputEl.value;\n if (layout === block.getColumnLayout()) {\n return;\n }\n\n const cols = parseInt(layout);\n const len = block.blocks.length;\n\n editor.editManager.beginGrouping();\n\n if (len < cols) {\n for (let i = len; i < cols; i++) {\n editor.addBlock(block, block.newColumn(), i);\n }\n } else {\n for (let i = len - cols; i > 0; i--) {\n editor.removeBlock(block, block.blocks[block.blocks.length - 1]);\n }\n }\n\n editor.editManager.endGrouping();\n\n setConfigPanel(false);\n }, []);\n\n const curLayout = block.getColumnLayout();\n return (\n <>\n \n
\n {block.blocks.map((c) => c.editor({ focus, focusBlock, canRemove }))}\n
\n {selectableColumns.length > 1 && focus && canRemove && (\n \n \n \n )}\n \n
    \n {selectableColumns.map((columns: number) => {\n const columnString = columns.toString();\n return (\n
  • \n \n
  • \n );\n })}\n
\n
\n \n );\n};\n\nclass Columns extends Block implements HasBlocks {\n public static typeId = \"core-columns\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Columns\");\n }\n\n public blocks: Column[];\n\n public constructor(init?: Partial) {\n super();\n this.blocks = [this.newColumn(), this.newColumn()];\n if (init) {\n Object.assign(this, init);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n static async new(opts: NewOptions): Promise {\n const block = (await super.new(opts)) as Columns;\n const { defaultColumns } = getSelectableColumns(opts.editor);\n block.blocks = Array(defaultColumns)\n .fill(null)\n .map(() => block.newColumn());\n return block;\n }\n\n public newColumn(): Column {\n return new Column({ showShortcuts: false });\n }\n\n public getColumnLayout(): string {\n return `${this.blocks.length}`;\n }\n\n public childBlocks(): Block[] {\n return this.blocks;\n }\n\n public editor({ focus, focusBlock, canRemove }: EditorOptions): JSX.Element {\n return (\n \n );\n }\n\n public html(): string {\n return `
${this.blocks\n .map((c) => c.htmlString())\n .join(\"\")}
`;\n }\n\n public async serialize(opts: SerializeOptions): Promise {\n const m = opts.editor.serializeMeta(this, opts.external);\n const serializedColumns = await Promise.all(\n this.blocks.map((c) => c.serialize(opts))\n );\n return `
${serializedColumns.join(\n \"\"\n )}
`;\n }\n\n public static async newFromHtml({\n node,\n factory,\n meta,\n context,\n }: NewFromHtmlOptions): Promise {\n const blocks = (await parseContent(\n node.innerHTML,\n factory,\n context,\n NO_BLOCK_TYPE_FALLBACK\n )) as Column[];\n blocks.forEach((b) => (b.showShortcuts = false));\n return new Columns(Object.assign({ blocks }, meta));\n }\n}\n\nexport default Columns;\n","import React, { memo } from \"react\";\nimport { useEditorContext, useBlocksContext } from \"../Context\";\nimport { findDescendantBlocks } from \"../util\";\n\nconst RemoveButton: React.FC = memo(function RemoveButton() {\n const { editor, getFocusedIds } = useEditorContext();\n const { removeBlock } = useBlocksContext();\n\n return (\n {\n ev.stopPropagation();\n\n const blocks = findDescendantBlocks(editor, getFocusedIds());\n editor.editManager.beginGrouping();\n blocks.forEach((block) => removeBlock(block));\n editor.editManager.endGrouping();\n }}\n />\n );\n});\n\nexport default RemoveButton;\n","/*\n * Got a lots of codes from examples of react-dnd.\n * http://react-dnd.github.io/react-dnd/examples\n */\n\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n createRef,\n CSSProperties,\n} from \"react\";\nimport root from \"react-shadow\";\n\nimport { useDrag, useDrop, DropTargetMonitor } from \"react-dnd\";\nimport { featurePreview } from \"./DndBackend\";\nimport { XYCoord } from \"dnd-core\";\n\nimport {\n useEditorContext,\n useBlocksContext,\n BlockContext,\n useBlockContext,\n} from \"../Context\";\nimport { StylesheetType } from \"../Editor\";\nimport type Editor from \"../Editor\";\nimport Block from \"../Block\";\nimport Columns from \"../Block/Columns\";\nimport Column from \"../Block/Column\";\nimport AddButton from \"./AddButton\";\nimport RemoveButton from \"./RemoveButton\";\nimport BlockToolbar from \"./BlockToolbar\";\nimport BlockCommandPanel from \"./BlockCommandPanel\";\nimport {\n findDescendantBlocks,\n getBlocksByRange,\n isNarrowScreen,\n isPassThroughNativeEvent,\n} from \"../util\";\n\ninterface DragObject {\n index: number;\n id: string;\n type: string;\n}\n\ninterface Props {\n block: Block;\n focus?: boolean;\n skipFocusDefault?: boolean;\n focusBlock?: boolean;\n ignoreClickEvent?: boolean;\n id: string;\n index: number;\n canRemove: boolean;\n showButton: boolean;\n parentBlock?: Block;\n}\n\nconst DefaultToolbar: React.FC = () => {\n const { rendered } = useBlockContext();\n\n if (rendered) {\n return null;\n }\n\n return ;\n};\n\ninterface StylesheetsProps {\n editor: Editor;\n}\n\nconst Stylesheets: React.FC = memo(function Stylesheets({\n editor,\n}: StylesheetsProps) {\n return (\n <>\n {editor.stylesheets.map((s, i) => {\n if (s.type === StylesheetType.css) {\n return (\n \n );\n } else {\n return ;\n }\n })}\n \n );\n});\n\nconst BlockItem: React.FC = ({\n id,\n block,\n focus,\n skipFocusDefault,\n focusBlock,\n ignoreClickEvent,\n index,\n canRemove,\n showButton,\n parentBlock,\n}: Props) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { swapBlocks } = blocksContext;\n const { editor, getFocusedIds, setFocusedIds } = editorContext;\n const focusedIds = getFocusedIds();\n const b = block;\n const i = index;\n\n const focusLeader = focusedIds[0] === block.id;\n if (focus === undefined) {\n focus = focusLeader && focusedIds.length === 1;\n }\n\n const [isCommandPanelShown, setCommandPanelShown] = useState(false);\n const toggleCommandPanelShown = useCallback(() => {\n setCommandPanelShown((prev) => !prev);\n block.focusEditor();\n }, []);\n if (!(focus || focusLeader) && isCommandPanelShown) {\n setCommandPanelShown(false);\n }\n\n const ref = useRef(null);\n block.wrapperRef = ref;\n const [, drop] = useDrop(\n useMemo(\n () => ({\n accept: parentBlock ? parentBlock.id : \"block\",\n hover(item: DragObject, monitor: DropTargetMonitor) {\n if (!ref.current) {\n return;\n }\n const dragIndex = item.index;\n const hoverIndex = index;\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return;\n }\n\n // Determine rectangle on screen\n const hoverBoundingRect = ref.current.getBoundingClientRect();\n\n // Get vertical middle\n const hoverMiddleY =\n (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n\n // Determine mouse position\n const clientOffset = monitor.getClientOffset();\n\n // Get pixels to the top\n const hoverClientY =\n (clientOffset as XYCoord).y - hoverBoundingRect.top;\n\n // Only perform the move when the mouse has crossed half of the items height\n // When dragging downwards, only move when the cursor is below 50%\n // When dragging upwards, only move when the cursor is above 50%\n\n // Dragging downwards\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // Dragging upwards\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n\n // Time to actually perform the action\n if (dragIndex < hoverIndex) {\n for (let i = dragIndex; i < hoverIndex; i++) {\n swapBlocks(i, i + 1);\n }\n } else {\n for (let i = dragIndex; i > hoverIndex; i--) {\n swapBlocks(i, i - 1);\n }\n }\n\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n item.index = hoverIndex;\n },\n }),\n [swapBlocks, index]\n ),\n [swapBlocks, index]\n );\n\n useEffect(() => {\n return () => {\n block.isNewlyAdded = false;\n };\n }, []);\n\n const [{ isDragging }, drag, preview] = useDrag(\n useMemo(\n () => ({\n type: parentBlock ? parentBlock.id : \"block\",\n item: { type: parentBlock ? parentBlock.id : \"block\", id, index },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n collect: (monitor: any) => ({\n isDragging: monitor.isDragging(),\n }),\n }),\n [index]\n ),\n [index]\n );\n\n const style: CSSProperties = {};\n style.opacity = isDragging ? (featurePreview ? 0 : 0.5) : 1;\n preview(drop(ref));\n const focusDescendant = findDescendantBlocks(b, focusedIds).length !== 0;\n const clickBlockTargetRef = createRef();\n\n // TODO: render preview\n // import { useDragLayer } from \"react-dnd\";\n // if (!featurePreview) {\n // const { clientOffset } = useDragLayer((monitor: any) => ({\n // clientOffset: monitor.getClientOffset(),\n // }));\n // }\n\n const ed = b.editor({\n focus,\n focusBlock,\n focusDescendant,\n canRemove: canRemove === true,\n parentBlock,\n clickBlockTargetRef,\n });\n\n const blockContext = {\n block: b,\n index: i,\n rendered: false,\n };\n\n const withBlockContext = !!(\n focus ||\n focusBlock ||\n focusDescendant ||\n b instanceof Column ||\n b instanceof Columns\n );\n\n const [onClick, onCopy, onPaste, onUp, onDown] = useMemo(\n () => [\n function onClick(ev: React.MouseEvent) {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.stopPropagation();\n ev.nativeEvent.stopImmediatePropagation();\n\n const focusedIds = getFocusedIds();\n\n if (focusedIds.includes(b.id)) {\n return;\n }\n\n ev.preventDefault();\n\n if (clickBlockTargetRef.current) {\n clickBlockTargetRef.current.click();\n } else if (!ignoreClickEvent) {\n if (focusedIds.length !== 0 && ev.shiftKey) {\n setFocusedIds(\n getBlocksByRange(editor, [...focusedIds, b.id]).map((b) => b.id)\n );\n } else {\n setFocusedIds([b.id]);\n }\n }\n },\n function onCopy(ev: React.ClipboardEvent) {\n const focusedIds = getFocusedIds();\n editor.commandManager.execute({\n command: \"core-copyBlock\",\n blockIds: focusedIds.length === 0 ? [b.id] : focusedIds,\n editorContext,\n blocksContext,\n event: ev.nativeEvent,\n });\n },\n function onPaste(ev: React.ClipboardEvent) {\n const focusedIds = getFocusedIds();\n editor.commandManager.execute({\n command: \"core-pasteBlock\",\n blockIds: focusedIds.length === 0 ? [b.id] : focusedIds,\n editorContext,\n blocksContext,\n event: ev.nativeEvent,\n });\n },\n function onUp() {\n const focusedIds = getFocusedIds();\n if (focusedIds.length >= 2) {\n editor.editManager.beginGrouping();\n for (let i = index, to = index + focusedIds.length; i < to; i++) {\n swapBlocks(i - 1, i);\n }\n editor.editManager.endGrouping();\n return;\n }\n\n swapBlocks(index, index - 1, true);\n },\n function onDown() {\n const focusedIds = getFocusedIds();\n if (focusedIds.length >= 2) {\n editor.editManager.beginGrouping();\n for (let i = index + focusedIds.length - 1; i >= index; i--) {\n swapBlocks(i + 1, i);\n }\n editor.editManager.endGrouping();\n return;\n }\n\n swapBlocks(index, index + 1, true);\n },\n ],\n [index]\n );\n\n useEffect(() => {\n if (!focusLeader) {\n return;\n }\n\n function onWindowKeydown(ev: KeyboardEvent): void {\n const key = ev.key;\n\n if (\n !(\n ev.ctrlKey ||\n ev.metaKey ||\n ev.altKey ||\n ev.shiftKey ||\n key === \"Delete\" ||\n key === \"Backspace\"\n )\n ) {\n return;\n }\n\n const focusedIds = getFocusedIds();\n if (focusedIds.length === 0) {\n return;\n }\n\n // stay focused but not edit\n if (\n editor.editorElement.querySelector(\n `[data-mt-block-editor-keep-focus=\"1\"]`\n )\n ) {\n return;\n }\n\n if (focusedIds.length >= 2 && (key === \"Delete\" || key === \"Backspace\")) {\n ev.preventDefault();\n\n editor.commandManager.execute({\n command: \"core-deleteBlock\",\n blockIds: focusedIds,\n editorContext,\n blocksContext,\n event: ev,\n });\n } else {\n editor.commandManager.dispatchKeydownEvent({\n event: ev,\n blockIds: focusedIds,\n editorContext,\n blocksContext,\n });\n }\n }\n\n window.addEventListener(\"keydown\", onWindowKeydown);\n return () => {\n window.removeEventListener(\"keydown\", onWindowKeydown);\n };\n }, [focusLeader]);\n\n return (\n = 2 && focusedIds.includes(b.id) ? \"mt-be-focus\" : \"\"\n }`}\n style={style}\n ref={ref}\n >\n {showButton && !isNarrowScreen() && (\n <>\n
\n \n \n \n \n
\n
\n
\n \n
\n
\n
\n \n
\n \n )}\n
\n {!focus && !(b instanceof Columns) && (\n
{b.contentLabel()}
\n )}\n {withBlockContext && (\n \n {ed}\n {focus && showButton && isNarrowScreen() && }\n \n )}\n <>\n \n \n \n {!withBlockContext && ed}\n
\n \n \n
\n
\n );\n};\n\nexport default BlockItem;\n","import React, { useCallback, useState, useEffect, useRef } from \"react\";\nimport type { Dispatch, SetStateAction } from \"react\";\nimport { useEditorContext } from \"../Context\";\nimport { StylesheetType } from \"../Editor\";\nimport Block from \"../Block\";\nimport { EditHistoryHandlers } from \"../EditManager\";\nimport type { Size } from \"./BlockIframePreview/size\";\nimport { isDefaultSize, isEqualSize } from \"./BlockIframePreview/size\";\n\nconst MAX_WIDTH = \"100%\";\nconst MAX_HEIGHT = \"5000px\";\nconst SHRINK_THRESHOLD = 50;\n\ntype BlockIframePreviewScheme = \"data\" | \"data-wrap\" | \"blob\" | \"srcdoc\";\ninterface EditorProps {\n block: Block;\n html?: string | Promise;\n header?: string;\n onSetCompiledHtml?: (error: Error | null) => void;\n onBeforeSetCompiledHtml?: (error: Error | null) => boolean;\n border?: string;\n scheme?: BlockIframePreviewScheme;\n sandbox?: string;\n}\n\ninterface SetCompiledHtmlOptions {\n addEditHistory?: boolean;\n preserveBlockData?: boolean;\n removeIntermediateProduct?: boolean;\n}\n\nconst editHandlers: EditHistoryHandlers = {\n id: Symbol(\"edit\"),\n merge(a, b) {\n return a.data.last === b.data.last ? a : undefined;\n },\n undo(hist, { setFocusedIds }) {\n hist.block.compiledHtml = hist.data.last;\n setFocusedIds([hist.block.id], { forceUpdate: true });\n },\n redo(hist, { setFocusedIds }) {\n hist.block.compiledHtml = hist.data.cur;\n setFocusedIds([hist.block.id], { forceUpdate: true });\n },\n};\n\nfunction InitSizeFunc(): void {\n const body = document.body;\n const lastElement = body.children[body.children.length - 1];\n if (!lastElement) {\n return;\n }\n\n const style = window.getComputedStyle(lastElement);\n const offset = lastElement.getBoundingClientRect();\n\n parent.postMessage(\n {\n method: \"MTBlockEditorInitSize\",\n blockId: body.dataset.blockId,\n arguments: {\n height: offset.top + offset.height + parseInt(style.marginBottom),\n },\n },\n \"*\"\n );\n}\n\nfunction postMessageFunc(): void {\n const body = document.body;\n const html = document.documentElement;\n const height = Math.max(body.scrollHeight, html.scrollHeight);\n const width = Math.max(body.scrollWidth, html.scrollWidth);\n parent.postMessage(\n {\n method: \"MTBlockEditorSetSize\",\n blockId: body.dataset.blockId,\n arguments: {\n height: height,\n width: width,\n },\n },\n \"*\"\n );\n}\n\nfunction setCompiledHtmlFunc(\n html: string,\n opts?: SetCompiledHtmlOptions\n): void {\n parent.postMessage(\n {\n method: \"MTBlockEditorSetCompiledHtml\",\n blockId: document.body.dataset.blockId,\n html,\n arguments: {\n addEditHistory: !!opts?.addEditHistory,\n preserveBlockData: !!opts?.preserveBlockData,\n removeIntermediateProduct: !!opts?.removeIntermediateProduct,\n },\n },\n \"*\"\n );\n}\n\nfunction addDroppableFunc(listener: (ev: Event) => void): Promise {\n return new Promise((resolve) => {\n function addEventListeners(elm: HTMLElement): void {\n elm.classList.add(\"mt-block-editor-mt-be-droppable-area\");\n\n elm.addEventListener(\"click\", (ev) => {\n if (\n ev.target instanceof HTMLElement &&\n ev.target.closest(\"input, textarea, select, label, button\")\n ) {\n return;\n }\n\n ev.preventDefault();\n\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.style.display = \"none\";\n input.addEventListener(\"change\", function (ev) {\n listener(ev);\n });\n\n document.body.appendChild(input);\n input.click();\n });\n\n elm.addEventListener(\"dragover\", (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n if (ev.dataTransfer) {\n ev.dataTransfer.dropEffect = \"copy\";\n }\n elm.classList.add(\"mt-block-editor-mt-be-droppable\");\n });\n\n elm.addEventListener(\"dragenter\", (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n });\n\n elm.addEventListener(\"dragleave\", () => {\n elm.classList.remove(\"mt-block-editor-mt-be-droppable\");\n });\n\n elm.addEventListener(\"drop\", (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n elm.classList.remove(\"mt-block-editor-mt-be-droppable\");\n listener(ev);\n });\n\n resolve();\n }\n\n if (\n document.readyState === \"complete\" ||\n document.readyState === \"interactive\"\n ) {\n addEventListeners(document.body);\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => {\n addEventListeners(document.body);\n });\n }\n });\n}\n\nfunction eventDelegationFunc(): void {\n document.addEventListener(\n \"click\",\n function (ev) {\n parent.postMessage(\n {\n method: \"MTBlockEditorOnClick\",\n blockId: document.body.dataset.blockId,\n arguments: {\n ctrlKey: ev.ctrlKey,\n metaKey: ev.metaKey,\n shiftKey: ev.shiftKey,\n },\n },\n \"*\"\n );\n },\n { capture: true, passive: true }\n );\n\n document.addEventListener(\n \"keydown\",\n function (ev) {\n parent.postMessage(\n {\n method: \"MTBlockEditorOnKeydown\",\n blockId: document.body.dataset.blockId,\n arguments: {\n key: ev.key,\n ctrlKey: ev.ctrlKey,\n metaKey: ev.metaKey,\n shiftKey: ev.shiftKey,\n },\n },\n \"*\"\n );\n },\n { capture: true, passive: true }\n );\n}\n\ntype RawHtmlData =\n | string // source HTML already retrieved\n | number // compiled HTML\n | null; // not yet retrieved\nfunction useHtmlDataState(\n html: EditorProps[\"html\"],\n block: Block\n): [RawHtmlData, string, Dispatch>] {\n const [_rawHtmlData, setHtmlText] = useState(\n typeof html === \"string\" ? html : null\n );\n\n const rawHtmlData =\n typeof _rawHtmlData === \"number\" && block.compiledHtml === undefined\n ? null // treat as not yet retrieved since it has been updated\n : _rawHtmlData;\n\n const rawHtmlText =\n typeof rawHtmlData === \"number\"\n ? block.compiledHtml ?? \"\"\n : typeof rawHtmlData === \"string\"\n ? rawHtmlData\n : typeof html === \"string\"\n ? html\n : \"\";\n\n return [rawHtmlData, rawHtmlText, setHtmlText];\n}\n\nconst BlockIframePreview: React.FC = ({\n block,\n html,\n header,\n onSetCompiledHtml,\n onBeforeSetCompiledHtml,\n border,\n scheme = \"data\",\n sandbox = \"allow-scripts allow-same-origin\",\n}: EditorProps) => {\n const { editor } = useEditorContext();\n\n if (html === undefined) {\n html =\n block.compiledHtml ?? block.serializedString({ editor, external: false });\n }\n\n const containerElRef = useRef(null);\n const [rawHtmlData, rawHtmlText, setHtmlData] = useHtmlDataState(html, block);\n\n const [, _setSize] = useState(\n block.iframePreviewSize ? [block.iframePreviewSize] : []\n );\n const setSize = useCallback((size: Size): void => {\n if (\n (typeof size.width === \"number\" && !size.width) || // zero width\n (typeof size.height === \"number\" && !size.height) || // zero height\n (((typeof size.width === \"number\" && size.width < 30) ||\n typeof size.width === \"string\") && // maybe \"100%\"\n containerElRef.current?.getBoundingClientRect().width === 0) // container is hidden\n ) {\n // No updates to size to be hidden.\n return;\n }\n\n _setSize((history) => {\n if (history.length >= 1 && isEqualSize(history[0], size)) {\n // not changed\n if (history.length >= 2) {\n return [history[0]]; // truncate\n } else {\n return history;\n }\n }\n\n if (history.length >= 2) {\n const [hist0, hist1] = history;\n if (\n (size.width === hist0.width &&\n hist0.width === hist1.width &&\n typeof size.height === \"number\" &&\n typeof hist0.height === \"number\" &&\n typeof hist1.height === \"number\" &&\n size.height - hist0.height === hist0.height - hist1.height) ||\n (size.height === hist0.height &&\n hist0.height === hist1.height &&\n typeof size.width === \"number\" &&\n typeof hist0.width === \"number\" &&\n typeof hist1.width === \"number\" &&\n size.width - hist0.width === hist0.width - hist1.width)\n ) {\n // The same amount of change continues.\n if (\n block.iframePreviewSize &&\n isEqualSize(block.iframePreviewSize, history[1])\n ) {\n return history;\n } else {\n block.setIframePreviewSize(history[1]);\n return [...history];\n }\n }\n\n // changed\n }\n\n block.setIframePreviewSize(size);\n return history.length === 0 ? [size] : [size, history[0]];\n });\n }, []);\n const size = block.getIframePreviewSize(rawHtmlText);\n\n const setCompiledHtml = useCallback(\n (res: string, error: Error | null, opts: SetCompiledHtmlOptions): void => {\n if (onBeforeSetCompiledHtml && onBeforeSetCompiledHtml(error) === false) {\n // canceled\n return;\n }\n\n if (error) {\n if (onSetCompiledHtml) {\n onSetCompiledHtml(error);\n } else {\n // TODO: report error\n }\n return;\n }\n\n if (!opts.preserveBlockData) {\n res = res.replace(//g, \"\");\n }\n\n const lastValue = block.compiledHtml;\n block.compiledHtml = res;\n block.removeIntermediateProduct = !!opts.removeIntermediateProduct;\n\n if (opts.addEditHistory) {\n editor.editManager.add({\n block,\n data: {\n last: lastValue,\n cur: res,\n },\n handlers: editHandlers,\n });\n }\n\n editor.emit(\"setCompiledHtmlIframePreview\", {\n editor,\n block,\n });\n\n if (onSetCompiledHtml) {\n onSetCompiledHtml(null);\n }\n setHtmlData((prev) => (typeof prev === \"number\" ? prev + 1 : 1));\n },\n []\n );\n\n if (typeof html !== \"string\" && rawHtmlData === null) {\n header = \"\";\n html.then(setHtmlData);\n }\n\n const beforeRenderIframePreviewOpt = {\n editor,\n scheme: scheme,\n sandbox: sandbox,\n html: rawHtmlText,\n head: `\n \n \n \n \n ${editor.stylesheets\n .map((s) => {\n if (s.type === StylesheetType.css) {\n return ``;\n } else {\n return ``;\n }\n })\n .join(\"\")}\n ${header || \"\"}\n `,\n };\n editor.emit(\"beforeRenderIframePreview\", beforeRenderIframePreviewOpt);\n const htmlText = beforeRenderIframePreviewOpt.html;\n const head = beforeRenderIframePreviewOpt.head;\n\n const [src, setSrc] = useState(\"\");\n useEffect(() => {\n if (!header && !htmlText) {\n if (src !== \"\") {\n setSrc(\"\");\n }\n return;\n }\n\n const rootAttributesObj = editor.opts.rootAttributes as Record<\n string,\n string\n >;\n const rootAttributes = Object.keys(rootAttributesObj)\n .map((k) => {\n const map: Record = { \"&\": \"&\", '\"': \""\" };\n const v = rootAttributesObj[k].replace(/[&\"]/g, (m) => map[m]);\n return `${k}=\"${v}\"`;\n })\n .join(\" \");\n\n let srcdoc = `\n \n ${head}${htmlText}`;\n\n if (beforeRenderIframePreviewOpt.scheme === \"blob\") {\n setSrc(URL.createObjectURL(new Blob([srcdoc], { type: \"text/html\" })));\n } else if (beforeRenderIframePreviewOpt.scheme === \"srcdoc\") {\n setSrc(srcdoc);\n } else {\n // data or data-wrap\n if (beforeRenderIframePreviewOpt.scheme === \"data-wrap\") {\n const iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"allowfullscreen\", \"true\");\n iframe.srcdoc = srcdoc;\n srcdoc = `\n \n \n \n \n \n \n \n \n ${iframe.outerHTML}\n \n \n `;\n }\n\n const data = new TextEncoder().encode(srcdoc);\n const base64Srcdoc = btoa(String.fromCharCode(...data));\n setSrc(`data:text/html;base64,${base64Srcdoc}`);\n }\n }, [block.compiledHtml, header, htmlText]);\n\n useEffect(() => {\n const onMessage = (ev: MessageEvent): void => {\n const containerEl = containerElRef.current;\n\n if (\n !(\n containerEl &&\n ev.source ===\n (containerEl.firstChild as HTMLIFrameElement).contentWindow &&\n ev.data &&\n ev.data.blockId === block.id\n )\n ) {\n return;\n }\n\n switch (ev.data.method) {\n case \"MTBlockEditorInitSize\":\n if (!isDefaultSize(size)) {\n break;\n }\n\n setSize({ ...size, ...ev.data.arguments });\n break;\n case \"MTBlockEditorSetSize\":\n (Object.keys(size) as Array).forEach((k) => {\n const oldValue =\n typeof size[k] === \"number\"\n ? (size[k] as number)\n : parseFloat(size[k] as string);\n const newValue =\n typeof ev.data.arguments[k] === \"number\"\n ? (ev.data.arguments[k] as number)\n : parseFloat(ev.data.arguments[k] as string);\n if (\n oldValue &&\n newValue &&\n oldValue > newValue &&\n Math.abs(oldValue - newValue) < SHRINK_THRESHOLD\n ) {\n ev.data.arguments[k] = size[k];\n }\n });\n\n if (\n size.width !== ev.data.arguments.width ||\n size.height !== ev.data.arguments.height\n ) {\n setSize(ev.data.arguments);\n }\n break;\n case \"MTBlockEditorOnClick\":\n (\n containerEl.closest(\"[data-mt-block-editor-block-id]\") ||\n (containerEl.getRootNode() as ShadowRoot)?.host\n )?.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n ...ev.data.arguments,\n })\n );\n break;\n case \"MTBlockEditorOnKeydown\":\n window.dispatchEvent(new KeyboardEvent(\"keydown\", ev.data.arguments));\n break;\n case \"MTBlockEditorSetCompiledHtml\":\n setCompiledHtml(\n ev.data.html,\n ev.data.html == null ? new Error(ev.data.error || \"Error\") : null,\n ev.data.arguments as SetCompiledHtmlOptions\n );\n break;\n }\n };\n\n window.addEventListener(\"message\", onMessage, {\n capture: true,\n passive: true,\n });\n return () => {\n window.removeEventListener(\"message\", onMessage, {\n capture: true,\n });\n };\n }, [size]);\n\n return (\n
\n \n
\n );\n};\n\nexport default BlockIframePreview;\n","import { t } from \"../i18n\";\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n CSSProperties,\n} from \"react\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport {\n EditorContext,\n useEditorContext,\n BlocksContext,\n BlocksContextProps,\n} from \"../Context\";\nimport Block, {\n NewFromHtmlOptions,\n EditorOptions,\n SerializeOptions,\n CompileOptions,\n HasBlocks,\n} from \"../Block\";\nimport AddButton from \"../Component/AddButton\";\nimport BlockItem from \"../Component/BlockItem\";\nimport BlockIframePreview from \"../Component/BlockIframePreview\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport {\n parseContent,\n NO_BLOCK_TYPE_FALLBACK,\n preParseContent,\n escapeSingleQuoteAttribute,\n ParserContext,\n} from \"../util\";\n\ninterface EditorProps extends EditorOptions {\n block: Column;\n}\n\nconst COMPILE_TIMEOUT = 2000;\nconst SERIALIZATION_PARALLELISM = 4;\n\nconst STYLE_HIDDEN: CSSProperties = {\n position: \"absolute\",\n overflow: \"hidden\",\n height: \"0px\",\n border: \"none\",\n};\n\nconst Editor: React.FC = ({\n block,\n focus,\n focusBlock,\n focusDescendant,\n canRemove,\n}: EditorProps) => {\n if (\n (block.constructor as typeof Block).typeId !== \"core-column\" ||\n canRemove === undefined\n ) {\n canRemove = block.canRemoveBlock;\n }\n\n const { editor, setFocusedIds } = useEditorContext();\n\n const blocksContext = useMemo(\n () => ({\n panelBlockTypes: block.panelBlockTypes,\n shortcutBlockTypes: block.shortcutBlockTypes,\n addBlock: (b: Block, index: number | Block) => {\n if (index instanceof Block) {\n index = block.blocks.indexOf(index) + 1;\n }\n editor.addBlock(block, b, index);\n setFocusedIds([b.id]);\n },\n mergeBlock: (b: Block) => {\n const index = block.blocks.indexOf(b);\n if (editor.mergeBlock(block, b)) {\n setFocusedIds([block.blocks[index - 1].id]);\n }\n },\n removeBlock: (b: Block) => {\n const index = block.blocks.indexOf(b);\n editor.removeBlock(block, b);\n if (index > 0) {\n setFocusedIds([block.blocks[index - 1].id]);\n }\n },\n swapBlocks: (dragIndex: number, hoverIndex: number, scroll?: boolean) => {\n if (\n dragIndex === undefined ||\n hoverIndex === undefined ||\n !block.blocks[dragIndex] ||\n !block.blocks[hoverIndex]\n ) {\n return;\n }\n\n if (scroll) {\n const destEl = block.blocks[dragIndex].wrapperRef.current;\n if (!destEl) {\n return;\n }\n\n const rect = destEl.getBoundingClientRect();\n const scrollTop =\n window.pageYOffset || document.documentElement.scrollTop;\n const offsetTop = rect.height + 22;\n\n window.scrollTo({\n top: scrollTop + (dragIndex > hoverIndex ? -offsetTop : offsetTop),\n behavior: \"smooth\",\n });\n }\n\n editor.swapBlocks(block, dragIndex, hoverIndex);\n },\n }),\n []\n );\n\n const resetCompiledHtml = useCallback(() => {\n block.resetCompiledHtml();\n }, []);\n useEffect(() => {\n editor.on(\"change\", resetCompiledHtml);\n\n if (block._html !== \"\") {\n parseContent(\n preParseContent(block._html),\n editor.factory,\n new ParserContext()\n ).then((blocks) => {\n block._html = \"\";\n block.blocks = blocks;\n if (blocks[0]) {\n setFocusedIds([blocks[0].id]);\n }\n });\n }\n\n return () => {\n editor.off(\"change\", resetCompiledHtml);\n };\n }, []);\n\n useEffect(() => {\n if (focusDescendant) {\n resetCompiledHtml();\n return;\n }\n\n if (\n (block.constructor as typeof Block).shouldBeCompiled &&\n block.compiledHtml === undefined &&\n !focus &&\n !focusDescendant\n ) {\n block.compile({ editor });\n }\n }, [focus, focusDescendant]);\n\n const res = (\n \n \n {block.blocks.map((b, i) => {\n const focusFirstBlock = canRemove !== true && block.blocks.length === 1;\n const focusItem = (focus && focusFirstBlock) || undefined;\n return (\n \n );\n })}\n {canRemove && (\n
\n \n
\n )}\n
\n );\n\n if ((block.constructor as typeof Column).typeId === \"core-column\") {\n return (\n
\n {res}\n
\n );\n } else {\n return res;\n }\n};\n\nclass Column extends Block implements HasBlocks {\n public static typeId = \"core-column\";\n public static className = \"mt-be-column\";\n public static rootBlock: string | null = \"div\";\n public static selectable = false;\n public static showPreview = true;\n public static get label(): string {\n return t(\"Column\");\n }\n\n public _html = \"\";\n public previewHeader = \"\";\n public showShortcuts = true;\n public blocks: Block[] = [];\n public cancelOngoingCompilationHandlers: (() => void)[] = [];\n\n public canRemoveBlock = true;\n public panelBlockTypes: string[] | null = null;\n public shortcutBlockTypes: string[] | null = null;\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public childBlocks(): Block[] {\n return this.blocks;\n }\n\n public get rootBlock(): string | null {\n return (this.constructor as typeof Column).rootBlock;\n }\n\n public get showPreview(): boolean {\n return (this.constructor as typeof Column).showPreview;\n }\n\n public resetCompiledHtml(): void {\n this.compiledHtml = undefined;\n this.removeIntermediateProduct = false;\n\n this.cancelOngoingCompilationHandlers.map((h) => {\n h();\n });\n this.cancelOngoingCompilationHandlers = [];\n }\n\n public editor({\n focus,\n focusBlock,\n focusDescendant,\n canRemove,\n }: EditorOptions): JSX.Element {\n if (\n this.showPreview &&\n (this.constructor as typeof Column).typeId !== \"core-column\" &&\n ((this._html === \"\" &&\n this.blocks.length === 0 &&\n this.effectiveAddableBlockTypes().length === 0) ||\n (!focus && !focusDescendant && !focusBlock))\n ) {\n return (\n \n );\n }\n\n return (\n \n \n \n );\n }\n\n public isBlank(): boolean {\n return this.blocks.length === 0;\n }\n\n private async serializeChildBlocks(\n opts: SerializeOptions\n ): Promise {\n const serializeChildOpts: Readonly = {\n ...opts,\n removeChildIntermediateProduct:\n opts.removeChildIntermediateProduct || this.removeIntermediateProduct,\n };\n if (this.blocks.length <= SERIALIZATION_PARALLELISM) {\n return Promise.all(\n this.blocks.map((c) => c.serialize(serializeChildOpts))\n );\n }\n\n const res: string[] = [];\n const indexes = Object.keys(this.blocks).map((i) => Number(i));\n await Promise.all(\n [...Array(SERIALIZATION_PARALLELISM)].map(async () => {\n for (let i = indexes.shift(); i !== undefined; i = indexes.shift()) {\n res[i] = await this.blocks[i].serialize(serializeChildOpts);\n }\n })\n );\n return res;\n }\n\n public async serializedString(opts: SerializeOptions): Promise {\n const classNames = [\n (this.constructor as typeof Column).className,\n this.className,\n ].filter((c) => c);\n const serializedBlocks = await this.serializeChildBlocks(opts);\n\n return [\n this.rootBlock\n ? `<${this.rootBlock}${\n classNames.length\n ? ` class='${escapeSingleQuoteAttribute(classNames.join(\" \"))}'`\n : \"\"\n }>`\n : \"\",\n serializedBlocks.join(\"\"),\n this.rootBlock ? `` : \"\",\n ].join(\"\");\n }\n\n public async compile({ editor }: CompileOptions): Promise {\n let canceled = false;\n this.cancelOngoingCompilationHandlers.push(() => {\n canceled = true;\n });\n const onBeforeSetCompiledHtml = (): boolean => !canceled;\n\n const sourceHtml = await this.serializedString({ editor, external: false });\n return new Promise((resolve, reject) => {\n let timeoutId: ReturnType | null = null;\n\n const div = document.createElement(\"div\");\n Object.assign(div.style, STYLE_HIDDEN);\n document.body.appendChild(div);\n\n const onSetCompiledHtml = (error: Error | null): void => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n\n unmountComponentAtNode(div);\n div.remove();\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n };\n\n const editorContext = {\n editor,\n setFocusedIds: () => undefined,\n getFocusedIds: () => [],\n };\n\n render(\n \n \n ,\n div\n );\n\n const opts = editor.opts.block[\"core-column\"] || {};\n timeoutId = setTimeout(async () => {\n if (!canceled) {\n this.compiledHtml ||= sourceHtml;\n }\n onSetCompiledHtml(null);\n }, opts[\"compile-timeout\"] || COMPILE_TIMEOUT);\n });\n }\n\n public async serialize(opts: SerializeOptions): Promise {\n if (\n (this.constructor as typeof Block).shouldBeCompiled ||\n this.compiledHtml !== undefined\n ) {\n return super.serialize(opts);\n }\n\n const m = opts.editor.serializeMeta(this, opts.external);\n const typeId = (this.constructor as typeof Column).typeId;\n return [\n ``,\n await this.serializedString(opts),\n ``,\n ].join(\"\");\n }\n\n public static async newFromHtml({\n node,\n factory,\n meta,\n context,\n }: NewFromHtmlOptions): Promise {\n const html = node.hasAttribute(\"h\")\n ? preParseContent(node.getAttribute(\"h\") || \"\")\n : node.innerHTML;\n const blocks = await parseContent(\n html,\n factory,\n context,\n NO_BLOCK_TYPE_FALLBACK\n );\n const compiledHtml =\n (node.hasAttribute(\"h\") ? node.textContent : undefined) ?? undefined;\n\n return new this(\n Object.assign(\n { blocks, compiledHtml, _html: \"\" },\n meta as Partial\n )\n );\n }\n\n private effectiveAddableBlockTypes(): string[] {\n if (!this.canRemoveBlock) {\n return [];\n }\n return (this.panelBlockTypes || []).concat(this.shortcutBlockTypes || []);\n }\n}\n\nexport default Column;\n","import Editor from \"../Editor\";\nimport Block from \"../Block\";\nimport BlockFactory from \"../BlockFactory\";\nimport Text from \"../Block/Text\";\nimport Column from \"../Block/Column\";\nimport ParserContext from \"./ParserContext\";\n\nexport const preParseContent = (() => {\n const entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n } as { [key: string]: string };\n const entityReverseMap = Object.fromEntries(\n Object.entries(entityMap).map(([k, v]) => [v, k])\n );\n const entityRegExp = new RegExp(`[${Object.keys(entityMap).join(\"\")}]`, \"g\");\n const entityReverseRegExp = new RegExp(\n `(?:${Object.keys(entityReverseMap).join(\"|\")})`,\n \"g\"\n );\n\n return (value: string): string => {\n return value\n .replace(entityRegExp, (match) => entityMap[match])\n .replace(/<!--\\s+(\\/?mt-beb.*?)-->/g, (all, tag: string) => {\n return `<${tag.replace(\n entityReverseRegExp,\n (match) => entityReverseMap[match]\n )}>`;\n });\n };\n})();\n\nexport function removeControlCharacters(str: string): string {\n return str.replace(\n // eslint-disable-next-line no-control-regex,no-misleading-character-class\n /&#(?:0*?(?:[0-8]|1[124-9]|2\\d|3[01])?|x0*?(?:[0-8bcefBCEF]|1[0-9a-fA-F])?);|[^\\x09\\x0A\\x0D\\x20-\\xFF\\x85\\xA0-\\uD7FF\\uE000-\\uFDCF\\uFDE0-\\uFFFD\\uD800-\\uDBFF\\uDC00-\\uDFFF]/gm,\n \"\"\n );\n}\n\nexport const NO_BLOCK_TYPE_FALLBACK = \"\";\n\nexport async function parseContent(\n value: string,\n factory: BlockFactory,\n context: ParserContext,\n fallbackBlockType: string | typeof NO_BLOCK_TYPE_FALLBACK = \"core-html\"\n): Promise {\n if (!value) {\n return [];\n }\n\n const domparser = new DOMParser();\n const doc = domparser.parseFromString(\n `${removeControlCharacters(value)}`,\n \"application/xml\"\n );\n\n if (!doc.children[0]) {\n return [];\n }\n\n let children = [...doc.children[0].children];\n if (children.length === 0) {\n if (fallbackBlockType !== NO_BLOCK_TYPE_FALLBACK) {\n const fallback = document.createElement(\"div\");\n fallback.setAttribute(\"t\", fallbackBlockType);\n fallback.innerHTML = value;\n children = [fallback];\n } else {\n return [];\n }\n }\n\n // TODO: verify\n const blocks = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n const typeId = node.getAttribute(\"t\") || \"core-text\";\n\n const metaRawValue = node.getAttribute(\"m\") || \"{}\";\n const metaArray = (metaRawValue.match(/\\w+|,|.+/g) || [])\n .filter((str) => str !== \",\")\n .map((str) =>\n /^[^{]/.test(str) ? context.get(str) || {} : JSON.parse(str)\n );\n const meta =\n metaArray.length === 1\n ? metaArray[0]\n : Object.assign.apply(null, [{}, ...metaArray]);\n\n if (typeId === \"core-context\") {\n for (const k in meta) {\n context.set(k, meta[k]);\n }\n continue;\n }\n\n let html = node.getAttribute(\"h\") || \"\";\n if (!html && node.textContent) {\n let c = node.textContent;\n if (meta.className) {\n c = c.replace(\n /^(<[^>]+)( class=\")([^\"]+)\"/,\n (m, tag, prefix, classNames) => {\n const filtered = classNames\n .split(/\\s+/)\n .filter((c: string) => c !== meta.className)\n .join(\" \");\n\n if (filtered) {\n return `${tag}${prefix}${filtered}\"`;\n } else {\n return tag;\n }\n }\n );\n }\n html = c;\n }\n\n const param = {\n html,\n node,\n factory,\n meta,\n context,\n };\n\n const t =\n factory.types().find((t: typeof Block) => t.typeId === typeId) || Column;\n const block = await t\n .newFromHtml(param)\n .catch(() => Text.newFromHtml(param));\n blocks.push(block);\n }\n\n return blocks;\n}\n\nconst emptyBlocks: Block[] = [];\nexport function findDescendantBlocks(\n ancestor: Block | Editor,\n ids: Readonly\n): Readonly {\n if (ids.length === 0) {\n return emptyBlocks;\n }\n\n const childBlocks =\n ancestor instanceof Editor ? ancestor.blocks : ancestor.childBlocks();\n if (childBlocks.length === 0) {\n return emptyBlocks;\n }\n\n return findDescendantBlocksInternal([...ids], childBlocks);\n}\n\nfunction findDescendantBlocksInternal(\n ids: string[],\n childBlocks: Readonly\n): Readonly {\n const result: Block[] = [];\n for (let i = 0, len = childBlocks.length; i < len; i++) {\n const b = childBlocks[i];\n const index = ids.indexOf(b.id);\n if (index !== -1) {\n result.push(b);\n ids.splice(index, 1);\n if (ids.length === 0) {\n return result;\n }\n }\n\n result.push(...findDescendantBlocksInternal(ids, b.childBlocks()));\n if (ids.length === 0) {\n return result;\n }\n }\n\n return result;\n}\n\ninterface GetBlocksByRangeState {\n ids: Readonly>;\n rootBlocks: Readonly;\n foundCount: number;\n startBlocks?: Readonly;\n endBlocks?: Readonly;\n result?: Readonly;\n}\nexport function getBlocksByRange(\n ancestor: Block | Editor,\n ids: Readonly\n): Readonly {\n const childBlocks =\n ancestor instanceof Editor ? ancestor.blocks : ancestor.childBlocks();\n const state: GetBlocksByRangeState = {\n ids: new Set(ids),\n rootBlocks: childBlocks,\n foundCount: 0,\n };\n getBlocksByRangeInternal(childBlocks, state);\n return state.result || emptyBlocks;\n}\n\nfunction getBlocksByRangeInternal(\n childBlocks: Readonly,\n state: GetBlocksByRangeState,\n parents: Readonly = []\n): Readonly | undefined {\n if (state.result && state.foundCount === state.ids.size) {\n return;\n }\n childBlocks.forEach((b) => {\n const currentBlocks = [...parents, b];\n\n getBlocksByRangeInternal(b.childBlocks(), state, currentBlocks);\n if (state.result && state.foundCount === state.ids.size) {\n return;\n }\n if (state.ids.has(b.id)) {\n state.foundCount++;\n\n if (state.ids.size === 1) {\n state.result = [b];\n } else if (state.startBlocks) {\n let range: {\n blocks: Readonly;\n start: string;\n end: string;\n };\n findRange: for (let i = state.startBlocks.length - 2; i >= 0; i--) {\n for (let j = currentBlocks.length - 2; j >= 0; j--) {\n if (state.startBlocks[i] === currentBlocks[j]) {\n range = {\n blocks: state.startBlocks[i].childBlocks(),\n start: state.startBlocks[i + 1].id,\n end: currentBlocks[j + 1].id,\n };\n break findRange;\n }\n }\n }\n\n range ||= {\n blocks: state.rootBlocks,\n start: state.startBlocks[0].id,\n end: currentBlocks[0].id,\n };\n\n const blockIds = range.blocks.map((b) => b.id);\n state.result = range.blocks.slice(\n blockIds.indexOf(range.start),\n blockIds.indexOf(range.end) + 1\n );\n } else {\n state.startBlocks = currentBlocks;\n }\n }\n });\n}\n","import platform from \"platform\";\n\nconst labels = {\n mac: {\n cmd: \"⌘\",\n alt: \"⌥\",\n ctrl: \"⌃\",\n shift: \"⇧\",\n },\n other: {\n cmd: \"Ctrl+\",\n alt: \"Alt+\",\n ctrl: \"Ctrl+\",\n shift: \"Shift+\",\n },\n};\n\nlet isMac = false;\nlet labelMap = labels.other;\n\nexport function setPlatform(_platform: typeof platform): void {\n isMac = [\"OS X\", \"iOS\"].includes(_platform.os?.family || \"\");\n labelMap = isMac ? labels.mac : labels.other;\n}\nsetPlatform(platform);\n\nexport function toKeyboardShortcutKey(ev: KeyboardEvent): string {\n return `${ev.ctrlKey && isMac ? \"ctrl+\" : \"\"}${ev.altKey ? \"alt+\" : \"\"}${\n ev.shiftKey ? \"shift+\" : \"\"\n }${ev.metaKey || (ev.ctrlKey && !isMac) ? \"cmd+\" : \"\"}${ev.key}`;\n}\n\nexport function toKeyboardShortcutLabel(key: string): string {\n return key.replace(\n /(ctrl|cmd|alt|shift)\\+/g,\n (all, key: keyof typeof labelMap) => {\n return labelMap[key] || key;\n }\n );\n}\n","class ParserContext extends Map {}\n\nexport default ParserContext;\n","export var INIT_COORDS = 'dnd-core/INIT_COORDS';\nexport var BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexport var PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexport var HOVER = 'dnd-core/HOVER';\nexport var DROP = 'dnd-core/DROP';\nexport var END_DRAG = 'dnd-core/END_DRAG';","import { INIT_COORDS } from '../types';\nexport function setClientOffset(clientOffset, sourceClientOffset) {\n return {\n type: INIT_COORDS,\n payload: {\n sourceClientOffset: sourceClientOffset || null,\n clientOffset: clientOffset || null\n }\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n// cheap lodash replacements\n\n/**\n * drop-in replacement for _.get\n * @param obj\n * @param path\n * @param defaultValue\n */\nexport function get(obj, path, defaultValue) {\n return path.split('.').reduce(function (a, c) {\n return a && a[c] ? a[c] : defaultValue || null;\n }, obj);\n}\n/**\n * drop-in replacement for _.without\n */\n\nexport function without(items, item) {\n return items.filter(function (i) {\n return i !== item;\n });\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */\n\nexport function isString(input) {\n return typeof input === 'string';\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */\n\nexport function isObject(input) {\n return _typeof(input) === 'object';\n}\n/**\n * repalcement for _.xor\n * @param itemsA\n * @param itemsB\n */\n\nexport function xor(itemsA, itemsB) {\n var map = new Map();\n\n var insertItem = function insertItem(item) {\n map.set(item, map.has(item) ? map.get(item) + 1 : 1);\n };\n\n itemsA.forEach(insertItem);\n itemsB.forEach(insertItem);\n var result = [];\n map.forEach(function (count, key) {\n if (count === 1) {\n result.push(key);\n }\n });\n return result;\n}\n/**\n * replacement for _.intersection\n * @param itemsA\n * @param itemsB\n */\n\nexport function intersection(itemsA, itemsB) {\n return itemsA.filter(function (t) {\n return itemsB.indexOf(t) > -1;\n });\n}","import { invariant } from '@react-dnd/invariant';\nimport { setClientOffset } from './local/setClientOffset';\nimport { isObject } from '../../utils/js_utils';\nimport { BEGIN_DRAG, INIT_COORDS } from './types';\nvar ResetCoordinatesAction = {\n type: INIT_COORDS,\n payload: {\n clientOffset: null,\n sourceClientOffset: null\n }\n};\nexport function createBeginDrag(manager) {\n return function beginDrag() {\n var sourceIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n publishSource: true\n };\n var _options$publishSourc = options.publishSource,\n publishSource = _options$publishSourc === void 0 ? true : _options$publishSourc,\n clientOffset = options.clientOffset,\n getSourceClientOffset = options.getSourceClientOffset;\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry(); // Initialize the coordinates using the client offset\n\n manager.dispatch(setClientOffset(clientOffset));\n verifyInvariants(sourceIds, monitor, registry); // Get the draggable source\n\n var sourceId = getDraggableSource(sourceIds, monitor);\n\n if (sourceId === null) {\n manager.dispatch(ResetCoordinatesAction);\n return;\n } // Get the source client offset\n\n\n var sourceClientOffset = null;\n\n if (clientOffset) {\n if (!getSourceClientOffset) {\n throw new Error('getSourceClientOffset must be defined');\n }\n\n verifyGetSourceClientOffsetIsFunction(getSourceClientOffset);\n sourceClientOffset = getSourceClientOffset(sourceId);\n } // Initialize the full coordinates\n\n\n manager.dispatch(setClientOffset(clientOffset, sourceClientOffset));\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId); // If source.beginDrag returns null, this is an indicator to cancel the drag\n\n if (item == null) {\n return undefined;\n }\n\n verifyItemIsObject(item);\n registry.pinSource(sourceId);\n var itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n payload: {\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset || null,\n sourceClientOffset: sourceClientOffset || null,\n isSourcePublic: !!publishSource\n }\n };\n };\n}\n\nfunction verifyInvariants(sourceIds, monitor, registry) {\n invariant(!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n sourceIds.forEach(function (sourceId) {\n invariant(registry.getSource(sourceId), 'Expected sourceIds to be registered.');\n });\n}\n\nfunction verifyGetSourceClientOffsetIsFunction(getSourceClientOffset) {\n invariant(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n}\n\nfunction verifyItemIsObject(item) {\n invariant(isObject(item), 'Item must be an object.');\n}\n\nfunction getDraggableSource(sourceIds, monitor) {\n var sourceId = null;\n\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n\n return sourceId;\n}","import { PUBLISH_DRAG_SOURCE } from './types';\nexport function createPublishDragSource(manager) {\n return function publishDragSource() {\n var monitor = manager.getMonitor();\n\n if (monitor.isDragging()) {\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n }\n };\n}","export function matchesType(targetType, draggedItemType) {\n if (draggedItemType === null) {\n return targetType === null;\n }\n\n return Array.isArray(targetType) ? targetType.some(function (t) {\n return t === draggedItemType;\n }) : targetType === draggedItemType;\n}","import { invariant } from '@react-dnd/invariant';\nimport { matchesType } from '../../utils/matchesType';\nimport { HOVER } from './types';\nexport function createHover(manager) {\n return function hover(targetIdsArg) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n clientOffset = _ref.clientOffset;\n\n verifyTargetIdsIsArray(targetIdsArg);\n var targetIds = targetIdsArg.slice(0);\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n checkInvariants(targetIds, monitor, registry);\n var draggedItemType = monitor.getItemType();\n removeNonMatchingTargetIds(targetIds, registry, draggedItemType);\n hoverAllTargets(targetIds, monitor, registry);\n return {\n type: HOVER,\n payload: {\n targetIds: targetIds,\n clientOffset: clientOffset || null\n }\n };\n };\n}\n\nfunction verifyTargetIdsIsArray(targetIdsArg) {\n invariant(Array.isArray(targetIdsArg), 'Expected targetIds to be an array.');\n}\n\nfunction checkInvariants(targetIds, monitor, registry) {\n invariant(monitor.isDragging(), 'Cannot call hover while not dragging.');\n invariant(!monitor.didDrop(), 'Cannot call hover after drop.');\n\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n invariant(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n var target = registry.getTarget(targetId);\n invariant(target, 'Expected targetIds to be registered.');\n }\n}\n\nfunction removeNonMatchingTargetIds(targetIds, registry, draggedItemType) {\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n\n if (!matchesType(targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n}\n\nfunction hoverAllTargets(targetIds, monitor, registry) {\n // Finally call hover on all matching targets.\n targetIds.forEach(function (targetId) {\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { DROP } from './types';\nimport { isObject } from '../../utils/js_utils';\nexport function createDrop(manager) {\n return function drop() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n verifyInvariants(monitor);\n var targetIds = getDroppableTargets(monitor); // Multiple actions are dispatched here, which is why this doesn't return an action\n\n targetIds.forEach(function (targetId, index) {\n var dropResult = determineDropResult(targetId, index, registry, monitor);\n var action = {\n type: DROP,\n payload: {\n dropResult: _objectSpread(_objectSpread({}, options), dropResult)\n }\n };\n manager.dispatch(action);\n });\n };\n}\n\nfunction verifyInvariants(monitor) {\n invariant(monitor.isDragging(), 'Cannot call drop while not dragging.');\n invariant(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n}\n\nfunction determineDropResult(targetId, index, registry, monitor) {\n var target = registry.getTarget(targetId);\n var dropResult = target ? target.drop(monitor, targetId) : undefined;\n verifyDropResultType(dropResult);\n\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n\n return dropResult;\n}\n\nfunction verifyDropResultType(dropResult) {\n invariant(typeof dropResult === 'undefined' || isObject(dropResult), 'Drop result must either be an object or undefined.');\n}\n\nfunction getDroppableTargets(monitor) {\n var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n targetIds.reverse();\n return targetIds;\n}","import { invariant } from '@react-dnd/invariant';\nimport { END_DRAG } from './types';\nexport function createEndDrag(manager) {\n return function endDrag() {\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n verifyIsDragging(monitor);\n var sourceId = monitor.getSourceId();\n\n if (sourceId != null) {\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n registry.unpinSource();\n }\n\n return {\n type: END_DRAG\n };\n };\n}\n\nfunction verifyIsDragging(monitor) {\n invariant(monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { createDragDropActions } from '../actions/dragDrop';\nexport var DragDropManagerImpl = /*#__PURE__*/function () {\n function DragDropManagerImpl(store, monitor) {\n var _this = this;\n\n _classCallCheck(this, DragDropManagerImpl);\n\n this.isSetUp = false;\n\n this.handleRefCountChange = function () {\n var shouldSetUp = _this.store.getState().refCount > 0;\n\n if (_this.backend) {\n if (shouldSetUp && !_this.isSetUp) {\n _this.backend.setup();\n\n _this.isSetUp = true;\n } else if (!shouldSetUp && _this.isSetUp) {\n _this.backend.teardown();\n\n _this.isSetUp = false;\n }\n }\n };\n\n this.store = store;\n this.monitor = monitor;\n store.subscribe(this.handleRefCountChange);\n }\n\n _createClass(DragDropManagerImpl, [{\n key: \"receiveBackend\",\n value: function receiveBackend(backend) {\n this.backend = backend;\n }\n }, {\n key: \"getMonitor\",\n value: function getMonitor() {\n return this.monitor;\n }\n }, {\n key: \"getBackend\",\n value: function getBackend() {\n return this.backend;\n }\n }, {\n key: \"getRegistry\",\n value: function getRegistry() {\n return this.monitor.registry;\n }\n }, {\n key: \"getActions\",\n value: function getActions() {\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n var manager = this;\n var dispatch = this.store.dispatch;\n\n function bindActionCreator(actionCreator) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var action = actionCreator.apply(manager, args);\n\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n var actions = createDragDropActions(this);\n return Object.keys(actions).reduce(function (boundActions, key) {\n var action = actions[key];\n boundActions[key] = bindActionCreator(action);\n return boundActions;\n }, {});\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(action) {\n this.store.dispatch(action);\n }\n }]);\n\n return DragDropManagerImpl;\n}();","import { createBeginDrag } from './beginDrag';\nimport { createPublishDragSource } from './publishDragSource';\nimport { createHover } from './hover';\nimport { createDrop } from './drop';\nimport { createEndDrag } from './endDrag';\nexport * from './types';\nexport function createDragDropActions(manager) {\n return {\n beginDrag: createBeginDrag(manager),\n publishDragSource: createPublishDragSource(manager),\n hover: createHover(manager),\n drop: createDrop(manager),\n endDrag: createEndDrag(manager)\n };\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","export var strictEquality = function strictEquality(a, b) {\n return a === b;\n};\n/**\n * Determine if two cartesian coordinate offsets are equal\n * @param offsetA\n * @param offsetB\n */\n\nexport function areCoordsEqual(offsetA, offsetB) {\n if (!offsetA && !offsetB) {\n return true;\n } else if (!offsetA || !offsetB) {\n return false;\n } else {\n return offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n }\n}\n/**\n * Determines if two arrays of items are equal\n * @param a The first array of items\n * @param b The second array of items\n */\n\nexport function areArraysEqual(a, b) {\n var isEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : strictEquality;\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (var i = 0; i < a.length; ++i) {\n if (!isEqual(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { INIT_COORDS, BEGIN_DRAG, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { areCoordsEqual } from '../utils/equality';\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n var payload = action.payload;\n\n switch (action.type) {\n case INIT_COORDS:\n case BEGIN_DRAG:\n return {\n initialSourceClientOffset: payload.sourceClientOffset,\n initialClientOffset: payload.clientOffset,\n clientOffset: payload.clientOffset\n };\n\n case HOVER:\n if (areCoordsEqual(state.clientOffset, payload.clientOffset)) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n clientOffset: payload.clientOffset\n });\n\n case END_DRAG:\n case DROP:\n return initialState;\n\n default:\n return state;\n }\n}","export var ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexport var ADD_TARGET = 'dnd-core/ADD_TARGET';\nexport var REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexport var REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\nexport function addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n payload: {\n sourceId: sourceId\n }\n };\n}\nexport function addTarget(targetId) {\n return {\n type: ADD_TARGET,\n payload: {\n targetId: targetId\n }\n };\n}\nexport function removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n payload: {\n sourceId: sourceId\n }\n };\n}\nexport function removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n payload: {\n targetId: targetId\n }\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { BEGIN_DRAG, PUBLISH_DRAG_SOURCE, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { REMOVE_TARGET } from '../actions/registry';\nimport { without } from '../utils/js_utils';\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n var payload = action.payload;\n\n switch (action.type) {\n case BEGIN_DRAG:\n return _objectSpread(_objectSpread({}, state), {}, {\n itemType: payload.itemType,\n item: payload.item,\n sourceId: payload.sourceId,\n isSourcePublic: payload.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n\n case PUBLISH_DRAG_SOURCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n isSourcePublic: true\n });\n\n case HOVER:\n return _objectSpread(_objectSpread({}, state), {}, {\n targetIds: payload.targetIds\n });\n\n case REMOVE_TARGET:\n if (state.targetIds.indexOf(payload.targetId) === -1) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n targetIds: without(state.targetIds, payload.targetId)\n });\n\n case DROP:\n return _objectSpread(_objectSpread({}, state), {}, {\n dropResult: payload.dropResult,\n didDrop: true,\n targetIds: []\n });\n\n case END_DRAG:\n return _objectSpread(_objectSpread({}, state), {}, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n\n default:\n return state;\n }\n}","import { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry';\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case ADD_SOURCE:\n case ADD_TARGET:\n return state + 1;\n\n case REMOVE_SOURCE:\n case REMOVE_TARGET:\n return state - 1;\n\n default:\n return state;\n }\n}","import { intersection } from './js_utils';\nexport var NONE = [];\nexport var ALL = [];\nNONE.__IS_NONE__ = true;\nALL.__IS_ALL__ = true;\n/**\n * Determines if the given handler IDs are dirty or not.\n *\n * @param dirtyIds The set of dirty handler ids\n * @param handlerIds The set of handler ids to check\n */\n\nexport function areDirty(dirtyIds, handlerIds) {\n if (dirtyIds === NONE) {\n return false;\n }\n\n if (dirtyIds === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n\n var commonIds = intersection(handlerIds, dirtyIds);\n return commonIds.length > 0;\n}","import { BEGIN_DRAG, PUBLISH_DRAG_SOURCE, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry';\nimport { areArraysEqual } from '../utils/equality';\nimport { NONE, ALL } from '../utils/dirtiness';\nimport { xor } from '../utils/js_utils';\nexport function reduce() {\n var _state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : NONE;\n\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case HOVER:\n break;\n\n case ADD_SOURCE:\n case ADD_TARGET:\n case REMOVE_TARGET:\n case REMOVE_SOURCE:\n return NONE;\n\n case BEGIN_DRAG:\n case PUBLISH_DRAG_SOURCE:\n case END_DRAG:\n case DROP:\n default:\n return ALL;\n }\n\n var _action$payload = action.payload,\n _action$payload$targe = _action$payload.targetIds,\n targetIds = _action$payload$targe === void 0 ? [] : _action$payload$targe,\n _action$payload$prevT = _action$payload.prevTargetIds,\n prevTargetIds = _action$payload$prevT === void 0 ? [] : _action$payload$prevT;\n var result = xor(targetIds, prevTargetIds);\n var didChange = result.length > 0 || !areArraysEqual(targetIds, prevTargetIds);\n\n if (!didChange) {\n return NONE;\n } // Check the target ids at the innermost position. If they are valid, add them\n // to the result\n\n\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n result.push(prevInnermostTargetId);\n }\n\n if (innermostTargetId) {\n result.push(innermostTargetId);\n }\n }\n\n return result;\n}","export function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n return state + 1;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { reduce as dragOffset } from './dragOffset';\nimport { reduce as dragOperation } from './dragOperation';\nimport { reduce as refCount } from './refCount';\nimport { reduce as dirtyHandlerIds } from './dirtyHandlerIds';\nimport { reduce as stateId } from './stateId';\nimport { get } from '../utils/js_utils';\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 ? arguments[1] : undefined;\n return {\n dirtyHandlerIds: dirtyHandlerIds(state.dirtyHandlerIds, {\n type: action.type,\n payload: _objectSpread(_objectSpread({}, action.payload), {}, {\n prevTargetIds: get(state, 'dragOperation.targetIds', [])\n })\n }),\n dragOffset: dragOffset(state.dragOffset, action),\n refCount: refCount(state.refCount, action),\n dragOperation: dragOperation(state.dragOperation, action),\n stateId: stateId(state.stateId)\n };\n}","/**\n * Coordinate addition\n * @param a The first coordinate\n * @param b The second coordinate\n */\nexport function add(a, b) {\n return {\n x: a.x + b.x,\n y: a.y + b.y\n };\n}\n/**\n * Coordinate subtraction\n * @param a The first coordinate\n * @param b The second coordinate\n */\n\nexport function subtract(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y\n };\n}\n/**\n * Returns the cartesian distance of the drag source component's position, based on its position\n * at the time when the current drag operation has started, and the movement difference.\n *\n * Returns null if no item is being dragged.\n *\n * @param state The offset state to compute from\n */\n\nexport function getSourceClientOffset(state) {\n var clientOffset = state.clientOffset,\n initialClientOffset = state.initialClientOffset,\n initialSourceClientOffset = state.initialSourceClientOffset;\n\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n\n return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset);\n}\n/**\n * Determines the x,y offset between the client offset and the initial client offset\n *\n * @param state The offset state to compute from\n */\n\nexport function getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset,\n initialClientOffset = state.initialClientOffset;\n\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n\n return subtract(clientOffset, initialClientOffset);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { matchesType } from '../utils/matchesType';\nimport { getSourceClientOffset as _getSourceClientOffset, getDifferenceFromInitialOffset as _getDifferenceFromInitialOffset } from '../utils/coords';\nimport { areDirty } from '../utils/dirtiness';\nexport var DragDropMonitorImpl = /*#__PURE__*/function () {\n function DragDropMonitorImpl(store, registry) {\n _classCallCheck(this, DragDropMonitorImpl);\n\n this.store = store;\n this.registry = registry;\n }\n\n _createClass(DragDropMonitorImpl, [{\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n handlerIds: undefined\n };\n var handlerIds = options.handlerIds;\n invariant(typeof listener === 'function', 'listener must be a function.');\n invariant(typeof handlerIds === 'undefined' || Array.isArray(handlerIds), 'handlerIds, when specified, must be an array of strings.');\n var prevStateId = this.store.getState().stateId;\n\n var handleChange = function handleChange() {\n var state = _this.store.getState();\n\n var currentStateId = state.stateId;\n\n try {\n var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !areDirty(state.dirtyHandlerIds, handlerIds);\n\n if (!canSkipListener) {\n listener();\n }\n } finally {\n prevStateId = currentStateId;\n }\n };\n\n return this.store.subscribe(handleChange);\n }\n }, {\n key: \"subscribeToOffsetChange\",\n value: function subscribeToOffsetChange(listener) {\n var _this2 = this;\n\n invariant(typeof listener === 'function', 'listener must be a function.');\n var previousState = this.store.getState().dragOffset;\n\n var handleChange = function handleChange() {\n var nextState = _this2.store.getState().dragOffset;\n\n if (nextState === previousState) {\n return;\n }\n\n previousState = nextState;\n listener();\n };\n\n return this.store.subscribe(handleChange);\n }\n }, {\n key: \"canDragSource\",\n value: function canDragSource(sourceId) {\n if (!sourceId) {\n return false;\n }\n\n var source = this.registry.getSource(sourceId);\n invariant(source, \"Expected to find a valid source. sourceId=\".concat(sourceId));\n\n if (this.isDragging()) {\n return false;\n }\n\n return source.canDrag(this, sourceId);\n }\n }, {\n key: \"canDropOnTarget\",\n value: function canDropOnTarget(targetId) {\n // undefined on initial render\n if (!targetId) {\n return false;\n }\n\n var target = this.registry.getTarget(targetId);\n invariant(target, \"Expected to find a valid target. targetId=\".concat(targetId));\n\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return matchesType(targetType, draggedItemType) && target.canDrop(this, targetId);\n }\n }, {\n key: \"isDragging\",\n value: function isDragging() {\n return Boolean(this.getItemType());\n }\n }, {\n key: \"isDraggingSource\",\n value: function isDraggingSource(sourceId) {\n // undefined on initial render\n if (!sourceId) {\n return false;\n }\n\n var source = this.registry.getSource(sourceId, true);\n invariant(source, \"Expected to find a valid source. sourceId=\".concat(sourceId));\n\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n\n if (sourceType !== draggedItemType) {\n return false;\n }\n\n return source.isDragging(this, sourceId);\n }\n }, {\n key: \"isOverTarget\",\n value: function isOverTarget(targetId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n shallow: false\n };\n\n // undefined on initial render\n if (!targetId) {\n return false;\n }\n\n var shallow = options.shallow;\n\n if (!this.isDragging()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n\n if (draggedItemType && !matchesType(targetType, draggedItemType)) {\n return false;\n }\n\n var targetIds = this.getTargetIds();\n\n if (!targetIds.length) {\n return false;\n }\n\n var index = targetIds.indexOf(targetId);\n\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n }\n }, {\n key: \"getItemType\",\n value: function getItemType() {\n return this.store.getState().dragOperation.itemType;\n }\n }, {\n key: \"getItem\",\n value: function getItem() {\n return this.store.getState().dragOperation.item;\n }\n }, {\n key: \"getSourceId\",\n value: function getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n }\n }, {\n key: \"getTargetIds\",\n value: function getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n }\n }, {\n key: \"getDropResult\",\n value: function getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n }\n }, {\n key: \"didDrop\",\n value: function didDrop() {\n return this.store.getState().dragOperation.didDrop;\n }\n }, {\n key: \"isSourcePublic\",\n value: function isSourcePublic() {\n return Boolean(this.store.getState().dragOperation.isSourcePublic);\n }\n }, {\n key: \"getInitialClientOffset\",\n value: function getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n }\n }, {\n key: \"getInitialSourceClientOffset\",\n value: function getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n }\n }, {\n key: \"getClientOffset\",\n value: function getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n }\n }, {\n key: \"getSourceClientOffset\",\n value: function getSourceClientOffset() {\n return _getSourceClientOffset(this.store.getState().dragOffset);\n }\n }, {\n key: \"getDifferenceFromInitialOffset\",\n value: function getDifferenceFromInitialOffset() {\n return _getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n }\n }]);\n\n return DragDropMonitorImpl;\n}();","export var HandlerRole;\n\n(function (HandlerRole) {\n HandlerRole[\"SOURCE\"] = \"SOURCE\";\n HandlerRole[\"TARGET\"] = \"TARGET\";\n})(HandlerRole || (HandlerRole = {}));","var nextUniqueId = 0;\nexport function getNextUniqueId() {\n return nextUniqueId++;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { invariant } from '@react-dnd/invariant';\nexport function validateSourceContract(source) {\n invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\nexport function validateTargetContract(target) {\n invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n invariant(typeof target.hover === 'function', 'Expected hover to be a function.');\n invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\nexport function validateType(type, allowArray) {\n if (allowArray && Array.isArray(type)) {\n type.forEach(function (t) {\n return validateType(t, false);\n });\n return;\n }\n\n invariant(typeof type === 'string' || _typeof(type) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}","// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n/* globals self */ const scope = typeof global !== 'undefined' ? global : self;\nconst BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\nexport function makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n const timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n const intervalHandle = setInterval(handleTimer, 50);\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nexport function makeRequestCallFromMutationObserver(callback) {\n let toggle = 1;\n const observer = new BrowserMutationObserver(callback);\n const node = document.createTextNode('');\n observer.observe(node, {\n characterData: true\n });\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\nexport const makeRequestCall = typeof BrowserMutationObserver === 'function' ? // reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nmakeRequestCallFromMutationObserver : // task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\nmakeRequestCallFromTimer;\n\n//# sourceMappingURL=makeRequestCall.mjs.map","// `call`, just like a function.\nexport class RawTask {\n call() {\n try {\n this.task && this.task();\n } catch (error) {\n this.onError(error);\n } finally{\n this.task = null;\n this.release(this);\n }\n }\n constructor(onError, release){\n this.onError = onError;\n this.release = release;\n this.task = null;\n }\n}\n\n//# sourceMappingURL=RawTask.mjs.map","import { AsapQueue } from './AsapQueue.mjs';\nimport { TaskFactory } from './TaskFactory.mjs';\nconst asapQueue = new AsapQueue();\nconst taskFactory = new TaskFactory(asapQueue.registerPendingError);\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */ export function asap(task) {\n asapQueue.enqueueTask(taskFactory.create(task));\n}\n\n//# sourceMappingURL=asap.mjs.map","import { makeRequestCall, makeRequestCallFromTimer } from './makeRequestCall.mjs';\nexport class AsapQueue {\n // Use the fastest means possible to execute a task in its own turn, with\n // priority over other events including IO, animation, reflow, and redraw\n // events in browsers.\n //\n // An exception thrown by a task will permanently interrupt the processing of\n // subsequent tasks. The higher level `asap` function ensures that if an\n // exception is thrown by a task, that the task queue will continue flushing as\n // soon as possible, but if you use `rawAsap` directly, you are responsible to\n // either ensure that no exceptions are thrown from your task, or to manually\n // call `rawAsap.requestFlush` if an exception is thrown.\n enqueueTask(task) {\n const { queue: q , requestFlush } = this;\n if (!q.length) {\n requestFlush();\n this.flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n q[q.length] = task;\n }\n constructor(){\n this.queue = [];\n // We queue errors to ensure they are thrown in right order (FIFO).\n // Array-as-queue is good enough here, since we are just dealing with exceptions.\n this.pendingErrors = [];\n // Once a flush has been requested, no further calls to `requestFlush` are\n // necessary until the next `flush` completes.\n // @ts-ignore\n this.flushing = false;\n // The position of the next task to execute in the task queue. This is\n // preserved between calls to `flush` so that it can be resumed if\n // a task throws an exception.\n this.index = 0;\n // If a task schedules additional tasks recursively, the task queue can grow\n // unbounded. To prevent memory exhaustion, the task queue will periodically\n // truncate already-completed tasks.\n this.capacity = 1024;\n // The flush function processes all tasks that have been scheduled with\n // `rawAsap` unless and until one of those tasks throws an exception.\n // If a task throws an exception, `flush` ensures that its state will remain\n // consistent and will resume where it left off when called again.\n // However, `flush` does not make any arrangements to be called again if an\n // exception is thrown.\n this.flush = ()=>{\n const { queue: q } = this;\n while(this.index < q.length){\n const currentIndex = this.index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n this.index++;\n q[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (this.index > this.capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for(let scan = 0, newLength = q.length - this.index; scan < newLength; scan++){\n q[scan] = q[scan + this.index];\n }\n q.length -= this.index;\n this.index = 0;\n }\n }\n q.length = 0;\n this.index = 0;\n this.flushing = false;\n };\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n this.registerPendingError = (err)=>{\n this.pendingErrors.push(err);\n this.requestErrorThrow();\n };\n // `requestFlush` requests that the high priority event queue be flushed as\n // soon as possible.\n // This is useful to prevent an error thrown in a task from stalling the event\n // queue if the exception handled by Node.js’s\n // `process.on(\"uncaughtException\")` or by a domain.\n // `requestFlush` is implemented using a strategy based on data collected from\n // every available SauceLabs Selenium web driver worker at time of writing.\n // https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n this.requestFlush = makeRequestCall(this.flush);\n this.requestErrorThrow = makeRequestCallFromTimer(()=>{\n // Throw first error\n if (this.pendingErrors.length) {\n throw this.pendingErrors.shift();\n }\n });\n }\n} // The message channel technique was discovered by Malte Ubl and was the\n // original foundation for this library.\n // http://www.nonblocking.io/2011/06/windownexttick.html\n // Safari 6.0.5 (at least) intermittently fails to create message ports on a\n // page's first load. Thankfully, this version of Safari supports\n // MutationObservers, so we don't need to fall back in that case.\n // function makeRequestCallFromMessageChannel(callback) {\n // var channel = new MessageChannel();\n // channel.port1.onmessage = callback;\n // return function requestCall() {\n // channel.port2.postMessage(0);\n // };\n // }\n // For reasons explained above, we are also unable to use `setImmediate`\n // under any circumstances.\n // Even if we were, there is another bug in Internet Explorer 10.\n // It is not sufficient to assign `setImmediate` to `requestFlush` because\n // `setImmediate` must be called *by name* and therefore must be wrapped in a\n // closure.\n // Never forget.\n // function makeRequestCallFromSetImmediate(callback) {\n // return function requestCall() {\n // setImmediate(callback);\n // };\n // }\n // Safari 6.0 has a problem where timers will get lost while the user is\n // scrolling. This problem does not impact ASAP because Safari 6.0 supports\n // mutation observers, so that implementation is used instead.\n // However, if we ever elect to use timers in Safari, the prevalent work-around\n // is to add a scroll event listener that calls for a flush.\n // `setTimeout` does not call the passed callback if the delay is less than\n // approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n // even then.\n // This is for `asap.js` only.\n // Its name will be periodically randomized to break any code that depends on\n // // its existence.\n // rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer\n // ASAP was originally a nextTick shim included in Q. This was factored out\n // into this ASAP package. It was later adapted to RSVP which made further\n // amendments. These decisions, particularly to marginalize MessageChannel and\n // to capture the MutationObserver implementation in a closure, were integrated\n // back into ASAP proper.\n // https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n//# sourceMappingURL=AsapQueue.mjs.map","import { RawTask } from './RawTask.mjs';\nexport class TaskFactory {\n create(task) {\n const tasks = this.freeTasks;\n const t1 = tasks.length ? tasks.pop() : new RawTask(this.onError, (t)=>tasks[tasks.length] = t\n );\n t1.task = task;\n return t1;\n }\n constructor(onError){\n this.onError = onError;\n this.freeTasks = [];\n }\n}\n\n//# sourceMappingURL=TaskFactory.mjs.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { addSource as _addSource, addTarget as _addTarget, removeSource as _removeSource, removeTarget as _removeTarget } from '../actions/registry';\nimport { getNextUniqueId } from '../utils/getNextUniqueId';\nimport { HandlerRole } from '../interfaces';\nimport { validateSourceContract, validateTargetContract, validateType } from '../contracts';\nimport { asap } from '@react-dnd/asap';\n\nfunction getNextHandlerId(role) {\n var id = getNextUniqueId().toString();\n\n switch (role) {\n case HandlerRole.SOURCE:\n return \"S\".concat(id);\n\n case HandlerRole.TARGET:\n return \"T\".concat(id);\n\n default:\n throw new Error(\"Unknown Handler Role: \".concat(role));\n }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return HandlerRole.SOURCE;\n\n case 'T':\n return HandlerRole.TARGET;\n\n default:\n invariant(false, \"Cannot parse handler ID: \".concat(handlerId));\n }\n}\n\nfunction mapContainsValue(map, searchValue) {\n var entries = map.entries();\n var isDone = false;\n\n do {\n var _entries$next = entries.next(),\n done = _entries$next.done,\n _entries$next$value = _slicedToArray(_entries$next.value, 2),\n value = _entries$next$value[1];\n\n if (value === searchValue) {\n return true;\n }\n\n isDone = !!done;\n } while (!isDone);\n\n return false;\n}\n\nexport var HandlerRegistryImpl = /*#__PURE__*/function () {\n function HandlerRegistryImpl(store) {\n _classCallCheck(this, HandlerRegistryImpl);\n\n this.types = new Map();\n this.dragSources = new Map();\n this.dropTargets = new Map();\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n this.store = store;\n }\n\n _createClass(HandlerRegistryImpl, [{\n key: \"addSource\",\n value: function addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n var sourceId = this.addHandler(HandlerRole.SOURCE, type, source);\n this.store.dispatch(_addSource(sourceId));\n return sourceId;\n }\n }, {\n key: \"addTarget\",\n value: function addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n var targetId = this.addHandler(HandlerRole.TARGET, type, target);\n this.store.dispatch(_addTarget(targetId));\n return targetId;\n }\n }, {\n key: \"containsHandler\",\n value: function containsHandler(handler) {\n return mapContainsValue(this.dragSources, handler) || mapContainsValue(this.dropTargets, handler);\n }\n }, {\n key: \"getSource\",\n value: function getSource(sourceId) {\n var includePinned = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.dragSources.get(sourceId);\n return source;\n }\n }, {\n key: \"getTarget\",\n value: function getTarget(targetId) {\n invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.dropTargets.get(targetId);\n }\n }, {\n key: \"getSourceType\",\n value: function getSourceType(sourceId) {\n invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types.get(sourceId);\n }\n }, {\n key: \"getTargetType\",\n value: function getTargetType(targetId) {\n invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types.get(targetId);\n }\n }, {\n key: \"isSourceId\",\n value: function isSourceId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRole.SOURCE;\n }\n }, {\n key: \"isTargetId\",\n value: function isTargetId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRole.TARGET;\n }\n }, {\n key: \"removeSource\",\n value: function removeSource(sourceId) {\n var _this = this;\n\n invariant(this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(_removeSource(sourceId));\n asap(function () {\n _this.dragSources.delete(sourceId);\n\n _this.types.delete(sourceId);\n });\n }\n }, {\n key: \"removeTarget\",\n value: function removeTarget(targetId) {\n invariant(this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(_removeTarget(targetId));\n this.dropTargets.delete(targetId);\n this.types.delete(targetId);\n }\n }, {\n key: \"pinSource\",\n value: function pinSource(sourceId) {\n var source = this.getSource(sourceId);\n invariant(source, 'Expected an existing source.');\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n }\n }, {\n key: \"unpinSource\",\n value: function unpinSource() {\n invariant(this.pinnedSource, 'No source is pinned at the time.');\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n }, {\n key: \"addHandler\",\n value: function addHandler(role, type, handler) {\n var id = getNextHandlerId(role);\n this.types.set(id, type);\n\n if (role === HandlerRole.SOURCE) {\n this.dragSources.set(id, handler);\n } else if (role === HandlerRole.TARGET) {\n this.dropTargets.set(id, handler);\n }\n\n return id;\n }\n }]);\n\n return HandlerRegistryImpl;\n}();","import { DragDropManagerImpl } from './classes/DragDropManagerImpl';\nimport { createStore } from 'redux';\nimport { reduce } from './reducers';\nimport { DragDropMonitorImpl } from './classes/DragDropMonitorImpl';\nimport { HandlerRegistryImpl } from './classes/HandlerRegistryImpl';\nexport function createDragDropManager(backendFactory) {\n var globalContext = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var backendOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var debugMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var store = makeStoreInstance(debugMode);\n var monitor = new DragDropMonitorImpl(store, new HandlerRegistryImpl(store));\n var manager = new DragDropManagerImpl(store, monitor);\n var backend = backendFactory(manager, globalContext, backendOptions);\n manager.receiveBackend(backend);\n return manager;\n}\n\nfunction makeStoreInstance(debugMode) {\n // TODO: if we ever make a react-native version of this,\n // we'll need to consider how to pull off dev-tooling\n var reduxDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__;\n return createStore(reduce, debugMode && reduxDevTools && reduxDevTools({\n name: 'dnd-core',\n instanceId: 'dnd-core'\n }));\n}","var _excluded = [\"children\"];\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect, memo } from 'react';\nimport { createDragDropManager } from 'dnd-core';\nimport { DndContext } from './DndContext';\nvar refCount = 0;\nvar INSTANCE_SYM = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__');\n/**\n * A React component that provides the React-DnD context\n */\n\nexport var DndProvider = memo(function DndProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _getDndContextValue = getDndContextValue(props),\n _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2),\n manager = _getDndContextValue2[0],\n isGlobalInstance = _getDndContextValue2[1]; // memoized from props\n\n /**\n * If the global context was used to store the DND context\n * then where theres no more references to it we should\n * clean it up to avoid memory leaks\n */\n\n\n useEffect(function () {\n if (isGlobalInstance) {\n var context = getGlobalContext();\n ++refCount;\n return function () {\n if (--refCount === 0) {\n context[INSTANCE_SYM] = null;\n }\n };\n }\n }, []);\n return _jsx(DndContext.Provider, Object.assign({\n value: manager\n }, {\n children: children\n }), void 0);\n});\n\nfunction getDndContextValue(props) {\n if ('manager' in props) {\n var _manager = {\n dragDropManager: props.manager\n };\n return [_manager, false];\n }\n\n var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode);\n var isGlobalInstance = !props.context;\n return [manager, isGlobalInstance];\n}\n\nfunction createSingletonDndContext(backend) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext();\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var debugMode = arguments.length > 3 ? arguments[3] : undefined;\n var ctx = context;\n\n if (!ctx[INSTANCE_SYM]) {\n ctx[INSTANCE_SYM] = {\n dragDropManager: createDragDropManager(backend, context, options, debugMode)\n };\n }\n\n return ctx[INSTANCE_SYM];\n}\n\nfunction getGlobalContext() {\n return typeof global !== 'undefined' ? global : window;\n}","import { t } from \"../i18n\";\nimport React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport { DndProvider } from \"react-dnd\";\nimport { DndBackend } from \"./DndBackend\";\n\nimport Editor from \"../Editor\";\nimport Block from \"../Block\";\nimport BlockItem from \"./BlockItem\";\nimport {\n EditorContext,\n BlocksContext,\n EditorContextProps,\n BlocksContextProps,\n} from \"../Context\";\nimport AddButton from \"./AddButton\";\nimport { getBlocksByRange, isPassThroughNativeEvent } from \"../util\";\nimport { BlockEditorCommandEvent } from \"../CommandManager\";\n\ndeclare global {\n interface WindowEventMap {\n \"mt-block-editor-command\": BlockEditorCommandEvent;\n \"mt-block-editor-click-block\": CustomEvent;\n }\n}\n\ninterface AppProps {\n editor: Editor;\n}\n\nfunction arrayEquals(a: T[], b: T[]): boolean {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0, len = a.length; i < len; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst App: React.FC = ({ editor }: AppProps) => {\n const [_focusedIds, _setFocusedIds] = useState([]);\n const focusedIdsRef = useRef(_focusedIds);\n\n const editorContext = useMemo(\n () => ({\n editor: editor,\n setFocusedIds: (ids, opts?) => {\n const focusedIds = focusedIdsRef.current;\n if (\n focusedIds.length >= 2 &&\n ids.length === 1 &&\n focusedIds.includes(ids[0])\n ) {\n // do nothing\n return;\n }\n\n if (!opts?.forceUpdate && arrayEquals(focusedIds, ids)) {\n return;\n }\n\n focusedIdsRef.current = ids;\n _setFocusedIds(ids);\n },\n getFocusedIds: () => focusedIdsRef.current,\n }),\n []\n );\n const setFocusedIds = editorContext.setFocusedIds;\n\n const blocksContext = useMemo(\n () => ({\n panelBlockTypes: null,\n shortcutBlockTypes: null,\n addBlock: (b: Block, index: number | Block) => {\n if (index instanceof Block) {\n index = editor.blocks.indexOf(index) + 1;\n }\n editor.addBlock(editor, b, index);\n setFocusedIds([b.id]);\n },\n mergeBlock: (b: Block) => {\n const index = editor.blocks.indexOf(b);\n if (editor.mergeBlock(editor, b)) {\n setFocusedIds([editor.blocks[index - 1].id]);\n }\n },\n removeBlock: (b: Block) => {\n const index = editor.blocks.indexOf(b);\n editor.removeBlock(editor, b);\n if (index > 0) {\n setFocusedIds([editor.blocks[index - 1].id]);\n }\n },\n swapBlocks: (dragIndex: number, hoverIndex: number, scroll?: boolean) => {\n if (\n dragIndex === undefined ||\n hoverIndex === undefined ||\n !editor.blocks[dragIndex] ||\n !editor.blocks[hoverIndex]\n ) {\n return;\n }\n\n if (scroll) {\n const destEl = editor.blocks[hoverIndex].wrapperRef.current;\n if (!destEl) {\n return;\n }\n\n const rect = destEl.getBoundingClientRect();\n const scrollTop =\n window.pageYOffset || document.documentElement.scrollTop;\n const offsetTop = rect.height;\n\n window.scrollTo({\n top: scrollTop + (dragIndex > hoverIndex ? -offsetTop : offsetTop),\n behavior: \"smooth\",\n });\n }\n\n editor.swapBlocks(editor, dragIndex, hoverIndex);\n },\n }),\n []\n );\n\n useEffect(() => {\n const onWindowClick = (ev: Event): void => {\n if (\n document.querySelector(\".mt-be-overlay\") ||\n document.body.classList.contains(\"modal-open\")\n ) {\n return;\n }\n\n const editorEl = editor.editorElement;\n\n if (editorEl.querySelector(`[data-mt-block-editor-keep-focus=\"1\"]`)) {\n return;\n }\n\n let target = ev.target as HTMLElement;\n if (target.closest(\".mce-container, .modal\")) {\n return;\n }\n\n while (target.parentNode && target.parentNode !== target) {\n if (target === editorEl) {\n if (focusedIdsRef.current.length === 0) {\n setFocusedIds([\"editor\"]);\n }\n return;\n }\n target = target.parentNode as HTMLElement;\n }\n\n setFocusedIds([]);\n };\n\n const onWindowKeydown = (ev: KeyboardEvent): void => {\n const editorEl = editor.editorElement;\n const focusedIds = focusedIdsRef.current;\n\n if (focusedIds.length === 0) {\n return;\n }\n\n if (!(ev.ctrlKey || ev.metaKey || ev.altKey || ev.shiftKey)) {\n return;\n }\n\n // stay focused but not edit\n if (\n isPassThroughNativeEvent(ev) ||\n editorEl.querySelector(`[data-mt-block-editor-keep-focus=\"1\"]`)\n ) {\n return;\n }\n\n const key = ev.key;\n\n if (key === \"z\" && (ev.ctrlKey || ev.metaKey) && !ev.shiftKey) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n editor.editManager.undo({\n editor,\n getFocusedIds: () => focusedIds,\n setFocusedIds,\n });\n } else if (\n (key === \"z\" && (ev.ctrlKey || ev.metaKey) && ev.shiftKey) ||\n (key === \"y\" && (ev.ctrlKey || ev.metaKey))\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n editor.editManager.redo({\n editor,\n getFocusedIds: () => focusedIds,\n setFocusedIds,\n });\n }\n };\n\n let startId = \"\";\n const onEditorMousedown = (ev: MouseEvent): void => {\n if (ev.target instanceof HTMLElement) {\n startId =\n ev.target.closest(\"[data-mt-block-editor-block-id]\")\n ?.dataset.mtBlockEditorBlockId || \"\";\n }\n };\n\n const onEditorMouseup = (ev: MouseEvent): void => {\n if (ev.target instanceof HTMLElement) {\n const endId =\n ev.target.closest(\"[data-mt-block-editor-block-id]\")\n ?.dataset.mtBlockEditorBlockId || \"\";\n if (startId && endId && startId !== endId) {\n setFocusedIds(\n getBlocksByRange(editor, [startId, endId]).map((b) => b.id)\n );\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n\n startId = \"\";\n };\n\n const onBlockEditorCommand = (ev: BlockEditorCommandEvent): void => {\n editor.commandManager.execute({\n ...ev.detail,\n event: ev,\n });\n };\n\n editor.editorElement.addEventListener(\"mousedown\", onEditorMousedown);\n editor.editorElement.addEventListener(\"mouseup\", onEditorMouseup);\n\n window.addEventListener(\"click\", onWindowClick, {\n capture: true,\n passive: true,\n });\n\n window.addEventListener(\"keydown\", onWindowKeydown);\n window.addEventListener(\"mt-block-editor-command\", onBlockEditorCommand);\n\n return () => {\n editor.editorElement.removeEventListener(\"mousedown\", onEditorMousedown);\n editor.editorElement.removeEventListener(\"mouseup\", onEditorMouseup);\n window.removeEventListener(\"click\", onWindowClick, {\n capture: true,\n });\n window.removeEventListener(\"keydown\", onWindowKeydown);\n window.removeEventListener(\n \"mt-block-editor-command\",\n onBlockEditorCommand\n );\n };\n }, []);\n\n return (\n \n \n \n
\n {editor.blocks.map((b, i) => {\n return (\n \n );\n })}\n {editor.opts.addButtons[\"bottom\"] && (\n
\n \n
\n )}\n
\n
\n
\n
\n );\n};\n\nexport default App;\n","import Block from \"./Block\";\n\nclass BlockFactory {\n public static allTypes: Array = [];\n\n public static registerType(t: typeof Block): void {\n this.allTypes.push(t);\n }\n\n public static deregisterType(t: typeof Block | string): void {\n this.allTypes = this.allTypes.filter((registered) =>\n typeof t === \"string\" ? registered.typeId === t : registered !== t\n );\n }\n\n public types(): Array {\n return BlockFactory.allTypes;\n }\n\n public selectableTypes(): Array {\n return BlockFactory.allTypes.filter((t) => t.selectable);\n }\n\n public lookupType(typeId: string): typeof Block {\n const t = BlockFactory.allTypes.find((t) => t.typeId === typeId);\n\n if (!t) {\n throw `Unknown typeId: ${typeId}`;\n }\n\n return t;\n }\n}\n\nexport default BlockFactory;\n","import Editor from \"./Editor\";\nimport Block from \"./Block\";\nimport { EditorContextProps } from \"./Context\";\n\nconst DEFAULT_LIMIT = 100;\nconst NO_GROUP = undefined;\n\nexport interface EditHistoryHandlers {\n id: symbol;\n merge?: (a: EditHistory, b: EditHistory) => EditHistory | undefined | null;\n undo: (history: EditHistory, props: EditorContextProps) => void;\n redo: (history: EditHistory, props: EditorContextProps) => void;\n}\n\nexport interface EditHistory {\n block: Block;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any;\n group?: number | undefined;\n handlers: EditHistoryHandlers;\n}\n\nclass EditManager {\n private editor: Editor | null = null;\n private limit = DEFAULT_LIMIT;\n private index = 0;\n private ignore = false;\n private histories: EditHistory[] = [];\n private group: number | undefined = NO_GROUP;\n\n public constructor(init: {\n editor: EditManager[\"editor\"];\n limit?: EditManager[\"limit\"];\n }) {\n Object.assign(this, init);\n }\n\n public unload(): void {\n this.editor = null;\n this.histories = [];\n }\n\n public canUndo(): boolean {\n return this.histories.length !== 0 && this.histories.length > this.index;\n }\n\n public canRedo(): boolean {\n return this.index !== 0;\n }\n\n public add(history: EditHistory): void {\n if (this.ignore) {\n return;\n }\n\n this._add(history);\n\n if (this.group === NO_GROUP) {\n this.emitChange();\n }\n }\n\n private _add(history: EditHistory): void {\n if (this.index !== 0) {\n this.histories.splice(-this.index, this.index);\n }\n this.index = 0;\n\n if (this.group !== NO_GROUP && !history.group) {\n history.group = this.group;\n }\n\n if (history.handlers.merge) {\n const last = this.histories[this.histories.length - 1];\n if (\n last &&\n last.group === history.group &&\n last.handlers.id === history.handlers.id\n ) {\n const merged = history.handlers.merge.call(undefined, last, history);\n if (merged) {\n this.histories[this.histories.length - 1] = merged;\n return;\n }\n }\n }\n\n this.histories.push(history);\n\n if (this.histories.length > this.limit) {\n const count = this.histories.length - this.limit;\n this.histories.splice(0, count);\n }\n }\n\n public undo(props: EditorContextProps, group?: number): void {\n const history = this.histories[this.histories.length - this.index - 1];\n if (!history || (group !== undefined && group !== history.group)) {\n if (group !== undefined) {\n this.emitChange();\n }\n return;\n }\n\n this.index++;\n\n this.ignore = true;\n history.handlers.undo.call(undefined, history, props);\n this.ignore = false;\n\n if (history.group === NO_GROUP) {\n this.emitChange();\n } else {\n this.undo(props, history.group);\n }\n }\n\n public redo(props: EditorContextProps, group?: number): void {\n const history = this.histories[this.histories.length - this.index];\n if (!history || (group !== undefined && group !== history.group)) {\n if (group !== undefined) {\n this.emitChange();\n }\n return;\n }\n\n this.index--;\n this.ignore = true;\n history.handlers.redo.call(undefined, history, props);\n this.ignore = false;\n\n if (history.group === NO_GROUP) {\n this.emitChange();\n } else {\n this.redo(props, history.group);\n }\n }\n\n public generateGroup(): number {\n return Math.round(Math.random() * 100000);\n }\n\n public beginGrouping(): void {\n this.group = this.generateGroup();\n }\n\n public endGrouping(): void {\n if (this.group === NO_GROUP) {\n return;\n }\n\n const last = this.histories[this.histories.length - 1];\n if (last && last.group === this.group) {\n this.emitChange();\n }\n\n this.group = NO_GROUP;\n }\n\n private emitChange(): void {\n if (this.editor) {\n this.editor.emit(\"change\", { editor: this.editor });\n }\n }\n}\n\nexport default EditManager;\n","import { EditHistoryHandlers } from \"../EditManager\";\nimport Block from \"../Block\";\n\nexport const add: EditHistoryHandlers = {\n id: Symbol(\"add\"),\n undo(hist, { editor, setFocusedIds }) {\n const parent = hist.data.parent || editor;\n const index = parent.blocks.indexOf(hist.block);\n editor.removeBlock(parent, hist.block);\n\n const nextFocusBlock =\n parent.blocks[Math.max(0, index - 1)] ||\n (parent instanceof Block ? parent : null);\n\n setFocusedIds([nextFocusBlock?.id ?? \"editor\"]);\n },\n redo(hist, { editor, setFocusedIds }) {\n const parent = hist.data.parent || editor;\n editor.addBlock(parent, hist.block, hist.data.index);\n setFocusedIds([hist.block.id]);\n\n // You need to force a re-render to see the block\n if (parent.blocks.length === 1) {\n editor.render();\n }\n },\n};\n\nexport const remove: EditHistoryHandlers = {\n id: Symbol(\"remove\"),\n undo(hist, { editor, setFocusedIds }) {\n editor.addBlock(hist.data.parent || editor, hist.block, hist.data.index);\n setFocusedIds([hist.block.id], { forceUpdate: true });\n },\n redo(hist, { editor, setFocusedIds }) {\n const parent = hist.data.parent || editor;\n const index = parent.blocks.indexOf(hist.block);\n editor.removeBlock(parent, hist.block);\n if (index > 0) {\n setFocusedIds([parent.blocks[index - 1].id]);\n }\n },\n};\n\nexport const swap: EditHistoryHandlers = {\n id: Symbol(\"swap\"),\n undo(hist, { editor }) {\n editor.swapBlocks(hist.data.parent || editor, hist.data.a, hist.data.b);\n },\n redo(hist, { editor }) {\n editor.swapBlocks(hist.data.parent || editor, hist.data.a, hist.data.b);\n },\n};\n","export const beforeRenderIframePreview = (data: {\n html: string;\n scheme: string;\n}): void => {\n const parser = new DOMParser();\n\n const doc = parser.parseFromString(data.html, \"text/html\");\n if (\n doc.body.children.length > 0 &&\n [...doc.body.children].every(\n (e) =>\n e instanceof HTMLIFrameElement &&\n /^https:\\/\\/www.youtube.com\\//.test(e.src)\n )\n ) {\n // YouTube iframe only\n data.scheme = \"srcdoc\";\n } else if (\n /^https:\\/\\/www.tiktok.com\\//.test(\n doc.body.querySelector(\"script\")?.src || \"\"\n )\n ) {\n // Include TikTok embed script\n data.scheme = \"data-wrap\";\n }\n};\n","import React, { ReactNode, useEffect, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { CSSTransition } from \"react-transition-group\";\n\nconst OVERLAY_CLASS_NAME = \"mt-be-overlay\";\nconst PORTAL_STYLE = { position: \"relative\", zIndex: 1000 };\nexport const TRANSITION_TIMEOUT = 300;\n\ninterface OverlayProps {\n open: boolean;\n onClose?: () => void;\n children?: ReactNode;\n}\n\nconst Overlay: React.FC = ({\n open,\n onClose = () => null,\n children,\n}: OverlayProps) => {\n const [portal] = useState(() =>\n document.createElement(\"div\")\n );\n\n useEffect(() => {\n Object.assign(portal.style, PORTAL_STYLE);\n portal.classList.add(\"mt-block-editor\");\n document.body.appendChild(portal);\n return () => portal.remove();\n }, []);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n\n function onKeydown(ev: KeyboardEvent): void {\n if (ev.key === \"Escape\") {\n onClose();\n }\n }\n\n document.addEventListener(\"keydown\", onKeydown);\n return () => document.removeEventListener(\"keydown\", onKeydown);\n }, [open]);\n\n return createPortal(\n \n document.body.classList.add(\"mt-block-editor-overlay-open\")\n }\n onExit={() =>\n document.body.classList.remove(\"mt-block-editor-overlay-open\")\n }\n classNames={OVERLAY_CLASS_NAME}\n unmountOnExit\n timeout={TRANSITION_TIMEOUT}\n >\n
{children}
\n ,\n portal\n );\n};\n\nexport default Overlay;\n","import { t } from \"../i18n\";\nimport React, {\n ReactNode,\n useRef,\n useEffect,\n createContext,\n useContext,\n} from \"react\";\nimport Overlay, { TRANSITION_TIMEOUT } from \"./Overlay\";\n\nexport interface DialogProps {\n children?: ReactNode;\n open: boolean;\n onClose?: () => void;\n id?: string;\n className?: string;\n}\ntype DialogContextProps = Pick;\n\nconst DialogContext = createContext({});\nexport const Dialog: React.FC = (props: DialogProps) => {\n const modalRef = useRef(null);\n const className = `mt-be-dialog ${props.className || \"\"}`;\n\n useEffect(() => {\n if (!props.open) {\n return;\n }\n\n const modalEl = modalRef.current;\n if (!modalEl) {\n return;\n }\n\n const focusEl = modalEl.querySelector(\n `[data-mt-block-editor-focus-default]`\n );\n if (!focusEl) {\n return;\n }\n\n setTimeout(() => {\n focusEl.focus();\n }, TRANSITION_TIMEOUT);\n }, [props.open]);\n\n return (\n \n \n
\n
{props.children}
\n
\n
\n
\n );\n};\n\nexport const DialogHeader: React.FC = (props: { children?: ReactNode }) => {\n const { onClose = () => null } = useContext(DialogContext);\n return (\n
\n {props.children}\n \n ×\n \n
\n );\n};\n\nexport const DialogBody: React.FC = (props: { children?: ReactNode }) => (\n
{props.children}
\n);\n\nexport const DialogFooter: React.FC = (props: { children?: ReactNode }) => (\n
{props.children}
\n);\n\nexport default Dialog;\n","import { t } from \"../i18n\";\nimport React, { useState, useRef } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../Block\";\nimport { nl2br } from \"../util\";\nimport { blockProperty } from \"../decorator\";\nimport icon from \"../img/icon/image.svg\";\nimport iconLink from \"../img/icon/link.svg\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport BlockLabel from \"../Component/BlockLabel\";\nimport BlockToolbar from \"../Component/BlockToolbar\";\nimport BlockToolbarButton from \"../Component/BlockToolbarButton\";\nimport {\n Dialog,\n DialogHeader,\n DialogBody,\n DialogFooter,\n} from \"../Component/Dialog\";\nimport { useCommands } from \"../CommandManager\";\n\ninterface EditorProps {\n block: Image;\n}\n\nconst Html: React.FC = ({ block }: EditorProps) => {\n let img = {block.alt};\n if (block.linkUrl) {\n img = (\n \n {img}\n
\n );\n }\n\n return block.caption ? (\n
\n {img}\n
{nl2br(block.caption)}
\n
\n ) : (\n

{img}

\n );\n};\n\nconst Editor: React.FC = blockProperty(\n ({ block }: EditorProps) => {\n const [isLinkDialogOpen, setLinkDialogOpen] = useState(false);\n const formRef = useRef(null);\n\n useCommands(\n {\n block,\n commands: [\n {\n command: \"core-insertLink\",\n callback: () => {\n setLinkDialogOpen(true);\n },\n },\n ],\n },\n []\n );\n\n return (\n <>\n \n setLinkDialogOpen(true)}\n />\n \n setLinkDialogOpen(false)}\n >\n \n

{t(\"Insert Link\")}

\n
\n
\n \n \n \n \n \n\n \n {\n setLinkDialogOpen(false);\n }}\n >\n {t(\"Close\")}\n \n {\n const form = formRef.current;\n if (!form) {\n return;\n }\n\n const keys = [\"linkUrl\", \"linkTitle\", \"linkTarget\"] as const;\n keys.forEach((name) => {\n block[name] =\n form.querySelector(\n `[data-property-name=\"${name}\"]`\n )?.value || \"\";\n });\n\n setLinkDialogOpen(false);\n }}\n >\n {t(\"Save\")}\n \n \n
\n \n \n \n \n \n \n \n \n \n );\n }\n);\n\nclass Image extends Block {\n public static typeId = \"core-image\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Image\");\n }\n\n public url = \"\";\n public alt = \"\";\n public caption = \"\";\n public linkUrl = \"\";\n public linkTarget = \"_self\";\n public linkTitle = \"\";\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n return focus || focusBlock ? (\n \n ) : (\n this.html()\n );\n }\n\n public html(): JSX.Element {\n return ;\n }\n\n public static canNewFromFile(): boolean {\n return true;\n }\n\n public static async newFromFile({ file }: { file: File }): Promise {\n return new Image({\n url: URL.createObjectURL(file),\n });\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n const domparser = new DOMParser();\n const doc = domparser.parseFromString(html, \"text/html\");\n\n return new Image(\n Object.assign(\n {\n url: (doc.querySelector(\"IMG\") as HTMLImageElement).src || \"\",\n className:\n (doc.querySelector(\"IMG\") as HTMLImageElement).className || \"\",\n alt: (doc.querySelector(\"IMG\") as HTMLImageElement).alt || \"\",\n caption:\n (doc.querySelector(\"FIGCAPTION\") &&\n (\n doc.querySelector(\"FIGCAPTION\") as HTMLElement\n ).innerHTML.replace(/]*>/g, \"\\n\")) ||\n \"\",\n },\n meta\n )\n );\n }\n}\n\nexport default Image;\n","import { t } from \"../i18n\";\nimport React from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../Block\";\nimport { sanitize } from \"../util\";\nimport { blockProperty } from \"../decorator\";\nimport icon from \"../img/icon/file.svg\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport BlockLabel from \"../Component/BlockLabel\";\n\ninterface HtmlProps {\n block: File;\n}\ninterface EditorProps extends EditorOptions {\n block: File;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst Editor: React.FC = blockProperty(\n ({ block }: EditorProps) => (\n
\n \n \n \n \n \n
\n )\n);\n\nconst Html: React.FC = ({ block }: HtmlProps) => (\n <>\n {block.text}\n \n);\n\nclass File extends Block {\n public static typeId = \"core-file\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"File\");\n }\n\n public text = \"\";\n public url = \"\";\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public editor({ focus }: EditorOptions): JSX.Element {\n return focus ? (\n \n ) : (\n
\n );\n }\n\n public html(): JSX.Element {\n return ;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n const domparser = new DOMParser();\n const doc = domparser.parseFromString(html, \"text/html\");\n\n return new File(\n Object.assign(\n {\n url: (doc.querySelector(\"A\") as HTMLAnchorElement).href || \"\",\n text: (doc.querySelector(\"A\") as HTMLAnchorElement).textContent || \"\",\n },\n meta\n )\n );\n }\n}\n\nexport default File;\n","import { t } from \"../../../i18n\";\nimport React, { useEffect, useMemo, CSSProperties } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../../../Block\";\nimport {\n sanitize,\n getShadowDomSelectorSet,\n isPassThroughNativeEvent,\n} from \"../../../util\";\nimport type {\n Editor as TinyMCEEditor,\n TinyMCE,\n RawEditorOptions as TinyMCESettings,\n} from \"tinymce\";\nimport { useBlocksContext, useEditorContext } from \"../../../Context\";\nimport icon from \"../../../img/icon/table.svg\";\nimport EditorMode from \"../../../Component/EditorMode\";\nimport BlockToolbar from \"../../../Component/BlockToolbar\";\nimport BlockSetupCommon from \"../../../Component/BlockSetupCommon\";\nimport BlockLabel from \"../../../Component/BlockLabel\";\nimport BlockContentEditablePreview, {\n HasEditorStyle,\n} from \"../../../Component/BlockContentEditablePreview\";\nimport { editHandlers } from \"../../Text/tinymce/edit\";\nimport {\n installPlugins as installTinyMCEPlugins,\n commonSettings,\n getTinymceMajorVersion,\n} from \"../../Text/tinymce/tinymce\";\n\nimport {\n HasTinyMCE,\n tinymceFocus,\n removeTinyMCEFromBlock,\n adjustToolbar,\n} from \"../../Text/tinymce/util\";\n\ndeclare const tinymce: TinyMCE;\n\ninterface EditorProps extends Omit {\n block: Table;\n}\n\nconst Editor: React.FC = ({ block }: EditorProps) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor } = editorContext;\n const { addBlock } = useBlocksContext();\n\n const selectorSet = getShadowDomSelectorSet(block.id);\n const settings = useMemo(() => {\n const pluginsSettings: TinyMCESettings =\n getTinymceMajorVersion() >= 6\n ? {\n plugins: [\"table\", \"code\", \"media\", \"link\", \"MTBlockEditor\"],\n }\n : {\n plugins: \"table code paste media textcolor link MTBlockEditor\",\n };\n\n const _settings: TinyMCESettings = {\n ...commonSettings(editor, block, editorContext, blocksContext),\n ...pluginsSettings,\n toolbar:\n \"table | bold italic underline strikethrough forecolor backcolor removeformat | alignleft aligncenter alignright | link unlink | code\",\n init_instance_callback: (ed: TinyMCEEditor) => {\n block.tinymce = ed;\n\n ed.setContent(block.text);\n tinymceFocus(ed, selectorSet);\n\n const root = ed.dom.getRoot();\n\n // XXX: disable undo feature focefully\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ed.undoManager.add = (): any => {\n // XXX: improve performance\n if (getTinymceMajorVersion() >= 6) {\n ed.dispatch(\"Change\");\n } else {\n ed.fire(\"Change\");\n }\n return null;\n };\n\n let last = block.text;\n ed.on(\"MTBlockEditorEdit\", (ev) => {\n ed.dom.setHTML(ed.getBody(), ev.html);\n last = ev.html;\n });\n\n const addEdit = (): void => {\n const cur = ed.getContent();\n if (last === cur) {\n return;\n }\n\n editor.editManager.add({\n block,\n data: {\n last,\n },\n handlers: editHandlers,\n });\n\n last = cur;\n };\n\n ed.on(\"NodeChange Change\", (ev) => {\n if (root.childNodes.length <= 1) {\n addEdit();\n return;\n }\n\n if (ev.type === \"change\") {\n return;\n }\n\n let children = [...root.childNodes] as HTMLElement[];\n\n children = children\n .filter((c) => !c.classList.contains(\"mce-pastebin\"))\n .map((c) => {\n if (c.tagName === \"TABLE\") {\n return c;\n } else {\n const grandChildren: HTMLElement[] = [];\n\n [...c.querySelectorAll(\"TABLE\")].forEach((t) => {\n if ((t.parentElement as HTMLElement).closest(\"TABLE\")) {\n // nest\n return;\n }\n\n root.insertBefore(t, c);\n grandChildren.push(t as HTMLElement);\n });\n ed.dom.remove(c);\n\n return grandChildren;\n }\n })\n .flat() as HTMLElement[];\n\n if (children.length === 1) {\n addEdit();\n return;\n }\n\n children.shift();\n children.reverse();\n children.forEach((c) => {\n ed.dom.remove(c);\n });\n\n editor.editManager.beginGrouping();\n\n addEdit();\n\n children.forEach((c) => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n addBlock(new Table({ text: c.outerHTML }), block);\n });\n\n editor.editManager.endGrouping();\n });\n\n adjustToolbar(ed, block, editor.editorElement);\n },\n ...(editor.opts.block[\"core-table\"]?.[\"tinyMCESettings\"] || {}),\n };\n\n editor.emit(\"buildTinyMCESettings\", {\n editor,\n block,\n settings: _settings,\n });\n\n return _settings;\n }, []);\n\n useEffect(() => {\n installTinyMCEPlugins();\n tinymce.init(settings);\n\n return () => {\n removeTinyMCEFromBlock(block);\n };\n }, []);\n\n const isInSetupMode = editor.opts.mode === \"setup\";\n\n return (\n
\n \n \n
\n \n {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.preventDefault();\n }}\n >\n \n );\n};\n\nclass Table extends Block implements HasTinyMCE, HasEditorStyle {\n public static typeId = \"core-table\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Table\");\n }\n\n public text = \"\";\n public tinymce: TinyMCEEditor | null = null;\n public editorStyle: CSSProperties = {};\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public focusEditor(): void {\n if (this.tinymce) {\n this.tinymce.focus(false);\n }\n }\n\n public tinymceId(): string {\n return `textarea-${this.id}`;\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n if (focus) {\n return ;\n }\n\n if (focusBlock || this.htmlString()) {\n const preview = (\n \n );\n return (\n <>\n \n {preview}\n \n {preview}\n \n );\n } else {\n return this.placeholder();\n }\n }\n\n public html(): string {\n if (this.tinymce) {\n try {\n return this.tinymce.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Table(Object.assign({ text: html }, meta));\n }\n}\n\nexport default Table;\n","import { t } from \"../../../i18n\";\nimport React, { useEffect, useRef, useMemo, CSSProperties } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../../../Block\";\nimport type EditorManager from \"@movabletype/mt-rich-text-editor\";\nimport type {\n Editor as MTRichTextEditorEditor,\n EditorCreateOptions,\n} from \"@movabletype/mt-rich-text-editor\";\n\nimport {\n sanitize,\n getShadowDomSelectorSet,\n isPassThroughNativeEvent,\n} from \"../../../util\";\nimport { useBlocksContext, useEditorContext } from \"../../../Context\";\nimport icon from \"../../../img/icon/table.svg\";\nimport EditorMode from \"../../../Component/EditorMode\";\nimport BlockToolbar from \"../../../Component/BlockToolbar\";\nimport BlockSetupCommon from \"../../../Component/BlockSetupCommon\";\nimport BlockLabel from \"../../../Component/BlockLabel\";\nimport BlockContentEditablePreview, {\n HasEditorStyle,\n} from \"../../../Component/BlockContentEditablePreview\";\nimport { editHandlers } from \"../../Text/mt-rich-text-editor/edit\";\nimport { commonSettings } from \"../../Text/mt-rich-text-editor/common\";\n\nimport {\n HasMTRichTextEditor,\n mtRichTextEditorFocus,\n removeMTRichTextEditorFromBlock,\n adjustToolbar,\n insertCommandPlaceholder,\n} from \"../../Text/mt-rich-text-editor/util\";\n\ndeclare const MTRichTextEditor: typeof EditorManager;\n\ninterface EditorProps extends Omit {\n block: Table;\n}\n\nconst Editor: React.FC = ({ block }: EditorProps) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor } = editorContext;\n const { addBlock } = useBlocksContext();\n\n const selectorSet = getShadowDomSelectorSet(block.id);\n\n const toolbar = useRef(null);\n const settings: EditorCreateOptions = useMemo(() => {\n const _settings: EditorCreateOptions = {\n ...commonSettings(editor, block),\n toolbar: [\n [\n [\n [\"table\"],\n [\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"foregroundColor\",\n \"backgroundColor\",\n \"removeFormat\",\n ],\n [\"alignLeft\", \"alignCenter\", \"alignRight\"],\n [\"link\", \"unlink\"],\n [\"source\"],\n ],\n ],\n ],\n ...(editor.opts.block[\"core-table\"]?.[\"mtRichTextEditorSettings\"] || {}),\n };\n\n editor.emit(\"buildMTRichTextEditorSettings\", {\n editor,\n block,\n settings: _settings,\n });\n\n insertCommandPlaceholder(_settings);\n\n return _settings;\n }, []);\n\n useEffect(() => {\n const toolbarContainer = document.createElement(\"div\");\n toolbar.current?.appendChild(toolbarContainer);\n settings.toolbarContainer = toolbarContainer;\n MTRichTextEditor.create(settings).then((ed) => {\n block.mtRichTextEditor = ed;\n ed.setContent(block.text);\n mtRichTextEditorFocus(ed, selectorSet);\n adjustToolbar(block, editor.editorElement);\n\n let last = block.text;\n const onUndo = (html: string): void => {\n last = html;\n };\n const addEdit = (): void => {\n const cur = ed.getContent();\n if (last === cur) {\n return;\n }\n\n editor.editManager.add({\n block,\n data: {\n last,\n onUndo,\n },\n handlers: editHandlers,\n });\n\n last = cur;\n };\n\n const root = ed.tiptap.view.dom;\n ed.tiptap.on(\"update\", () => {\n let children = [...root.children];\n\n if (children.length <= 1) {\n addEdit();\n return;\n }\n\n children = children\n .map((c) => {\n if (c.tagName === \"TABLE\") {\n return c;\n } else {\n const grandChildren: HTMLElement[] = [];\n\n [...c.querySelectorAll(\"TABLE\")].forEach((t) => {\n if ((t.parentElement as HTMLElement).closest(\"TABLE\")) {\n // nest\n return;\n }\n\n root.insertBefore(t, c);\n grandChildren.push(t as HTMLElement);\n });\n // ed.dom.remove(c);\n\n return grandChildren;\n }\n })\n .flat() as HTMLElement[];\n\n if (children.length === 1) {\n addEdit();\n return;\n }\n\n const firstChild = children.shift();\n ed.tiptap.commands.setContent(firstChild!.outerHTML);\n\n editor.editManager.beginGrouping();\n\n addEdit();\n\n children.forEach((c) => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n addBlock(new Table({ text: c.outerHTML }), block);\n });\n\n editor.editManager.endGrouping();\n });\n });\n\n return () => {\n removeMTRichTextEditorFromBlock(block);\n };\n }, []);\n\n const isInSetupMode = editor.opts.mode === \"setup\";\n\n return (\n
\n \n \n
\n \n {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.preventDefault();\n }}\n ref={toolbar}\n >\n \n );\n};\n\nclass Table extends Block implements HasMTRichTextEditor, HasEditorStyle {\n public static typeId = \"core-table\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Table\");\n }\n\n public text = \"\";\n public mtRichTextEditor: MTRichTextEditorEditor | null = null;\n public editorStyle: CSSProperties = {};\n\n public constructor(init?: Partial
) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public focusEditor(): void {\n if (this.mtRichTextEditor) {\n this.mtRichTextEditor.focus();\n }\n }\n\n public mtRichTextEditorId(): string {\n return `textarea-${this.id}`;\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n if (focus) {\n return ;\n }\n\n if (focusBlock || this.htmlString()) {\n const preview = (\n \n );\n return (\n <>\n \n {preview}\n \n {preview}\n \n );\n } else {\n return this.placeholder();\n }\n }\n\n public html(): string {\n if (this.mtRichTextEditor) {\n try {\n return this.mtRichTextEditor.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Table(Object.assign({ text: html }, meta));\n }\n}\n\nexport default Table;\n","import TableForTinyMCE from \"./tinymce/Table\";\nimport TableForMTRichTextEditor from \"./mt-rich-text-editor/Table\";\n\nconst Table =\n \"MTRichTextEditor\" in globalThis ? TableForMTRichTextEditor : TableForTinyMCE;\n\nexport default Table;\n","import { t } from \"../i18n\";\nimport React from \"react\";\nimport Block from \"../Block\";\nimport icon from \"../img/icon/horizontalrule.svg\";\n\nconst Editor: React.FC = () => {\n return
;\n};\n\nclass Horizontalrule extends Block {\n public static typeId = \"core-horizontalrule\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Horizontal Rule\");\n }\n\n public editor(): JSX.Element {\n return ;\n }\n\n public html(): JSX.Element {\n return
;\n }\n\n public static async newFromHtml(): Promise {\n return new Horizontalrule();\n }\n}\n\nexport default Horizontalrule;\n","import { t } from \"../i18n\";\nimport React from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../Block\";\nimport { blockProperty } from \"../decorator\";\nimport BlockIframePreview from \"../Component/BlockIframePreview\";\nimport icon from \"../img/icon/html.svg\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport BlockLabel from \"../Component/BlockLabel\";\n\ninterface EditorProps {\n block: Html;\n}\n\nconst Editor: React.FC = blockProperty(\n ({ block }: EditorProps) => (\n
\n \n \n \n \n
\n )\n);\n\nclass Html extends Block {\n public static typeId = \"core-html\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"HTML\");\n }\n\n public text = \"\";\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n return focus || focusBlock ? (\n \n ) : (\n \n );\n }\n\n public html(): string {\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Html(\n Object.assign(\n {\n text: html,\n },\n meta\n )\n );\n }\n}\n\nexport default Html;\n","import BlockFactory from \"./BlockFactory\";\n\nimport Text from \"./Block/Text\";\nimport Image from \"./Block/Image\";\nimport File from \"./Block/File\";\nimport Table from \"./Block/Table\";\nimport Horizontalrule from \"./Block/Horizontalrule\";\nimport Html from \"./Block/Html\";\nimport Columns from \"./Block/Columns\";\nimport Column from \"./Block/Column\";\n\nBlockFactory.registerType(Text);\nBlockFactory.registerType(Image);\nBlockFactory.registerType(File);\nBlockFactory.registerType(Table);\nBlockFactory.registerType(Horizontalrule);\nBlockFactory.registerType(Html);\nBlockFactory.registerType(Columns);\nBlockFactory.registerType(Column);\n","import { tinymceFocus } from \"./tinymce/util\";\nimport { mtRichTextEditorFocus } from \"./mt-rich-text-editor/util\";\n\nexport const focus =\n \"MTRichTextEditor\" in globalThis ? mtRichTextEditorFocus : tinymceFocus;\n","import { t } from \"../i18n\";\nimport icon from \"../img/copy.svg\";\nimport type { Command } from \"../CommandManager\";\nimport { focus } from \"../Block/Text/util\";\nimport Text from \"../Block/Text\";\nimport Table from \"../Block/Table\";\n\nconst isTextSelected = (): boolean => {\n // Some content is selected in the HTMLElement or Text.\n // In Firefox, even if text in HTMLInputElement is selected, the value cannot be retrieved.\n const selection = window.getSelection();\n if (selection && (!selection.isCollapsed || selection.toString() !== \"\")) {\n return true;\n }\n\n // In Firefox, look for the selected text in document.activeElement.\n const element = document.activeElement;\n if (\n (element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement) &&\n element.selectionStart !== element.selectionEnd\n ) {\n return true;\n }\n\n return false;\n};\n\nconst isClipboardAPIAvailable: () => boolean = () =>\n typeof navigator.clipboard?.write === \"function\" ||\n typeof navigator.clipboard?.writeText === \"function\";\n\nconst command: Command = {\n get label() {\n return t(\"Copy\");\n },\n icon,\n shortcut: \"cmd+c\",\n command: \"core-copyBlock\",\n condition: isClipboardAPIAvailable,\n callback: async ({ blocks, editorContext: { editor }, event }) => {\n if (!isClipboardAPIAvailable()) {\n return;\n }\n\n if (isTextSelected()) {\n // Prefer browser default behavior\n return;\n }\n\n if (blocks.length === 0) {\n return;\n }\n\n event.preventDefault();\n\n if (blocks.length === 1) {\n const block = blocks[0];\n block.wrapperRef.current?.classList.add(\"mt-be-focus\");\n setTimeout(() => {\n block.wrapperRef.current?.classList.remove(\"mt-be-focus\");\n }, 100);\n if (block instanceof Text || block instanceof Table) {\n const editor =\n \"mtRichTextEditor\" in block ? block.mtRichTextEditor : block.tinymce;\n if (editor) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n focus(editor as any, null);\n }\n }\n }\n\n let data = (\n await Promise.all(\n blocks.map((block) => block.toClipboardItem({ editor }))\n )\n ).reduce((acc, item) => {\n if (item instanceof Array) {\n acc ||= [];\n } else {\n acc ||= \"\";\n }\n\n if (acc instanceof Array && item instanceof Array) {\n return acc.concat(item);\n } else if (typeof acc === \"string\" && typeof item === \"string\") {\n return acc + item;\n }\n }, undefined);\n\n if (typeof data === \"string\" && typeof ClipboardItem === \"function\") {\n const htmlBlob = new Blob([data], { type: \"text/html\" });\n const plainBlob = new Blob([data], { type: \"text/plain\" });\n data = [\n new ClipboardItem({\n \"text/html\": htmlBlob,\n \"text/plain\": plainBlob,\n }),\n ];\n }\n\n if (data instanceof Array) {\n navigator.clipboard.write(data);\n } else if (typeof data === \"string\") {\n navigator.clipboard.writeText(data);\n }\n },\n};\n\nexport default command;\n","import { t } from \"../i18n\";\nimport icon from \"../img/duplicate.svg\";\nimport type { Command } from \"../CommandManager\";\nimport { parseContent, preParseContent, ParserContext } from \"../util\";\n\nconst command: Command = {\n get label() {\n return t(\"Duplicate\");\n },\n icon,\n shortcut: \"cmd+d\",\n command: \"core-duplicateBlock\",\n callback: async ({\n blocks,\n editorContext: { editor, setFocusedIds },\n blocksContext: { addBlock },\n event,\n }) => {\n if (blocks.length === 0) {\n return;\n }\n\n event?.preventDefault();\n\n const html = (\n await Promise.all(\n blocks.map((block) => block.serialize({ editor, external: true }))\n )\n ).join(\"\");\n\n const newBlocks = await parseContent(\n preParseContent(html),\n editor.factory,\n new ParserContext()\n );\n\n editor.editManager.beginGrouping();\n for (const newBlock of newBlocks.reverse()) {\n addBlock(newBlock, blocks[blocks.length - 1]);\n }\n editor.editManager.endGrouping();\n setFocusedIds([newBlocks[0].id]);\n\n editor.render();\n },\n};\n\nexport default command;\n","import { t } from \"../i18n\";\nimport { isTouchDevice } from \"../util\";\nimport icon from \"../img/remove.svg\";\nimport type { Command } from \"../CommandManager\";\n\nconst command: Command = {\n get label() {\n return t(\"Delete\");\n },\n icon,\n command: \"core-deleteBlock\",\n callback: ({ blocks, editorContext: { editor }, event }) => {\n event.preventDefault();\n\n if (isTouchDevice()) {\n if (!window.confirm(t(\"Are you sure you want to remove the block?\"))) {\n return;\n }\n }\n\n editor.editManager.beginGrouping();\n blocks.forEach((block) => editor.removeBlock(editor, block));\n editor.editManager.endGrouping();\n\n editor.render();\n },\n};\n\nexport default command;\n","import type { Command } from \"../CommandManager\";\n\nconst command: Command = {\n shortcut: \"cmd+k\",\n command: \"core-insertLink\",\n callback: ({\n blocks,\n editorContext: {\n editor: { commandManager },\n },\n event,\n }) => {\n event?.preventDefault();\n\n commandManager.emit(blocks, \"core-insertLink\");\n },\n};\n\nexport default command;\n","import EventEmitter from \"eventemitter3\";\nimport React from \"react\";\nimport { render } from \"react-dom\";\nimport { InitOptions as InitOptionsI18n } from \"i18next\";\n\nimport resetCss from \"./reset.css?raw\";\nimport editorContentCss from \"./editor-content.css?raw\";\nimport {\n getElementById,\n preParseContent,\n parseContent,\n escapeSingleQuoteAttribute,\n ParserContext,\n} from \"./util\";\nimport Block, { HasBlocks, DEFAULT_KEYS_FOR_SETUP } from \"./Block\";\nimport App from \"./Component/App\";\nimport BlockFactory from \"./BlockFactory\";\nimport EditManager from \"./EditManager\";\nimport CommandManager, { Command } from \"./CommandManager\";\nimport {\n add as editHandlersAdd,\n remove as editHandlersRemove,\n swap as editHandlersSwap,\n} from \"./Editor/edit\";\nimport { beforeRenderIframePreview } from \"./event/default\";\n\nimport \"./import-default-blocks\";\nimport \"./import-default-commands\";\n\nexport enum StylesheetType {\n url,\n css,\n}\n\ninterface Stylesheet {\n type: StylesheetType;\n data: string;\n}\n\ninterface Metadata {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface EditorOptions {\n id: string;\n mode: string;\n stylesheets: Array;\n rootClassName?: string;\n rootAttributes?: Record;\n panelBlockTypes?: string[];\n shortcutBlockTypes?: string[];\n addButtons: Metadata;\n editManager?: Partial;\n block: Metadata;\n i18n: InitOptionsI18n;\n}\n\ninterface MetadataMapData {\n id: string;\n blockIds: Set;\n}\n\nexport class Editor extends EventEmitter implements HasBlocks {\n public id: string;\n public opts: EditorOptions;\n public factory: BlockFactory;\n public editManager: EditManager;\n public commandManager: CommandManager;\n public blocks: Block[] = [];\n public stylesheets: Stylesheet[] = [];\n public editorElement: HTMLElement;\n\n private inputElement: HTMLInputElement;\n private metadataMap: Map = new Map<\n string,\n MetadataMapData\n >();\n private metadataMapSequence = 1;\n private keyboardShortcutCache: Record = {};\n private initialized = false;\n\n public constructor(opts: EditorOptions) {\n super();\n\n this.id = opts.id;\n this.opts = opts;\n opts.block = opts.block || {};\n opts.i18n = opts.i18n || {};\n opts.addButtons = opts.addButtons || { bottom: true };\n opts.rootClassName = opts.rootClassName || \"\";\n opts.rootAttributes = opts.rootAttributes || {};\n\n this.factory = new BlockFactory();\n this.editManager = new EditManager(\n Object.assign({ editor: this }, opts.editManager || {})\n );\n this.commandManager = new CommandManager({ editor: this });\n\n this.inputElement = getElementById(this.id) as HTMLInputElement;\n this.inputElement.style.display = \"none\";\n if (!this.inputElement.parentNode) {\n throw \"error\";\n }\n\n this.editorElement = document.createElement(\"div\");\n this.editorElement.setAttribute(\"data-mt-be-id\", this.id);\n this.editorElement.classList.add(\"mt-block-editor\");\n\n this.inputElement.parentNode.insertBefore(\n this.editorElement,\n this.inputElement\n );\n\n this.initDefaultEventHandlers();\n\n setTimeout(async () => {\n this.keyboardShortcutCache = await this.buildKeyboardShortcutCache();\n this.stylesheets = await Promise.all(this.buildStylesheets());\n const blocks = await parseContent(\n preParseContent(this.inputElement.value),\n this.factory,\n new ParserContext()\n );\n this.blocks = blocks;\n this.emit(\"initializeBlocks\", { editor: this, blocks });\n this.initialized = true;\n\n this.render();\n }, 0);\n }\n\n private initDefaultEventHandlers(): void {\n this.on(\"beforeRenderIframePreview\", beforeRenderIframePreview);\n }\n\n public selectableTypes(typeIds: string[]): Array {\n const types = this.factory.selectableTypes();\n return typeIds\n .map((typeId) => types.find((t) => t.typeId === typeId))\n .filter((t) => t) as Array;\n }\n\n public panelTypes(): Array {\n return this.opts.panelBlockTypes\n ? this.selectableTypes(this.opts.panelBlockTypes)\n : this.factory.selectableTypes();\n }\n\n public shortcutTypes(): Array {\n return this.opts.shortcutBlockTypes\n ? this.selectableTypes(this.opts.shortcutBlockTypes)\n : [];\n }\n\n public async buildKeyboardShortcutCache(): Promise> {\n const cache: Record = {};\n for (const command of await this.commandManager.commands()) {\n if (command.shortcut) {\n cache[command.shortcut] = command;\n }\n }\n return cache;\n }\n\n public keyboardShortcutMap(): Record {\n return this.keyboardShortcutCache;\n }\n\n public addBlock(parent: HasBlocks, block: Block, index: number): void {\n const blocks = parent.blocks;\n\n blocks.splice(index, 0, block);\n\n // XXX: Skip render by default\n // this.render();\n\n this.editManager.add({\n block: block,\n data: {\n parent: parent instanceof Editor ? null : parent,\n index,\n },\n handlers: editHandlersAdd,\n });\n\n this.emit(\"changeBlocks\", {\n editor: this,\n blocks: blocks,\n });\n }\n\n public mergeBlock(parent: HasBlocks, block: Block): boolean {\n const blocks = parent.blocks;\n\n const index = blocks.indexOf(block);\n if (index === -1) {\n return false;\n }\n const before = blocks[index - 1];\n if (!before) {\n return false;\n }\n if (!before.canMerge(block)) {\n return false;\n }\n\n this.editManager.beginGrouping();\n\n this.editManager.add(before.merge(block));\n this.removeBlock(parent, block);\n\n this.editManager.endGrouping();\n\n return true;\n }\n\n public removeBlock(parent: HasBlocks, block: Block): void {\n const blocks = parent.blocks;\n\n this.emit(\"removeBlock\", {\n editor: this,\n blocks,\n block,\n });\n\n const index = blocks.indexOf(block);\n if (index === -1) {\n return;\n }\n\n blocks.splice(index, 1);\n this.render();\n\n this.editManager.add({\n block: block,\n data: {\n parent: parent instanceof Editor ? null : parent,\n index,\n },\n handlers: editHandlersRemove,\n });\n\n this.emit(\"changeBlocks\", {\n editor: this,\n blocks,\n });\n }\n\n public swapBlocks(parent: HasBlocks, a: number, b: number): void {\n const blocks = parent.blocks;\n\n [blocks[a], blocks[b]] = [blocks[b], blocks[a]];\n this.render();\n\n this.editManager.add({\n block: blocks[a],\n data: {\n parent: parent instanceof Editor ? null : parent,\n a,\n b,\n },\n handlers: editHandlersSwap,\n });\n\n this.emit(\"changeBlocks\", {\n editor: this,\n blocks,\n });\n }\n\n public async serialize(): Promise {\n if (!this.initialized) {\n // should not update textarea value before initialization\n return;\n }\n\n const blocks = this.blocks.concat();\n this.emit(\"serialize\", {\n editor: this,\n blocks,\n });\n\n const values = await Promise.all(\n blocks.map((b) => b.serialize({ editor: this, external: false }))\n );\n\n const metadataReverseMap: Metadata = {};\n this.metadataMap.forEach(({ id }, v) => {\n metadataReverseMap[id] = JSON.parse(v);\n });\n\n this.inputElement.value =\n (this.metadataMap.size > 0\n ? ``\n : \"\") + values.join(\"\");\n }\n\n private getMetadataMapIndexes(\n blockId: string,\n stringArray: string[]\n ): string[] {\n const targetMap: Record = {};\n stringArray.forEach((str) => {\n targetMap[str] = this.metadataMap.get(str);\n });\n\n const reusableIds = [];\n for (const [k, data] of this.metadataMap) {\n if (targetMap[k]) {\n continue;\n }\n\n if (data.blockIds.has(blockId)) {\n if (data.blockIds.size === 1) {\n this.metadataMap.delete(k);\n reusableIds.push(data.id);\n } else {\n data.blockIds.delete(blockId);\n }\n }\n }\n\n for (const str of Object.keys(targetMap)) {\n const data = (targetMap[str] ||= {\n id: reusableIds.shift() || (this.metadataMapSequence++).toString(36),\n blockIds: new Set(),\n });\n\n data.blockIds.add(blockId);\n if (!this.metadataMap.has(str)) {\n this.metadataMap.set(str, data);\n }\n }\n\n return Object.values(targetMap)\n .filter((td): td is MetadataMapData => !!td)\n .map((td) => td.id);\n }\n\n public serializeMeta(block: Block, external: boolean): string | null {\n const meta = block.metadata();\n if (!meta) {\n return null;\n }\n\n if (external) {\n return JSON.stringify(meta);\n }\n\n const metaSetup: Metadata = {};\n DEFAULT_KEYS_FOR_SETUP.concat(block.keysForSetup()).forEach((k) => {\n if (k in meta) {\n metaSetup[k] = meta[k];\n Reflect.deleteProperty(meta, k);\n }\n });\n\n const metaStrings = [metaSetup, meta]\n .map((m) => (Object.keys(m).length > 0 ? JSON.stringify(m) : null))\n .filter((s): s is string => !!s);\n\n return this.getMetadataMapIndexes(block.id, metaStrings).join(\",\");\n }\n\n public unload(): void {\n this.emit(\"beforeUnload\", {\n editor: this,\n });\n this.editManager.unload();\n this.editorElement.remove();\n this.inputElement.style.display = \"\";\n this.emit(\"unload\", {\n editor: this,\n });\n }\n\n public render(): void {\n render(React.createElement(App, { editor: this }), this.editorElement);\n }\n\n private buildStylesheets(): Array> {\n return [\n {\n type: StylesheetType.css,\n data: resetCss + editorContentCss,\n },\n ...this.opts.stylesheets\n .filter((s) => s)\n .map(async (s) => {\n if (/^blob:/.test(s)) {\n const res = await fetch(s);\n return {\n type: StylesheetType.css,\n data: await res.text(),\n };\n } else if (/^https?:/.test(s)) {\n return {\n type: StylesheetType.url,\n data: s,\n };\n } else {\n return {\n type: StylesheetType.css,\n data: s,\n };\n }\n }),\n ];\n }\n}\n\nexport default Editor;\n","import CommandManager from \"./CommandManager\";\n\nimport copyBlock from \"./commands/copyBlock\";\nimport pasteBlock from \"./commands/pasteBlock\";\nimport duplicateBlock from \"./commands/duplicateBlock\";\nimport deleteBlock from \"./commands/deleteBlock\";\nimport insertLink from \"./commands/insertLink\";\n\nCommandManager.registerCommand(copyBlock);\nCommandManager.registerCommand(pasteBlock);\nCommandManager.registerCommand(duplicateBlock);\nCommandManager.registerCommand(deleteBlock);\nCommandManager.registerCommand(insertLink);\n","import Editor from \"./Editor\";\n\nclass EditorManager {\n private static _instance: EditorManager;\n public editors: Editor[];\n\n public static instance(): EditorManager {\n this._instance = this._instance || new EditorManager();\n return this._instance;\n }\n\n public constructor() {\n this.editors = [];\n }\n\n public add(e: Editor): void {\n this.editors.push(e);\n }\n\n public get(id: string): Editor | undefined {\n return this.editors.find((e: Editor) => e.id === id);\n }\n\n public async remove(id: string): Promise {\n const e = this.get(id);\n if (!e) {\n return;\n }\n await e.serialize();\n e.unload();\n\n const index = this.editors.indexOf(e);\n if (index === -1) {\n return;\n }\n this.editors.splice(index, 1);\n }\n}\n\nexport default EditorManager;\n","/** @license\n# Movable Type Block Editor (C) 2020 Six Apart Ltd. All Rights Reserved.\n# This code cannot be redistributed without permission from www.sixapart.com.\n*/\n\nimport packageInfo from \"../package.json\";\nimport i18n, { init as initI18n } from \"./i18n\";\nimport { InitOptions as InitOptionsI18n } from \"i18next\";\nimport \"./mt-block-editor.scss\";\nimport Editor, { EditorOptions } from \"./Editor\";\nimport EditorManager from \"./EditorManager\";\n\nimport React from \"react\";\nimport Block from \"./Block\";\nimport Column from \"./Block/Column\";\nimport BlockFactory from \"./BlockFactory\";\n\nimport BlockIframePreview from \"./Component/BlockIframePreview\";\nimport BlockToolbar from \"./Component/BlockToolbar\";\nimport BlockToolbarButton from \"./Component/BlockToolbarButton\";\nimport BlockConfigPanel from \"./Component/BlockConfigPanel\";\nimport BlockSetup from \"./Component/BlockSetup\";\nimport BlockSetupCommon from \"./Component/BlockSetupCommon\";\nimport BlockLabel from \"./Component/BlockLabel\";\nimport EditorMode from \"./Component/EditorMode\";\nimport {\n Dialog,\n DialogHeader,\n DialogBody,\n DialogFooter,\n} from \"./Component/Dialog\";\n\nimport * as Context from \"./Context\";\nimport * as Hook from \"./Hook\";\nimport * as icon from \"./icon\";\nimport * as util from \"./util\";\nimport * as decorator from \"./decorator\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype EventHandler = (...args: any[]) => void;\n\nexport interface BoilerplateBlockOptions {\n typeId: string;\n className: string;\n rootBlock?: string | null;\n label: string;\n icon: string;\n iconString: string;\n html: string;\n canRemoveBlock: boolean;\n panelBlockTypes?: string[];\n shortcutBlockTypes?: string[];\n shouldBeCompiled: boolean;\n showPreview: boolean;\n previewHeader: string;\n}\n\ninterface BoilerplateBlockOverwrites {\n _html: string;\n canRemoveBlock?: boolean;\n panelBlockTypes?: string[];\n shortcutBlockTypes?: string[];\n previewHeader?: string;\n}\n\ninterface BoilerplateBlockInitOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport class EditorUtil {\n public static version = packageInfo.version;\n public static i18n = i18n;\n public static Component = {\n BlockIframePreview,\n BlockToolbar,\n BlockToolbarButton,\n BlockConfigPanel,\n BlockSetup,\n BlockSetupCommon,\n BlockLabel,\n EditorMode,\n Dialog,\n DialogHeader,\n DialogBody,\n DialogFooter,\n };\n public static decorator = decorator;\n public static React = React;\n public static Block = Block;\n public static Context = Context;\n public static Hook = Hook;\n public static icon = icon;\n public static util = util;\n\n static #eventHandlers: Record = {};\n\n public static on(\n name: \"create\",\n handler: (opts: EditorOptions) => void\n ): void;\n public static on(name: \"init\", handler: (editor: Editor) => void): void;\n public static on(name: string, handler: EventHandler): void {\n if (!this.#eventHandlers[name]) {\n this.#eventHandlers[name] = [];\n }\n this.#eventHandlers[name].push(handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static emit(name: string, ...args: any[]): void {\n const handlers = this.#eventHandlers[name] || [];\n handlers.forEach((handler) => handler(...args));\n }\n\n public static async apply(opts: EditorOptions): Promise {\n const optsI18n: InitOptionsI18n = opts.i18n || {};\n await initI18n(optsI18n);\n\n const m = EditorManager.instance();\n this.emit(\"create\", opts);\n const e = new Editor(opts as EditorOptions);\n this.emit(\"init\", e);\n m.add(e);\n\n return e;\n }\n\n public static get({ id }: { id: string }): Editor | undefined {\n const m = EditorManager.instance();\n return m.get(id);\n }\n\n public static async unload({ id }: { id: string }): Promise {\n const m = EditorManager.instance();\n await m.remove(id);\n }\n\n public static async serialize(): Promise {\n const m = EditorManager.instance();\n await Promise.all(m.editors.map((e) => e.serialize()));\n }\n\n public static registerBlockType(block: typeof Block): void {\n BlockFactory.registerType(block);\n }\n\n public static deregisterBlockType(block: typeof Block | string): void {\n BlockFactory.deregisterType(block);\n }\n\n public static createBoilerplateBlock({\n typeId,\n className,\n rootBlock,\n label,\n icon,\n iconString,\n html,\n canRemoveBlock,\n panelBlockTypes,\n shortcutBlockTypes,\n shouldBeCompiled,\n showPreview,\n previewHeader,\n }: BoilerplateBlockOptions): typeof Block {\n const BoilerplateBlock = function (\n this: Column,\n init: BoilerplateBlockInitOptions\n ): void {\n const overwrite: BoilerplateBlockOverwrites = {\n _html: html,\n };\n if (canRemoveBlock !== undefined) {\n overwrite.canRemoveBlock = !!canRemoveBlock;\n }\n if (panelBlockTypes) {\n overwrite.panelBlockTypes = panelBlockTypes;\n }\n if (shortcutBlockTypes) {\n overwrite.shortcutBlockTypes = shortcutBlockTypes;\n }\n if (previewHeader !== undefined) {\n overwrite.previewHeader = previewHeader;\n }\n\n return Reflect.construct(\n Column,\n [Object.assign(overwrite, init || {})],\n BoilerplateBlock\n );\n };\n\n BoilerplateBlock.prototype = Object.create(Column.prototype);\n BoilerplateBlock.prototype.constructor = BoilerplateBlock;\n BoilerplateBlock.typeId = typeId;\n BoilerplateBlock.className = className;\n BoilerplateBlock.label = label;\n if (rootBlock !== undefined) {\n BoilerplateBlock.rootBlock = rootBlock;\n }\n if (icon) {\n BoilerplateBlock.icon = icon;\n }\n if (iconString) {\n BoilerplateBlock.iconString = iconString;\n }\n BoilerplateBlock.selectable = true;\n if (shouldBeCompiled !== undefined) {\n BoilerplateBlock.shouldBeCompiled = shouldBeCompiled;\n }\n if (showPreview !== undefined) {\n BoilerplateBlock.showPreview = showPreview;\n }\n\n Object.setPrototypeOf(BoilerplateBlock, Column);\n\n return BoilerplateBlock as unknown as typeof Block;\n }\n\n public static isSupportedEnvironment(): boolean {\n if (/Trident|MSIE|Edge/.test(window.navigator.userAgent)) {\n return false;\n }\n\n return true;\n }\n}\n\ndeclare global {\n interface Window {\n MTBlockEditor: typeof EditorUtil;\n }\n}\n\nwindow.MTBlockEditor = EditorUtil;\n"],"names":["module","exports","locales","it","TypeError","String","isObject","wellKnownSymbol","create","definePropertyModule","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","f","configurable","value","key","charAt","S","index","unicode","length","Constructor","name","toObject","toAbsoluteIndex","toLength","O","this","argumentsLength","arguments","end","endPos","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","forEach","callbackfn","bind","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","result","step","iterator","next","C","mapfn","mapping","iteratorMethod","call","done","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","IndexedObject","arraySpeciesCreate","push","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","that","specificCreate","self","boundFunction","target","map","filter","some","every","find","findIndex","fails","V8_VERSION","SPECIES","METHOD_NAME","array","constructor","foo","Boolean","argument","method","DESCRIPTORS","has","defineProperty","Object","cache","thrower","options","ACCESSORS","argument0","argument1","enumerable","get","aFunction","IS_RIGHT","memo","i","left","right","isArray","originalArray","anObject","fn","ENTRIES","error","returnMethod","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","from","exec","SKIP_CLOSING","ITERATION_SUPPORT","object","toString","slice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","set","adder","add","k","len","wasDeleted","collection","remover","allDeleted","redefineAll","anInstance","iterate","defineIterator","setSpecies","fastKey","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","type","first","last","size","getInternalState","define","previous","state","entry","getEntry","removed","clear","data","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","$","global","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","entries","REQUIRED","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","forced","ownKeys","getOwnPropertyDescriptorModule","source","keys","getOwnPropertyDescriptor","MATCH","regexp","e","F","getPrototypeOf","requireObjectCoercible","quot","string","attribute","p1","replace","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","NAME","bitmap","writable","toPrimitive","propertyKey","hint","createIteratorConstructor","setPrototypeOf","createNonEnumerableProperty","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","values","proto","path","wrappedWellKnownSymbolModule","Symbol","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","userAgent","test","getBuiltIn","match","version","process","versions","v8","split","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","a","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","str","arg2","forceStringMethod","stringMethod","regexMethod","RegExp","arg","flattenIntoArray","original","sourceLen","start","depth","mapper","thisArg","element","targetIndex","sourceIndex","mapFn","isExtensible","preventExtensions","b","c","factories","Function","partArgs","args","concat","argsLength","list","join","construct","variable","namespace","classof","getIterator","Map","Set","check","Math","globalThis","window","g","hasOwnProperty","console","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","hiddenKeys","uid","FREEZING","METADATA","id","setMetadata","objectID","weakData","meta","getWeakData","onFreeze","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","replacement","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","isRegExp","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","stop","PrototypeOfArrayIteratorPrototype","arrayIterator","flush","head","notify","toggle","node","promise","then","macrotask","IS_IOS","MutationObserver","WebKitMutationObserver","Promise","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","parent","domain","exit","enter","nextTick","createTextNode","observe","characterData","resolve","task","getOwnPropertySymbols","url","URL","searchParams","pathname","toJSON","sort","href","URLSearchParams","username","host","hash","PromiseCapability","reject","$$resolve","$$reject","trim","whitespaces","$parseFloat","parseFloat","Infinity","trimmedString","$parseInt","parseInt","hex","radix","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","assign","A","B","symbol","alphabet","chr","T","j","activeXDocument","defineProperties","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","write","close","temp","parentWindow","NullProtoObjectViaActiveX","style","display","appendChild","src","contentWindow","open","Properties","IE8_DOM_DEFINE","nativeDefineProperty","P","Attributes","nativeGetOwnPropertyDescriptor","nativeGetOwnPropertyNames","windowNames","getOwnPropertyNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","nativePropertyIsEnumerable","NASHORN_BUG","V","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","TO_ENTRIES","getOwnPropertyNamesModule","newPromiseCapability","x","promiseCapability","enforceInternalState","TEMPLATE","unsafe","simple","R","re1","re2","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","sticky","charsAdded","strCopy","multiline","input","ignoreCase","dotAll","RE","s","y","TAG","shared","SHARED","mode","copyright","defaultConstructor","toInteger","CONVERT_TO_STRING","pos","second","position","charCodeAt","codeAt","repeat","ceil","IS_END","maxLength","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","floor","stringFromCharCode","fromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","base","encode","output","counter","extra","ucs2decode","currentValue","inputLength","n","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","label","encoded","labels","count","whitespace","ltrim","rtrim","defer","channel","port","location","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","event","post","postMessage","protocol","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","max","min","integer","isNaN","PREFERRED_STRING","val","valueOf","postfix","random","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","$every","fill","addToUnscopables","$filter","HAS_SPECIES_SUPPORT","$find","FIND","SKIPS_HOLES","flat","depthArg","$includes","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","ARRAY_ITERATOR","Arguments","nativeJoin","ES3_STRINGS","separator","$map","$reduce","reduce","nativeReverse","reverse","nativeSlice","fin","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","comparefn","splice","deleteCount","insertCount","actualDeleteCount","to","actualStart","dateToPrimitive","TO_PRIMITIVE","DatePrototype","Date","INVALID_DATE","TO_STRING","nativeDateToString","getTime","NaN","FunctionPrototype","FunctionPrototypeToString","nameRE","collectionStrong","init","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","maxCode","digits","code","NumberWrapper","$entries","fromEntries","obj","v","nativeGetPrototypeOf","nativeKeys","$values","parseFloatImplementation","parseIntImplementation","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","speciesConstructor","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","all","isThenable","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","rejection","onHandleUnhandled","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","fetch","wrap","r","capability","$promiseResolve","remaining","alreadyCalled","race","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","deleteProperty","getFlags","NativeRegExp","RegExpPrototype","CORRECT_NEW","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","nativeToString","NOT_GENERIC","INCORRECT_NAME","p","rf","createHTML","forcedStringHTMLMethod","anchor","notARegExp","correctIsRegExpLogic","searchString","STRING_ITERATOR","point","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","matcher","res","rx","fullUnicode","matchStr","$padStart","padStart","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","capture","callRegExpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","limit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","z","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","search","NativeSymbol","description","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","HIDDEN","$Symbol","$stringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","stringify","space","$replacer","collectionDeleteAll","real","deleteAll","getMapIterator","newMap","findKey","sameValueZero","keyOf","mapKeys","mapValues","merge","noInitial","accumulator","update","callback","isPresentInMap","collectionAddAll","addAll","difference","newSet","getSetIterator","intersection","hasCheck","isDisjointFrom","isSubsetOf","otherSet","isSupersetOf","sep","symmetricDifference","union","at","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","scheduler","timeout","boundArgs","setInterval","USE_NATIVE_URL","hasOwn","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","bytes","percentDecode","sequence","decodeURIComponent","deserialize","serialize","encodeURIComponent","parseSearchParams","query","attributes","shift","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","body","headers","getState","EOF","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","pow","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","number","ipv4","parts","pop","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","serializeHost","ignore0","unshift","ipv6","maxIndex","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","buffer","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","getter","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","prefix","Events","EE","context","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","listeners","handlers","l","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","on","removeAllListeners","off","prefixed","equal","propIsEnumerable","test1","test2","test3","letter","err","shouldUseNative","objectTypes","root","freeExports","freeModule","nodeType","freeGlobal","maxSafeInteger","reOpera","objectProto","capitalize","toUpperCase","format","forOwn","getClassOf","qualify","each","platform","parse","ua","isCustomContext","nav","navigator","isSpecialCasedOS","property","likeChrome","objectClass","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","doc","opera","operamini","operaClass","arch","prerelease","useFeatures","layout","guess","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","browser","electron","nw","appMinorVersion","external","family","architecture","cpuClass","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","bigint","bool","func","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","for","aa","u","ba","ca","da","ea","fa","ha","ia","ja","ka","la","ma","displayName","$$typeof","render","_status","_result","D","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","current","ReactCurrentBatchConfig","suspense","oa","_threadCount","_currentValue2","Uint16Array","H","qa","ra","sa","ta","J","d","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","K","L","M","xlinkHref","xa","N","substring","ya","va","wa","Aa","is","Q","U","W","Ba","memoizedState","Ca","Da","Ea","Fa","dispatch","delete","action","Ga","Ha","X","Ia","readContext","useContext","useMemo","useReducer","useRef","useState","useLayoutEffect","useCallback","useImperativeHandle","useEffect","useDebugValue","useResponder","responder","useDeferredValue","useTransition","Ja","Ka","La","area","br","col","embed","hr","img","keygen","link","param","track","wbr","Ma","menuitem","Y","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Na","Oa","Pa","Z","Children","toArray","Qa","Ra","listing","pre","textarea","Sa","Ta","Ua","Wa","Xa","children","dangerouslySetInnerHTML","suppressContentEditableWarning","suppressHydrationWarning","Ya","Za","isReactComponent","contextType","contextTypes","pa","h","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","getDerivedStateFromProps","w","updater","UNSAFE_componentWillMount","componentWillMount","getChildContext","childContextTypes","isValidElement","child","$a","domNamespace","childIndex","footer","threadID","stack","exhausted","currentSelectValue","previousWasTextNode","makeStaticMarkup","suspenseDepth","contextIndex","contextStack","contextValueStack","destroy","clearProviders","pushProvider","_context","popProvider","read","I","G","fallbackFrame","renderDOM","ref","_ctor","default","na","defaultChecked","defaultValue","checked","Va","selected","__html","ab","renderToString","renderToStaticMarkup","renderToNodeStream","renderToStaticNodeStream","onError","currentTarget","extractEvents","eventTypes","phasedRegistrationNames","registrationName","dependencies","za","stateNode","removeAttribute","setAttribute","setAttributeNS","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","getValue","setValue","stopTracking","tb","yb","zb","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Fb","Hb","defaultSelected","disabled","Ib","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","namespaceURI","innerHTML","firstChild","MSApp","execUnsafeLocalFunction","Rb","lastChild","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","transition","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","parentNode","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","container","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","kd","ld","md","setProperty","nd","od","pd","qd","rd","sd","td","ud","vd","offset","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","Hd","Id","clearTimeout","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","ue","we","color","date","datetime","email","month","range","tel","text","time","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","defaultProps","jg","kg","lg","mg","ng","og","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseQueue","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Component","refs","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","isPureReactComponent","Lg","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","componentDidMount","Og","Pg","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","dh","documentElement","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","Zh","$h","ai","bi","compare","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","oi","pi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","createElementNS","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","WeakSet","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","Ri","insertBefore","_reactRootContainer","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","vb","Uj","Vj","Wj","hidden","ob","Xj","_calculateChangedBits","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","querySelectorAll","JSON","form","Lj","lk","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","setState","forceUpdate","keyPrefix","escape","IsSomeRendererActing","only","Fragment","Profiler","PureComponent","StrictMode","Suspense","cloneElement","createContext","Provider","Consumer","createFactory","createRef","forwardRef","lazy","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","unstable_forceFrameRate","performance","cancelAnimationFrame","requestAnimationFrame","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","webpackContext","req","webpackContextResolve","__webpack_require__","o","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","__esModule","definition","prop","nmd","paths","_typeof","toPropertyKey","Number","_defineProperty","_classCallCheck","_defineProperties","_createClass","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","consoleLogger","log","warn","baseLogger","Logger","concreteLogger","logger","debug","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","observers","_this","observer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","isIE10","ResourceStore","_EventEmitter","ns","defaultNS","keySeparator","lng","silent","addNamespaces","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","translator","processor","checkedLoadedFor","Translator","services","copy","language","interpolation","resolved","nsSeparator","namespaces","interpolator","nestingRegexp","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy$$1","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","isValidLookup","suffix","pluralResolver","getSuffix","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","missingKeyHandler","backendConnector","saveMissing","needsPluralHandling","saveMissingPlurals","getPluralFormsOfKey","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","defaultVariables","interpolate","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","nr","_rulesPluralsTypes","PluralResolver","rules","plurals","rule","getRule","ret","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","missingInterpolationHandler","regex","safeValue","todo","clonedOptions","handleHasOptions","inheritedOptions","optionsString","formatters","doReduce","elem","Connector","backend","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","errors","addResourceBundle","_getLastOfPath2","arr","what","remove","fcName","tried","wait","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","transformOptions","nonExplicitWhitelist","noop","I18n","modules","isInitialized","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","partialBundledLanguages","tDescription","_format","lu","languageDetector","_this2$store","_this2$store2","deferred","changeLanguage","usedCallback","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","opts","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","addQueryString","queryString","paramName","ajax","queryStringParams","XMLHttpRequest","crossDomain","setRequestHeader","withCredentials","overrideMimeType","customHeaders","onreadystatechange","readyState","responseText","Backend","defaults","loadPath","addPath","allowMultiLoading","parsePayload","loadUrl","xhr","status","i18n","use","initPromise","_x","_init","_callee","Blob","mediaBreakPoint","_isIos","_platform$os","isIos","_isTouchDevice","_platform$os2","isTouchDevice","focusIfIos","passive","_isNarrowScreen","isNarrowScreen","updateIsNarrowScreen","matchMedia","matches","isFrozen","freeze","seal","Reflect","fun","thisValue","Func","arrayForEach","unapply","arrayLastIndexOf","lastIndexOf","arrayPop","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","addToSet","transformCaseFunc","lcElement","cleanArray","newObject","lookupGetter","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","purify","createDOMPurify","DOMPurify","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","MozNamedAttrMap","DOMParser","trustedTypes","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","TRUSTED_TYPES_POLICY","createScriptURL","purifyHostElement","createPolicy","ATTR_NAME","getAttribute","policyName","scriptUrl","_","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","getAttributeNode","_initDocument","dirty","leadingWhitespace","dirtyPayload","parseFromString","createDocument","childNodes","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","hasChildNodes","_isNode","_executeHooks","currentNode","hook","_sanitizeElements","allowedTags","firstElementChild","_isBasicCustomElement","childClone","__removalCount","parentTagName","_checkValidNamespace","expr","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","initValue","getAttributeType","_sanitizeShadowDOM","shadowNode","shadowIterator","nextNode","sanitize","importedNode","returnNode","nodeIterator","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks","getElementById","querySelector","elm","selector","getNodeValue","getNodeValueByTagName","_toConsumableArray","selectorCmp","nthChildIndexes","buildSelector","nthOfTypeIndexes","_loop","nn","getShadowDomSelectorSet","blockId","div","shadowRoot","closest","getElementByNthOfTypeIndexes","indexes","_ref","_ref2","_slicedToArray","HTMLElement","entityRegExp","entityMap","escapeSingleQuoteAttribute","unescapeSingleQuoteAttribute","entityReverseMap","_ref3","_ref4","decodeHtml","isPassThroughNativeEvent","ev","nl2br","line","React","defaultSize","defaultSinglelineSize","isEqualSize","idSequence","DEFAULT_KEYS_FOR_SETUP","Block","_newFromFile","_newFromHtml","_new2","_toClipboardItem","_serialize","_compile","_serializedString","round","wrapperRef","iframePreviewSize","stripped","_asyncToGenerator","block","isNewlyAdded","_callee2","_context2","_x2","_callee3","_context3","_x3","iconString","icon","typeId","wrapperElement","inputElm","contentLabel","placeholderLabel","className","ReactDOMServer","classNames","metadataByOwnKeys","parentKeys","pk","helpText","htmlString","_callee4","_context4","_x4","_callee5","_context5","_x5","_callee6","_this$compiledHtml","_context6","removeChildIntermediateProduct","compiledHtml","shouldBeCompiled","compile","editor","serializeMeta","serializedString","removeIntermediateProduct","_x6","_callee7","_context7","_objectSpread","_x7","EditorContext","useEditorContext","BlocksContext","useBlocksContext","BlockContext","useBlockContext","_extends","_objectWithoutPropertiesLoose","_inheritsLoose","replaceClassName","origClass","classToRemove","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","prevState","_proto","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","appearing","nodeRef","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","cancel","nextState","setNextCallback","active","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","propTypes","removeClass","classes","classList","baseVal","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","hasClass","_addClass","_this$appliedClasses$","command","_useState2","isDialogOpen","setDialogOpen","blocksContext","editorContext","getFocusedIds","dialog","commandManager","execute","blockIds","shortcut","toKeyboardShortcutLabel","PANEL_CLASS_NAME","PANEL_PLACEMENT_DATA_NAME","BlockCommandPanel","commands","setCommands","panelRef","unloaded","contextCommands","panel","dataset","getBoundingClientRect","BlockCommand","ListStatus","AddButton","labelDirect","showShortcuts","_useBlocksContext","panelBlockTypes","shortcutBlockTypes","addBlock","Hidden","showList","setShowList","buttonElRef","blockListElRef","dummyInputElRef","onDrop","onWindowClick","blockListEl","removeEventListener","_useMemo2","selectableTypes","shortcutTypes","panelTypes","onlyShortcuts","t0","Event","t1","t2","tabIndex","onDragOver","types","dropEffect","onDragEnter","onDragLeave","files","canNewFromFile","newFromFile","title","stopImmediatePropagation","_ref5","_ref6","Visible","None","_ref7","BlockToolbar","blockContext","rendered","swapBlocks","isCommandPanelShown","setCommandPanelShown","toggleCommandPanelShown","focusEditor","rows","hasBorder","onMouseDown","DEFAULT_MIN_ROWS","recursiveMap","rowCount","editHandlers","cur","undo","hist","setFocusedIds","redo","blockProperty","setBlock","_useState4","editGroups","setEditGroups","blockEditor","_wrapperRef$current","focusEl","activeEl","scrollHeight","offsetHeight","_child$props$dataPro","onChange","onKeyDown","minRows","lastValue","HTMLTextAreaElement","editManager","generateGroup","group","HTMLInputElement","EditorMode","labelMap","_ref$keys","BlockSetup","onMouseUp","_useEditorContext","divElRef","focusedIds","inFocusGroup","divEl","getComputedStyle","editorStyle","fontSize","fontFamily","mousedownListener","CustomEvent","keyupListener","CARET_ATTR","CARET","tinymceFocus","selectorSet","selection","getBody","caret","dom","_sort2","startNode","endNode","rng","getRng","collapse","_tinymceFocus","removeTinyMCEFromBlock","tinymce","getContent","tinymceId","adjustToolbar","_adjustToolbar","editorElement","toolbar","blockEl","editorRect","blockRect","getRoot","lookup","BlockEditorCommandEvent","_CustomEvent","_super","_createSuper","_wrapNativeSuper","CommandManager","_commands","_contextCommands","allCommands","_allContextCommands","allContextCommands","_yield$c$condition","_c$condition","condition","t3","_yield$c$condition2","_c$condition2","eventEmitters","_this$eventEmitters$g","blocks","_this$eventEmitters$g2","_this$eventEmitters$g3","toKeyboardShortcutKey","keyboardShortcutMap","findDescendantBlocks","useCommands","_step","_iterator","_createForOfIteratorHelper","removeAllListenersOfBlock","_callback","_condition","commandId","BlockEditorPasteCommandEvent","_BlockEditorCommandEv","_navigator$clipboard","clipboard","_ref2$editorContext","_event$clipboardData","clipboardItems","clipboardItem","_event$clipboardData2","_iterator2","_step2","_clipboardItem","_iterator3","_step3","newBlocks","_iterator4","_step4","newBlock","KeyboardEvent","ClipboardEvent","items","getData","getType","parseContent","preParseContent","factory","ParserContext","beginGrouping","endGrouping","eventAttrs","eventPrefix","eventAttrsArg","eventPrefixedAttrsArg","commentPrefix","parser","addAttributeFilter","nodes","serializer","nameWithPrefix","addEventHandlerFilter","editorManager","majorVersion","addNodeFilter","unescape","addCommentFilter","item","plainTextContent","getAsFile","pluginsInstalled","tinymceMajorVersion","getTinymceMajorVersion","installPlugins","PluginManager","MTBlockEditorPlugin","commonSettings","menubar","contextmenu","fixed_toolbar_container","inline","paste_preprocess","_preventDefault","DataTransfer","setData","fire","TAG_NAME_MAP","h1","h2","h3","h4","h5","h6","ToolbarVisibleStatus","DependsOnContent","Invisible","Editor","canRemove","removeBlock","mergeBlock","settings","_editor$opts$block$co","pluginsToolbarSettings","plugins","_settings","init_instance_callback","setContent","undoManager","setHTML","addEdit","rootRect","tn","textBlock","Text","toolbarVisibleStatus","contentDeleted","inputType","collapsed","sel","getSel","getStart","startOffset","installTinyMCEPlugins","isInSetupMode","toolbarVisible","_document$querySelect","BlockSetupCommon","BlockLabel","_Block","_get","focusBlock","preview","BlockContentEditablePreview","placeholder","history","closeTag","openTag","mtRichTextEditorFocus","tiptap","posAtDOM","resolvedPos","tr","setSelection","deleteSelection","startElement","endElement","startPos","_mtRichTextEditorFocus","removeMTRichTextEditorFromBlock","mtRichTextEditor","MTRichTextEditor","unload","mtRichTextEditorId","_toolbar$parentElemen","firstBlockElRect","_blockEl$parentElemen","parentBlockEl","blockElRect","parentElement","PLACEHOLDER_ITEM_NAME","isCommandPlaceholderDefined","insertCommandPlaceholder","customElements","_HTMLElement","_class","onUndo","_editor$opts$i18n$lng","editorStylesheets","stylesheets","pasteMenu","extensionOptions","undoRedo","registerShortcuts","embedObject","resolver","embedObjectResolver","_settings$toolbar","_toolbar$current","toolbarContainer","transaction","getMeta","empty","$from","TextForTinyMCE","substr","camelize","decamelize","pascalize","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","humps","Proxy","delegatesFocus","styleSheets","ssr","attachShadow","adoptedStyleSheets","CSSStyleSheet","invariant","argIndex","framesToPop","DndContext","dragDropManager","useDragDropManager","useIsomorphicLayoutEffect","DropTargetImpl","spec","monitor","protoProps","staticProps","canDrop","getItem","hover","drop","_i","_s","_e","_arr","_n","_d","minLen","arr2","useRegisteredDropTarget","connector","manager","dropTarget","useDropTarget","accept","useAccept","_registerTarget","registry","getRegistry","targetId","addTarget","removeTarget","registerTarget","_registerTarget2","handlerId","unregister","receiveHandlerId","useOptionalFactory","memoDeps","isCallingCanDrop","DropTargetMonitorImpl","internalMonitor","getMonitor","subscribeToStateChange","canDropOnTarget","isOverTarget","getItemType","getDropResult","didDrop","getInitialClientOffset","getInitialSourceClientOffset","getSourceClientOffset","getClientOffset","getDifferenceFromInitialOffset","shallowEqual","objA","objB","compareContext","compareResult","keysA","keysB","bHasOwnProperty","valueA","valueB","wrapHookToRecognizeElement","elementOrNode","throwIfCompositeComponentElement","newRef","previousRef","setRef","cloneWithRef","wrapConnectorHooks","wrappedHooks","endsWith","wrappedHook","isRef","TargetConnector","clearDropTarget","dropTargetOptions","dropTargetRef","dropTargetNode","reconnect","didChange","didHandlerIdChange","didDropTargetChange","didOptionsChange","disconnectDropTarget","lastConnectedHandlerId","lastConnectedDropTarget","lastConnectedDropTargetOptions","unsubscribeDropTarget","connectDropTarget","newHandlerId","dropTargetOptionsInternal","useMonitorOutput","collect","onCollect","_useCollector","onUpdate","collected","setCollected","updateCollected","nextValue","useCollector","_useCollector2","getHandlerId","handlerIds","useCollectedProps","collector","useConnectDropTarget","useDrop","specArg","getBackend","useDropTargetConnector","DragSourceImpl","canDrag","globalMonitor","isDragging","getSourceId","useRegisteredDragSource","useDragSource","itemType","useDragType","_registerSource","sourceId","addSource","removeSource","registerSource","_registerSource2","isCallingCanDrag","isCallingIsDragging","DragSourceMonitorImpl","canDragSource","isDraggingSource","getTargetIds","isSourcePublic","subscribeToOffsetChange","SourceConnector","dragSource","clearDragSource","dragSourceOptions","dragSourceRef","dragSourceNode","reconnectDragSource","dragPreview","clearDragPreview","dragPreviewOptions","dragPreviewRef","dragPreviewNode","reconnectDragPreview","dragSourceOptionsInternal","dragPreviewOptionsInternal","didConnectedDragSourceChange","didDragSourceOptionsChange","disconnectDragSource","lastConnectedDragSource","lastConnectedDragSourceOptions","dragSourceUnsubscribe","connectDragSource","didConnectedDragPreviewChange","didDragPreviewOptionsChange","disconnectDragPreview","lastConnectedDragPreview","lastConnectedDragPreviewOptions","dragPreviewUnsubscribe","connectDragPreview","useConnectDragSource","useConnectDragPreview","useDrag","begin","useDragSourceConnector","previewOptions","memoize","EnterLeaveCounter","isNodeInDocument","enteringNode","previousLength","entered","itemsA","itemsB","insertItem","leavingNode","isFirefox","isSafari","safari","MonotonicInterpolant","xs","ys","dx","dy","dys","dxs","ms","c1s","_i2","m2","mNext","dxNext","c2s","c3s","_i3","c1","invDx","_common","mid","low","high","xHere","diff","diffSq","getNodeClientOffset","_el$getBoundingClient","getEventClientOffset","getDragPreviewOffset","sourceNode","clientOffset","anchorPoint","offsetPoint","_document$documentEle","isImage","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","sourceWidth","offsetWidth","sourceHeight","anchorX","anchorY","_getDragPreviewSize","dragPreviewWidth","dragPreviewHeight","devicePixelRatio","getDragPreviewSize","offsetX","offsetY","isManualOffsetY","calculateYOffset","_nativeTypesConfig","TEXT","HTML","getDataFromDataTransfer","typesToTry","resultSoFar","typeToTry","nativeTypesConfig","exposeProperties","matchesTypes","urls","NativeDragSource","initializeExposedProperties","newProperties","matchNativeItemType","dataTransferTypes","nativeItemType","OptionsReader","globalContext","optionsArgs","_this$globalContext","_this$optionsArgs","rootElement","enumerableOnly","getOwnPropertyDescriptors","ListenerType","HTML5BackendImpl","sourceNodes","isDraggingNativeItem","actions","endDrag","currentNativeHandle","currentNativeSource","currentDragSourceNode","clearCurrentDragSourceNode","dragStartSourceIds","beginDrag","publishSource","nativeType","setDragImage","sourcePreviewNodes","_this$getCurrentSourc","getCurrentSourcePreviewNodeOptions","dragPreviewOffset","setCurrentDragSourceNode","captureDraggingState","publishDragSource","beginDragNativeItem","dragEnterTargetIds","enterLeaveCounter","altKeyPressed","getCurrentDropEffect","dragOverTargetIds","leave","endDragNativeItem","_this$currentNativeSo","dropTargetIds","loadDataTransfer","dragDrop","isContentEditable","getActions","_this$dragStartSource","_this$dragOverTargetI","sourcePreviewNodeOptions","sourceNodeOptions","__isReactDndBackendSetUp","addEventListeners","_this$window","removeEventListeners","asyncEndDragFrameId","handleDragStart","handleSelectStart","handleDragEnter","handleDragOver","handleDrop","handleTopDragStart","handleTopDragStartCapture","handleTopDragEndCapture","handleTopDragEnter","handleTopDragEnterCapture","handleTopDragLeaveCapture","handleTopDragOver","handleTopDragOverCapture","handleTopDrop","handleTopDropCapture","getCurrentSourceNodeOptions","createNativeDragSource","mouseMoveTimeoutTimer","_this5$rootElement","endDragIfSourceWasRemovedFromDOM","_this$window2","HTML5Backend","MouseButtons","MouseButton","eventShouldStartDrag","isTouchEvent","lastTargetTouchFallback","getEventClientTouchOffset","supportsPassive","supported","_eventNames","_this$args$delay","scrollAngleRanges","getDropTargetElementsAtPoint","_this$args$ignoreCont","ignoreContextMenu","_this$args$enableHove","enableHoverOutsideTarget","_this$args$enableKeyb","enableKeyboardEvents","_this$args$enableMous","enableMouseEvents","_this$args$enableTouc","enableTouchEvents","touchSlop","_this$args$delayTouch","_this$args","_this$args2","delayTouchStart","_this$args$delayMouse","_this$args3","_this$args4","delayMouseStart","_this$context","_this$args5","mouse","move","touch","keyboard","keydown","TouchBackendImpl","moveStartSourceIds","_mouseClientOffset","waitingForDelay","handleTopMoveStart","_evt","x1","y1","x2","y2","_isScrolling","angleRanges","angle","atan2","PI","inAngleRanges","sqrt","installSourceNodeRemovalObserver","dragOverTargetNodes","targetNodes","elementsAtPoint","elementsFromPoint","elementsAtPointExtended","nodeId","orderedDragOverTargetIds","_getDropTargetId","ids","targetNode","eventShouldEndDrag","uninstallSourceNodeRemovalObserver","listenerTypes","isSetUp","getTopMoveStartHandler","handleTopMoveStartCapture","handleTopMove","handleTopMoveCapture","handleTopMoveEndCapture","handleCancelOnEscape","subject","listenerType","handleMoveStart","handleMove","coords","droppedOn","elementFromPoint","childMatch","handleTopMoveStartDelay","draggedSourceNode","draggedSourceNodeRemovalObserver","resurrectSourceNode","childList","disconnect","DndBackend","featurePreview","isActive","getSelectableColumns","selectableColumns","defaultColumns","showConfigPanel","setConfigPanel","toggleConfigPanel","changeLayout","inputEl","getColumnLayout","cols","newColumn","curLayout","BlockToolbarButton","BlockConfigPanel","listStyle","columnString","Columns","Column","serializedColumns","_getSelectableColumns2","NO_BLOCK_TYPE_FALLBACK","DefaultToolbar","Stylesheets","StylesheetType","css","rel","skipFocusDefault","ignoreClickEvent","showButton","parentBlock","focusLeader","dragIndex","hoverIndex","hoverBoundingRect","hoverMiddleY","bottom","hoverClientY","_useDrag2","drag","focusDescendant","clickBlockTargetRef","withBlockContext","_useMemo","click","getBlocksByRange","onCopy","onPaste","onUp","onDown","onWindowKeydown","dispatchKeydownEvent","RemoveButton","rootClassName","overflow","rootAttributes","InitSizeFunc","lastElement","marginBottom","postMessageFunc","scrollWidth","setCompiledHtmlFunc","addEditHistory","preserveBlockData","addDroppableFunc","eventDelegationFunc","_block$compiledHtml2","header","onSetCompiledHtml","onBeforeSetCompiledHtml","border","_ref3$scheme","_ref3$sandbox","sandbox","containerElRef","_useHtmlDataState","_block$compiledHtml","_rawHtmlData","setHtmlText","rawHtmlData","useHtmlDataState","_useHtmlDataState2","rawHtmlText","setHtmlData","_setSize","setSize","_containerElRef$curre","_history","hist0","hist1","setIframePreviewSize","getIframePreviewSize","setCompiledHtml","beforeRenderIframePreviewOpt","htmlText","_useState6","setSrc","rootAttributesObj","srcdoc","TextEncoder","base64Srcdoc","btoa","onMessage","_containerEl$getRootN","containerEl","isDefaultSize","oldValue","getRootNode","MouseEvent","srcDoc","frameBorder","maxWidth","maxHeight","boxSizing","STYLE_HIDDEN","canRemoveBlock","scroll","destEl","rect","pageYOffset","offsetTop","scrollTo","behavior","resetCompiledHtml","_html","focusFirstBlock","focusItem","BlockItem","showPreview","_serializeChildBlocks","cancelOngoingCompilationHandlers","effectiveAddableBlockTypes","BlockIframePreview","previewHeader","serializeChildOpts","serializedBlocks","serializeChildBlocks","rootBlock","canceled","sourceHtml","timeoutId","entityReverseRegExp","removeControlCharacters","_parseContent","fallbackBlockType","domparser","_args2","metaRawValue","metaArray","filtered","newFromHtml","emptyBlocks","ancestor","childBlocks","findDescendantBlocksInternal","rootBlocks","foundCount","getBlocksByRangeInternal","parents","currentBlocks","startBlocks","findRange","mac","cmd","alt","ctrl","other","isMac","setPlatform","_platform","_Map","INIT_COORDS","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","DROP","END_DRAG","setClientOffset","sourceClientOffset","ResetCoordinatesAction","createBeginDrag","sourceIds","_options$publishSourc","getSource","verifyInvariants","getDraggableSource","verifyGetSourceClientOffsetIsFunction","verifyItemIsObject","pinSource","getSourceType","createPublishDragSource","matchesType","targetType","draggedItemType","createHover","targetIdsArg","verifyTargetIdsIsArray","targetIds","getTarget","checkInvariants","getTargetType","removeNonMatchingTargetIds","hoverAllTargets","createDrop","getDroppableTargets","dropResult","verifyDropResultType","determineDropResult","createEndDrag","verifyIsDragging","unpinSource","DragDropManagerImpl","handleRefCountChange","shouldSetUp","refCount","setup","teardown","subscribe","createDragDropActions","boundActions","actionCreator","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","INIT","PROBE_UNKNOWN_ACTION","isPlainObject","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","isSubscribed","replaceReducer","nextReducer","outerSubscribe","observeState","unsubscribe","strictEquality","initialState","initialSourceClientOffset","initialClientOffset","offsetA","offsetB","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","NONE","ALL","_action$payload","_action$payload$targe","_action$payload$prevT","prevTargetIds","xor","isEqual","areArraysEqual","prevInnermostTargetId","innermostTargetId","dirtyHandlerIds","dragOffset","dragOperation","stateId","subtract","__IS_NONE__","__IS_ALL__","HandlerRole","DragDropMonitorImpl","prevStateId","currentStateId","canSkipListener","dirtyIds","commonIds","areDirty","previousState","shallow","nextUniqueId","validateType","allowArray","scope","BrowserMutationObserver","makeRequestCallFromTimer","handleTimer","intervalHandle","clearInterval","makeRequestCall","RawTask","asapQueue","enqueueTask","requestFlush","flushing","pendingErrors","capacity","currentIndex","scan","newLength","registerPendingError","requestErrorThrow","taskFactory","tasks","freeTasks","getNextHandlerId","role","SOURCE","parseRoleFromHandlerId","mapContainsValue","isDone","_entries$next","HandlerRegistryImpl","dragSources","dropTargets","pinnedSourceId","pinnedSource","validateSourceContract","addHandler","validateTargetContract","includePinned","isSourceId","isTargetId","createDragDropManager","backendFactory","backendOptions","debugMode","reduxDevTools","__REDUX_DEVTOOLS_EXTENSION__","instanceId","makeStoreInstance","receiveBackend","_excluded","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","INSTANCE_SYM","DndProvider","_getDndContextValue","getGlobalContext","ctx","createSingletonDndContext","isGlobalInstance","getDndContextValue","_getDndContextValue2","_focusedIds","_setFocusedIds","focusedIdsRef","arrayEquals","editorEl","startId","onEditorMousedown","_ev$target$closest","mtBlockEditorBlockId","onEditorMouseup","_ev$target$closest2","endId","onBlockEditorCommand","addButtons","BlockFactory","allTypes","selectable","registered","NO_GROUP","EditManager","histories","ignore","_add","emitChange","merged","_nextFocusBlock$id","nextFocusBlock","beforeRenderIframePreview","_doc$body$querySelect","OVERLAY_CLASS_NAME","PORTAL_STYLE","_ref$onClose","onClose","portal","onKeydown","DialogContext","Dialog","modalRef","modalEl","Overlay","DialogHeader","_useContext$onClose","DialogBody","DialogFooter","Html","linkUrl","linkTarget","linkTitle","caption","isLinkDialogOpen","setLinkDialogOpen","formRef","iconLink","_form$querySelector","Image","File","pluginsSettings","grandChildren","Table","fullWidth","TableForTinyMCE","Horizontalrule","registerType","isTextSelected","isCollapsed","isClipboardAPIAvailable","_navigator$clipboard2","writeText","_block$wrapperRef$cur","_editor","htmlBlob","plainBlob","_block$wrapperRef$cur2","toClipboardItem","acc","ClipboardItem","_ref$editorContext","confirm","registerCommand","copyBlock","pasteBlock","duplicateBlock","deleteBlock","insertLink","_buildKeyboardShortcutCache","inputElement","initDefaultEventHandlers","buildKeyboardShortcutCache","keyboardShortcutCache","buildStylesheets","initialized","typeIds","editHandlersAdd","before","canMerge","editHandlersRemove","editHandlersSwap","metadataReverseMap","metadataMap","stringArray","targetMap","reusableIds","_step2$value","_Object$keys","metadataMapSequence","metaSetup","keysForSetup","metaStrings","getMetadataMapIndexes","App","resetCss","EditorManager","editors","_remove","_instance","EditorUtil","_unload","_apply","_classStaticPrivateFieldSpecGet","_eventHandlers","optsI18n","initI18n","deregisterType","BoilerplateBlock","decorator","Hook","util","MTBlockEditor"],"sourceRoot":""} \ No newline at end of file diff --git a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.css b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.css similarity index 100% rename from mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.css rename to mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.css diff --git a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.css.map b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.css.map similarity index 100% rename from mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.css.map rename to mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.css.map diff --git a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.js b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.js similarity index 80% rename from mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.js rename to mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.js index b5c1512..1bc3fe1 100644 --- a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.js +++ b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.js @@ -5,5 +5,5 @@ # This distribution contains several open source products. # Their license information can be found in mt-block-editor.js.LICENSE.txt. */ -(()=>{var e={8393:e=>{e.exports={locales:["en","ja"]}},6689:e=>{e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},6637:(e,t,n)=>{var r=n(6827);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},990:(e,t,n)=>{var r=n(7166),o=n(3981),i=n(7614),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},4958:(e,t,n)=>{"use strict";var r=n(520).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},26:e=>{e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},1326:(e,t,n)=>{var r=n(6827);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},6650:(e,t,n)=>{"use strict";var r=n(4440),o=n(847),i=n(9223);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),l=a>2?arguments[2]:void 0,c=void 0===l?n:o(l,n);c>u;)t[u++]=e;return t}},9352:(e,t,n)=>{"use strict";var r=n(5860).forEach,o=n(8809),i=n(778),a=o("forEach"),u=i("forEach");e.exports=a&&u?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},1871:(e,t,n)=>{"use strict";var r=n(8273),o=n(4440),i=n(9448),a=n(9254),u=n(9223),l=n(1861),c=n(3054);e.exports=function(e){var t,n,s,f,d,p,h=o(e),v="function"==typeof this?this:Array,m=arguments.length,g=m>1?arguments[1]:void 0,y=void 0!==g,b=c(h),w=0;if(y&&(g=r(g,m>2?arguments[2]:void 0,2)),null==b||v==Array&&a(b))for(n=new v(t=u(h.length));t>w;w++)p=y?g(h[w],w):h[w],l(n,w,p);else for(d=(f=b.call(h)).next,n=new v;!(s=d.call(f)).done;w++)p=y?i(f,g,[s.value,w],!0):s.value,l(n,w,p);return n.length=w,n}},5254:(e,t,n)=>{var r=n(3016),o=n(9223),i=n(847),a=function(e){return function(t,n,a){var u,l=r(t),c=o(l.length),s=i(a,c);if(e&&n!=n){for(;c>s;)if((u=l[s++])!=u)return!0}else for(;c>s;s++)if((e||s in l)&&l[s]===n)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},5860:(e,t,n)=>{var r=n(8273),o=n(8188),i=n(4440),a=n(9223),u=n(5309),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,s=4==e,f=6==e,d=5==e||f;return function(p,h,v,m){for(var g,y,b=i(p),w=o(b),k=r(h,v,3),x=a(w.length),E=0,S=m||u,O=t?S(p,x):n?S(p,0):void 0;x>E;E++)if((d||E in w)&&(y=k(g=w[E],E,b),e))if(t)O[E]=y;else if(y)switch(e){case 3:return!0;case 5:return g;case 6:return E;case 2:l.call(O,g)}else if(s)return!1;return f?-1:c||s?s:O}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},6894:(e,t,n)=>{var r=n(8462),o=n(7166),i=n(5649),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},8809:(e,t,n)=>{"use strict";var r=n(8462);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},778:(e,t,n)=>{var r=n(6953),o=n(8462),i=n(991),a=Object.defineProperty,u={},l=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],c=!!i(t,"ACCESSORS")&&t.ACCESSORS,s=i(t,0)?t[0]:l,f=i(t,1)?t[1]:void 0;return u[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?a(e,1,{enumerable:!0,get:l}):e[1]=1,n.call(e,s,f)}))}},9857:(e,t,n)=>{var r=n(6689),o=n(4440),i=n(8188),a=n(9223),u=function(e){return function(t,n,u,l){r(n);var c=o(t),s=i(c),f=a(c.length),d=e?f-1:0,p=e?-1:1;if(u<2)for(;;){if(d in s){l=s[d],d+=p;break}if(d+=p,e?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:f>d;d+=p)d in s&&(l=n(l,s[d],d,c));return l}};e.exports={left:u(!1),right:u(!0)}},5309:(e,t,n)=>{var r=n(6827),o=n(3115),i=n(7166)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},9448:(e,t,n)=>{var r=n(1326);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},5239:(e,t,n)=>{var r=n(7166)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(e){}return n}},661:e=>{var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},9794:(e,t,n)=>{var r=n(3557),o=n(661),i=n(7166)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},431:(e,t,n)=>{"use strict";var r=n(1326),o=n(6689);e.exports=function(){for(var e=r(this),t=o(e.add),n=0,i=arguments.length;n{"use strict";var r=n(1326),o=n(6689);e.exports=function(){for(var e,t=r(this),n=o(t.delete),i=!0,a=0,u=arguments.length;a{"use strict";var r=n(7614).f,o=n(3981),i=n(5783),a=n(8273),u=n(26),l=n(6357),c=n(2527),s=n(6080),f=n(6953),d=n(2634).fastKey,p=n(3962),h=p.set,v=p.getterFor;e.exports={getConstructor:function(e,t,n,c){var s=e((function(e,r){u(e,s,t),h(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&l(r,e[c],e,n)})),p=v(t),m=function(e,t,n){var r,o,i=p(e),a=g(e,t);return a?a.value=n:(i.last=a={index:o=d(t,!0),key:t,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},g=function(e,t){var n,r=p(e),o=d(t);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==t)return n};return i(s.prototype,{clear:function(){for(var e=p(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete t[n.index],n=n.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var t=this,n=p(t),r=g(t,e);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),f?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=p(this),r=a(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),i(s.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return m(this,0===e?0:e,t)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),f&&r(s.prototype,"size",{get:function(){return p(this).size}}),s},setStrong:function(e,t,n){var r=t+" Iterator",o=v(t),i=v(r);c(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:void 0})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),s(t)}}},6939:(e,t,n)=>{"use strict";var r=n(5689),o=n(2756),i=n(5149),a=n(57),u=n(2634),l=n(6357),c=n(26),s=n(6827),f=n(8462),d=n(5239),p=n(5142),h=n(3042);e.exports=function(e,t,n){var v=-1!==e.indexOf("Map"),m=-1!==e.indexOf("Weak"),g=v?"set":"add",y=o[e],b=y&&y.prototype,w=y,k={},x=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!s(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!s(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!s(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof y||!(m||b.forEach&&!f((function(){(new y).entries().next()})))))w=n.getConstructor(t,e,v,g),u.REQUIRED=!0;else if(i(e,!0)){var E=new w,S=E[g](m?{}:-0,1)!=E,O=f((function(){E.has(1)})),T=d((function(e){new y(e)})),C=!m&&f((function(){for(var e=new y,t=5;t--;)e[g](t,t);return!e.has(-0)}));T||((w=t((function(t,n){c(t,w,e);var r=h(new y,t,w);return null!=n&&l(n,r[g],r,v),r}))).prototype=b,b.constructor=w),(O||C)&&(x("delete"),x("has"),v&&x("get")),(C||S)&&x(g),m&&b.clear&&delete b.clear}return k[e]=w,r({global:!0,forced:w!=y},k),p(w,e),m||n.setStrong(w,e,v),w}},9621:(e,t,n)=>{var r=n(991),o=n(1804),i=n(172),a=n(7614);e.exports=function(e,t){for(var n=o(t),u=a.f,l=i.f,c=0;c{var r=n(7166)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(e){}}return!1}},6036:(e,t,n)=>{var r=n(8462);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},7179:(e,t,n)=>{var r=n(5065),o=/"/g;e.exports=function(e,t,n,i){var a=String(r(e)),u="<"+t;return""!==n&&(u+=" "+n+'="'+String(i).replace(o,""")+'"'),u+">"+a+""}},3087:(e,t,n)=>{"use strict";var r=n(3774).IteratorPrototype,o=n(3981),i=n(9367),a=n(5142),u=n(7240),l=function(){return this};e.exports=function(e,t,n){var c=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,c,!1,!0),u[c]=l,e}},4100:(e,t,n)=>{var r=n(6953),o=n(7614),i=n(9367);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},9367:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},1861:(e,t,n)=>{"use strict";var r=n(7806),o=n(7614),i=n(9367);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},9565:(e,t,n)=>{"use strict";var r=n(1326),o=n(7806);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),"number"!==e)}},2527:(e,t,n)=>{"use strict";var r=n(5689),o=n(3087),i=n(6166),a=n(4322),u=n(5142),l=n(4100),c=n(57),s=n(7166),f=n(7690),d=n(7240),p=n(3774),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,m=s("iterator"),g="keys",y="values",b="entries",w=function(){return this};e.exports=function(e,t,n,s,p,k,x){o(n,t,s);var E,S,O,T=function(e){if(e===p&&N)return N;if(!v&&e in I)return I[e];switch(e){case g:case y:case b:return function(){return new n(this,e)}}return function(){return new n(this)}},C=t+" Iterator",P=!1,I=e.prototype,j=I[m]||I["@@iterator"]||p&&I[p],N=!v&&j||T(p),R="Array"==t&&I.entries||j;if(R&&(E=i(R.call(new e)),h!==Object.prototype&&E.next&&(f||i(E)===h||(a?a(E,h):"function"!=typeof E[m]&&l(E,m,w)),u(E,C,!0,!0),f&&(d[C]=w))),p==y&&j&&j.name!==y&&(P=!0,N=function(){return j.call(this)}),f&&!x||I[m]===N||l(I,m,N),d[t]=N,p)if(S={values:T(y),keys:k?N:T(g),entries:T(b)},x)for(O in S)(v||P||!(O in I))&&c(I,O,S[O]);else r({target:t,proto:!0,forced:v||P},S);return S}},4300:(e,t,n)=>{var r=n(8844),o=n(991),i=n(766),a=n(7614).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||a(t,e,{value:i.f(e)})}},6953:(e,t,n)=>{var r=n(8462);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3018:(e,t,n)=>{var r=n(2756),o=n(6827),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8993:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},550:(e,t,n)=>{var r=n(5441);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},5441:(e,t,n)=>{var r=n(5072);e.exports=r("navigator","userAgent")||""},5649:(e,t,n)=>{var r,o,i=n(2756),a=n(5441),u=i.process,l=u&&u.versions,c=l&&l.v8;c?o=(r=c.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},4798:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},5689:(e,t,n)=>{var r=n(2756),o=n(172).f,i=n(4100),a=n(57),u=n(1979),l=n(9621),c=n(5149);e.exports=function(e,t){var n,s,f,d,p,h=e.target,v=e.global,m=e.stat;if(n=v?r:m?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(d=t[s],f=e.noTargetGet?(p=o(n,s))&&p.value:n[s],!c(v?s:h+(m?".":"#")+s,e.forced)&&void 0!==f){if(typeof d==typeof f)continue;l(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,s,d,e)}}},8462:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},6031:(e,t,n)=>{"use strict";n(3188);var r=n(57),o=n(8462),i=n(7166),a=n(5866),u=n(4100),l=i("species"),c=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),s="$0"==="a".replace(/./,"$0"),f=i("replace"),d=!!/./[f]&&""===/./[f]("a","$0"),p=!o((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,f){var h=i(e),v=!o((function(){var t={};return t[h]=function(){return 7},7!=""[e](t)})),m=v&&!o((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return t=!0,null},n[h](""),!t}));if(!v||!m||"replace"===e&&(!c||!s||d)||"split"===e&&!p){var g=/./[h],y=n(h,""[e],(function(e,t,n,r,o){return t.exec===a?v&&!o?{done:!0,value:g.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),b=y[0],w=y[1];r(String.prototype,e,b),r(RegExp.prototype,h,2==t?function(e,t){return w.call(e,this,t)}:function(e){return w.call(e,this)})}f&&u(RegExp.prototype[h],"sham",!0)}},2284:(e,t,n)=>{"use strict";var r=n(3115),o=n(9223),i=n(8273),a=function(e,t,n,u,l,c,s,f){for(var d,p=l,h=0,v=!!s&&i(s,f,3);h0&&r(d))p=a(e,t,d,o(d.length),p,c-1)-1;else{if(p>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[p]=d}p++}h++}return p};e.exports=a},9947:(e,t,n)=>{var r=n(8462);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},8273:(e,t,n)=>{var r=n(6689);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},8631:(e,t,n)=>{"use strict";var r=n(6689),o=n(6827),i=[].slice,a={};e.exports=Function.bind||function(e){var t=r(this),n=i.call(arguments,1),u=function(){var r=n.concat(i.call(arguments));return this instanceof u?function(e,t,n){if(!(t in a)){for(var r=[],o=0;o{var r=n(8844),o=n(2756),i=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},3054:(e,t,n)=>{var r=n(9794),o=n(7240),i=n(7166)("iterator");e.exports=function(e){if(null!=e)return e[i]||e["@@iterator"]||o[r(e)]}},898:(e,t,n)=>{var r=n(1326),o=n(3054);e.exports=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return r(t.call(e))}},4159:(e,t,n)=>{var r=n(7690),o=n(898);e.exports=r?o:function(e){return Map.prototype.entries.call(e)}},8641:(e,t,n)=>{var r=n(7690),o=n(898);e.exports=r?o:function(e){return Set.prototype.values.call(e)}},2756:(e,t,n)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||Function("return this")()},991:e=>{var t={}.hasOwnProperty;e.exports=function(e,n){return t.call(e,n)}},3472:e=>{e.exports={}},9974:(e,t,n)=>{var r=n(2756);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},1198:(e,t,n)=>{var r=n(5072);e.exports=r("document","documentElement")},7106:(e,t,n)=>{var r=n(6953),o=n(8462),i=n(3018);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8188:(e,t,n)=>{var r=n(8462),o=n(661),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},3042:(e,t,n)=>{var r=n(6827),o=n(4322);e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},1633:(e,t,n)=>{var r=n(410),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},2634:(e,t,n)=>{var r=n(3472),o=n(6827),i=n(991),a=n(7614).f,u=n(637),l=n(9947),c=u("meta"),s=0,f=Object.isExtensible||function(){return!0},d=function(e){a(e,c,{value:{objectID:"O"+ ++s,weakData:{}}})},p=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,c)){if(!f(e))return"F";if(!t)return"E";d(e)}return e[c].objectID},getWeakData:function(e,t){if(!i(e,c)){if(!f(e))return!0;if(!t)return!1;d(e)}return e[c].weakData},onFreeze:function(e){return l&&p.REQUIRED&&f(e)&&!i(e,c)&&d(e),e}};r[c]=!0},3962:(e,t,n)=>{var r,o,i,a=n(1602),u=n(2756),l=n(6827),c=n(4100),s=n(991),f=n(5868),d=n(3472),p=u.WeakMap;if(a){var h=new p,v=h.get,m=h.has,g=h.set;r=function(e,t){return g.call(h,e,t),t},o=function(e){return v.call(h,e)||{}},i=function(e){return m.call(h,e)}}else{var y=f("state");d[y]=!0,r=function(e,t){return c(e,y,t),t},o=function(e){return s(e,y)?e[y]:{}},i=function(e){return s(e,y)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},9254:(e,t,n)=>{var r=n(7166),o=n(7240),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3115:(e,t,n)=>{var r=n(661);e.exports=Array.isArray||function(e){return"Array"==r(e)}},5149:(e,t,n)=>{var r=n(8462),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==c||n!=l&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},l=i.NATIVE="N",c=i.POLYFILL="P";e.exports=i},6827:e=>{e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},7690:e=>{e.exports=!1},5237:(e,t,n)=>{var r=n(6827),o=n(661),i=n(7166)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:"RegExp"==o(e))}},6357:(e,t,n)=>{var r=n(1326),o=n(9254),i=n(9223),a=n(8273),u=n(3054),l=n(9448),c=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,s,f){var d,p,h,v,m,g,y,b=a(t,n,s?2:1);if(f)d=e;else{if("function"!=typeof(p=u(e)))throw TypeError("Target is not iterable");if(o(p)){for(h=0,v=i(e.length);v>h;h++)if((m=s?b(r(y=e[h])[0],y[1]):b(e[h]))&&m instanceof c)return m;return new c(!1)}d=p.call(e)}for(g=d.next;!(y=g.call(d)).done;)if("object"==typeof(m=l(d,b,y.value,s))&&m&&m instanceof c)return m;return new c(!1)}).stop=function(e){return new c(!0,e)}},3774:(e,t,n)=>{"use strict";var r,o,i,a=n(6166),u=n(4100),l=n(991),c=n(7166),s=n(7690),f=c("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):d=!0),null==r&&(r={}),s||l(r,f)||u(r,f,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},7240:e=>{e.exports={}},4050:(e,t,n)=>{var r,o,i,a,u,l,c,s,f=n(2756),d=n(172).f,p=n(661),h=n(3102).set,v=n(550),m=f.MutationObserver||f.WebKitMutationObserver,g=f.process,y=f.Promise,b="process"==p(g),w=d(f,"queueMicrotask"),k=w&&w.value;k||(r=function(){var e,t;for(b&&(e=g.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(e){throw o?a():i=void 0,e}}i=void 0,e&&e.enter()},b?a=function(){g.nextTick(r)}:m&&!v?(u=!0,l=document.createTextNode(""),new m(r).observe(l,{characterData:!0}),a=function(){l.data=u=!u}):y&&y.resolve?(c=y.resolve(void 0),s=c.then,a=function(){s.call(c,r)}):a=function(){h.call(f,r)}),e.exports=k||function(e){var t={fn:e,next:void 0};i&&(i.next=t),o||(o=t,a()),i=t}},653:(e,t,n)=>{var r=n(2756);e.exports=r.Promise},3165:(e,t,n)=>{var r=n(8462);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},5336:(e,t,n)=>{var r=n(8462),o=n(7166),i=n(7690),a=o("iterator");e.exports=!r((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),n+=r+e})),i&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},1602:(e,t,n)=>{var r=n(2756),o=n(1633),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},8920:(e,t,n)=>{"use strict";var r=n(6689),o=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},1960:(e,t,n)=>{var r=n(5237);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},5503:(e,t,n)=>{var r=n(2756),o=n(207).trim,i=n(7669),a=r.parseFloat,u=1/a(i+"-0")!=-1/0;e.exports=u?function(e){var t=o(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},4800:(e,t,n)=>{var r=n(2756),o=n(207).trim,i=n(7669),a=r.parseInt,u=/^[+-]?0[Xx]/,l=8!==a(i+"08")||22!==a(i+"0x16");e.exports=l?function(e,t){var n=o(String(e));return a(n,t>>>0||(u.test(n)?16:10))}:a},9484:(e,t,n)=>{"use strict";var r=n(6953),o=n(8462),i=n(4565),a=n(864),u=n(6492),l=n(4440),c=n(8188),s=Object.assign,f=Object.defineProperty;e.exports=!s||o((function(){if(r&&1!==s({b:1},s(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),o="abcdefghijklmnopqrst";return e[n]=7,o.split("").forEach((function(e){t[e]=e})),7!=s({},e)[n]||i(s({},t)).join("")!=o}))?function(e,t){for(var n=l(e),o=arguments.length,s=1,f=a.f,d=u.f;o>s;)for(var p,h=c(arguments[s++]),v=f?i(h).concat(f(h)):i(h),m=v.length,g=0;m>g;)p=v[g++],r&&!d.call(h,p)||(n[p]=h[p]);return n}:s},3981:(e,t,n)=>{var r,o=n(1326),i=n(6434),a=n(4798),u=n(3472),l=n(1198),c=n(3018),s=n(5868),f="prototype",d="script",p=s("IE_PROTO"),h=function(){},v=function(e){return"<"+d+">"+e+""},m=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t,n;m=r?function(e){e.write(v("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):(t=c("iframe"),n="java"+d+":",t.style.display="none",l.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(v("document.F=Object")),e.close(),e.F);for(var o=a.length;o--;)delete m[f][a[o]];return m()};u[p]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(h[f]=o(e),n=new h,h[f]=null,n[p]=e):n=m(),void 0===t?n:i(n,t)}},6434:(e,t,n)=>{var r=n(6953),o=n(7614),i=n(1326),a=n(4565);e.exports=r?Object.defineProperties:function(e,t){i(e);for(var n,r=a(t),u=r.length,l=0;u>l;)o.f(e,n=r[l++],t[n]);return e}},7614:(e,t,n)=>{var r=n(6953),o=n(7106),i=n(1326),a=n(7806),u=Object.defineProperty;t.f=r?u:function(e,t,n){if(i(e),t=a(t,!0),i(n),o)try{return u(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},172:(e,t,n)=>{var r=n(6953),o=n(6492),i=n(9367),a=n(3016),u=n(7806),l=n(991),c=n(7106),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(e){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},4113:(e,t,n)=>{var r=n(3016),o=n(4161).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(e){return a.slice()}}(e):o(r(e))}},4161:(e,t,n)=>{var r=n(9583),o=n(4798).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},864:(e,t)=>{t.f=Object.getOwnPropertySymbols},6166:(e,t,n)=>{var r=n(991),o=n(4440),i=n(5868),a=n(6036),u=i("IE_PROTO"),l=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,u)?e[u]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},9583:(e,t,n)=>{var r=n(991),o=n(3016),i=n(5254).indexOf,a=n(3472);e.exports=function(e,t){var n,u=o(e),l=0,c=[];for(n in u)!r(a,n)&&r(u,n)&&c.push(n);for(;t.length>l;)r(u,n=t[l++])&&(~i(c,n)||c.push(n));return c}},4565:(e,t,n)=>{var r=n(9583),o=n(4798);e.exports=Object.keys||function(e){return r(e,o)}},6492:(e,t)=>{"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);t.f=o?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},4322:(e,t,n)=>{var r=n(1326),o=n(6637);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(e){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},9584:(e,t,n)=>{var r=n(6953),o=n(4565),i=n(3016),a=n(6492).f,u=function(e){return function(t){for(var n,u=i(t),l=o(u),c=l.length,s=0,f=[];c>s;)n=l[s++],r&&!a.call(u,n)||f.push(e?[n,u[n]]:u[n]);return f}};e.exports={entries:u(!0),values:u(!1)}},4536:(e,t,n)=>{"use strict";var r=n(3557),o=n(9794);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},1804:(e,t,n)=>{var r=n(5072),o=n(4161),i=n(864),a=n(1326);e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},8844:(e,t,n)=>{var r=n(2756);e.exports=r},1542:e=>{e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},9191:(e,t,n)=>{var r=n(1326),o=n(6827),i=n(8920);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},5783:(e,t,n)=>{var r=n(57);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},57:(e,t,n)=>{var r=n(2756),o=n(4100),i=n(991),a=n(1979),u=n(1633),l=n(3962),c=l.get,s=l.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var l=!!u&&!!u.unsafe,c=!!u&&!!u.enumerable,d=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),s(n).source=f.join("string"==typeof t?t:"")),e!==r?(l?!d&&e[t]&&(c=!0):delete e[t],c?e[t]=n:o(e,t,n)):c?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&c(this).source||u(this)}))},5805:(e,t,n)=>{var r=n(661),o=n(5866);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},5866:(e,t,n)=>{"use strict";var r,o,i=n(4768),a=n(4124),u=RegExp.prototype.exec,l=String.prototype.replace,c=u,s=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=a.UNSUPPORTED_Y||a.BROKEN_CARET,d=void 0!==/()??/.exec("")[1];(s||d||f)&&(c=function(e){var t,n,r,o,a=this,c=f&&a.sticky,p=i.call(a),h=a.source,v=0,m=e;return c&&(-1===(p=p.replace("y","")).indexOf("g")&&(p+="g"),m=String(e).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==e[a.lastIndex-1])&&(h="(?: "+h+")",m=" "+m,v++),n=new RegExp("^(?:"+h+")",p)),d&&(n=new RegExp("^"+h+"$(?!\\s)",p)),s&&(t=a.lastIndex),r=u.call(c?n:a,m),c?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:s&&r&&(a.lastIndex=a.global?r.index+r[0].length:t),d&&r&&r.length>1&&l.call(r[0],n,(function(){for(o=1;o{"use strict";var r=n(1326);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},4124:(e,t,n)=>{"use strict";var r=n(8462);function o(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=r((function(){var e=o("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=o("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},5065:e=>{e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},5892:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},1979:(e,t,n)=>{var r=n(2756),o=n(4100);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},6080:(e,t,n)=>{"use strict";var r=n(5072),o=n(7614),i=n(7166),a=n(6953),u=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[u]&&n(t,u,{configurable:!0,get:function(){return this}})}},5142:(e,t,n)=>{var r=n(7614).f,o=n(991),i=n(7166)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},5868:(e,t,n)=>{var r=n(3662),o=n(637),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},410:(e,t,n)=>{var r=n(2756),o=n(1979),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},3662:(e,t,n)=>{var r=n(7690),o=n(410);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},8576:(e,t,n)=>{var r=n(1326),o=n(6689),i=n(7166)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||null==(n=r(a)[i])?t:o(n)}},7354:(e,t,n)=>{var r=n(8462);e.exports=function(e){return r((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},520:(e,t,n)=>{var r=n(8577),o=n(5065),i=function(e){return function(t,n){var i,a,u=String(o(t)),l=r(n),c=u.length;return l<0||l>=c?e?"":void 0:(i=u.charCodeAt(l))<55296||i>56319||l+1===c||(a=u.charCodeAt(l+1))<56320||a>57343?e?u.charAt(l):i:e?u.slice(l,l+2):a-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},5722:(e,t,n)=>{var r=n(5441);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},5826:(e,t,n)=>{var r=n(9223),o=n(2936),i=n(5065),a=Math.ceil,u=function(e){return function(t,n,u){var l,c,s=String(i(t)),f=s.length,d=void 0===u?" ":String(u),p=r(n);return p<=f||""==d?s:(l=p-f,(c=o.call(d,a(l/d.length))).length>l&&(c=c.slice(0,l)),e?s+c:c+s)}};e.exports={start:u(!1),end:u(!0)}},5298:e=>{"use strict";var t=2147483647,n=/[^\0-\u007E]/,r=/[.\u3002\uFF0E\uFF61]/g,o="Overflow: input needs wider integers to process",i=Math.floor,a=String.fromCharCode,u=function(e){return e+22+75*(e<26)},l=function(e,t,n){var r=0;for(e=n?i(e/700):e>>1,e+=i(e/t);e>455;r+=36)e=i(e/35);return i(r+36*e/(e+38))},c=function(e){var n=[];e=function(e){for(var t=[],n=0,r=e.length;n=55296&&o<=56319&&n=f&&ci((t-d)/g))throw RangeError(o);for(d+=(m-f)*g,f=m,r=0;rt)throw RangeError(o);if(c==f){for(var y=d,b=36;;b+=36){var w=b<=p?1:b>=p+26?26:b-p;if(y{"use strict";var r=n(8577),o=n(5065);e.exports="".repeat||function(e){var t=String(o(this)),n="",i=r(e);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},207:(e,t,n)=>{var r=n(5065),o="["+n(7669)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(i,"")),2&e&&(n=n.replace(a,"")),n}};e.exports={start:u(1),end:u(2),trim:u(3)}},3102:(e,t,n)=>{var r,o,i,a=n(2756),u=n(8462),l=n(661),c=n(8273),s=n(1198),f=n(3018),d=n(550),p=a.location,h=a.setImmediate,v=a.clearImmediate,m=a.process,g=a.MessageChannel,y=a.Dispatch,b=0,w={},k="onreadystatechange",x=function(e){if(w.hasOwnProperty(e)){var t=w[e];delete w[e],t()}},E=function(e){return function(){x(e)}},S=function(e){x(e.data)},O=function(e){a.postMessage(e+"",p.protocol+"//"+p.host)};h&&v||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return w[++b]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},r(b),b},v=function(e){delete w[e]},"process"==l(m)?r=function(e){m.nextTick(E(e))}:y&&y.now?r=function(e){y.now(E(e))}:g&&!d?(i=(o=new g).port2,o.port1.onmessage=S,r=c(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(O)||"file:"===p.protocol?r=k in f("script")?function(e){s.appendChild(f("script"))[k]=function(){s.removeChild(this),x(e)}}:function(e){setTimeout(E(e),0)}:(r=O,a.addEventListener("message",S,!1))),e.exports={set:h,clear:v}},847:(e,t,n)=>{var r=n(8577),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},3016:(e,t,n)=>{var r=n(8188),o=n(5065);e.exports=function(e){return r(o(e))}},8577:e=>{var t=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:t)(e)}},9223:(e,t,n)=>{var r=n(8577),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},4440:(e,t,n)=>{var r=n(5065);e.exports=function(e){return Object(r(e))}},7806:(e,t,n)=>{var r=n(6827);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},3557:(e,t,n)=>{var r={};r[n(7166)("toStringTag")]="z",e.exports="[object z]"===String(r)},637:e=>{var t=0,n=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+n).toString(36)}},4717:(e,t,n)=>{var r=n(3165);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},766:(e,t,n)=>{var r=n(7166);t.f=r},7166:(e,t,n)=>{var r=n(2756),o=n(3662),i=n(991),a=n(637),u=n(3165),l=n(4717),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},7669:e=>{e.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},5423:(e,t,n)=>{"use strict";var r=n(5689),o=n(8462),i=n(3115),a=n(6827),u=n(4440),l=n(9223),c=n(1861),s=n(5309),f=n(6894),d=n(7166),p=n(5649),h=d("isConcatSpreadable"),v=9007199254740991,m="Maximum allowed index exceeded",g=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),y=f("concat"),b=function(e){if(!a(e))return!1;var t=e[h];return void 0!==t?!!t:i(e)};r({target:"Array",proto:!0,forced:!g||!y},{concat:function(e){var t,n,r,o,i,a=u(this),f=s(a,0),d=0;for(t=-1,r=arguments.length;tv)throw TypeError(m);for(n=0;n=v)throw TypeError(m);c(f,d++,i)}return f.length=d,f}})},6264:(e,t,n)=>{"use strict";var r=n(5689),o=n(5860).every,i=n(8809),a=n(778),u=i("every"),l=a("every");r({target:"Array",proto:!0,forced:!u||!l},{every:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},690:(e,t,n)=>{var r=n(5689),o=n(6650),i=n(990);r({target:"Array",proto:!0},{fill:o}),i("fill")},8837:(e,t,n)=>{"use strict";var r=n(5689),o=n(5860).filter,i=n(6894),a=n(778),u=i("filter"),l=a("filter");r({target:"Array",proto:!0,forced:!u||!l},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},8280:(e,t,n)=>{"use strict";var r=n(5689),o=n(5860).find,i=n(990),a=n(778),u="find",l=!0,c=a(u);u in[]&&Array(1)[u]((function(){l=!1})),r({target:"Array",proto:!0,forced:l||!c},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i(u)},7316:(e,t,n)=>{"use strict";var r=n(5689),o=n(2284),i=n(4440),a=n(9223),u=n(8577),l=n(5309);r({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=i(this),n=a(t.length),r=l(t,0);return r.length=o(r,t,t,n,0,void 0===e?1:u(e)),r}})},2064:(e,t,n)=>{"use strict";var r=n(5689),o=n(9352);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},7406:(e,t,n)=>{"use strict";var r=n(5689),o=n(5254).includes,i=n(990);r({target:"Array",proto:!0,forced:!n(778)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i("includes")},3825:(e,t,n)=>{"use strict";var r=n(5689),o=n(5254).indexOf,i=n(8809),a=n(778),u=[].indexOf,l=!!u&&1/[1].indexOf(1,-0)<0,c=i("indexOf"),s=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:l||!c||!s},{indexOf:function(e){return l?u.apply(this,arguments)||0:o(this,e,arguments.length>1?arguments[1]:void 0)}})},8811:(e,t,n)=>{n(5689)({target:"Array",stat:!0},{isArray:n(3115)})},2493:(e,t,n)=>{"use strict";var r=n(3016),o=n(990),i=n(7240),a=n(3962),u=n(2527),l="Array Iterator",c=a.set,s=a.getterFor(l);e.exports=u(Array,"Array",(function(e,t){c(this,{type:l,target:r(e),index:0,kind:t})}),(function(){var e=s(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},1055:(e,t,n)=>{"use strict";var r=n(5689),o=n(8188),i=n(3016),a=n(8809),u=[].join,l=o!=Object,c=a("join",",");r({target:"Array",proto:!0,forced:l||!c},{join:function(e){return u.call(i(this),void 0===e?",":e)}})},2417:(e,t,n)=>{"use strict";var r=n(5689),o=n(5860).map,i=n(6894),a=n(778),u=i("map"),l=a("map");r({target:"Array",proto:!0,forced:!u||!l},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},8790:(e,t,n)=>{"use strict";var r=n(5689),o=n(9857).left,i=n(8809),a=n(778),u=i("reduce"),l=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!l},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}})},6889:(e,t,n)=>{"use strict";var r=n(5689),o=n(3115),i=[].reverse,a=[1,2];r({target:"Array",proto:!0,forced:String(a)===String(a.reverse())},{reverse:function(){return o(this)&&(this.length=this.length),i.call(this)}})},3034:(e,t,n)=>{"use strict";var r=n(5689),o=n(6827),i=n(3115),a=n(847),u=n(9223),l=n(3016),c=n(1861),s=n(7166),f=n(6894),d=n(778),p=f("slice"),h=d("slice",{ACCESSORS:!0,0:0,1:2}),v=s("species"),m=[].slice,g=Math.max;r({target:"Array",proto:!0,forced:!p||!h},{slice:function(e,t){var n,r,s,f=l(this),d=u(f.length),p=a(e,d),h=a(void 0===t?d:t,d);if(i(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[v])&&(n=void 0):n=void 0,n===Array||void 0===n))return m.call(f,p,h);for(r=new(void 0===n?Array:n)(g(h-p,0)),s=0;p{"use strict";var r=n(5689),o=n(6689),i=n(4440),a=n(8462),u=n(8809),l=[],c=l.sort,s=a((function(){l.sort(void 0)})),f=a((function(){l.sort(null)})),d=u("sort");r({target:"Array",proto:!0,forced:s||!f||!d},{sort:function(e){return void 0===e?c.call(i(this)):c.call(i(this),o(e))}})},4751:(e,t,n)=>{"use strict";var r=n(5689),o=n(847),i=n(8577),a=n(9223),u=n(4440),l=n(5309),c=n(1861),s=n(6894),f=n(778),d=s("splice"),p=f("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,v=Math.min;r({target:"Array",proto:!0,forced:!d||!p},{splice:function(e,t){var n,r,s,f,d,p,m=u(this),g=a(m.length),y=o(e,g),b=arguments.length;if(0===b?n=r=0:1===b?(n=0,r=g-y):(n=b-2,r=v(h(i(t),0),g-y)),g+n-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(s=l(m,r),f=0;fg-r+n;f--)delete m[f-1]}else if(n>r)for(f=g-r;f>y;f--)p=f+n-1,(d=f+r-1)in m?m[p]=m[d]:delete m[p];for(f=0;f{n(990)("flat")},5351:(e,t,n)=>{var r=n(4100),o=n(9565),i=n(7166)("toPrimitive"),a=Date.prototype;i in a||r(a,i,o)},1081:(e,t,n)=>{var r=n(57),o=Date.prototype,i="Invalid Date",a="toString",u=o[a],l=o.getTime;new Date(NaN)+""!=i&&r(o,a,(function(){var e=l.call(this);return e==e?u.call(this):i}))},2825:(e,t,n)=>{n(5689)({target:"Function",proto:!0},{bind:n(8631)})},3145:(e,t,n)=>{var r=n(6953),o=n(7614).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/,l="name";r&&!(l in i)&&o(i,l,{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(e){return""}}})},3190:(e,t,n)=>{n(5689)({global:!0},{globalThis:n(2756)})},4506:(e,t,n)=>{"use strict";var r=n(6939),o=n(8651);e.exports=r("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},8589:(e,t,n)=>{"use strict";var r=n(6953),o=n(2756),i=n(5149),a=n(57),u=n(991),l=n(661),c=n(3042),s=n(7806),f=n(8462),d=n(3981),p=n(4161).f,h=n(172).f,v=n(7614).f,m=n(207).trim,g="Number",y=o[g],b=y.prototype,w=l(d(b))==g,k=function(e){var t,n,r,o,i,a,u,l,c=s(e,!1);if("string"==typeof c&&c.length>2)if(43===(t=(c=m(c)).charCodeAt(0))||45===t){if(88===(n=c.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(c.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+c}for(a=(i=c.slice(2)).length,u=0;uo)return NaN;return parseInt(i,r)}return+c};if(i(g,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var x,E=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof E&&(w?f((function(){b.valueOf.call(n)})):l(n)!=g)?c(new y(k(t)),n,E):k(t)},S=r?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;S.length>O;O++)u(y,x=S[O])&&!u(E,x)&&v(E,x,h(y,x));E.prototype=b,b.constructor=E,a(o,g,E)}},9206:(e,t,n)=>{var r=n(5689),o=n(9484);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},7047:(e,t,n)=>{n(5689)({target:"Object",stat:!0,sham:!n(6953)},{create:n(3981)})},2395:(e,t,n)=>{var r=n(5689),o=n(9584).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},5130:(e,t,n)=>{var r=n(5689),o=n(6357),i=n(1861);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,n){i(t,e,n)}),void 0,!0),t}})},1240:(e,t,n)=>{var r=n(5689),o=n(8462),i=n(4440),a=n(6166),u=n(6036);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(e){return a(i(e))}})},8471:(e,t,n)=>{var r=n(5689),o=n(4440),i=n(4565);r({target:"Object",stat:!0,forced:n(8462)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},4372:(e,t,n)=>{n(5689)({target:"Object",stat:!0},{setPrototypeOf:n(4322)})},570:(e,t,n)=>{var r=n(3557),o=n(57),i=n(4536);r||o(Object.prototype,"toString",i,{unsafe:!0})},3293:(e,t,n)=>{var r=n(5689),o=n(9584).values;r({target:"Object",stat:!0},{values:function(e){return o(e)}})},8428:(e,t,n)=>{var r=n(5689),o=n(5503);r({global:!0,forced:parseFloat!=o},{parseFloat:o})},3931:(e,t,n)=>{var r=n(5689),o=n(4800);r({global:!0,forced:parseInt!=o},{parseInt:o})},3813:(e,t,n)=>{"use strict";var r,o,i,a,u=n(5689),l=n(7690),c=n(2756),s=n(5072),f=n(653),d=n(57),p=n(5783),h=n(5142),v=n(6080),m=n(6827),g=n(6689),y=n(26),b=n(661),w=n(1633),k=n(6357),x=n(5239),E=n(8576),S=n(3102).set,O=n(4050),T=n(9191),C=n(9974),P=n(8920),I=n(1542),j=n(3962),N=n(5149),R=n(7166),D=n(5649),_=R("species"),M="Promise",A=j.get,L=j.set,F=j.getterFor(M),B=f,z=c.TypeError,U=c.document,H=c.process,V=s("fetch"),W=P.f,$=W,q="process"==b(H),K=!!(U&&U.createEvent&&c.dispatchEvent),G="unhandledrejection",X=N(M,(function(){if(!(w(B)!==String(B))){if(66===D)return!0;if(!q&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!B.prototype.finally)return!0;if(D>=51&&/native code/.test(B))return!1;var e=B.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[_]=t,!(e.then((function(){}))instanceof t)})),Y=X||!x((function(e){B.all(e).catch((function(){}))})),Q=function(e){var t;return!(!m(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var r=t.reactions;O((function(){for(var o=t.value,i=1==t.state,a=0;r.length>a;){var u,l,c,s=r[a++],f=i?s.ok:s.fail,d=s.resolve,p=s.reject,h=s.domain;try{f?(i||(2===t.rejection&&ne(e,t),t.rejection=1),!0===f?u=o:(h&&h.enter(),u=f(o),h&&(h.exit(),c=!0)),u===s.promise?p(z("Promise-chain cycle")):(l=Q(u))?l.call(u,d,p):d(u)):p(o)}catch(e){h&&!c&&h.exit(),p(e)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var r,o;K?((r=U.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),c.dispatchEvent(r)):r={promise:t,reason:n},(o=c["on"+e])?o(r):e===G&&C("Unhandled promise rejection",n)},ee=function(e,t){S.call(c,(function(){var n,r=t.value;if(te(t)&&(n=I((function(){q?H.emit("unhandledRejection",r,e):Z(G,e,r)})),t.rejection=q||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){S.call(c,(function(){q?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},re=function(e,t,n,r){return function(o){e(t,n,o,r)}},oe=function(e,t,n,r){t.done||(t.done=!0,r&&(t=r),t.value=n,t.state=2,J(e,t,!0))},ie=function(e,t,n,r){if(!t.done){t.done=!0,r&&(t=r);try{if(e===n)throw z("Promise can't be resolved itself");var o=Q(n);o?O((function(){var r={done:!1};try{o.call(n,re(ie,e,r,t),re(oe,e,r,t))}catch(n){oe(e,r,n,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(n){oe(e,{done:!1},n,t)}}};X&&(B=function(e){y(this,B,M),g(e),r.call(this);var t=A(this);try{e(re(ie,this,t),re(oe,this,t))}catch(e){oe(this,t,e)}},(r=function(e){L(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=p(B.prototype,{then:function(e,t){var n=F(this),r=W(E(this,B));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=q?H.domain:void 0,n.parent=!0,n.reactions.push(r),0!=n.state&&J(this,n,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r,t=A(e);this.promise=e,this.resolve=re(ie,e,t),this.reject=re(oe,e,t)},P.f=W=function(e){return e===B||e===i?new o(e):$(e)},l||"function"!=typeof f||(a=f.prototype.then,d(f.prototype,"then",(function(e,t){var n=this;return new B((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof V&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return T(B,V.apply(c,arguments))}}))),u({global:!0,wrap:!0,forced:X},{Promise:B}),h(B,M,!1,!0),v(M),i=s(M),u({target:M,stat:!0,forced:X},{reject:function(e){var t=W(this);return t.reject.call(void 0,e),t.promise}}),u({target:M,stat:!0,forced:l||X},{resolve:function(e){return T(l&&this===i?B:this,e)}}),u({target:M,stat:!0,forced:Y},{all:function(e){var t=this,n=W(t),r=n.resolve,o=n.reject,i=I((function(){var n=g(t.resolve),i=[],a=0,u=1;k(e,(function(e){var l=a++,c=!1;i.push(void 0),u++,n.call(t,e).then((function(e){c||(c=!0,i[l]=e,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=W(t),r=n.reject,o=I((function(){var o=g(t.resolve);k(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},9834:(e,t,n)=>{var r=n(5689),o=n(5072),i=n(6689),a=n(1326),u=n(6827),l=n(3981),c=n(8631),s=n(8462),f=o("Reflect","construct"),d=s((function(){function e(){}return!(f((function(){}),[],e)instanceof e)})),p=!s((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!d)return f(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(c.apply(e,r))}var o=n.prototype,s=l(u(o)?o:Object.prototype),h=Function.apply.call(e,s,t);return u(h)?h:s}})},5624:(e,t,n)=>{var r=n(5689),o=n(1326),i=n(172).f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},9208:(e,t,n)=>{n(5689)({target:"Reflect",stat:!0},{ownKeys:n(1804)})},7309:(e,t,n)=>{var r=n(6953),o=n(2756),i=n(5149),a=n(3042),u=n(7614).f,l=n(4161).f,c=n(5237),s=n(4768),f=n(4124),d=n(57),p=n(8462),h=n(3962).set,v=n(6080),m=n(7166)("match"),g=o.RegExp,y=g.prototype,b=/a/g,w=/a/g,k=new g(b)!==b,x=f.UNSUPPORTED_Y;if(r&&i("RegExp",!k||x||p((function(){return w[m]=!1,g(b)!=b||g(w)==w||"/a/i"!=g(b,"i")})))){for(var E=function(e,t){var n,r=this instanceof E,o=c(e),i=void 0===t;if(!r&&o&&e.constructor===E&&i)return e;k?o&&!i&&(e=e.source):e instanceof E&&(i&&(t=s.call(e)),e=e.source),x&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=a(k?new g(e,t):g(e,t),r?this:y,E);return x&&n&&h(u,{sticky:n}),u},S=function(e){e in E||u(E,e,{configurable:!0,get:function(){return g[e]},set:function(t){g[e]=t}})},O=l(g),T=0;O.length>T;)S(O[T++]);y.constructor=E,E.prototype=y,d(o,"RegExp",E)}v("RegExp")},3188:(e,t,n)=>{"use strict";var r=n(5689),o=n(5866);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},844:(e,t,n)=>{"use strict";var r=n(57),o=n(1326),i=n(8462),a=n(4768),u="toString",l=RegExp.prototype,c=l[u],s=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),f=c.name!=u;(s||f)&&r(RegExp.prototype,u,(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(void 0===n&&e instanceof RegExp&&!("flags"in l)?a.call(e):n)}),{unsafe:!0})},2352:(e,t,n)=>{"use strict";var r=n(6939),o=n(8651);e.exports=r("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},9696:(e,t,n)=>{"use strict";var r=n(5689),o=n(7179);r({target:"String",proto:!0,forced:n(7354)("anchor")},{anchor:function(e){return o(this,"a","name",e)}})},5448:(e,t,n)=>{"use strict";var r=n(5689),o=n(1960),i=n(5065);r({target:"String",proto:!0,forced:!n(3301)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:void 0)}})},3343:(e,t,n)=>{"use strict";var r=n(520).charAt,o=n(3962),i=n(2527),a="String Iterator",u=o.set,l=o.getterFor(a);i(String,"String",(function(e){u(this,{type:a,string:String(e),index:0})}),(function(){var e,t=l(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},6552:(e,t,n)=>{"use strict";var r=n(6031),o=n(1326),i=n(9223),a=n(5065),u=n(4958),l=n(5805);r("match",1,(function(e,t,n){return[function(t){var n=a(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var a=o(e),c=String(this);if(!a.global)return l(a,c);var s=a.unicode;a.lastIndex=0;for(var f,d=[],p=0;null!==(f=l(a,c));){var h=String(f[0]);d[p]=h,""===h&&(a.lastIndex=u(c,i(a.lastIndex),s)),p++}return 0===p?null:d}]}))},693:(e,t,n)=>{"use strict";var r=n(5689),o=n(5826).start;r({target:"String",proto:!0,forced:n(5722)},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},9297:(e,t,n)=>{"use strict";var r=n(6031),o=n(1326),i=n(4440),a=n(9223),u=n(8577),l=n(5065),c=n(4958),s=n(5805),f=Math.max,d=Math.min,p=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(e,t,n,r){var m=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=r.REPLACE_KEEPS_$0,y=m?"$":"$0";return[function(n,r){var o=l(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):t.call(String(o),n,r)},function(e,r){if(!m&&g||"string"==typeof r&&-1===r.indexOf(y)){var i=n(t,e,this,r);if(i.done)return i.value}var l=o(e),p=String(this),h="function"==typeof r;h||(r=String(r));var v=l.global;if(v){var w=l.unicode;l.lastIndex=0}for(var k=[];;){var x=s(l,p);if(null===x)break;if(k.push(x),!v)break;""===String(x[0])&&(l.lastIndex=c(p,a(l.lastIndex),w))}for(var E,S="",O=0,T=0;T=O&&(S+=p.slice(O,P)+D,O=P+C.length)}return S+p.slice(O)}];function b(e,n,r,o,a,u){var l=r+e.length,c=o.length,s=v;return void 0!==a&&(a=i(a),s=h),t.call(u,s,(function(t,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,r);case"'":return n.slice(l);case"<":u=a[i.slice(1,-1)];break;default:var s=+i;if(0===s)return t;if(s>c){var f=p(s/10);return 0===f?t:f<=c?void 0===o[f-1]?i.charAt(1):o[f-1]+i.charAt(1):t}u=o[s-1]}return void 0===u?"":u}))}}))},2773:(e,t,n)=>{"use strict";var r=n(6031),o=n(5237),i=n(1326),a=n(5065),u=n(8576),l=n(4958),c=n(9223),s=n(5805),f=n(5866),d=n(8462),p=[].push,h=Math.min,v=4294967295,m=!d((function(){return!RegExp(v,"y")}));r("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(a(this)),i=void 0===n?v:n>>>0;if(0===i)return[];if(void 0===e)return[r];if(!o(e))return t.call(r,e,i);for(var u,l,c,s=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,m=new RegExp(e.source,d+"g");(u=f.call(m,r))&&!((l=m.lastIndex)>h&&(s.push(r.slice(h,u.index)),u.length>1&&u.index=i));)m.lastIndex===u.index&&m.lastIndex++;return h===r.length?!c&&m.test("")||s.push(""):s.push(r.slice(h)),s.length>i?s.slice(0,i):s}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var o=a(this),i=null==t?void 0:t[e];return void 0!==i?i.call(t,o,n):r.call(String(o),t,n)},function(e,o){var a=n(r,e,this,o,r!==t);if(a.done)return a.value;var f=i(e),d=String(this),p=u(f,RegExp),g=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(m?"y":"g"),b=new p(m?f:"^(?:"+f.source+")",y),w=void 0===o?v:o>>>0;if(0===w)return[];if(0===d.length)return null===s(b,d)?[d]:[];for(var k=0,x=0,E=[];x{"use strict";var r,o=n(5689),i=n(172).f,a=n(9223),u=n(1960),l=n(5065),c=n(3301),s=n(7690),f="".startsWith,d=Math.min,p=c("startsWith");o({target:"String",proto:!0,forced:!!(s||p||(r=i(String.prototype,"startsWith"),!r||r.writable))&&!p},{startsWith:function(e){var t=String(l(this));u(e);var n=a(d(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return f?f.call(t,r,n):t.slice(n,n+r.length)===r}})},4290:(e,t,n)=>{"use strict";var r=n(5689),o=n(6953),i=n(2756),a=n(991),u=n(6827),l=n(7614).f,c=n(9621),s=i.Symbol;if(o&&"function"==typeof s&&(!("description"in s.prototype)||void 0!==s().description)){var f={},d=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof d?new s(e):void 0===e?s():s(e);return""===e&&(f[t]=!0),t};c(d,s);var p=d.prototype=s.prototype;p.constructor=d;var h=p.toString,v="Symbol(test)"==String(s("test")),m=/^Symbol\((.*)\)[^)]+$/;l(p,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=v?t.slice(7,-1):t.replace(m,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},4162:(e,t,n)=>{"use strict";var r=n(5689),o=n(2756),i=n(5072),a=n(7690),u=n(6953),l=n(3165),c=n(4717),s=n(8462),f=n(991),d=n(3115),p=n(6827),h=n(1326),v=n(4440),m=n(3016),g=n(7806),y=n(9367),b=n(3981),w=n(4565),k=n(4161),x=n(4113),E=n(864),S=n(172),O=n(7614),T=n(6492),C=n(4100),P=n(57),I=n(3662),j=n(5868),N=n(3472),R=n(637),D=n(7166),_=n(766),M=n(4300),A=n(5142),L=n(3962),F=n(5860).forEach,B=j("hidden"),z="Symbol",U="prototype",H=D("toPrimitive"),V=L.set,W=L.getterFor(z),$=Object[U],q=o.Symbol,K=i("JSON","stringify"),G=S.f,X=O.f,Y=x.f,Q=T.f,J=I("symbols"),Z=I("op-symbols"),ee=I("string-to-symbol-registry"),te=I("symbol-to-string-registry"),ne=I("wks"),re=o.QObject,oe=!re||!re[U]||!re[U].findChild,ie=u&&s((function(){return 7!=b(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(e,t,n){var r=G($,t);r&&delete $[t],X(e,t,n),r&&e!==$&&X($,t,r)}:X,ae=function(e,t){var n=J[e]=b(q[U]);return V(n,{type:z,tag:e,description:t}),u||(n.description=t),n},ue=c?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof q},le=function(e,t,n){e===$&&le(Z,t,n),h(e);var r=g(t,!0);return h(n),f(J,r)?(n.enumerable?(f(e,B)&&e[B][r]&&(e[B][r]=!1),n=b(n,{enumerable:y(0,!1)})):(f(e,B)||X(e,B,y(1,{})),e[B][r]=!0),ie(e,r,n)):X(e,r,n)},ce=function(e,t){h(e);var n=m(t),r=w(n).concat(pe(n));return F(r,(function(t){u&&!se.call(n,t)||le(e,t,n[t])})),e},se=function(e){var t=g(e,!0),n=Q.call(this,t);return!(this===$&&f(J,t)&&!f(Z,t))&&(!(n||!f(this,t)||!f(J,t)||f(this,B)&&this[B][t])||n)},fe=function(e,t){var n=m(e),r=g(t,!0);if(n!==$||!f(J,r)||f(Z,r)){var o=G(n,r);return!o||!f(J,r)||f(n,B)&&n[B][r]||(o.enumerable=!0),o}},de=function(e){var t=Y(m(e)),n=[];return F(t,(function(e){f(J,e)||f(N,e)||n.push(e)})),n},pe=function(e){var t=e===$,n=Y(t?Z:m(e)),r=[];return F(n,(function(e){!f(J,e)||t&&!f($,e)||r.push(J[e])})),r};(l||(P((q=function(){if(this instanceof q)throw TypeError("Symbol is not a constructor");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=R(e),n=function(e){this===$&&n.call(Z,e),f(this,B)&&f(this[B],t)&&(this[B][t]=!1),ie(this,t,y(1,e))};return u&&oe&&ie($,t,{configurable:!0,set:n}),ae(t,e)})[U],"toString",(function(){return W(this).tag})),P(q,"withoutSetter",(function(e){return ae(R(e),e)})),T.f=se,O.f=le,S.f=fe,k.f=x.f=de,E.f=pe,_.f=function(e){return ae(D(e),e)},u&&(X(q[U],"description",{configurable:!0,get:function(){return W(this).description}}),a||P($,"propertyIsEnumerable",se,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:q}),F(w(ne),(function(e){M(e)})),r({target:z,stat:!0,forced:!l},{for:function(e){var t=String(e);if(f(ee,t))return ee[t];var n=q(t);return ee[t]=n,te[n]=t,n},keyFor:function(e){if(!ue(e))throw TypeError(e+" is not a symbol");if(f(te,e))return te[e]},useSetter:function(){oe=!0},useSimple:function(){oe=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:function(e,t){return void 0===t?b(e):ce(b(e),t)},defineProperty:le,defineProperties:ce,getOwnPropertyDescriptor:fe}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:de,getOwnPropertySymbols:pe}),r({target:"Object",stat:!0,forced:s((function(){E.f(1)}))},{getOwnPropertySymbols:function(e){return E.f(v(e))}}),K)&&r({target:"JSON",stat:!0,forced:!l||s((function(){var e=q();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var r,o=[e],i=1;arguments.length>i;)o.push(arguments[i++]);if(r=t,(p(t)||void 0!==e)&&!ue(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ue(t))return t}),o[1]=t,K.apply(null,o)}});q[U][H]||C(q[U],H,q[U].valueOf),A(q,z),N[B]=!0},2111:(e,t,n)=>{n(4300)("toPrimitive")},4007:(e,t,n)=>{n(3190)},8808:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(9637);r({target:"Map",proto:!0,real:!0,forced:o},{deleteAll:function(){return i.apply(this,arguments)}})},7250:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(4159),l=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{every:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return!l(n,(function(e,n){if(!r(n,e,t))return l.stop()}),void 0,!0,!0).stopped}})},4395:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8273),c=n(8576),s=n(4159),f=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{filter:function(e){var t=a(this),n=s(t),r=l(e,arguments.length>1?arguments[1]:void 0,3),o=new(c(t,i("Map"))),d=u(o.set);return f(n,(function(e,n){r(n,e,t)&&d.call(o,e,n)}),void 0,!0,!0),o}})},1476:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(4159),l=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{findKey:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(e,n){if(r(n,e,t))return l.stop(e)}),void 0,!0,!0).result}})},6934:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(4159),l=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{find:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(e,n){if(r(n,e,t))return l.stop(n)}),void 0,!0,!0).result}})},3560:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(4159),u=n(5892),l=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{includes:function(e){return l(a(i(this)),(function(t,n){if(u(n,e))return l.stop()}),void 0,!0,!0).stopped}})},9414:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(4159),u=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{keyOf:function(e){return u(a(i(this)),(function(t,n){if(n===e)return u.stop(t)}),void 0,!0,!0).result}})},5152:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8273),c=n(8576),s=n(4159),f=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{mapKeys:function(e){var t=a(this),n=s(t),r=l(e,arguments.length>1?arguments[1]:void 0,3),o=new(c(t,i("Map"))),d=u(o.set);return f(n,(function(e,n){d.call(o,r(n,e,t),n)}),void 0,!0,!0),o}})},2314:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8273),c=n(8576),s=n(4159),f=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{mapValues:function(e){var t=a(this),n=s(t),r=l(e,arguments.length>1?arguments[1]:void 0,3),o=new(c(t,i("Map"))),d=u(o.set);return f(n,(function(e,n){d.call(o,e,r(n,e,t))}),void 0,!0,!0),o}})},8525:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(6689),u=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{merge:function(e){for(var t=i(this),n=a(t.set),r=0;r{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(6689),u=n(4159),l=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{reduce:function(e){var t=i(this),n=u(t),r=arguments.length<2,o=r?void 0:arguments[1];if(a(e),l(n,(function(n,i){r?(r=!1,o=i):o=e(o,i,n,t)}),void 0,!0,!0),r)throw TypeError("Reduce of empty map with no initial value");return o}})},9709:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(4159),l=n(6357);r({target:"Map",proto:!0,real:!0,forced:o},{some:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(e,n){if(r(n,e,t))return l.stop()}),void 0,!0,!0).stopped}})},3992:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(6689);r({target:"Map",proto:!0,real:!0,forced:o},{update:function(e,t){var n=i(this),r=arguments.length;a(t);var o=n.has(e);if(!o&&r<3)throw TypeError("Updating absent value");var u=o?n.get(e):a(r>2?arguments[2]:void 0)(e,n);return n.set(e,t(u,e,n)),n}})},578:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(431);r({target:"Set",proto:!0,real:!0,forced:o},{addAll:function(){return i.apply(this,arguments)}})},50:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(9637);r({target:"Set",proto:!0,real:!0,forced:o},{deleteAll:function(){return i.apply(this,arguments)}})},2344:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8576),c=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{difference:function(e){var t=a(this),n=new(l(t,i("Set")))(t),r=u(n.delete);return c(e,(function(e){r.call(n,e)})),n}})},9616:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(8641),l=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{every:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return!l(n,(function(e){if(!r(e,e,t))return l.stop()}),void 0,!1,!0).stopped}})},6125:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8273),c=n(8576),s=n(8641),f=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{filter:function(e){var t=a(this),n=s(t),r=l(e,arguments.length>1?arguments[1]:void 0,3),o=new(c(t,i("Set"))),d=u(o.add);return f(n,(function(e){r(e,e,t)&&d.call(o,e)}),void 0,!1,!0),o}})},3536:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(8641),l=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{find:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(e){if(r(e,e,t))return l.stop(e)}),void 0,!1,!0).result}})},2886:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8576),c=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{intersection:function(e){var t=a(this),n=new(l(t,i("Set"))),r=u(t.has),o=u(n.add);return c(e,(function(e){r.call(t,e)&&o.call(n,e)})),n}})},3081:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(6689),u=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{isDisjointFrom:function(e){var t=i(this),n=a(t.has);return!u(e,(function(e){if(!0===n.call(t,e))return u.stop()})).stopped}})},278:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(898),c=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{isSubsetOf:function(e){var t=l(this),n=a(e),r=n.has;return"function"!=typeof r&&(n=new(i("Set"))(e),r=u(n.has)),!c(t,(function(e){if(!1===r.call(n,e))return c.stop()}),void 0,!1,!0).stopped}})},7383:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(6689),u=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{isSupersetOf:function(e){var t=i(this),n=a(t.has);return!u(e,(function(e){if(!1===n.call(t,e))return u.stop()})).stopped}})},231:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8641),u=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{join:function(e){var t=i(this),n=a(t),r=void 0===e?",":String(e),o=[];return u(n,o.push,o,!1,!0),o.join(r)}})},6409:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8273),c=n(8576),s=n(8641),f=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{map:function(e){var t=a(this),n=s(t),r=l(e,arguments.length>1?arguments[1]:void 0,3),o=new(c(t,i("Set"))),d=u(o.add);return f(n,(function(e){d.call(o,r(e,e,t))}),void 0,!1,!0),o}})},8113:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(6689),u=n(8641),l=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{reduce:function(e){var t=i(this),n=u(t),r=arguments.length<2,o=r?void 0:arguments[1];if(a(e),l(n,(function(n){r?(r=!1,o=n):o=e(o,n,n,t)}),void 0,!1,!0),r)throw TypeError("Reduce of empty set with no initial value");return o}})},4695:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(1326),a=n(8273),u=n(8641),l=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{some:function(e){var t=i(this),n=u(t),r=a(e,arguments.length>1?arguments[1]:void 0,3);return l(n,(function(e){if(r(e,e,t))return l.stop()}),void 0,!1,!0).stopped}})},378:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8576),c=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{symmetricDifference:function(e){var t=a(this),n=new(l(t,i("Set")))(t),r=u(n.delete),o=u(n.add);return c(e,(function(e){r.call(n,e)||o.call(n,e)})),n}})},2548:(e,t,n)=>{"use strict";var r=n(5689),o=n(7690),i=n(5072),a=n(1326),u=n(6689),l=n(8576),c=n(6357);r({target:"Set",proto:!0,real:!0,forced:o},{union:function(e){var t=a(this),n=new(l(t,i("Set")))(t);return c(e,u(n.add),n),n}})},3449:(e,t,n)=>{"use strict";var r=n(5689),o=n(520).charAt;r({target:"String",proto:!0},{at:function(e){return o(this,e)}})},4439:(e,t,n)=>{var r=n(2756),o=n(8993),i=n(9352),a=n(4100);for(var u in o){var l=r[u],c=l&&l.prototype;if(c&&c.forEach!==i)try{a(c,"forEach",i)}catch(e){c.forEach=i}}},7046:(e,t,n)=>{var r=n(2756),o=n(8993),i=n(2493),a=n(4100),u=n(7166),l=u("iterator"),c=u("toStringTag"),s=i.values;for(var f in o){var d=r[f],p=d&&d.prototype;if(p){if(p[l]!==s)try{a(p,l,s)}catch(e){p[l]=s}if(p[c]||a(p,c,f),o[f])for(var h in i)if(p[h]!==i[h])try{a(p,h,i[h])}catch(e){p[h]=i[h]}}}},1912:(e,t,n)=>{var r=n(5689),o=n(2756),i=n(5441),a=[].slice,u=function(e){return function(t,n){var r=arguments.length>2,o=r?a.call(arguments,2):void 0;return e(r?function(){("function"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};r({global:!0,bind:!0,forced:/MSIE .\./.test(i)},{setTimeout:u(o.setTimeout),setInterval:u(o.setInterval)})},6169:(e,t,n)=>{"use strict";n(2493);var r=n(5689),o=n(5072),i=n(5336),a=n(57),u=n(5783),l=n(5142),c=n(3087),s=n(3962),f=n(26),d=n(991),p=n(8273),h=n(9794),v=n(1326),m=n(6827),g=n(3981),y=n(9367),b=n(898),w=n(3054),k=n(7166),x=o("fetch"),E=o("Headers"),S=k("iterator"),O="URLSearchParams",T=O+"Iterator",C=s.set,P=s.getterFor(O),I=s.getterFor(T),j=/\+/g,N=Array(4),R=function(e){return N[e-1]||(N[e-1]=RegExp("((?:%[\\da-f]{2}){"+e+"})","gi"))},D=function(e){try{return decodeURIComponent(e)}catch(t){return e}},_=function(e){var t=e.replace(j," "),n=4;try{return decodeURIComponent(t)}catch(e){for(;n;)t=t.replace(R(n--),D);return t}},M=/[!'()~]|%20/g,A={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},L=function(e){return A[e]},F=function(e){return encodeURIComponent(e).replace(M,L)},B=function(e,t){if(t)for(var n,r,o=t.split("&"),i=0;i0?arguments[0]:void 0,s=[];if(C(this,{type:O,entries:s,updateURL:function(){},updateSearchParams:z}),void 0!==c)if(m(c))if("function"==typeof(e=w(c)))for(n=(t=e.call(c)).next;!(r=n.call(t)).done;){if((a=(i=(o=b(v(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");s.push({key:a.value+"",value:u.value+""})}else for(l in c)d(c,l)&&s.push({key:l,value:c[l]+""});else B(s,"string"==typeof c?"?"===c.charAt(0)?c.slice(1):c:c+"")},W=V.prototype;u(W,{append:function(e,t){U(arguments.length,2);var n=P(this);n.entries.push({key:e+"",value:t+""}),n.updateURL()},delete:function(e){U(arguments.length,1);for(var t=P(this),n=t.entries,r=e+"",o=0;oe.key){o.splice(t,0,e);break}t===n&&o.push(e)}r.updateURL()},forEach:function(e){for(var t,n=P(this).entries,r=p(e,arguments.length>1?arguments[1]:void 0,3),o=0;o1&&(m(t=arguments[1])&&(n=t.body,h(n)===O&&((r=t.headers?new E(t.headers):new E).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),t=g(t,{body:y(0,String(n)),headers:y(0,r)}))),o.push(t)),x.apply(this,o)}}),e.exports={URLSearchParams:V,getState:P}},473:(e,t,n)=>{"use strict";n(3343);var r,o=n(5689),i=n(6953),a=n(5336),u=n(2756),l=n(6434),c=n(57),s=n(26),f=n(991),d=n(9484),p=n(1871),h=n(520).codeAt,v=n(5298),m=n(5142),g=n(6169),y=n(3962),b=u.URL,w=g.URLSearchParams,k=g.getState,x=y.set,E=y.getterFor("URL"),S=Math.floor,O=Math.pow,T="Invalid scheme",C="Invalid host",P="Invalid port",I=/[A-Za-z]/,j=/[\d+-.A-Za-z]/,N=/\d/,R=/^(0x|0X)/,D=/^[0-7]+$/,_=/^\d+$/,M=/^[\dA-Fa-f]+$/,A=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,L=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,F=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,B=/[\u0009\u000A\u000D]/g,z=function(e,t){var n,r,o;if("["==t.charAt(0)){if("]"!=t.charAt(t.length-1))return C;if(!(n=H(t.slice(1,-1))))return C;e.host=n}else if(Y(e)){if(t=v(t),A.test(t))return C;if(null===(n=U(t)))return C;e.host=n}else{if(L.test(t))return C;for(n="",r=p(t),o=0;o4)return e;for(n=[],r=0;r1&&"0"==o.charAt(0)&&(i=R.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?_:8==i?D:M).test(o))return e;a=parseInt(o,i)}n.push(a)}for(r=0;r=O(256,5-t))return null}else if(a>255)return null;for(u=n.pop(),r=0;r6)return;for(r=0;d();){if(o=null,r>0){if(!("."==d()&&r<4))return;f++}if(!N.test(d()))return;for(;N.test(d());){if(i=parseInt(d(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;f++}l[c]=256*l[c]+o,2!=++r&&4!=r||c++}if(4!=r)return;break}if(":"==d()){if(f++,!d())return}else if(d())return;l[c++]=t}else{if(null!==s)return;f++,s=++c}}if(null!==s)for(a=c-s,c=7;0!=c&&a>0;)u=l[c],l[c--]=l[s+a-1],l[s+--a]=u;else if(8!=c)return;return l},V=function(e){var t,n,r,o;if("number"==typeof e){for(t=[],n=0;n<4;n++)t.unshift(e%256),e=S(e/256);return t.join(".")}if("object"==typeof e){for(t="",r=function(e){for(var t=null,n=1,r=null,o=0,i=0;i<8;i++)0!==e[i]?(o>n&&(t=r,n=o),r=null,o=0):(null===r&&(r=i),++o);return o>n&&(t=r,n=o),t}(e),n=0;n<8;n++)o&&0===e[n]||(o&&(o=!1),r===n?(t+=n?":":"::",o=!0):(t+=e[n].toString(16),n<7&&(t+=":")));return"["+t+"]"}return e},W={},$=d({},W,{" ":1,'"':1,"<":1,">":1,"`":1}),q=d({},$,{"#":1,"?":1,"{":1,"}":1}),K=d({},q,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),G=function(e,t){var n=h(e,0);return n>32&&n<127&&!f(t,e)?e:encodeURIComponent(e)},X={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Y=function(e){return f(X,e.scheme)},Q=function(e){return""!=e.username||""!=e.password},J=function(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme},Z=function(e,t){var n;return 2==e.length&&I.test(e.charAt(0))&&(":"==(n=e.charAt(1))||!t&&"|"==n)},ee=function(e){var t;return e.length>1&&Z(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)},te=function(e){var t=e.path,n=t.length;!n||"file"==e.scheme&&1==n&&Z(t[0],!0)||t.pop()},ne=function(e){return"."===e||"%2e"===e.toLowerCase()},re={},oe={},ie={},ae={},ue={},le={},ce={},se={},fe={},de={},pe={},he={},ve={},me={},ge={},ye={},be={},we={},ke={},xe={},Ee={},Se=function(e,t,n,o){var i,a,u,l,c,s=n||re,d=0,h="",v=!1,m=!1,g=!1;for(n||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace(F,"")),t=t.replace(B,""),i=p(t);d<=i.length;){switch(a=i[d],s){case re:if(!a||!I.test(a)){if(n)return T;s=ie;continue}h+=a.toLowerCase(),s=oe;break;case oe:if(a&&(j.test(a)||"+"==a||"-"==a||"."==a))h+=a.toLowerCase();else{if(":"!=a){if(n)return T;h="",s=ie,d=0;continue}if(n&&(Y(e)!=f(X,h)||"file"==h&&(Q(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=h,n)return void(Y(e)&&X[e.scheme]==e.port&&(e.port=null));h="","file"==e.scheme?s=me:Y(e)&&o&&o.scheme==e.scheme?s=ae:Y(e)?s=se:"/"==i[d+1]?(s=ue,d++):(e.cannotBeABaseURL=!0,e.path.push(""),s=ke)}break;case ie:if(!o||o.cannotBeABaseURL&&"#"!=a)return T;if(o.cannotBeABaseURL&&"#"==a){e.scheme=o.scheme,e.path=o.path.slice(),e.query=o.query,e.fragment="",e.cannotBeABaseURL=!0,s=Ee;break}s="file"==o.scheme?me:le;continue;case ae:if("/"!=a||"/"!=i[d+1]){s=le;continue}s=fe,d++;break;case ue:if("/"==a){s=de;break}s=we;continue;case le:if(e.scheme=o.scheme,a==r)e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query=o.query;else if("/"==a||"\\"==a&&Y(e))s=ce;else if("?"==a)e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query="",s=xe;else{if("#"!=a){e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.path.pop(),s=we;continue}e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,e.path=o.path.slice(),e.query=o.query,e.fragment="",s=Ee}break;case ce:if(!Y(e)||"/"!=a&&"\\"!=a){if("/"!=a){e.username=o.username,e.password=o.password,e.host=o.host,e.port=o.port,s=we;continue}s=de}else s=fe;break;case se:if(s=fe,"/"!=a||"/"!=h.charAt(d+1))continue;d++;break;case fe:if("/"!=a&&"\\"!=a){s=de;continue}break;case de:if("@"==a){v&&(h="%40"+h),v=!0,u=p(h);for(var y=0;y65535)return P;e.port=Y(e)&&k===X[e.scheme]?null:k,h=""}if(n)return;s=be;continue}return P}h+=a;break;case me:if(e.scheme="file","/"==a||"\\"==a)s=ge;else{if(!o||"file"!=o.scheme){s=we;continue}if(a==r)e.host=o.host,e.path=o.path.slice(),e.query=o.query;else if("?"==a)e.host=o.host,e.path=o.path.slice(),e.query="",s=xe;else{if("#"!=a){ee(i.slice(d).join(""))||(e.host=o.host,e.path=o.path.slice(),te(e)),s=we;continue}e.host=o.host,e.path=o.path.slice(),e.query=o.query,e.fragment="",s=Ee}}break;case ge:if("/"==a||"\\"==a){s=ye;break}o&&"file"==o.scheme&&!ee(i.slice(d).join(""))&&(Z(o.path[0],!0)?e.path.push(o.path[0]):e.host=o.host),s=we;continue;case ye:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!n&&Z(h))s=we;else if(""==h){if(e.host="",n)return;s=be}else{if(l=z(e,h))return l;if("localhost"==e.host&&(e.host=""),n)return;h="",s=be}continue}h+=a;break;case be:if(Y(e)){if(s=we,"/"!=a&&"\\"!=a)continue}else if(n||"?"!=a)if(n||"#"!=a){if(a!=r&&(s=we,"/"!=a))continue}else e.fragment="",s=Ee;else e.query="",s=xe;break;case we:if(a==r||"/"==a||"\\"==a&&Y(e)||!n&&("?"==a||"#"==a)){if(".."===(c=(c=h).toLowerCase())||"%2e."===c||".%2e"===c||"%2e%2e"===c?(te(e),"/"==a||"\\"==a&&Y(e)||e.path.push("")):ne(h)?"/"==a||"\\"==a&&Y(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&Z(h)&&(e.host&&(e.host=""),h=h.charAt(0)+":"),e.path.push(h)),h="","file"==e.scheme&&(a==r||"?"==a||"#"==a))for(;e.path.length>1&&""===e.path[0];)e.path.shift();"?"==a?(e.query="",s=xe):"#"==a&&(e.fragment="",s=Ee)}else h+=G(a,q);break;case ke:"?"==a?(e.query="",s=xe):"#"==a?(e.fragment="",s=Ee):a!=r&&(e.path[0]+=G(a,W));break;case xe:n||"#"!=a?a!=r&&("'"==a&&Y(e)?e.query+="%27":e.query+="#"==a?"%23":G(a,W)):(e.fragment="",s=Ee);break;case Ee:a!=r&&(e.fragment+=G(a,$))}d++}},Oe=function(e){var t,n,r=s(this,Oe,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(e),u=x(r,{type:"URL"});if(void 0!==o)if(o instanceof Oe)t=E(o);else if(n=Se(t={},String(o)))throw TypeError(n);if(n=Se(u,a,null,t))throw TypeError(n);var l=u.searchParams=new w,c=k(l);c.updateSearchParams(u.query),c.updateURL=function(){u.query=String(l)||null},i||(r.href=Ce.call(r),r.origin=Pe.call(r),r.protocol=Ie.call(r),r.username=je.call(r),r.password=Ne.call(r),r.host=Re.call(r),r.hostname=De.call(r),r.port=_e.call(r),r.pathname=Me.call(r),r.search=Ae.call(r),r.searchParams=Le.call(r),r.hash=Fe.call(r))},Te=Oe.prototype,Ce=function(){var e=E(this),t=e.scheme,n=e.username,r=e.password,o=e.host,i=e.port,a=e.path,u=e.query,l=e.fragment,c=t+":";return null!==o?(c+="//",Q(e)&&(c+=n+(r?":"+r:"")+"@"),c+=V(o),null!==i&&(c+=":"+i)):"file"==t&&(c+="//"),c+=e.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(c+="?"+u),null!==l&&(c+="#"+l),c},Pe=function(){var e=E(this),t=e.scheme,n=e.port;if("blob"==t)try{return new URL(t.path[0]).origin}catch(e){return"null"}return"file"!=t&&Y(e)?t+"://"+V(e.host)+(null!==n?":"+n:""):"null"},Ie=function(){return E(this).scheme+":"},je=function(){return E(this).username},Ne=function(){return E(this).password},Re=function(){var e=E(this),t=e.host,n=e.port;return null===t?"":null===n?V(t):V(t)+":"+n},De=function(){var e=E(this).host;return null===e?"":V(e)},_e=function(){var e=E(this).port;return null===e?"":String(e)},Me=function(){var e=E(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},Ae=function(){var e=E(this).query;return e?"?"+e:""},Le=function(){return E(this).searchParams},Fe=function(){var e=E(this).fragment;return e?"#"+e:""},Be=function(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}};if(i&&l(Te,{href:Be(Ce,(function(e){var t=E(this),n=String(e),r=Se(t,n);if(r)throw TypeError(r);k(t.searchParams).updateSearchParams(t.query)})),origin:Be(Pe),protocol:Be(Ie,(function(e){var t=E(this);Se(t,String(e)+":",re)})),username:Be(je,(function(e){var t=E(this),n=p(String(e));if(!J(t)){t.username="";for(var r=0;r{"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,r,i,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var u=new o(r,i||e,a),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],u]:e._events[l].push(u):(e._events[l]=u,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function u(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),u.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},u.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,a=new Array(i);o{"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,o,i;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(o=r;0!=o--;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(o=r;0!=o--;)if(!Object.prototype.hasOwnProperty.call(n,i[o]))return!1;for(o=r;0!=o--;){var a=i[o];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n}},1664:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,o){for(var i,a,u=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l-1&&r<=c)for(;++n3?"WebKit":/\bOpera\b/.test(B)&&(/\bOPR\b/.test(t)?"Blink":"Presto"))||/\b(?:Midori|Nook|Safari)\b/i.test(t)&&!/^(?:Trident|EdgeHTML)$/.test(F)&&"WebKit"||!F&&/\bMSIE\b/i.test(t)&&("Mac OS"==H?"Tasman":"Trident")||"WebKit"==F&&/\bPlayStation\b(?! Vita\b)/i.test(B)&&"NetFront")&&(F=[u]),"IE"==B&&(u=(/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(t)||0)[1])?(B+=" Mobile",H="Windows Phone "+(/\+$/.test(u)?u:u+".x"),_.unshift("desktop mode")):/\bWPDesktop\b/i.test(t)?(B="IE Mobile",H="Windows Phone 8.x",_.unshift("desktop mode"),L||(L=(/\brv:([\d.]+)/.exec(t)||0)[1])):"IE"!=B&&"Trident"==F&&(u=/\brv:([\d.]+)/.exec(t))&&(B&&_.push("identifying as "+B+(L?" "+L:"")),B="IE",L=u[1]),A){if(f="global",d=null!=(c=n)?typeof c[f]:"number",/^(?:boolean|number|string|undefined)$/.test(d)||"object"==d&&!c[f])g(u=n.runtime)==x?(B="Adobe AIR",H=u.flash.system.Capabilities.os):g(u=n.phantom)==O?(B="PhantomJS",L=(u=u.version||null)&&u.major+"."+u.minor+"."+u.patch):"number"==typeof j.documentMode&&(u=/\bTrident\/(\d+)/i.exec(t))?(L=[L,j.documentMode],(u=+u[1]+4)!=L[1]&&(_.push("IE "+L[1]+" mode"),F&&(F[1]=""),L[1]=u),L="IE"==B?String(L[1].toFixed(1)):L[0]):"number"==typeof j.documentMode&&/^(?:Chrome|Firefox)\b/.test(B)&&(_.push("masking as "+B+" "+L),B="IE",L="11.0",F=["Trident"],H="Windows");else if(T&&(D=(u=T.lang.System).getProperty("os.arch"),H=H||u.getProperty("os.name")+" "+u.getProperty("os.version")),C){try{L=n.require("ringo/engine").version.join("."),B="RingoJS"}catch(e){(u=n.system)&&u.global.system==n.system&&(B="Narwhal",H||(H=u[0].os||null))}B||(B="Rhino")}else"object"==typeof n.process&&!n.process.browser&&(u=n.process)&&("object"==typeof u.versions&&("string"==typeof u.versions.electron?(_.push("Node "+u.versions.node),B="Electron",L=u.versions.electron):"string"==typeof u.versions.nw&&(_.push("Chromium "+L,"Node "+u.versions.node),B="NW.js",L=u.versions.nw)),B||(B="Node.js",D=u.arch,H=u.platform,L=(L=/[\d.]+/.exec(u.version))?L[0]:null));H=H&&v(H)}if(L&&(u=/(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(L)||/(?:alpha|beta)(?: ?\d)?/i.exec(t+";"+(A&&o.appMinorVersion))||/\bMinefield\b/i.test(t)&&"a")&&(M=/b/i.test(u)?"beta":"alpha",L=L.replace(RegExp(u+"\\+?$"),"")+("beta"==M?I:P)+(/\d+\+?/.exec(u)||"")),"Fennec"==B||"Firefox"==B&&/\b(?:Android|Firefox OS|KaiOS)\b/.test(H))B="Firefox Mobile";else if("Maxthon"==B&&L)L=L.replace(/\.[\d.]+/,".x");else if(/\bXbox\b/i.test(z))"Xbox 360"==z&&(H=null),"Xbox 360"==z&&/\bIEMobile\b/.test(t)&&_.unshift("mobile mode");else if(!/^(?:Chrome|IE|Opera)$/.test(B)&&(!B||z||/Browser|Mobi/.test(B))||"Windows CE"!=H&&!/Mobi/i.test(t))if("IE"==B&&A)try{null===n.external&&_.unshift("platform preview")}catch(e){_.unshift("embedded")}else(/\bBlackBerry\b/.test(z)||/\bBB10\b/.test(t))&&(u=(RegExp(z.replace(/ +/g," *")+"/([.\\d]+)","i").exec(t)||0)[1]||L)?(H=((u=[u,/BB10/.test(t)])[1]?(z=null,U="BlackBerry"):"Device Software")+" "+u[0],L=null):this!=m&&"Wii"!=z&&(A&&N||/Opera/.test(B)&&/\b(?:MSIE|Firefox)\b/i.test(t)||"Firefox"==B&&/\bOS X (?:\d+\.){2,}/.test(H)||"IE"==B&&(H&&!/^Win/.test(H)&&L>5.5||/\bWindows XP\b/.test(H)&&L>8||8==L&&!/\bTrident\b/.test(t)))&&!s.test(u=e.call(m,t.replace(s,"")+";"))&&u.name&&(u="ing as "+u.name+((u=u.version)?" "+u:""),s.test(B)?(/\bIE\b/.test(u)&&"Mac OS"==H&&(H=null),u="identify"+u):(u="mask"+u,B=R?v(R.replace(/([a-z])([A-Z])/g,"$1 $2")):"Opera",/\bIE\b/.test(u)&&(H=null),A||(L=null)),F=["Presto"],_.push(u));else B+=" Mobile";(u=(/\bAppleWebKit\/([\d.]+\+?)/i.exec(t)||0)[1])&&(u=[parseFloat(u.replace(/\.(\d)$/,".0$1")),u],"Safari"==B&&"+"==u[1].slice(-1)?(B="WebKit Nightly",M="alpha",L=u[1].slice(0,-1)):L!=u[1]&&L!=(u[2]=(/\bSafari\/([\d.]+\+?)/i.exec(t)||0)[1])||(L=null),u[1]=(/\b(?:Headless)?Chrome\/([\d.]+)/i.exec(t)||0)[1],537.36==u[0]&&537.36==u[2]&&parseFloat(u[1])>=28&&"WebKit"==F&&(F=["Blink"]),A&&(h||u[1])?(F&&(F[1]="like Chrome"),u=u[1]||((u=u[0])<530?1:u<532?2:u<532.05?3:u<533?4:u<534.03?5:u<534.07?6:u<534.1?7:u<534.13?8:u<534.16?9:u<534.24?10:u<534.3?11:u<535.01?12:u<535.02?"13+":u<535.07?15:u<535.11?16:u<535.19?17:u<536.05?18:u<536.1?19:u<537.01?20:u<537.11?"21+":u<537.13?23:u<537.18?24:u<537.24?25:u<537.36?26:"Blink"!=F?"27":"28")):(F&&(F[1]="like Safari"),u=(u=u[0])<400?1:u<500?2:u<526?3:u<533?4:u<534?"4+":u<535?5:u<537?6:u<538?7:u<601?8:u<602?9:u<604?10:u<606?11:u<608?12:"12"),F&&(F[1]+=" "+(u+="number"==typeof u?".x":/[.+]/.test(u)?"":"+")),"Safari"==B&&(!L||parseInt(L)>45)?L=u:"Chrome"==B&&/\bHeadlessChrome/i.test(t)&&_.unshift("headless")),"Opera"==B&&(u=/\bzbov|zvav$/.exec(H))?(B+=" ",_.unshift("desktop mode"),"zvav"==u?(B+="Mini",L=null):B+="Mobile",H=H.replace(RegExp(" *"+u+"$"),"")):"Safari"==B&&/\bChrome\b/.exec(F&&F[1])?(_.unshift("desktop mode"),B="Chrome Mobile",L=null,/\bOS X\b/.test(H)?(U="Apple",H="iOS 4.3+"):H=null):/\bSRWare Iron\b/.test(B)&&!L&&(L=W("Chrome")),L&&0==L.indexOf(u=/[\d.]+$/.exec(H))&&t.indexOf("/"+u+"-")>-1&&(H=w(H.replace(u,""))),H&&-1!=H.indexOf(B)&&!RegExp(B+" OS").test(H)&&(H=H.replace(RegExp(" *"+y(B)+" *"),"")),F&&!/\b(?:Avant|Nook)\b/.test(B)&&(/Browser|Lunascape|Maxthon/.test(B)||"Safari"!=B&&/^iOS/.test(H)&&/\bSafari\b/.test(F[1])||/^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(B)&&F[1])&&(u=F[F.length-1])&&_.push(u),_.length&&(_=["("+_.join("; ")+")"]),U&&z&&z.indexOf(U)<0&&_.push("on "+U),z&&_.push((/^on /.test(_[_.length-1])?"":"on ")+z),H&&(u=/ ([\d.+]+)$/.exec(H),l=u&&"/"==H.charAt(H.length-u[0].length-1),H={architecture:32,family:u&&!l?H.replace(u[0],""):H,version:u?u[1]:null,toString:function(){var e=this.version;return this.family+(e&&!l?" "+e:"")+(64==this.architecture?" 64-bit":"")}}),(u=/\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(D))&&!/\bi686\b/i.test(D)?(H&&(H.architecture=64,H.family=H.family.replace(RegExp(" *"+u),"")),B&&(/\bWOW64\b/i.test(t)||A&&/\w(?:86|32)$/.test(o.cpuClass||o.platform)&&!/\bWin64; x64\b/i.test(t))&&_.unshift("32-bit")):H&&/^OS X/.test(H.family)&&"Chrome"==B&&parseFloat(L)>=39&&(H.architecture=64),t||(t=null);var $={};return $.description=t,$.layout=F&&F[0],$.manufacturer=U,$.name=B,$.prerelease=M,$.product=z,$.ua=t,$.version=B&&L,$.os=H||{architecture:null,family:null,version:null,toString:function(){return"null"}},$.parse=e,$.toString=function(){return this.description||""},$.version&&_.unshift(L),$.name&&_.unshift(B),H&&B&&(H!=String(H).split(" ")[0]||H!=B.split(" ")[0]&&!z)&&_.push(z?"("+H+")":"on "+H),_.length&&($.description=_.join(" ")),$}();i.platform=k,void 0===(r=function(){return k}.call(t,n,t,e))||(e.exports=r)}.call(this)},362:(e,t,n)=>{"use strict";var r=n(6441);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},2688:(e,t,n)=>{e.exports=n(362)()},6441:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4931:(e,t,n)=>{"use strict";var r=n(1664),o=n(3696);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;nC;C++)T[C]=C+1;T[15]=0;var P=/^[: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]*$/,I=Object.prototype.hasOwnProperty,j={},N={};function R(e){return!!I.call(N,e)||!I.call(j,e)&&(P.test(e)?N[e]=!0:(j[e]=!0,!1))}function D(e,t,n,r,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i}var _={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){_[e]=new D(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];_[t]=new D(t,1,!1,e[1],null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){_[e]=new D(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){_[e]=new D(e,2,!1,e,null,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){_[e]=new D(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){_[e]=new D(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){_[e]=new D(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){_[e]=new D(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){_[e]=new D(e,5,!1,e.toLowerCase(),null,!1)}));var M=/[\-:]([a-z])/g;function A(e){return e[1].toUpperCase()}"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(e){var t=e.replace(M,A);_[t]=new D(t,1,!1,e,null,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(M,A);_[t]=new D(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(M,A);_[t]=new D(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){_[e]=new D(e,1,!1,e.toLowerCase(),null,!1)})),_.xlinkHref=new D("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){_[e]=new D(e,1,!1,e.toLowerCase(),null,!0)}));var L=/["'&<>]/;function F(e){if("boolean"==typeof e||"number"==typeof e)return""+e;e=""+e;var t=L.exec(e);if(t){var n,r="",o=0;for(n=t.index;nt}return!1}(e,t,r,!1)?"":null!==r?(e=r.attributeName,3===(n=r.type)||4===n&&!0===t?e+'=""':(r.sanitizeURL&&(t=""+t),e+'="'+F(t)+'"')):R(e)?e+'="'+F(t)+'"':""}var z="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},U=null,H=null,V=null,W=!1,$=!1,q=null,K=0;function G(){if(null===U)throw Error(i(321));return U}function X(){if(0K))throw Error(i(301));if(e===U)if($=!0,e={action:n,next:null},null===q&&(q=new Map),void 0===(n=q.get(t)))q.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}}function te(){}var ne=0,re={readContext:function(e){var t=ne;return O(e,t),e[t]},useContext:function(e){G();var t=ne;return O(e,t),e[t]},useMemo:function(e,t){if(U=G(),t=void 0===t?null:t,null!==(V=Y())){var n=V.memoizedState;if(null!==n&&null!==t){e:{var r=n[1];if(null===r)r=!1;else{for(var o=0;o=a))throw Error(i(304));var u=new Uint16Array(a);for(u.set(r),(T=u)[0]=n+1,r=n;r=u.children.length){var l=u.footer;if(""!==l&&(this.previousWasTextNode=!1),this.stack.pop(),"select"===u.type)this.currentSelectValue=null;else if(null!=u.type&&null!=u.type.type&&u.type.type.$$typeof===f)this.popProvider(u.type);else if(u.type===v){this.suspenseDepth--;var c=r.pop();if(o){o=!1;var s=u.fallbackFrame;if(!s)throw Error(i(303));this.stack.push(s),r[this.suspenseDepth]+="\x3c!--$!--\x3e";continue}r[this.suspenseDepth]+=c}r[this.suspenseDepth]+=l}else{var d=u.children[u.childIndex++],p="";try{p+=this.render(d,u.context,u.domNamespace)}catch(e){if(null!=e&&"function"==typeof e.then)throw Error(i(294));throw e}r.length<=this.suspenseDepth&&r.push(""),r[this.suspenseDepth]+=p}}return r[0]}finally{pe.current=n,ne=t}},t.render=function(e,t,n){if("string"==typeof e||"number"==typeof e)return""===(n=""+e)?"":this.makeStaticMarkup?F(n):this.previousWasTextNode?"\x3c!-- --\x3e"+F(n):(this.previousWasTextNode=!0,F(n));if(e=(t=ke(e,t,this.threadID)).child,t=t.context,null===e||!1===e)return"";if(!o.isValidElement(e)){if(null!=e&&null!=e.$$typeof){if((n=e.$$typeof)===u)throw Error(i(257));throw Error(i(258,n.toString()))}return e=de(e),this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:""}),""}var a=e.type;if("string"==typeof a)return this.renderDOM(e,t,n);switch(a){case c:case p:case s:case m:case l:return e=de(e.props.children),this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:""}),"";case v:throw Error(i(294))}if("object"==typeof a&&null!==a)switch(a.$$typeof){case h:U={};var b=a.render(e.props,e.ref);return b=Q(a.render,e.props,b,e.ref),b=de(b),this.stack.push({type:null,domNamespace:n,children:b,childIndex:0,context:t,footer:""}),"";case g:return e=[o.createElement(a.type,r({ref:e.ref},e.props))],this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:""}),"";case f:return n={type:e,domNamespace:n,children:a=de(e.props.children),childIndex:0,context:t,footer:""},this.pushProvider(e),this.stack.push(n),"";case d:a=e.type,b=e.props;var x=this.threadID;return O(a,x),a=de(b.children(a[x])),this.stack.push({type:e,domNamespace:n,children:a,childIndex:0,context:t,footer:""}),"";case w:throw Error(i(338));case y:switch(function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(a=e.type),a._status){case 1:return e=[o.createElement(a._result,r({ref:e.ref},e.props))],this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:""}),"";case 2:throw a._result;default:throw Error(i(295))}case k:throw Error(i(343))}throw Error(i(130,null==a?a:typeof a,""))},t.renderDOM=function(e,t,n){var a=e.type.toLowerCase();if(n===oe&&ie(a),!me.hasOwnProperty(a)){if(!ve.test(a))throw Error(i(65,a));me[a]=!0}var u=e.props;if("input"===a)u=r({type:void 0},u,{defaultChecked:void 0,defaultValue:void 0,value:null!=u.value?u.value:u.defaultValue,checked:null!=u.checked?u.checked:u.defaultChecked});else if("textarea"===a){var l=u.value;if(null==l){l=u.defaultValue;var c=u.children;if(null!=c){if(null!=l)throw Error(i(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(i(93));c=c[0]}l=""+c}null==l&&(l="")}u=r({},u,{value:void 0,children:""+l})}else if("select"===a)this.currentSelectValue=null!=u.value?u.value:u.defaultValue,u=r({},u,{value:void 0});else if("option"===a){c=this.currentSelectValue;var s=function(e){if(null==e)return e;var t="";return o.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(u.children);if(null!=c){var f=null!=u.value?u.value+"":s;if(l=!1,Array.isArray(c)){for(var d=0;d":(w+=">",l="");e:{if(null!=(c=u.dangerouslySetInnerHTML)){if(null!=c.__html){c=c.__html;break e}}else if("string"==typeof(c=u.children)||"number"==typeof c){c=F(c);break e}c=null}return null!=c?(u=[],he.hasOwnProperty(a)&&"\n"===c.charAt(0)&&(w+="\n"),w+=c):u=de(u.children),e=e.type,n=null==n||"http://www.w3.org/1999/xhtml"===n?ie(e):"http://www.w3.org/2000/svg"===n&&"foreignObject"===e?"http://www.w3.org/1999/xhtml":n,this.stack.push({domNamespace:n,type:a,children:u,childIndex:0,context:t,footer:l}),this.previousWasTextNode=!1,w},e}(),Ee={renderToString:function(e){e=new xe(e,!1);try{return e.read(1/0)}finally{e.destroy()}},renderToStaticMarkup:function(e){e=new xe(e,!0);try{return e.read(1/0)}finally{e.destroy()}},renderToNodeStream:function(){throw Error(i(207))},renderToStaticNodeStream:function(){throw Error(i(208))},version:"16.14.0"};e.exports=Ee.default||Ee},6067:(e,t,n)=>{"use strict";var r=n(3696),o=n(1664),i=n(1434);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n
, or turn it into a ")+"drag source or a drop target itself.")}}(o);var i=n?function(t){return e(t,n)}:e;return function(e,t){var n=e.ref;return Hi("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),n?(0,se.cloneElement)(e,{ref:function(e){la(n,e),la(t,e)}}):(0,se.cloneElement)(e,{ref:t})}(o,i)}}function ua(e){var t={};return Object.keys(e).forEach((function(n){var r=e[n];if(n.endsWith("Ref"))t[n]=e[n];else{var o=aa(r);t[n]=function(){return o}}})),t}function la(e,t){"function"==typeof e?e(t):e.current=t}function ca(e){return ca="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},ca(e)}function sa(e){return null!==e&&"object"===ca(e)&&Object.prototype.hasOwnProperty.call(e,"current")}function fa(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},{key:"leave",value:function(e){var t,n,r=this.entered.length;return this.entered=(t=this.entered.filter(this.isNodeInDocument),n=e,t.filter((function(e){return e!==n}))),r>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}],n&&Va(t.prototype,n),r&&Va(t,r),e}(),qa=Ha((function(){return/firefox/i.test(navigator.userAgent)})),Ka=Ha((function(){return Boolean(window.safari)}));function Ga(e,t){for(var n=0;ne))return n[u];c=u-1}}var f=e-t[a=Math.max(0,c)],d=f*f;return n[a]+r[a]*f+o[a]*d+i[a]*f*d}}],n&&Ga(t.prototype,n),r&&Ga(t,r),e}();function Qa(e){var t=1===e.nodeType?e:e.parentElement;if(!t)return null;var n=t.getBoundingClientRect(),r=n.top;return{x:n.left,y:r}}function Ja(e){return{x:e.clientX,y:e.clientY}}function Za(e,t,n,r,o){var i,a,u="IMG"===(i=t).nodeName&&(qa()||!(null!==(a=document.documentElement)&&void 0!==a&&a.contains(i))),l=Qa(u?e:t),c={x:n.x-l.x,y:n.y-l.y},s=e.offsetWidth,f=e.offsetHeight,d=r.anchorX,p=r.anchorY,h=function(e,t,n,r){var o=e?t.width:n,i=e?t.height:r;return Ka()&&e&&(i/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:i}}(u,t,s,f),v=h.dragPreviewWidth,m=h.dragPreviewHeight,g=o.offsetX,y=o.offsetY,b=0===y||y;return{x:0===g||g?g:new Ya([0,.5,1],[c.x,c.x/s*v,c.x+v-s]).interpolate(d),y:b?y:function(){var e=new Ya([0,.5,1],[c.y,c.y/f*m,c.y+m-f]).interpolate(p);return Ka()&&u&&(e+=(window.devicePixelRatio-1)*m),e}()}}var eu,tu="__NATIVE_FILE__",nu="__NATIVE_URL__",ru="__NATIVE_TEXT__",ou="__NATIVE_HTML__";function iu(e,t,n){var r=t.reduce((function(t,n){return t||e.getData(n)}),"");return null!=r?r:n}function au(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uu=(au(eu={},tu,{exposeProperties:{files:function(e){return Array.prototype.slice.call(e.files)},items:function(e){return e.items}},matchesTypes:["Files"]}),au(eu,ou,{exposeProperties:{html:function(e,t){return iu(e,t,"")}},matchesTypes:["Html","text/html"]}),au(eu,nu,{exposeProperties:{urls:function(e,t){return iu(e,t,"").split("\n")}},matchesTypes:["Url","text/uri-list"]}),au(eu,ru,{exposeProperties:{text:function(e,t){return iu(e,t,"")}},matchesTypes:["Text","text/plain"]}),eu);function lu(e,t){for(var n=0;n-1}))}))[0]||null}function du(e,t){for(var n=0;n0&&o.actions.hover(t,{clientOffset:Ja(e)}),t.some((function(e){return o.monitor.canDropOnTarget(e)}))&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=o.getCurrentDropEffect())))})),yu(this,"handleTopDragOverCapture",(function(){o.dragOverTargetIds=[]})),yu(this,"handleTopDragOver",(function(e){var t=o.dragOverTargetIds;if(o.dragOverTargetIds=[],!o.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer&&(e.dataTransfer.dropEffect="none"));o.altKeyPressed=e.altKey,o.actions.hover(t||[],{clientOffset:Ja(e)}),(t||[]).some((function(e){return o.monitor.canDropOnTarget(e)}))?(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=o.getCurrentDropEffect())):o.isDraggingNativeItem()?e.preventDefault():(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none"))})),yu(this,"handleTopDragLeaveCapture",(function(e){o.isDraggingNativeItem()&&e.preventDefault(),o.enterLeaveCounter.leave(e.target)&&o.isDraggingNativeItem()&&setTimeout((function(){return o.endDragNativeItem()}),0)})),yu(this,"handleTopDropCapture",(function(e){var t;(o.dropTargetIds=[],o.isDraggingNativeItem())?(e.preventDefault(),null===(t=o.currentNativeSource)||void 0===t||t.loadDataTransfer(e.dataTransfer)):fu(e.dataTransfer)&&e.preventDefault();o.enterLeaveCounter.reset()})),yu(this,"handleTopDrop",(function(e){var t=o.dropTargetIds;o.dropTargetIds=[],o.actions.hover(t,{clientOffset:Ja(e)}),o.actions.drop({dropEffect:o.getCurrentDropEffect()}),o.isDraggingNativeItem()?o.endDragNativeItem():o.monitor.isDragging()&&o.actions.endDrag()})),yu(this,"handleSelectStart",(function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))})),this.options=new hu(n,r),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.enterLeaveCounter=new $a(this.isNodeInDocument)}var t,n,o;return t=e,(n=[{key:"profile",value:function(){var e,t;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:(null===(e=this.dragStartSourceIds)||void 0===e?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:(null===(t=this.dragOverTargetIds)||void 0===t?void 0:t.length)||0}}},{key:"window",get:function(){return this.options.window}},{key:"document",get:function(){return this.options.document}},{key:"rootElement",get:function(){return this.options.rootElement}},{key:"setup",value:function(){var e=this.rootElement;if(void 0!==e){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}},{key:"teardown",value:function(){var e,t=this.rootElement;void 0!==t&&(t.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&(null===(e=this.window)||void 0===e||e.cancelAnimationFrame(this.asyncEndDragFrameId)))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDragSource",value:function(e,t,n){var r=this;this.sourceNodes.set(e,t),this.sourceNodeOptions.set(e,n);var o=function(t){return r.handleDragStart(t,e)},i=function(e){return r.handleSelectStart(e)};return t.setAttribute("draggable","true"),t.addEventListener("dragstart",o),t.addEventListener("selectstart",i),function(){r.sourceNodes.delete(e),r.sourceNodeOptions.delete(e),t.removeEventListener("dragstart",o),t.removeEventListener("selectstart",i),t.setAttribute("draggable","false")}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=function(t){return n.handleDragEnter(t,e)},o=function(t){return n.handleDragOver(t,e)},i=function(t){return n.handleDrop(t,e)};return t.addEventListener("dragenter",r),t.addEventListener("dragover",o),t.addEventListener("drop",i),function(){t.removeEventListener("dragenter",r),t.removeEventListener("dragover",o),t.removeEventListener("drop",i)}}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions.get(e);return mu({dropEffect:this.altKeyPressed?"copy":"move"},t||{})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId();return mu({anchorX:.5,anchorY:.5,captureDraggingState:!1},this.sourcePreviewNodeOptions.get(e)||{})}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(r).some((function(t){return r[t]===e}))}},{key:"beginDragNativeItem",value:function(e,t){this.clearCurrentDragSourceNode(),this.currentNativeSource=function(e,t){var n=new su(uu[e]);return n.loadDataTransfer(t),n}(e,t),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.mouseMoveTimeoutTimer=setTimeout((function(){var e;return null===(e=t.rootElement)||void 0===e?void 0:e.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)}),1e3)}},{key:"clearCurrentDragSourceNode",value:function(){var e;return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.rootElement&&(null===(e=this.window)||void 0===e||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)),this.mouseMoveTimeoutTimer=null,!0)}},{key:"handleDragStart",value:function(e,t){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(t))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleDragOver",value:function(e,t){null===this.dragOverTargetIds&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(t)}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}}])&&gu(t.prototype,n),o&&gu(t,o),e}(),ku=function(e,t,n){return new wu(e,t,n)};!function(e){e.mouse="mouse",e.touch="touch",e.keyboard="keyboard"}(bu||(bu={}));var xu=1,Eu=0;function Su(e){return void 0===e.button||e.button===Eu}function Ou(e){return!!e.targetTouches}function Tu(e,t){return Ou(e)?function(e,t){return 1===e.targetTouches.length?Tu(e.targetTouches[0]):t&&1===e.touches.length&&e.touches[0].target===t.target?Tu(e.touches[0]):void 0}(e,t):{x:e.clientX,y:e.clientY}}var Cu=function(){var e=!1;try{addEventListener("test",(function(){}),Object.defineProperty({},"passive",{get:function(){return e=!0,!0}}))}catch(e){}return e}();function Pu(e,t){for(var n=0;n=o[a].start)&&(null==o[a].end||i<=o[a].end))return!0;return!1}(o._mouseClientOffset.x||0,o._mouseClientOffset.y||0,c.x,c.y,o.options.scrollAngleRanges))o._isScrolling=!0;else if(!o.monitor.isDragging()&&o._mouseClientOffset.hasOwnProperty("x")&&a&&(t=o._mouseClientOffset.x||0,n=o._mouseClientOffset.y||0,r=c.x,i=c.y,Math.sqrt(Math.pow(Math.abs(r-t),2)+Math.pow(Math.abs(i-n),2))>(o.options.touchSlop?o.options.touchSlop:0))&&(o.moveStartSourceIds=void 0,o.actions.beginDrag(a,{clientOffset:o._mouseClientOffset,getSourceClientOffset:o.getSourceClientOffset,publishSource:!1})),o.monitor.isDragging()){var s=o.sourceNodes.get(o.monitor.getSourceId());o.installSourceNodeRemovalObserver(s),o.actions.publishDragSource(),e.cancelable&&e.preventDefault();var f=(u||[]).map((function(e){return o.targetNodes.get(e)})).filter((function(e){return!!e})),d=o.options.getDropTargetElementsAtPoint?o.options.getDropTargetElementsAtPoint(c.x,c.y,f):o.document.elementsFromPoint(c.x,c.y),p=[];for(var h in d)if(d.hasOwnProperty(h)){var v=d[h];for(p.push(v);v;)(v=v.parentElement)&&-1===p.indexOf(v)&&p.push(v)}var m=p.filter((function(e){return f.indexOf(e)>-1})).map((function(e){return o._getDropTargetId(e)})).filter((function(e){return!!e})).filter((function(e,t,n){return n.indexOf(e)===t}));if(l)for(var g in o.targetNodes){var y=o.targetNodes.get(g);if(s&&y&&y.contains(s)&&-1===m.indexOf(g)){m.unshift(g);break}}m.reverse(),o.actions.hover(m,{clientOffset:c})}}})),Du(this,"_getDropTargetId",(function(e){for(var t=o.targetNodes.keys(),n=t.next();!1===n.done;){var r=n.value;if(e===o.targetNodes.get(r))return r;n=t.next()}})),Du(this,"handleTopMoveEndCapture",(function(e){o._isScrolling=!1,o.lastTargetTouchFallback=void 0,function(e){return void 0===e.buttons||!(e.buttons&xu)}(e)&&(o.monitor.isDragging()&&!o.monitor.didDrop()?(e.cancelable&&e.preventDefault(),o._mouseClientOffset={},o.uninstallSourceNodeRemovalObserver(),o.actions.drop(),o.actions.endDrag()):o.moveStartSourceIds=void 0)})),Du(this,"handleCancelOnEscape",(function(e){"Escape"===e.key&&o.monitor.isDragging()&&(o._mouseClientOffset={},o.uninstallSourceNodeRemovalObserver(),o.actions.endDrag())})),this.options=new Nu(r,n),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(bu.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(bu.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(bu.keyboard)}var t,n,r;return t=e,(n=[{key:"profile",value:function(){var e;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:(null===(e=this.dragOverTargetIds)||void 0===e?void 0:e.length)||0}}},{key:"document",get:function(){return this.options.document}},{key:"setup",value:function(){var t=this.options.rootElement;t&&(Hi(!e.isSetUp,"Cannot have two Touch backends at the same time."),e.isSetUp=!0,this.addEventListener(t,"start",this.getTopMoveStartHandler()),this.addEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(t,"move",this.handleTopMove),this.addEventListener(t,"move",this.handleTopMoveCapture,!0),this.addEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(t,"keydown",this.handleCancelOnEscape,!0))}},{key:"teardown",value:function(){var t=this.options.rootElement;t&&(e.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(t,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(t,"start",this.handleTopMoveStart),this.removeEventListener(t,"move",this.handleTopMoveCapture,!0),this.removeEventListener(t,"move",this.handleTopMove),this.removeEventListener(t,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(t,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(t,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}},{key:"addEventListener",value:function(e,t,n,r){var o=Cu?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var i=_u[r][t];i&&e.addEventListener(i,n,o)}))}},{key:"removeEventListener",value:function(e,t,n,r){var o=Cu?{capture:r,passive:!1}:r;this.listenerTypes.forEach((function(r){var i=_u[r][t];i&&e.removeEventListener(i,n,o)}))}},{key:"connectDragSource",value:function(e,t){var n=this,r=this.handleMoveStart.bind(this,e);return this.sourceNodes.set(e,t),this.addEventListener(t,"start",r),function(){n.sourceNodes.delete(e),n.removeEventListener(t,"start",r)}}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,t),function(){r.sourcePreviewNodes.delete(e),r.sourcePreviewNodeOptions.delete(e)}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=this.options.rootElement;if(!this.document||!r)return function(){};var o=function(o){if(n.document&&r&&n.monitor.isDragging()){var i;switch(o.type){case _u.mouse.move:i={x:o.clientX,y:o.clientY};break;case _u.touch.move:i={x:o.touches[0].clientX,y:o.touches[0].clientY}}var a=null!=i?n.document.elementFromPoint(i.x,i.y):void 0,u=a&&t.contains(a);return a===t||u?n.handleMove(o,e):void 0}};return this.addEventListener(this.document.body,"move",o),this.targetNodes.set(e,t),function(){n.document&&(n.targetNodes.delete(e),n.removeEventListener(n.document.body,"move",o))}}},{key:"getTopMoveStartHandler",value:function(){return this.options.delayTouchStart||this.options.delayMouseStart?this.handleTopMoveStartDelay:this.handleTopMoveStart}},{key:"installSourceNodeRemovalObserver",value:function(e){var t=this;this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=e,this.draggedSourceNodeRemovalObserver=new MutationObserver((function(){e&&!e.parentElement&&(t.resurrectSourceNode(),t.uninstallSourceNodeRemovalObserver())})),e&&e.parentElement&&this.draggedSourceNodeRemovalObserver.observe(e.parentElement,{childList:!0})}},{key:"resurrectSourceNode",value:function(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}},{key:"uninstallSourceNodeRemovalObserver",value:function(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}}])&&Ru(t.prototype,n),r&&Ru(t,r),e}();Du(Mu,"isSetUp",void 0);var Au=we()?function(e){return new Mu(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{})}:ku,Lu=Au===ku;n(690);const Fu="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3cstyle%3e.st0%7bfill:%23666%7d%3c/style%3e%3cpath class='st0' d='M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z'/%3e%3c/svg%3e";const Bu=function(e){var t=e.icon,n=e.label,r=e.isActive,o=e.onClick;return n=n||"",se.createElement("button",{type:"button",title:n,"aria-label":n,className:"mt-be-block-toolbar-button ".concat(r?"active":""),onClick:o},se.createElement("img",{src:t}))};var zu="mt-be-block-config-panel";const Uu=function(e){var t=zu;return e.className&&(t+=" ".concat(e.className)),se.createElement(Un,{timeout:100,in:e.in,unmountOnExit:!0,classNames:zu},se.createElement("div",{id:e.id||"",className:t},e.children))};function Hu(e,t,n,r,o,i,a){try{var u=e[i](a),l=u.value}catch(e){return void n(e)}u.done?t(l):Promise.resolve(l).then(r,o)}function Vu(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){Hu(i,r,o,a,u,"next",e)}function u(e){Hu(i,r,o,a,u,"throw",e)}a(void 0)}))}}function Wu(){return Wu="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Qu(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},Wu.apply(null,arguments)}function $u(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0;l--)i.removeBlock(t,t.blocks[t.blocks.length-1]);i.editManager.endGrouping(),c(!1)}}),[]),d=t.getColumnLayout();return se.createElement(se.Fragment,null,se.createElement(br,{block:t,keys:["className"]}),se.createElement("div",{className:"mt-be-columns",style:{display:"flex"}},t.blocks.map((function(e){return e.editor({focus:n,focusBlock:r,canRemove:o})}))),a.length>1&&n&&o&&se.createElement(cr,null,se.createElement(Bu,{icon:Fu,label:ue("Edit"),onClick:s})),se.createElement(Uu,{in:n&&l},se.createElement("ul",{style:{display:"flex",listStyle:"none"}},a.map((function(e){var t=e.toString();return se.createElement("li",{key:t},se.createElement("label",{onClick:f},se.createElement("input",{type:"radio",value:t,defaultChecked:d===t}),ue("{{columns}} columns",{columns:t})))})))))},ol=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ku(e,t)}(i,e);var t,n,r,o=Gu(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Ju(Xu(t=o.call(this)),"blocks",void 0),t.blocks=[t.newColumn(),t.newColumn()],e&&Object.assign(Xu(t),e),t}return qu(i,null,[{key:"label",get:function(){return ue("Columns")}}]),qu(i,[{key:"newColumn",value:function(){return new Gl({showShortcuts:!1})}},{key:"getColumnLayout",value:function(){return"".concat(this.blocks.length)}},{key:"childBlocks",value:function(){return this.blocks}},{key:"editor",value:function(e){var t=e.focus,n=e.focusBlock,r=e.canRemove;return se.createElement(rl,{key:this.id,block:this,focus:t,focusBlock:n,canRemove:r})}},{key:"html",value:function(){return'
').concat(this.blocks.map((function(e){return e.htmlString()})).join(""),"
")}},{key:"serialize",value:(r=Vu(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.editor.serializeMeta(this,t.external),e.next=3,Promise.all(this.blocks.map((function(e){return e.serialize(t)})));case 3:return r=e.sent,e.abrupt("return",'\x3c!-- mt-beb t="'.concat(this.constructor.typeId,'"').concat(n?" m='".concat(Wt(n),"'"):"",' --\x3e
').concat(r.join(""),"
\x3c!-- /mt-beb --\x3e"));case 5:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})}],[{key:"new",value:(n=Vu(regeneratorRuntime.mark((function e(t){var n,r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Wu(Qu(i),"new",this).call(this,t);case 2:return n=e.sent,r=nl(t.editor),o=r.defaultColumns,n.blocks=Array(o).fill(null).map((function(){return n.newColumn()})),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"newFromHtml",value:(t=Vu(regeneratorRuntime.mark((function e(t){var n,r,o,a,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.node,r=t.factory,o=t.meta,a=t.context,e.next=3,rc(n.innerHTML,r,a,nc);case 3:return(u=e.sent).forEach((function(e){return e.showShortcuts=!1})),e.abrupt("return",new i(Object.assign({blocks:u},o)));case 6:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),i}(mn);Ju(ol,"typeId","core-columns"),Ju(ol,"selectable",!0),Ju(ol,"icon",Fu);const il=ol;const al=(0,se.memo)((function(){var e=yn(),t=e.editor,n=e.getFocusedIds,r=wn().removeBlock;return se.createElement("button",{type:"button",className:"mt-be-btn-remove",onClick:function(e){e.stopPropagation();var o=ac(t,n());t.editManager.beginGrouping(),o.forEach((function(e){return r(e)})),t.editManager.endGrouping()}})}));function ul(){return ul=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);nr&&a>i)){if(nr;c--)p(c,c-1);e.index=r}}}}}}),[p,u]),[p,u]),2)[1];(0,se.useEffect)((function(){return function(){n.isNewlyAdded=!1}}),[]);var C=cl(Ua((0,se.useMemo)((function(){return{type:s?s.id:"block",item:{type:s?s.id:"block",id:t,index:u},collect:function(e){return{isDragging:e.isDragging()}}}}),[u]),[u]),3),P=C[0].isDragging,I=C[1],j=C[2],N={};N.opacity=P?Lu?0:.5:1,j(T(O));var R=0!==ac(y,g).length,D=(0,se.createRef)(),_=y.editor({focus:r,focusBlock:i,focusDescendant:R,canRemove:!0===l,parentBlock:s,clickBlockTargetRef:D}),M={block:y,index:b,rendered:!1},A=!!(r||i||R||y instanceof Gl||y instanceof il),L=(0,se.useMemo)((function(){return[function(e){if(!Xt(e.nativeEvent)){e.stopPropagation(),e.nativeEvent.stopImmediatePropagation();var t=v();t.includes(y.id)||(e.preventDefault(),D.current?D.current.click():a||(0!==t.length&&e.shiftKey?m(lc(h,[].concat(ll(t),[y.id])).map((function(e){return e.id}))):m([y.id])))}},function(e){var t=v();h.commandManager.execute({command:"core-copyBlock",blockIds:0===t.length?[y.id]:t,editorContext:d,blocksContext:f,event:e.nativeEvent})},function(e){var t=v();h.commandManager.execute({command:"core-pasteBlock",blockIds:0===t.length?[y.id]:t,editorContext:d,blocksContext:f,event:e.nativeEvent})},function(){var e=v();if(e.length>=2){h.editManager.beginGrouping();for(var t=u,n=u+e.length;t=2){h.editManager.beginGrouping();for(var t=u+e.length-1;t>=u;t--)p(t+1,t);h.editManager.endGrouping()}else p(u,u+1,!0)}]}),[u]),F=cl(L,5),B=F[0],z=F[1],U=F[2],H=F[3],V=F[4];return(0,se.useEffect)((function(){if(w)return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)};function e(e){var t=e.key;if(e.ctrlKey||e.metaKey||e.altKey||e.shiftKey||"Delete"===t||"Backspace"===t){var n=v();0!==n.length&&(h.editorElement.querySelector('[data-mt-block-editor-keep-focus="1"]')||(n.length>=2&&("Delete"===t||"Backspace"===t)?(e.preventDefault(),h.commandManager.execute({command:"core-deleteBlock",blockIds:n,editorContext:d,blocksContext:f,event:e})):h.commandManager.dispatchKeydownEvent({event:e,blockIds:n,editorContext:d,blocksContext:f})))}}}),[w]),se.createElement("div",{key:y.id,"data-mt-block-editor-block-id":y.id,"data-mt-block-editor-skip-focus-default":o||void 0,onClick:B,onCopy:z,onPaste:U,className:"mt-be-block-wrapper ".concat(w?"mt-be-focus-leader":""," ").concat(g.length>=2&&g.includes(y.id)?"mt-be-focus":""),style:N,ref:O},c&&!Ee()&&se.createElement(se.Fragment,null,se.createElement("div",{className:"mt-be-btn-move-wrapper"},se.createElement(Yn,{in:x,block:y}),se.createElement("button",{type:"button",className:"mt-be-btn-up",onClick:H}),se.createElement("span",{className:"mt-be-btn-move",onClick:S,ref:I}),se.createElement("button",{type:"button",className:"mt-be-btn-down",onClick:V})),se.createElement("div",{className:"mt-be-btn-add-wrapper"},se.createElement("div",{style:{position:"relative"}},se.createElement(ir,{index:b}))),se.createElement("div",{className:"mt-be-btn-remove-wrapper"},se.createElement(al,null))),se.createElement("div",{className:"mt-be-block"},!r&&!(y instanceof il)&&se.createElement("div",{className:"mt-be-content-label"},y.contentLabel()),A&&se.createElement(kn.Provider,{value:M},_,r&&c&&Ee()&&se.createElement(dl,null)),se.createElement(se.Fragment,null,se.createElement(Ui.div,null,se.createElement("div",ul({className:h.opts.rootClassName||"",style:{overflow:"auto"}},h.opts.rootAttributes),se.createElement(pl,{editor:h}),!A&&_)))))};n(8428);function vl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ml(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=1&&rn(t[0],e))return t.length>=2?[t[0]]:t;if(t.length>=2){var r=bl(t,2),o=r[0],i=r[1];if(e.width===o.width&&o.width===i.width&&"number"==typeof e.height&&"number"==typeof o.height&&"number"==typeof i.height&&e.height-o.height==o.height-i.height||e.height===o.height&&o.height===i.height&&"number"==typeof e.width&&"number"==typeof o.width&&"number"==typeof i.width&&e.width-o.width==o.width-i.width)return n.iframePreviewSize&&rn(n.iframePreviewSize,t[1])?t:(n.setIframePreviewSize(t[1]),yl(t))}return n.setIframePreviewSize(e),0===t.length?[e]:[e,t[0]]}))}),[]),k=n.getIframePreviewSize(g),x=(0,se.useCallback)((function(e,t,r){if(!a||!1!==a(t))if(t)i&&i(t);else{r.preserveBlockData||(e=e.replace(//g,""));var o=n.compiledHtml;n.compiledHtml=e,n.removeIntermediateProduct=!!r.removeIntermediateProduct,r.addEditHistory&&d.editManager.add({block:n,data:{last:o,cur:e},handlers:xl}),d.emit("setCompiledHtmlIframePreview",{editor:d,block:n}),i&&i(null),y((function(e){return"number"==typeof e?e+1:1}))}}),[]);"string"!=typeof r&&null===m&&(o="",r.then(y));var E={editor:d,scheme:c,sandbox:f,html:g,head:'\n \n \n \n \n ${editor.stylesheets\n .map((s) => {\n if (s.type === StylesheetType.css) {\n return ``;\n } else {\n return ``;\n }\n })\n .join(\"\")}\n ${header || \"\"}\n `,\n };\n editor.emit(\"beforeRenderIframePreview\", beforeRenderIframePreviewOpt);\n const htmlText = beforeRenderIframePreviewOpt.html;\n const head = beforeRenderIframePreviewOpt.head;\n\n const [src, setSrc] = useState(\"\");\n useEffect(() => {\n if (!header && !htmlText) {\n if (src !== \"\") {\n setSrc(\"\");\n }\n return;\n }\n\n const rootAttributesObj = editor.opts.rootAttributes as Record<\n string,\n string\n >;\n const rootAttributes = Object.keys(rootAttributesObj)\n .map((k) => {\n const map: Record = { \"&\": \"&\", '\"': \""\" };\n const v = rootAttributesObj[k].replace(/[&\"]/g, (m) => map[m]);\n return `${k}=\"${v}\"`;\n })\n .join(\" \");\n\n let srcdoc = `\n \n ${head}${htmlText}`;\n\n if (beforeRenderIframePreviewOpt.scheme === \"blob\") {\n setSrc(URL.createObjectURL(new Blob([srcdoc], { type: \"text/html\" })));\n } else if (beforeRenderIframePreviewOpt.scheme === \"srcdoc\") {\n setSrc(srcdoc);\n } else {\n // data or data-wrap\n if (beforeRenderIframePreviewOpt.scheme === \"data-wrap\") {\n const iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"frameborder\", \"0\");\n iframe.setAttribute(\"allowfullscreen\", \"true\");\n iframe.srcdoc = srcdoc;\n srcdoc = `\n \n \n \n \n \n \n \n \n ${iframe.outerHTML}\n \n \n `;\n }\n\n const blob = new Blob([srcdoc], { type: \"text/html\" });\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onload = () => {\n setSrc(reader.result?.toString() || \"\");\n };\n }\n }, [block.compiledHtml, header, htmlText]);\n\n useEffect(() => {\n const onMessage = (ev: MessageEvent): void => {\n const containerEl = containerElRef.current;\n\n if (\n !(\n containerEl &&\n ev.source ===\n (containerEl.firstChild as HTMLIFrameElement).contentWindow &&\n ev.data &&\n ev.data.blockId === block.id\n )\n ) {\n return;\n }\n\n switch (ev.data.method) {\n case \"MTBlockEditorInitSize\":\n if (!isDefaultSize(size)) {\n break;\n }\n\n setSize({ ...size, ...ev.data.arguments });\n break;\n case \"MTBlockEditorSetSize\":\n (Object.keys(size) as Array).forEach((k) => {\n const oldValue =\n typeof size[k] === \"number\"\n ? (size[k] as number)\n : parseFloat(size[k] as string);\n const newValue =\n typeof ev.data.arguments[k] === \"number\"\n ? (ev.data.arguments[k] as number)\n : parseFloat(ev.data.arguments[k] as string);\n if (\n oldValue &&\n newValue &&\n oldValue > newValue &&\n Math.abs(oldValue - newValue) < SHRINK_THRESHOLD\n ) {\n ev.data.arguments[k] = size[k];\n }\n });\n\n if (\n size.width !== ev.data.arguments.width ||\n size.height !== ev.data.arguments.height\n ) {\n setSize(ev.data.arguments);\n }\n break;\n case \"MTBlockEditorOnClick\":\n (\n containerEl.closest(\"[data-mt-block-editor-block-id]\") ||\n (containerEl.getRootNode() as ShadowRoot)?.host\n )?.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n ...ev.data.arguments,\n })\n );\n break;\n case \"MTBlockEditorOnKeydown\":\n window.dispatchEvent(new KeyboardEvent(\"keydown\", ev.data.arguments));\n break;\n case \"MTBlockEditorSetCompiledHtml\":\n setCompiledHtml(\n ev.data.html,\n ev.data.html == null ? new Error(ev.data.error || \"Error\") : null,\n ev.data.arguments as SetCompiledHtmlOptions\n );\n break;\n }\n };\n\n window.addEventListener(\"message\", onMessage, {\n capture: true,\n passive: true,\n });\n return () => {\n window.removeEventListener(\"message\", onMessage, {\n capture: true,\n });\n };\n }, [size]);\n\n return (\n
\n \n
\n );\n};\n\nexport default BlockIframePreview;\n","import { t } from \"../i18n\";\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n CSSProperties,\n} from \"react\";\nimport { render, unmountComponentAtNode } from \"react-dom\";\nimport {\n EditorContext,\n useEditorContext,\n BlocksContext,\n BlocksContextProps,\n} from \"../Context\";\nimport Block, {\n NewFromHtmlOptions,\n EditorOptions,\n SerializeOptions,\n CompileOptions,\n HasBlocks,\n} from \"../Block\";\nimport AddButton from \"../Component/AddButton\";\nimport BlockItem from \"../Component/BlockItem\";\nimport BlockIframePreview from \"../Component/BlockIframePreview\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport {\n parseContent,\n NO_BLOCK_TYPE_FALLBACK,\n preParseContent,\n escapeSingleQuoteAttribute,\n ParserContext,\n} from \"../util\";\n\ninterface EditorProps extends EditorOptions {\n block: Column;\n}\n\nconst COMPILE_TIMEOUT = 2000;\nconst SERIALIZATION_PARALLELISM = 4;\n\nconst STYLE_HIDDEN: CSSProperties = {\n position: \"absolute\",\n overflow: \"hidden\",\n height: \"0px\",\n border: \"none\",\n};\n\nconst Editor: React.FC = ({\n block,\n focus,\n focusBlock,\n focusDescendant,\n canRemove,\n}: EditorProps) => {\n if (\n (block.constructor as typeof Block).typeId !== \"core-column\" ||\n canRemove === undefined\n ) {\n canRemove = block.canRemoveBlock;\n }\n\n const { editor, setFocusedIds } = useEditorContext();\n\n const blocksContext = useMemo(\n () => ({\n panelBlockTypes: block.panelBlockTypes,\n shortcutBlockTypes: block.shortcutBlockTypes,\n addBlock: (b: Block, index: number | Block) => {\n if (index instanceof Block) {\n index = block.blocks.indexOf(index) + 1;\n }\n editor.addBlock(block, b, index);\n setFocusedIds([b.id]);\n },\n mergeBlock: (b: Block) => {\n const index = block.blocks.indexOf(b);\n if (editor.mergeBlock(block, b)) {\n setFocusedIds([block.blocks[index - 1].id]);\n }\n },\n removeBlock: (b: Block) => {\n const index = block.blocks.indexOf(b);\n editor.removeBlock(block, b);\n if (index > 0) {\n setFocusedIds([block.blocks[index - 1].id]);\n }\n },\n swapBlocks: (dragIndex: number, hoverIndex: number, scroll?: boolean) => {\n if (\n dragIndex === undefined ||\n hoverIndex === undefined ||\n !block.blocks[dragIndex] ||\n !block.blocks[hoverIndex]\n ) {\n return;\n }\n\n if (scroll) {\n const destEl = block.blocks[dragIndex].wrapperRef.current;\n if (!destEl) {\n return;\n }\n\n const rect = destEl.getBoundingClientRect();\n const scrollTop =\n window.pageYOffset || document.documentElement.scrollTop;\n const offsetTop = rect.height + 22;\n\n window.scrollTo({\n top: scrollTop + (dragIndex > hoverIndex ? -offsetTop : offsetTop),\n behavior: \"smooth\",\n });\n }\n\n editor.swapBlocks(block, dragIndex, hoverIndex);\n },\n }),\n []\n );\n\n const resetCompiledHtml = useCallback(() => {\n block.resetCompiledHtml();\n }, []);\n useEffect(() => {\n editor.on(\"change\", resetCompiledHtml);\n\n if (block._html !== \"\") {\n parseContent(\n preParseContent(block._html),\n editor.factory,\n new ParserContext()\n ).then((blocks) => {\n block._html = \"\";\n block.blocks = blocks;\n if (blocks[0]) {\n setFocusedIds([blocks[0].id]);\n }\n });\n }\n\n return () => {\n editor.off(\"change\", resetCompiledHtml);\n };\n }, []);\n\n useEffect(() => {\n if (focusDescendant) {\n resetCompiledHtml();\n return;\n }\n\n if (\n (block.constructor as typeof Block).shouldBeCompiled &&\n block.compiledHtml === undefined &&\n !focus &&\n !focusDescendant\n ) {\n block.compile({ editor });\n }\n }, [focus, focusDescendant]);\n\n const res = (\n \n \n {block.blocks.map((b, i) => {\n const focusFirstBlock = canRemove !== true && block.blocks.length === 1;\n const focusItem = (focus && focusFirstBlock) || undefined;\n return (\n \n );\n })}\n {canRemove && (\n
\n \n
\n )}\n
\n );\n\n if ((block.constructor as typeof Column).typeId === \"core-column\") {\n return (\n
\n {res}\n
\n );\n } else {\n return res;\n }\n};\n\nclass Column extends Block implements HasBlocks {\n public static typeId = \"core-column\";\n public static className = \"mt-be-column\";\n public static rootBlock: string | null = \"div\";\n public static selectable = false;\n public static showPreview = true;\n public static get label(): string {\n return t(\"Column\");\n }\n\n public _html = \"\";\n public previewHeader = \"\";\n public showShortcuts = true;\n public blocks: Block[] = [];\n public cancelOngoingCompilationHandlers: (() => void)[] = [];\n\n public canRemoveBlock = true;\n public panelBlockTypes: string[] | null = null;\n public shortcutBlockTypes: string[] | null = null;\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public childBlocks(): Block[] {\n return this.blocks;\n }\n\n public get rootBlock(): string | null {\n return (this.constructor as typeof Column).rootBlock;\n }\n\n public get showPreview(): boolean {\n return (this.constructor as typeof Column).showPreview;\n }\n\n public resetCompiledHtml(): void {\n this.compiledHtml = undefined;\n this.removeIntermediateProduct = false;\n\n this.cancelOngoingCompilationHandlers.map((h) => {\n h();\n });\n this.cancelOngoingCompilationHandlers = [];\n }\n\n public editor({\n focus,\n focusBlock,\n focusDescendant,\n canRemove,\n }: EditorOptions): JSX.Element {\n if (\n this.showPreview &&\n (this.constructor as typeof Column).typeId !== \"core-column\" &&\n ((this._html === \"\" &&\n this.blocks.length === 0 &&\n this.effectiveAddableBlockTypes().length === 0) ||\n (!focus && !focusDescendant && !focusBlock))\n ) {\n return (\n \n );\n }\n\n return (\n \n \n \n );\n }\n\n public isBlank(): boolean {\n return this.blocks.length === 0;\n }\n\n private async serializeChildBlocks(\n opts: SerializeOptions\n ): Promise {\n const serializeChildOpts: Readonly = {\n ...opts,\n removeChildIntermediateProduct:\n opts.removeChildIntermediateProduct || this.removeIntermediateProduct,\n };\n if (this.blocks.length <= SERIALIZATION_PARALLELISM) {\n return Promise.all(\n this.blocks.map((c) => c.serialize(serializeChildOpts))\n );\n }\n\n const res: string[] = [];\n const indexes = Object.keys(this.blocks).map((i) => Number(i));\n await Promise.all(\n [...Array(SERIALIZATION_PARALLELISM)].map(async () => {\n for (let i = indexes.shift(); i !== undefined; i = indexes.shift()) {\n res[i] = await this.blocks[i].serialize(serializeChildOpts);\n }\n })\n );\n return res;\n }\n\n public async serializedString(opts: SerializeOptions): Promise {\n const classNames = [\n (this.constructor as typeof Column).className,\n this.className,\n ].filter((c) => c);\n const serializedBlocks = await this.serializeChildBlocks(opts);\n\n return [\n this.rootBlock\n ? `<${this.rootBlock}${\n classNames.length\n ? ` class='${escapeSingleQuoteAttribute(classNames.join(\" \"))}'`\n : \"\"\n }>`\n : \"\",\n serializedBlocks.join(\"\"),\n this.rootBlock ? `` : \"\",\n ].join(\"\");\n }\n\n public async compile({ editor }: CompileOptions): Promise {\n let canceled = false;\n this.cancelOngoingCompilationHandlers.push(() => {\n canceled = true;\n });\n const onBeforeSetCompiledHtml = (): boolean => !canceled;\n\n const sourceHtml = await this.serializedString({ editor, external: false });\n return new Promise((resolve, reject) => {\n let timeoutId: ReturnType | null = null;\n\n const div = document.createElement(\"div\");\n Object.assign(div.style, STYLE_HIDDEN);\n document.body.appendChild(div);\n\n const onSetCompiledHtml = (error: Error | null): void => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n\n unmountComponentAtNode(div);\n div.remove();\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n };\n\n const editorContext = {\n editor,\n setFocusedIds: () => undefined,\n getFocusedIds: () => [],\n };\n\n render(\n \n \n ,\n div\n );\n\n const opts = editor.opts.block[\"core-column\"] || {};\n timeoutId = setTimeout(async () => {\n if (!canceled) {\n this.compiledHtml ||= sourceHtml;\n }\n onSetCompiledHtml(null);\n }, opts[\"compile-timeout\"] || COMPILE_TIMEOUT);\n });\n }\n\n public async serialize(opts: SerializeOptions): Promise {\n if (\n (this.constructor as typeof Block).shouldBeCompiled ||\n this.compiledHtml !== undefined\n ) {\n return super.serialize(opts);\n }\n\n const m = opts.editor.serializeMeta(this, opts.external);\n const typeId = (this.constructor as typeof Column).typeId;\n return [\n ``,\n await this.serializedString(opts),\n ``,\n ].join(\"\");\n }\n\n public static async newFromHtml({\n node,\n factory,\n meta,\n context,\n }: NewFromHtmlOptions): Promise {\n const html = node.hasAttribute(\"h\")\n ? preParseContent(node.getAttribute(\"h\") || \"\")\n : node.innerHTML;\n const blocks = await parseContent(\n html,\n factory,\n context,\n NO_BLOCK_TYPE_FALLBACK\n );\n const compiledHtml =\n (node.hasAttribute(\"h\") ? node.textContent : undefined) ?? undefined;\n\n return new this(\n Object.assign(\n { blocks, compiledHtml, _html: \"\" },\n meta as Partial\n )\n );\n }\n\n private effectiveAddableBlockTypes(): string[] {\n if (!this.canRemoveBlock) {\n return [];\n }\n return (this.panelBlockTypes || []).concat(this.shortcutBlockTypes || []);\n }\n}\n\nexport default Column;\n","import Editor from \"../Editor\";\nimport Block from \"../Block\";\nimport BlockFactory from \"../BlockFactory\";\nimport Text from \"../Block/Text\";\nimport Column from \"../Block/Column\";\nimport ParserContext from \"./ParserContext\";\n\nexport const preParseContent = (() => {\n const entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n } as { [key: string]: string };\n const entityReverseMap = Object.fromEntries(\n Object.entries(entityMap).map(([k, v]) => [v, k])\n );\n const entityRegExp = new RegExp(`[${Object.keys(entityMap).join(\"\")}]`, \"g\");\n const entityReverseRegExp = new RegExp(\n `(?:${Object.keys(entityReverseMap).join(\"|\")})`,\n \"g\"\n );\n\n return (value: string): string => {\n return value\n .replace(entityRegExp, (match) => entityMap[match])\n .replace(/<!--\\s+(\\/?mt-beb.*?)-->/g, (all, tag: string) => {\n return `<${tag.replace(\n entityReverseRegExp,\n (match) => entityReverseMap[match]\n )}>`;\n });\n };\n})();\n\nexport function removeControlCharacters(str: string): string {\n return str.replace(\n // eslint-disable-next-line no-control-regex,no-misleading-character-class\n /&#(?:0*?(?:[0-8]|1[124-9]|2\\d|3[01])?|x0*?(?:[0-8bcefBCEF]|1[0-9a-fA-F])?);|[^\\x09\\x0A\\x0D\\x20-\\xFF\\x85\\xA0-\\uD7FF\\uE000-\\uFDCF\\uFDE0-\\uFFFD\\uD800-\\uDBFF\\uDC00-\\uDFFF]/gm,\n \"\"\n );\n}\n\nexport const NO_BLOCK_TYPE_FALLBACK = \"\";\n\nexport async function parseContent(\n value: string,\n factory: BlockFactory,\n context: ParserContext,\n fallbackBlockType: string | typeof NO_BLOCK_TYPE_FALLBACK = \"core-html\"\n): Promise {\n if (!value) {\n return [];\n }\n\n const domparser = new DOMParser();\n const doc = domparser.parseFromString(\n `${removeControlCharacters(value)}`,\n \"application/xml\"\n );\n\n if (!doc.children[0]) {\n return [];\n }\n\n let children = [...doc.children[0].children];\n if (children.length === 0) {\n if (fallbackBlockType !== NO_BLOCK_TYPE_FALLBACK) {\n const fallback = document.createElement(\"div\");\n fallback.setAttribute(\"t\", fallbackBlockType);\n fallback.innerHTML = value;\n children = [fallback];\n } else {\n return [];\n }\n }\n\n // TODO: verify\n const blocks = [];\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n const typeId = node.getAttribute(\"t\") || \"core-text\";\n\n const metaRawValue = node.getAttribute(\"m\") || \"{}\";\n const metaArray = (metaRawValue.match(/\\w+|,|.+/g) || [])\n .filter((str) => str !== \",\")\n .map((str) =>\n /^[^{]/.test(str) ? context.get(str) || {} : JSON.parse(str)\n );\n const meta =\n metaArray.length === 1\n ? metaArray[0]\n : Object.assign.apply(null, [{}, ...metaArray]);\n\n if (typeId === \"core-context\") {\n for (const k in meta) {\n context.set(k, meta[k]);\n }\n continue;\n }\n\n let html = node.getAttribute(\"h\") || \"\";\n if (!html && node.textContent) {\n let c = node.textContent;\n if (meta.className) {\n c = c.replace(\n /^(<[^>]+)( class=\")([^\"]+)\"/,\n (m, tag, prefix, classNames) => {\n const filtered = classNames\n .split(/\\s+/)\n .filter((c: string) => c !== meta.className)\n .join(\" \");\n\n if (filtered) {\n return `${tag}${prefix}${filtered}\"`;\n } else {\n return tag;\n }\n }\n );\n }\n html = c;\n }\n\n const param = {\n html,\n node,\n factory,\n meta,\n context,\n };\n\n const t =\n factory.types().find((t: typeof Block) => t.typeId === typeId) || Column;\n const block = await t\n .newFromHtml(param)\n .catch(() => Text.newFromHtml(param));\n blocks.push(block);\n }\n\n return blocks;\n}\n\nconst emptyBlocks: Block[] = [];\nexport function findDescendantBlocks(\n ancestor: Block | Editor,\n ids: Readonly\n): Readonly {\n if (ids.length === 0) {\n return emptyBlocks;\n }\n\n const childBlocks =\n ancestor instanceof Editor ? ancestor.blocks : ancestor.childBlocks();\n if (childBlocks.length === 0) {\n return emptyBlocks;\n }\n\n return findDescendantBlocksInternal([...ids], childBlocks);\n}\n\nfunction findDescendantBlocksInternal(\n ids: string[],\n childBlocks: Readonly\n): Readonly {\n const result: Block[] = [];\n for (let i = 0, len = childBlocks.length; i < len; i++) {\n const b = childBlocks[i];\n const index = ids.indexOf(b.id);\n if (index !== -1) {\n result.push(b);\n ids.splice(index, 1);\n if (ids.length === 0) {\n return result;\n }\n }\n\n result.push(...findDescendantBlocksInternal(ids, b.childBlocks()));\n if (ids.length === 0) {\n return result;\n }\n }\n\n return result;\n}\n\ninterface GetBlocksByRangeState {\n ids: Readonly>;\n rootBlocks: Readonly;\n foundCount: number;\n startBlocks?: Readonly;\n endBlocks?: Readonly;\n result?: Readonly;\n}\nexport function getBlocksByRange(\n ancestor: Block | Editor,\n ids: Readonly\n): Readonly {\n const childBlocks =\n ancestor instanceof Editor ? ancestor.blocks : ancestor.childBlocks();\n const state: GetBlocksByRangeState = {\n ids: new Set(ids),\n rootBlocks: childBlocks,\n foundCount: 0,\n };\n getBlocksByRangeInternal(childBlocks, state);\n return state.result || emptyBlocks;\n}\n\nfunction getBlocksByRangeInternal(\n childBlocks: Readonly,\n state: GetBlocksByRangeState,\n parents: Readonly = []\n): Readonly | undefined {\n if (state.result && state.foundCount === state.ids.size) {\n return;\n }\n childBlocks.forEach((b) => {\n const currentBlocks = [...parents, b];\n\n getBlocksByRangeInternal(b.childBlocks(), state, currentBlocks);\n if (state.result && state.foundCount === state.ids.size) {\n return;\n }\n if (state.ids.has(b.id)) {\n state.foundCount++;\n\n if (state.ids.size === 1) {\n state.result = [b];\n } else if (state.startBlocks) {\n let range: {\n blocks: Readonly;\n start: string;\n end: string;\n };\n findRange: for (let i = state.startBlocks.length - 2; i >= 0; i--) {\n for (let j = currentBlocks.length - 2; j >= 0; j--) {\n if (state.startBlocks[i] === currentBlocks[j]) {\n range = {\n blocks: state.startBlocks[i].childBlocks(),\n start: state.startBlocks[i + 1].id,\n end: currentBlocks[j + 1].id,\n };\n break findRange;\n }\n }\n }\n\n range ||= {\n blocks: state.rootBlocks,\n start: state.startBlocks[0].id,\n end: currentBlocks[0].id,\n };\n\n const blockIds = range.blocks.map((b) => b.id);\n state.result = range.blocks.slice(\n blockIds.indexOf(range.start),\n blockIds.indexOf(range.end) + 1\n );\n } else {\n state.startBlocks = currentBlocks;\n }\n }\n });\n}\n","import platform from \"platform\";\n\nconst labels = {\n mac: {\n cmd: \"⌘\",\n alt: \"⌥\",\n ctrl: \"⌃\",\n shift: \"⇧\",\n },\n other: {\n cmd: \"Ctrl+\",\n alt: \"Alt+\",\n ctrl: \"Ctrl+\",\n shift: \"Shift+\",\n },\n};\n\nlet isMac = false;\nlet labelMap = labels.other;\n\nexport function setPlatform(_platform: typeof platform): void {\n isMac = [\"OS X\", \"iOS\"].includes(_platform.os?.family || \"\");\n labelMap = isMac ? labels.mac : labels.other;\n}\nsetPlatform(platform);\n\nexport function toKeyboardShortcutKey(ev: KeyboardEvent): string {\n return `${ev.ctrlKey && isMac ? \"ctrl+\" : \"\"}${ev.altKey ? \"alt+\" : \"\"}${\n ev.shiftKey ? \"shift+\" : \"\"\n }${ev.metaKey || (ev.ctrlKey && !isMac) ? \"cmd+\" : \"\"}${ev.key}`;\n}\n\nexport function toKeyboardShortcutLabel(key: string): string {\n return key.replace(\n /(ctrl|cmd|alt|shift)\\+/g,\n (all, key: keyof typeof labelMap) => {\n return labelMap[key] || key;\n }\n );\n}\n","class ParserContext extends Map {}\n\nexport default ParserContext;\n","export var INIT_COORDS = 'dnd-core/INIT_COORDS';\nexport var BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexport var PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexport var HOVER = 'dnd-core/HOVER';\nexport var DROP = 'dnd-core/DROP';\nexport var END_DRAG = 'dnd-core/END_DRAG';","import { INIT_COORDS } from '../types';\nexport function setClientOffset(clientOffset, sourceClientOffset) {\n return {\n type: INIT_COORDS,\n payload: {\n sourceClientOffset: sourceClientOffset || null,\n clientOffset: clientOffset || null\n }\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n// cheap lodash replacements\n\n/**\n * drop-in replacement for _.get\n * @param obj\n * @param path\n * @param defaultValue\n */\nexport function get(obj, path, defaultValue) {\n return path.split('.').reduce(function (a, c) {\n return a && a[c] ? a[c] : defaultValue || null;\n }, obj);\n}\n/**\n * drop-in replacement for _.without\n */\n\nexport function without(items, item) {\n return items.filter(function (i) {\n return i !== item;\n });\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */\n\nexport function isString(input) {\n return typeof input === 'string';\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */\n\nexport function isObject(input) {\n return _typeof(input) === 'object';\n}\n/**\n * repalcement for _.xor\n * @param itemsA\n * @param itemsB\n */\n\nexport function xor(itemsA, itemsB) {\n var map = new Map();\n\n var insertItem = function insertItem(item) {\n map.set(item, map.has(item) ? map.get(item) + 1 : 1);\n };\n\n itemsA.forEach(insertItem);\n itemsB.forEach(insertItem);\n var result = [];\n map.forEach(function (count, key) {\n if (count === 1) {\n result.push(key);\n }\n });\n return result;\n}\n/**\n * replacement for _.intersection\n * @param itemsA\n * @param itemsB\n */\n\nexport function intersection(itemsA, itemsB) {\n return itemsA.filter(function (t) {\n return itemsB.indexOf(t) > -1;\n });\n}","import { invariant } from '@react-dnd/invariant';\nimport { setClientOffset } from './local/setClientOffset';\nimport { isObject } from '../../utils/js_utils';\nimport { BEGIN_DRAG, INIT_COORDS } from './types';\nvar ResetCoordinatesAction = {\n type: INIT_COORDS,\n payload: {\n clientOffset: null,\n sourceClientOffset: null\n }\n};\nexport function createBeginDrag(manager) {\n return function beginDrag() {\n var sourceIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n publishSource: true\n };\n var _options$publishSourc = options.publishSource,\n publishSource = _options$publishSourc === void 0 ? true : _options$publishSourc,\n clientOffset = options.clientOffset,\n getSourceClientOffset = options.getSourceClientOffset;\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry(); // Initialize the coordinates using the client offset\n\n manager.dispatch(setClientOffset(clientOffset));\n verifyInvariants(sourceIds, monitor, registry); // Get the draggable source\n\n var sourceId = getDraggableSource(sourceIds, monitor);\n\n if (sourceId === null) {\n manager.dispatch(ResetCoordinatesAction);\n return;\n } // Get the source client offset\n\n\n var sourceClientOffset = null;\n\n if (clientOffset) {\n if (!getSourceClientOffset) {\n throw new Error('getSourceClientOffset must be defined');\n }\n\n verifyGetSourceClientOffsetIsFunction(getSourceClientOffset);\n sourceClientOffset = getSourceClientOffset(sourceId);\n } // Initialize the full coordinates\n\n\n manager.dispatch(setClientOffset(clientOffset, sourceClientOffset));\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId); // If source.beginDrag returns null, this is an indicator to cancel the drag\n\n if (item == null) {\n return undefined;\n }\n\n verifyItemIsObject(item);\n registry.pinSource(sourceId);\n var itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n payload: {\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset || null,\n sourceClientOffset: sourceClientOffset || null,\n isSourcePublic: !!publishSource\n }\n };\n };\n}\n\nfunction verifyInvariants(sourceIds, monitor, registry) {\n invariant(!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n sourceIds.forEach(function (sourceId) {\n invariant(registry.getSource(sourceId), 'Expected sourceIds to be registered.');\n });\n}\n\nfunction verifyGetSourceClientOffsetIsFunction(getSourceClientOffset) {\n invariant(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n}\n\nfunction verifyItemIsObject(item) {\n invariant(isObject(item), 'Item must be an object.');\n}\n\nfunction getDraggableSource(sourceIds, monitor) {\n var sourceId = null;\n\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n\n return sourceId;\n}","import { PUBLISH_DRAG_SOURCE } from './types';\nexport function createPublishDragSource(manager) {\n return function publishDragSource() {\n var monitor = manager.getMonitor();\n\n if (monitor.isDragging()) {\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n }\n };\n}","export function matchesType(targetType, draggedItemType) {\n if (draggedItemType === null) {\n return targetType === null;\n }\n\n return Array.isArray(targetType) ? targetType.some(function (t) {\n return t === draggedItemType;\n }) : targetType === draggedItemType;\n}","import { invariant } from '@react-dnd/invariant';\nimport { matchesType } from '../../utils/matchesType';\nimport { HOVER } from './types';\nexport function createHover(manager) {\n return function hover(targetIdsArg) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n clientOffset = _ref.clientOffset;\n\n verifyTargetIdsIsArray(targetIdsArg);\n var targetIds = targetIdsArg.slice(0);\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n checkInvariants(targetIds, monitor, registry);\n var draggedItemType = monitor.getItemType();\n removeNonMatchingTargetIds(targetIds, registry, draggedItemType);\n hoverAllTargets(targetIds, monitor, registry);\n return {\n type: HOVER,\n payload: {\n targetIds: targetIds,\n clientOffset: clientOffset || null\n }\n };\n };\n}\n\nfunction verifyTargetIdsIsArray(targetIdsArg) {\n invariant(Array.isArray(targetIdsArg), 'Expected targetIds to be an array.');\n}\n\nfunction checkInvariants(targetIds, monitor, registry) {\n invariant(monitor.isDragging(), 'Cannot call hover while not dragging.');\n invariant(!monitor.didDrop(), 'Cannot call hover after drop.');\n\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n invariant(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n var target = registry.getTarget(targetId);\n invariant(target, 'Expected targetIds to be registered.');\n }\n}\n\nfunction removeNonMatchingTargetIds(targetIds, registry, draggedItemType) {\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n\n if (!matchesType(targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n}\n\nfunction hoverAllTargets(targetIds, monitor, registry) {\n // Finally call hover on all matching targets.\n targetIds.forEach(function (targetId) {\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { DROP } from './types';\nimport { isObject } from '../../utils/js_utils';\nexport function createDrop(manager) {\n return function drop() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n verifyInvariants(monitor);\n var targetIds = getDroppableTargets(monitor); // Multiple actions are dispatched here, which is why this doesn't return an action\n\n targetIds.forEach(function (targetId, index) {\n var dropResult = determineDropResult(targetId, index, registry, monitor);\n var action = {\n type: DROP,\n payload: {\n dropResult: _objectSpread(_objectSpread({}, options), dropResult)\n }\n };\n manager.dispatch(action);\n });\n };\n}\n\nfunction verifyInvariants(monitor) {\n invariant(monitor.isDragging(), 'Cannot call drop while not dragging.');\n invariant(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n}\n\nfunction determineDropResult(targetId, index, registry, monitor) {\n var target = registry.getTarget(targetId);\n var dropResult = target ? target.drop(monitor, targetId) : undefined;\n verifyDropResultType(dropResult);\n\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n\n return dropResult;\n}\n\nfunction verifyDropResultType(dropResult) {\n invariant(typeof dropResult === 'undefined' || isObject(dropResult), 'Drop result must either be an object or undefined.');\n}\n\nfunction getDroppableTargets(monitor) {\n var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n targetIds.reverse();\n return targetIds;\n}","import { invariant } from '@react-dnd/invariant';\nimport { END_DRAG } from './types';\nexport function createEndDrag(manager) {\n return function endDrag() {\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n verifyIsDragging(monitor);\n var sourceId = monitor.getSourceId();\n\n if (sourceId != null) {\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n registry.unpinSource();\n }\n\n return {\n type: END_DRAG\n };\n };\n}\n\nfunction verifyIsDragging(monitor) {\n invariant(monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { createDragDropActions } from '../actions/dragDrop';\nexport var DragDropManagerImpl = /*#__PURE__*/function () {\n function DragDropManagerImpl(store, monitor) {\n var _this = this;\n\n _classCallCheck(this, DragDropManagerImpl);\n\n this.isSetUp = false;\n\n this.handleRefCountChange = function () {\n var shouldSetUp = _this.store.getState().refCount > 0;\n\n if (_this.backend) {\n if (shouldSetUp && !_this.isSetUp) {\n _this.backend.setup();\n\n _this.isSetUp = true;\n } else if (!shouldSetUp && _this.isSetUp) {\n _this.backend.teardown();\n\n _this.isSetUp = false;\n }\n }\n };\n\n this.store = store;\n this.monitor = monitor;\n store.subscribe(this.handleRefCountChange);\n }\n\n _createClass(DragDropManagerImpl, [{\n key: \"receiveBackend\",\n value: function receiveBackend(backend) {\n this.backend = backend;\n }\n }, {\n key: \"getMonitor\",\n value: function getMonitor() {\n return this.monitor;\n }\n }, {\n key: \"getBackend\",\n value: function getBackend() {\n return this.backend;\n }\n }, {\n key: \"getRegistry\",\n value: function getRegistry() {\n return this.monitor.registry;\n }\n }, {\n key: \"getActions\",\n value: function getActions() {\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n var manager = this;\n var dispatch = this.store.dispatch;\n\n function bindActionCreator(actionCreator) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var action = actionCreator.apply(manager, args);\n\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n\n var actions = createDragDropActions(this);\n return Object.keys(actions).reduce(function (boundActions, key) {\n var action = actions[key];\n boundActions[key] = bindActionCreator(action);\n return boundActions;\n }, {});\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(action) {\n this.store.dispatch(action);\n }\n }]);\n\n return DragDropManagerImpl;\n}();","import { createBeginDrag } from './beginDrag';\nimport { createPublishDragSource } from './publishDragSource';\nimport { createHover } from './hover';\nimport { createDrop } from './drop';\nimport { createEndDrag } from './endDrag';\nexport * from './types';\nexport function createDragDropActions(manager) {\n return {\n beginDrag: createBeginDrag(manager),\n publishDragSource: createPublishDragSource(manager),\n hover: createHover(manager),\n drop: createDrop(manager),\n endDrag: createEndDrag(manager)\n };\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","export var strictEquality = function strictEquality(a, b) {\n return a === b;\n};\n/**\n * Determine if two cartesian coordinate offsets are equal\n * @param offsetA\n * @param offsetB\n */\n\nexport function areCoordsEqual(offsetA, offsetB) {\n if (!offsetA && !offsetB) {\n return true;\n } else if (!offsetA || !offsetB) {\n return false;\n } else {\n return offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n }\n}\n/**\n * Determines if two arrays of items are equal\n * @param a The first array of items\n * @param b The second array of items\n */\n\nexport function areArraysEqual(a, b) {\n var isEqual = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : strictEquality;\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (var i = 0; i < a.length; ++i) {\n if (!isEqual(a[i], b[i])) {\n return false;\n }\n }\n\n return true;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { INIT_COORDS, BEGIN_DRAG, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { areCoordsEqual } from '../utils/equality';\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n var payload = action.payload;\n\n switch (action.type) {\n case INIT_COORDS:\n case BEGIN_DRAG:\n return {\n initialSourceClientOffset: payload.sourceClientOffset,\n initialClientOffset: payload.clientOffset,\n clientOffset: payload.clientOffset\n };\n\n case HOVER:\n if (areCoordsEqual(state.clientOffset, payload.clientOffset)) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n clientOffset: payload.clientOffset\n });\n\n case END_DRAG:\n case DROP:\n return initialState;\n\n default:\n return state;\n }\n}","export var ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexport var ADD_TARGET = 'dnd-core/ADD_TARGET';\nexport var REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexport var REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\nexport function addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n payload: {\n sourceId: sourceId\n }\n };\n}\nexport function addTarget(targetId) {\n return {\n type: ADD_TARGET,\n payload: {\n targetId: targetId\n }\n };\n}\nexport function removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n payload: {\n sourceId: sourceId\n }\n };\n}\nexport function removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n payload: {\n targetId: targetId\n }\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { BEGIN_DRAG, PUBLISH_DRAG_SOURCE, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { REMOVE_TARGET } from '../actions/registry';\nimport { without } from '../utils/js_utils';\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n var payload = action.payload;\n\n switch (action.type) {\n case BEGIN_DRAG:\n return _objectSpread(_objectSpread({}, state), {}, {\n itemType: payload.itemType,\n item: payload.item,\n sourceId: payload.sourceId,\n isSourcePublic: payload.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n\n case PUBLISH_DRAG_SOURCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n isSourcePublic: true\n });\n\n case HOVER:\n return _objectSpread(_objectSpread({}, state), {}, {\n targetIds: payload.targetIds\n });\n\n case REMOVE_TARGET:\n if (state.targetIds.indexOf(payload.targetId) === -1) {\n return state;\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n targetIds: without(state.targetIds, payload.targetId)\n });\n\n case DROP:\n return _objectSpread(_objectSpread({}, state), {}, {\n dropResult: payload.dropResult,\n didDrop: true,\n targetIds: []\n });\n\n case END_DRAG:\n return _objectSpread(_objectSpread({}, state), {}, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n\n default:\n return state;\n }\n}","import { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry';\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case ADD_SOURCE:\n case ADD_TARGET:\n return state + 1;\n\n case REMOVE_SOURCE:\n case REMOVE_TARGET:\n return state - 1;\n\n default:\n return state;\n }\n}","import { intersection } from './js_utils';\nexport var NONE = [];\nexport var ALL = [];\nNONE.__IS_NONE__ = true;\nALL.__IS_ALL__ = true;\n/**\n * Determines if the given handler IDs are dirty or not.\n *\n * @param dirtyIds The set of dirty handler ids\n * @param handlerIds The set of handler ids to check\n */\n\nexport function areDirty(dirtyIds, handlerIds) {\n if (dirtyIds === NONE) {\n return false;\n }\n\n if (dirtyIds === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n\n var commonIds = intersection(handlerIds, dirtyIds);\n return commonIds.length > 0;\n}","import { BEGIN_DRAG, PUBLISH_DRAG_SOURCE, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry';\nimport { areArraysEqual } from '../utils/equality';\nimport { NONE, ALL } from '../utils/dirtiness';\nimport { xor } from '../utils/js_utils';\nexport function reduce() {\n var _state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : NONE;\n\n var action = arguments.length > 1 ? arguments[1] : undefined;\n\n switch (action.type) {\n case HOVER:\n break;\n\n case ADD_SOURCE:\n case ADD_TARGET:\n case REMOVE_TARGET:\n case REMOVE_SOURCE:\n return NONE;\n\n case BEGIN_DRAG:\n case PUBLISH_DRAG_SOURCE:\n case END_DRAG:\n case DROP:\n default:\n return ALL;\n }\n\n var _action$payload = action.payload,\n _action$payload$targe = _action$payload.targetIds,\n targetIds = _action$payload$targe === void 0 ? [] : _action$payload$targe,\n _action$payload$prevT = _action$payload.prevTargetIds,\n prevTargetIds = _action$payload$prevT === void 0 ? [] : _action$payload$prevT;\n var result = xor(targetIds, prevTargetIds);\n var didChange = result.length > 0 || !areArraysEqual(targetIds, prevTargetIds);\n\n if (!didChange) {\n return NONE;\n } // Check the target ids at the innermost position. If they are valid, add them\n // to the result\n\n\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n result.push(prevInnermostTargetId);\n }\n\n if (innermostTargetId) {\n result.push(innermostTargetId);\n }\n }\n\n return result;\n}","export function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n return state + 1;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { reduce as dragOffset } from './dragOffset';\nimport { reduce as dragOperation } from './dragOperation';\nimport { reduce as refCount } from './refCount';\nimport { reduce as dirtyHandlerIds } from './dirtyHandlerIds';\nimport { reduce as stateId } from './stateId';\nimport { get } from '../utils/js_utils';\nexport function reduce() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments.length > 1 ? arguments[1] : undefined;\n return {\n dirtyHandlerIds: dirtyHandlerIds(state.dirtyHandlerIds, {\n type: action.type,\n payload: _objectSpread(_objectSpread({}, action.payload), {}, {\n prevTargetIds: get(state, 'dragOperation.targetIds', [])\n })\n }),\n dragOffset: dragOffset(state.dragOffset, action),\n refCount: refCount(state.refCount, action),\n dragOperation: dragOperation(state.dragOperation, action),\n stateId: stateId(state.stateId)\n };\n}","/**\n * Coordinate addition\n * @param a The first coordinate\n * @param b The second coordinate\n */\nexport function add(a, b) {\n return {\n x: a.x + b.x,\n y: a.y + b.y\n };\n}\n/**\n * Coordinate subtraction\n * @param a The first coordinate\n * @param b The second coordinate\n */\n\nexport function subtract(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y\n };\n}\n/**\n * Returns the cartesian distance of the drag source component's position, based on its position\n * at the time when the current drag operation has started, and the movement difference.\n *\n * Returns null if no item is being dragged.\n *\n * @param state The offset state to compute from\n */\n\nexport function getSourceClientOffset(state) {\n var clientOffset = state.clientOffset,\n initialClientOffset = state.initialClientOffset,\n initialSourceClientOffset = state.initialSourceClientOffset;\n\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n\n return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset);\n}\n/**\n * Determines the x,y offset between the client offset and the initial client offset\n *\n * @param state The offset state to compute from\n */\n\nexport function getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset,\n initialClientOffset = state.initialClientOffset;\n\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n\n return subtract(clientOffset, initialClientOffset);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { matchesType } from '../utils/matchesType';\nimport { getSourceClientOffset as _getSourceClientOffset, getDifferenceFromInitialOffset as _getDifferenceFromInitialOffset } from '../utils/coords';\nimport { areDirty } from '../utils/dirtiness';\nexport var DragDropMonitorImpl = /*#__PURE__*/function () {\n function DragDropMonitorImpl(store, registry) {\n _classCallCheck(this, DragDropMonitorImpl);\n\n this.store = store;\n this.registry = registry;\n }\n\n _createClass(DragDropMonitorImpl, [{\n key: \"subscribeToStateChange\",\n value: function subscribeToStateChange(listener) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n handlerIds: undefined\n };\n var handlerIds = options.handlerIds;\n invariant(typeof listener === 'function', 'listener must be a function.');\n invariant(typeof handlerIds === 'undefined' || Array.isArray(handlerIds), 'handlerIds, when specified, must be an array of strings.');\n var prevStateId = this.store.getState().stateId;\n\n var handleChange = function handleChange() {\n var state = _this.store.getState();\n\n var currentStateId = state.stateId;\n\n try {\n var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !areDirty(state.dirtyHandlerIds, handlerIds);\n\n if (!canSkipListener) {\n listener();\n }\n } finally {\n prevStateId = currentStateId;\n }\n };\n\n return this.store.subscribe(handleChange);\n }\n }, {\n key: \"subscribeToOffsetChange\",\n value: function subscribeToOffsetChange(listener) {\n var _this2 = this;\n\n invariant(typeof listener === 'function', 'listener must be a function.');\n var previousState = this.store.getState().dragOffset;\n\n var handleChange = function handleChange() {\n var nextState = _this2.store.getState().dragOffset;\n\n if (nextState === previousState) {\n return;\n }\n\n previousState = nextState;\n listener();\n };\n\n return this.store.subscribe(handleChange);\n }\n }, {\n key: \"canDragSource\",\n value: function canDragSource(sourceId) {\n if (!sourceId) {\n return false;\n }\n\n var source = this.registry.getSource(sourceId);\n invariant(source, \"Expected to find a valid source. sourceId=\".concat(sourceId));\n\n if (this.isDragging()) {\n return false;\n }\n\n return source.canDrag(this, sourceId);\n }\n }, {\n key: \"canDropOnTarget\",\n value: function canDropOnTarget(targetId) {\n // undefined on initial render\n if (!targetId) {\n return false;\n }\n\n var target = this.registry.getTarget(targetId);\n invariant(target, \"Expected to find a valid target. targetId=\".concat(targetId));\n\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return matchesType(targetType, draggedItemType) && target.canDrop(this, targetId);\n }\n }, {\n key: \"isDragging\",\n value: function isDragging() {\n return Boolean(this.getItemType());\n }\n }, {\n key: \"isDraggingSource\",\n value: function isDraggingSource(sourceId) {\n // undefined on initial render\n if (!sourceId) {\n return false;\n }\n\n var source = this.registry.getSource(sourceId, true);\n invariant(source, \"Expected to find a valid source. sourceId=\".concat(sourceId));\n\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n\n if (sourceType !== draggedItemType) {\n return false;\n }\n\n return source.isDragging(this, sourceId);\n }\n }, {\n key: \"isOverTarget\",\n value: function isOverTarget(targetId) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n shallow: false\n };\n\n // undefined on initial render\n if (!targetId) {\n return false;\n }\n\n var shallow = options.shallow;\n\n if (!this.isDragging()) {\n return false;\n }\n\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n\n if (draggedItemType && !matchesType(targetType, draggedItemType)) {\n return false;\n }\n\n var targetIds = this.getTargetIds();\n\n if (!targetIds.length) {\n return false;\n }\n\n var index = targetIds.indexOf(targetId);\n\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n }\n }, {\n key: \"getItemType\",\n value: function getItemType() {\n return this.store.getState().dragOperation.itemType;\n }\n }, {\n key: \"getItem\",\n value: function getItem() {\n return this.store.getState().dragOperation.item;\n }\n }, {\n key: \"getSourceId\",\n value: function getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n }\n }, {\n key: \"getTargetIds\",\n value: function getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n }\n }, {\n key: \"getDropResult\",\n value: function getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n }\n }, {\n key: \"didDrop\",\n value: function didDrop() {\n return this.store.getState().dragOperation.didDrop;\n }\n }, {\n key: \"isSourcePublic\",\n value: function isSourcePublic() {\n return Boolean(this.store.getState().dragOperation.isSourcePublic);\n }\n }, {\n key: \"getInitialClientOffset\",\n value: function getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n }\n }, {\n key: \"getInitialSourceClientOffset\",\n value: function getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n }\n }, {\n key: \"getClientOffset\",\n value: function getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n }\n }, {\n key: \"getSourceClientOffset\",\n value: function getSourceClientOffset() {\n return _getSourceClientOffset(this.store.getState().dragOffset);\n }\n }, {\n key: \"getDifferenceFromInitialOffset\",\n value: function getDifferenceFromInitialOffset() {\n return _getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n }\n }]);\n\n return DragDropMonitorImpl;\n}();","export var HandlerRole;\n\n(function (HandlerRole) {\n HandlerRole[\"SOURCE\"] = \"SOURCE\";\n HandlerRole[\"TARGET\"] = \"TARGET\";\n})(HandlerRole || (HandlerRole = {}));","var nextUniqueId = 0;\nexport function getNextUniqueId() {\n return nextUniqueId++;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { invariant } from '@react-dnd/invariant';\nexport function validateSourceContract(source) {\n invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\nexport function validateTargetContract(target) {\n invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n invariant(typeof target.hover === 'function', 'Expected hover to be a function.');\n invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\nexport function validateType(type, allowArray) {\n if (allowArray && Array.isArray(type)) {\n type.forEach(function (t) {\n return validateType(t, false);\n });\n return;\n }\n\n invariant(typeof type === 'string' || _typeof(type) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}","// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n/* globals self */ const scope = typeof global !== 'undefined' ? global : self;\nconst BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\nexport function makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n const timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n const intervalHandle = setInterval(handleTimer, 50);\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nexport function makeRequestCallFromMutationObserver(callback) {\n let toggle = 1;\n const observer = new BrowserMutationObserver(callback);\n const node = document.createTextNode('');\n observer.observe(node, {\n characterData: true\n });\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\nexport const makeRequestCall = typeof BrowserMutationObserver === 'function' ? // reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nmakeRequestCallFromMutationObserver : // task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\nmakeRequestCallFromTimer;\n\n//# sourceMappingURL=makeRequestCall.mjs.map","// `call`, just like a function.\nexport class RawTask {\n call() {\n try {\n this.task && this.task();\n } catch (error) {\n this.onError(error);\n } finally{\n this.task = null;\n this.release(this);\n }\n }\n constructor(onError, release){\n this.onError = onError;\n this.release = release;\n this.task = null;\n }\n}\n\n//# sourceMappingURL=RawTask.mjs.map","import { AsapQueue } from './AsapQueue.mjs';\nimport { TaskFactory } from './TaskFactory.mjs';\nconst asapQueue = new AsapQueue();\nconst taskFactory = new TaskFactory(asapQueue.registerPendingError);\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */ export function asap(task) {\n asapQueue.enqueueTask(taskFactory.create(task));\n}\n\n//# sourceMappingURL=asap.mjs.map","import { makeRequestCall, makeRequestCallFromTimer } from './makeRequestCall.mjs';\nexport class AsapQueue {\n // Use the fastest means possible to execute a task in its own turn, with\n // priority over other events including IO, animation, reflow, and redraw\n // events in browsers.\n //\n // An exception thrown by a task will permanently interrupt the processing of\n // subsequent tasks. The higher level `asap` function ensures that if an\n // exception is thrown by a task, that the task queue will continue flushing as\n // soon as possible, but if you use `rawAsap` directly, you are responsible to\n // either ensure that no exceptions are thrown from your task, or to manually\n // call `rawAsap.requestFlush` if an exception is thrown.\n enqueueTask(task) {\n const { queue: q , requestFlush } = this;\n if (!q.length) {\n requestFlush();\n this.flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n q[q.length] = task;\n }\n constructor(){\n this.queue = [];\n // We queue errors to ensure they are thrown in right order (FIFO).\n // Array-as-queue is good enough here, since we are just dealing with exceptions.\n this.pendingErrors = [];\n // Once a flush has been requested, no further calls to `requestFlush` are\n // necessary until the next `flush` completes.\n // @ts-ignore\n this.flushing = false;\n // The position of the next task to execute in the task queue. This is\n // preserved between calls to `flush` so that it can be resumed if\n // a task throws an exception.\n this.index = 0;\n // If a task schedules additional tasks recursively, the task queue can grow\n // unbounded. To prevent memory exhaustion, the task queue will periodically\n // truncate already-completed tasks.\n this.capacity = 1024;\n // The flush function processes all tasks that have been scheduled with\n // `rawAsap` unless and until one of those tasks throws an exception.\n // If a task throws an exception, `flush` ensures that its state will remain\n // consistent and will resume where it left off when called again.\n // However, `flush` does not make any arrangements to be called again if an\n // exception is thrown.\n this.flush = ()=>{\n const { queue: q } = this;\n while(this.index < q.length){\n const currentIndex = this.index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n this.index++;\n q[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (this.index > this.capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for(let scan = 0, newLength = q.length - this.index; scan < newLength; scan++){\n q[scan] = q[scan + this.index];\n }\n q.length -= this.index;\n this.index = 0;\n }\n }\n q.length = 0;\n this.index = 0;\n this.flushing = false;\n };\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n this.registerPendingError = (err)=>{\n this.pendingErrors.push(err);\n this.requestErrorThrow();\n };\n // `requestFlush` requests that the high priority event queue be flushed as\n // soon as possible.\n // This is useful to prevent an error thrown in a task from stalling the event\n // queue if the exception handled by Node.js’s\n // `process.on(\"uncaughtException\")` or by a domain.\n // `requestFlush` is implemented using a strategy based on data collected from\n // every available SauceLabs Selenium web driver worker at time of writing.\n // https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n this.requestFlush = makeRequestCall(this.flush);\n this.requestErrorThrow = makeRequestCallFromTimer(()=>{\n // Throw first error\n if (this.pendingErrors.length) {\n throw this.pendingErrors.shift();\n }\n });\n }\n} // The message channel technique was discovered by Malte Ubl and was the\n // original foundation for this library.\n // http://www.nonblocking.io/2011/06/windownexttick.html\n // Safari 6.0.5 (at least) intermittently fails to create message ports on a\n // page's first load. Thankfully, this version of Safari supports\n // MutationObservers, so we don't need to fall back in that case.\n // function makeRequestCallFromMessageChannel(callback) {\n // var channel = new MessageChannel();\n // channel.port1.onmessage = callback;\n // return function requestCall() {\n // channel.port2.postMessage(0);\n // };\n // }\n // For reasons explained above, we are also unable to use `setImmediate`\n // under any circumstances.\n // Even if we were, there is another bug in Internet Explorer 10.\n // It is not sufficient to assign `setImmediate` to `requestFlush` because\n // `setImmediate` must be called *by name* and therefore must be wrapped in a\n // closure.\n // Never forget.\n // function makeRequestCallFromSetImmediate(callback) {\n // return function requestCall() {\n // setImmediate(callback);\n // };\n // }\n // Safari 6.0 has a problem where timers will get lost while the user is\n // scrolling. This problem does not impact ASAP because Safari 6.0 supports\n // mutation observers, so that implementation is used instead.\n // However, if we ever elect to use timers in Safari, the prevalent work-around\n // is to add a scroll event listener that calls for a flush.\n // `setTimeout` does not call the passed callback if the delay is less than\n // approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n // even then.\n // This is for `asap.js` only.\n // Its name will be periodically randomized to break any code that depends on\n // // its existence.\n // rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer\n // ASAP was originally a nextTick shim included in Q. This was factored out\n // into this ASAP package. It was later adapted to RSVP which made further\n // amendments. These decisions, particularly to marginalize MessageChannel and\n // to capture the MutationObserver implementation in a closure, were integrated\n // back into ASAP proper.\n // https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n//# sourceMappingURL=AsapQueue.mjs.map","import { RawTask } from './RawTask.mjs';\nexport class TaskFactory {\n create(task) {\n const tasks = this.freeTasks;\n const t1 = tasks.length ? tasks.pop() : new RawTask(this.onError, (t)=>tasks[tasks.length] = t\n );\n t1.task = task;\n return t1;\n }\n constructor(onError){\n this.onError = onError;\n this.freeTasks = [];\n }\n}\n\n//# sourceMappingURL=TaskFactory.mjs.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { addSource as _addSource, addTarget as _addTarget, removeSource as _removeSource, removeTarget as _removeTarget } from '../actions/registry';\nimport { getNextUniqueId } from '../utils/getNextUniqueId';\nimport { HandlerRole } from '../interfaces';\nimport { validateSourceContract, validateTargetContract, validateType } from '../contracts';\nimport { asap } from '@react-dnd/asap';\n\nfunction getNextHandlerId(role) {\n var id = getNextUniqueId().toString();\n\n switch (role) {\n case HandlerRole.SOURCE:\n return \"S\".concat(id);\n\n case HandlerRole.TARGET:\n return \"T\".concat(id);\n\n default:\n throw new Error(\"Unknown Handler Role: \".concat(role));\n }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return HandlerRole.SOURCE;\n\n case 'T':\n return HandlerRole.TARGET;\n\n default:\n invariant(false, \"Cannot parse handler ID: \".concat(handlerId));\n }\n}\n\nfunction mapContainsValue(map, searchValue) {\n var entries = map.entries();\n var isDone = false;\n\n do {\n var _entries$next = entries.next(),\n done = _entries$next.done,\n _entries$next$value = _slicedToArray(_entries$next.value, 2),\n value = _entries$next$value[1];\n\n if (value === searchValue) {\n return true;\n }\n\n isDone = !!done;\n } while (!isDone);\n\n return false;\n}\n\nexport var HandlerRegistryImpl = /*#__PURE__*/function () {\n function HandlerRegistryImpl(store) {\n _classCallCheck(this, HandlerRegistryImpl);\n\n this.types = new Map();\n this.dragSources = new Map();\n this.dropTargets = new Map();\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n this.store = store;\n }\n\n _createClass(HandlerRegistryImpl, [{\n key: \"addSource\",\n value: function addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n var sourceId = this.addHandler(HandlerRole.SOURCE, type, source);\n this.store.dispatch(_addSource(sourceId));\n return sourceId;\n }\n }, {\n key: \"addTarget\",\n value: function addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n var targetId = this.addHandler(HandlerRole.TARGET, type, target);\n this.store.dispatch(_addTarget(targetId));\n return targetId;\n }\n }, {\n key: \"containsHandler\",\n value: function containsHandler(handler) {\n return mapContainsValue(this.dragSources, handler) || mapContainsValue(this.dropTargets, handler);\n }\n }, {\n key: \"getSource\",\n value: function getSource(sourceId) {\n var includePinned = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.dragSources.get(sourceId);\n return source;\n }\n }, {\n key: \"getTarget\",\n value: function getTarget(targetId) {\n invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.dropTargets.get(targetId);\n }\n }, {\n key: \"getSourceType\",\n value: function getSourceType(sourceId) {\n invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types.get(sourceId);\n }\n }, {\n key: \"getTargetType\",\n value: function getTargetType(targetId) {\n invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types.get(targetId);\n }\n }, {\n key: \"isSourceId\",\n value: function isSourceId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRole.SOURCE;\n }\n }, {\n key: \"isTargetId\",\n value: function isTargetId(handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRole.TARGET;\n }\n }, {\n key: \"removeSource\",\n value: function removeSource(sourceId) {\n var _this = this;\n\n invariant(this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(_removeSource(sourceId));\n asap(function () {\n _this.dragSources.delete(sourceId);\n\n _this.types.delete(sourceId);\n });\n }\n }, {\n key: \"removeTarget\",\n value: function removeTarget(targetId) {\n invariant(this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(_removeTarget(targetId));\n this.dropTargets.delete(targetId);\n this.types.delete(targetId);\n }\n }, {\n key: \"pinSource\",\n value: function pinSource(sourceId) {\n var source = this.getSource(sourceId);\n invariant(source, 'Expected an existing source.');\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n }\n }, {\n key: \"unpinSource\",\n value: function unpinSource() {\n invariant(this.pinnedSource, 'No source is pinned at the time.');\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n }, {\n key: \"addHandler\",\n value: function addHandler(role, type, handler) {\n var id = getNextHandlerId(role);\n this.types.set(id, type);\n\n if (role === HandlerRole.SOURCE) {\n this.dragSources.set(id, handler);\n } else if (role === HandlerRole.TARGET) {\n this.dropTargets.set(id, handler);\n }\n\n return id;\n }\n }]);\n\n return HandlerRegistryImpl;\n}();","import { DragDropManagerImpl } from './classes/DragDropManagerImpl';\nimport { createStore } from 'redux';\nimport { reduce } from './reducers';\nimport { DragDropMonitorImpl } from './classes/DragDropMonitorImpl';\nimport { HandlerRegistryImpl } from './classes/HandlerRegistryImpl';\nexport function createDragDropManager(backendFactory) {\n var globalContext = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n var backendOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var debugMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var store = makeStoreInstance(debugMode);\n var monitor = new DragDropMonitorImpl(store, new HandlerRegistryImpl(store));\n var manager = new DragDropManagerImpl(store, monitor);\n var backend = backendFactory(manager, globalContext, backendOptions);\n manager.receiveBackend(backend);\n return manager;\n}\n\nfunction makeStoreInstance(debugMode) {\n // TODO: if we ever make a react-native version of this,\n // we'll need to consider how to pull off dev-tooling\n var reduxDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__;\n return createStore(reduce, debugMode && reduxDevTools && reduxDevTools({\n name: 'dnd-core',\n instanceId: 'dnd-core'\n }));\n}","var _excluded = [\"children\"];\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useEffect, memo } from 'react';\nimport { createDragDropManager } from 'dnd-core';\nimport { DndContext } from './DndContext';\nvar refCount = 0;\nvar INSTANCE_SYM = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__');\n/**\n * A React component that provides the React-DnD context\n */\n\nexport var DndProvider = memo(function DndProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _getDndContextValue = getDndContextValue(props),\n _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2),\n manager = _getDndContextValue2[0],\n isGlobalInstance = _getDndContextValue2[1]; // memoized from props\n\n /**\n * If the global context was used to store the DND context\n * then where theres no more references to it we should\n * clean it up to avoid memory leaks\n */\n\n\n useEffect(function () {\n if (isGlobalInstance) {\n var context = getGlobalContext();\n ++refCount;\n return function () {\n if (--refCount === 0) {\n context[INSTANCE_SYM] = null;\n }\n };\n }\n }, []);\n return _jsx(DndContext.Provider, Object.assign({\n value: manager\n }, {\n children: children\n }), void 0);\n});\n\nfunction getDndContextValue(props) {\n if ('manager' in props) {\n var _manager = {\n dragDropManager: props.manager\n };\n return [_manager, false];\n }\n\n var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode);\n var isGlobalInstance = !props.context;\n return [manager, isGlobalInstance];\n}\n\nfunction createSingletonDndContext(backend) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getGlobalContext();\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var debugMode = arguments.length > 3 ? arguments[3] : undefined;\n var ctx = context;\n\n if (!ctx[INSTANCE_SYM]) {\n ctx[INSTANCE_SYM] = {\n dragDropManager: createDragDropManager(backend, context, options, debugMode)\n };\n }\n\n return ctx[INSTANCE_SYM];\n}\n\nfunction getGlobalContext() {\n return typeof global !== 'undefined' ? global : window;\n}","import { t } from \"../i18n\";\nimport React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport { DndProvider } from \"react-dnd\";\nimport { DndBackend } from \"./DndBackend\";\n\nimport Editor from \"../Editor\";\nimport Block from \"../Block\";\nimport BlockItem from \"./BlockItem\";\nimport {\n EditorContext,\n BlocksContext,\n EditorContextProps,\n BlocksContextProps,\n} from \"../Context\";\nimport AddButton from \"./AddButton\";\nimport { getBlocksByRange, isPassThroughNativeEvent } from \"../util\";\nimport { BlockEditorCommandEvent } from \"../CommandManager\";\n\ndeclare global {\n interface WindowEventMap {\n \"mt-block-editor-command\": BlockEditorCommandEvent;\n \"mt-block-editor-click-block\": CustomEvent;\n }\n}\n\ninterface AppProps {\n editor: Editor;\n}\n\nfunction arrayEquals(a: T[], b: T[]): boolean {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0, len = a.length; i < len; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst App: React.FC = ({ editor }: AppProps) => {\n const [_focusedIds, _setFocusedIds] = useState([]);\n const focusedIdsRef = useRef(_focusedIds);\n\n const editorContext = useMemo(\n () => ({\n editor: editor,\n setFocusedIds: (ids, opts?) => {\n const focusedIds = focusedIdsRef.current;\n if (\n focusedIds.length >= 2 &&\n ids.length === 1 &&\n focusedIds.includes(ids[0])\n ) {\n // do nothing\n return;\n }\n\n if (!opts?.forceUpdate && arrayEquals(focusedIds, ids)) {\n return;\n }\n\n focusedIdsRef.current = ids;\n _setFocusedIds(ids);\n },\n getFocusedIds: () => focusedIdsRef.current,\n }),\n []\n );\n const setFocusedIds = editorContext.setFocusedIds;\n\n const blocksContext = useMemo(\n () => ({\n panelBlockTypes: null,\n shortcutBlockTypes: null,\n addBlock: (b: Block, index: number | Block) => {\n if (index instanceof Block) {\n index = editor.blocks.indexOf(index) + 1;\n }\n editor.addBlock(editor, b, index);\n setFocusedIds([b.id]);\n },\n mergeBlock: (b: Block) => {\n const index = editor.blocks.indexOf(b);\n if (editor.mergeBlock(editor, b)) {\n setFocusedIds([editor.blocks[index - 1].id]);\n }\n },\n removeBlock: (b: Block) => {\n const index = editor.blocks.indexOf(b);\n editor.removeBlock(editor, b);\n if (index > 0) {\n setFocusedIds([editor.blocks[index - 1].id]);\n }\n },\n swapBlocks: (dragIndex: number, hoverIndex: number, scroll?: boolean) => {\n if (\n dragIndex === undefined ||\n hoverIndex === undefined ||\n !editor.blocks[dragIndex] ||\n !editor.blocks[hoverIndex]\n ) {\n return;\n }\n\n if (scroll) {\n const destEl = editor.blocks[hoverIndex].wrapperRef.current;\n if (!destEl) {\n return;\n }\n\n const rect = destEl.getBoundingClientRect();\n const scrollTop =\n window.pageYOffset || document.documentElement.scrollTop;\n const offsetTop = rect.height;\n\n window.scrollTo({\n top: scrollTop + (dragIndex > hoverIndex ? -offsetTop : offsetTop),\n behavior: \"smooth\",\n });\n }\n\n editor.swapBlocks(editor, dragIndex, hoverIndex);\n },\n }),\n []\n );\n\n useEffect(() => {\n const onWindowClick = (ev: Event): void => {\n if (\n document.querySelector(\".mt-be-overlay\") ||\n document.body.classList.contains(\"modal-open\")\n ) {\n return;\n }\n\n const editorEl = editor.editorElement;\n\n if (editorEl.querySelector(`[data-mt-block-editor-keep-focus=\"1\"]`)) {\n return;\n }\n\n let target = ev.target as HTMLElement;\n if (target.closest(\".mce-container, .modal\")) {\n return;\n }\n\n while (target.parentNode && target.parentNode !== target) {\n if (target === editorEl) {\n if (focusedIdsRef.current.length === 0) {\n setFocusedIds([\"editor\"]);\n }\n return;\n }\n target = target.parentNode as HTMLElement;\n }\n\n setFocusedIds([]);\n };\n\n const onWindowKeydown = (ev: KeyboardEvent): void => {\n const editorEl = editor.editorElement;\n const focusedIds = focusedIdsRef.current;\n\n if (focusedIds.length === 0) {\n return;\n }\n\n if (!(ev.ctrlKey || ev.metaKey || ev.altKey || ev.shiftKey)) {\n return;\n }\n\n // stay focused but not edit\n if (\n isPassThroughNativeEvent(ev) ||\n editorEl.querySelector(`[data-mt-block-editor-keep-focus=\"1\"]`)\n ) {\n return;\n }\n\n const key = ev.key;\n\n if (key === \"z\" && (ev.ctrlKey || ev.metaKey) && !ev.shiftKey) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n editor.editManager.undo({\n editor,\n getFocusedIds: () => focusedIds,\n setFocusedIds,\n });\n } else if (\n (key === \"z\" && (ev.ctrlKey || ev.metaKey) && ev.shiftKey) ||\n (key === \"y\" && (ev.ctrlKey || ev.metaKey))\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n ev.stopImmediatePropagation();\n editor.editManager.redo({\n editor,\n getFocusedIds: () => focusedIds,\n setFocusedIds,\n });\n }\n };\n\n let startId = \"\";\n const onEditorMousedown = (ev: MouseEvent): void => {\n if (ev.target instanceof HTMLElement) {\n startId =\n ev.target.closest(\"[data-mt-block-editor-block-id]\")\n ?.dataset.mtBlockEditorBlockId || \"\";\n }\n };\n\n const onEditorMouseup = (ev: MouseEvent): void => {\n if (ev.target instanceof HTMLElement) {\n const endId =\n ev.target.closest(\"[data-mt-block-editor-block-id]\")\n ?.dataset.mtBlockEditorBlockId || \"\";\n if (startId && endId && startId !== endId) {\n setFocusedIds(\n getBlocksByRange(editor, [startId, endId]).map((b) => b.id)\n );\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n\n startId = \"\";\n };\n\n const onBlockEditorCommand = (ev: BlockEditorCommandEvent): void => {\n editor.commandManager.execute({\n ...ev.detail,\n event: ev,\n });\n };\n\n editor.editorElement.addEventListener(\"mousedown\", onEditorMousedown);\n editor.editorElement.addEventListener(\"mouseup\", onEditorMouseup);\n\n window.addEventListener(\"click\", onWindowClick, {\n capture: true,\n passive: true,\n });\n\n window.addEventListener(\"keydown\", onWindowKeydown);\n window.addEventListener(\"mt-block-editor-command\", onBlockEditorCommand);\n\n return () => {\n editor.editorElement.removeEventListener(\"mousedown\", onEditorMousedown);\n editor.editorElement.removeEventListener(\"mouseup\", onEditorMouseup);\n window.removeEventListener(\"click\", onWindowClick, {\n capture: true,\n });\n window.removeEventListener(\"keydown\", onWindowKeydown);\n window.removeEventListener(\n \"mt-block-editor-command\",\n onBlockEditorCommand\n );\n };\n }, []);\n\n return (\n \n \n \n
\n {editor.blocks.map((b, i) => {\n return (\n \n );\n })}\n {editor.opts.addButtons[\"bottom\"] && (\n
\n \n
\n )}\n
\n
\n
\n
\n );\n};\n\nexport default App;\n","import Block from \"./Block\";\n\nclass BlockFactory {\n public static allTypes: Array = [];\n\n public static registerType(t: typeof Block): void {\n this.allTypes.push(t);\n }\n\n public static deregisterType(t: typeof Block | string): void {\n this.allTypes = this.allTypes.filter((registered) =>\n typeof t === \"string\" ? registered.typeId === t : registered !== t\n );\n }\n\n public types(): Array {\n return BlockFactory.allTypes;\n }\n\n public selectableTypes(): Array {\n return BlockFactory.allTypes.filter((t) => t.selectable);\n }\n\n public lookupType(typeId: string): typeof Block {\n const t = BlockFactory.allTypes.find((t) => t.typeId === typeId);\n\n if (!t) {\n throw `Unknown typeId: ${typeId}`;\n }\n\n return t;\n }\n}\n\nexport default BlockFactory;\n","import Editor from \"./Editor\";\nimport Block from \"./Block\";\nimport { EditorContextProps } from \"./Context\";\n\nconst DEFAULT_LIMIT = 100;\nconst NO_GROUP = undefined;\n\nexport interface EditHistoryHandlers {\n id: symbol;\n merge?: (a: EditHistory, b: EditHistory) => EditHistory | undefined | null;\n undo: (history: EditHistory, props: EditorContextProps) => void;\n redo: (history: EditHistory, props: EditorContextProps) => void;\n}\n\nexport interface EditHistory {\n block: Block;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: any;\n group?: number | undefined;\n handlers: EditHistoryHandlers;\n}\n\nclass EditManager {\n private editor: Editor | null = null;\n private limit = DEFAULT_LIMIT;\n private index = 0;\n private ignore = false;\n private histories: EditHistory[] = [];\n private group: number | undefined = NO_GROUP;\n\n public constructor(init: {\n editor: EditManager[\"editor\"];\n limit?: EditManager[\"limit\"];\n }) {\n Object.assign(this, init);\n }\n\n public unload(): void {\n this.editor = null;\n this.histories = [];\n }\n\n public canUndo(): boolean {\n return this.histories.length !== 0 && this.histories.length > this.index;\n }\n\n public canRedo(): boolean {\n return this.index !== 0;\n }\n\n public add(history: EditHistory): void {\n if (this.ignore) {\n return;\n }\n\n this._add(history);\n\n if (this.group === NO_GROUP) {\n this.emitChange();\n }\n }\n\n private _add(history: EditHistory): void {\n if (this.index !== 0) {\n this.histories.splice(-this.index, this.index);\n }\n this.index = 0;\n\n if (this.group !== NO_GROUP && !history.group) {\n history.group = this.group;\n }\n\n if (history.handlers.merge) {\n const last = this.histories[this.histories.length - 1];\n if (\n last &&\n last.group === history.group &&\n last.handlers.id === history.handlers.id\n ) {\n const merged = history.handlers.merge.call(undefined, last, history);\n if (merged) {\n this.histories[this.histories.length - 1] = merged;\n return;\n }\n }\n }\n\n this.histories.push(history);\n\n if (this.histories.length > this.limit) {\n const count = this.histories.length - this.limit;\n this.histories.splice(0, count);\n }\n }\n\n public undo(props: EditorContextProps, group?: number): void {\n const history = this.histories[this.histories.length - this.index - 1];\n if (!history || (group !== undefined && group !== history.group)) {\n if (group !== undefined) {\n this.emitChange();\n }\n return;\n }\n\n this.index++;\n\n this.ignore = true;\n history.handlers.undo.call(undefined, history, props);\n this.ignore = false;\n\n if (history.group === NO_GROUP) {\n this.emitChange();\n } else {\n this.undo(props, history.group);\n }\n }\n\n public redo(props: EditorContextProps, group?: number): void {\n const history = this.histories[this.histories.length - this.index];\n if (!history || (group !== undefined && group !== history.group)) {\n if (group !== undefined) {\n this.emitChange();\n }\n return;\n }\n\n this.index--;\n this.ignore = true;\n history.handlers.redo.call(undefined, history, props);\n this.ignore = false;\n\n if (history.group === NO_GROUP) {\n this.emitChange();\n } else {\n this.redo(props, history.group);\n }\n }\n\n public generateGroup(): number {\n return Math.round(Math.random() * 100000);\n }\n\n public beginGrouping(): void {\n this.group = this.generateGroup();\n }\n\n public endGrouping(): void {\n if (this.group === NO_GROUP) {\n return;\n }\n\n const last = this.histories[this.histories.length - 1];\n if (last && last.group === this.group) {\n this.emitChange();\n }\n\n this.group = NO_GROUP;\n }\n\n private emitChange(): void {\n if (this.editor) {\n this.editor.emit(\"change\", { editor: this.editor });\n }\n }\n}\n\nexport default EditManager;\n","import { EditHistoryHandlers } from \"../EditManager\";\nimport Block from \"../Block\";\n\nexport const add: EditHistoryHandlers = {\n id: Symbol(\"add\"),\n undo(hist, { editor, setFocusedIds }) {\n const parent = hist.data.parent || editor;\n const index = parent.blocks.indexOf(hist.block);\n editor.removeBlock(parent, hist.block);\n\n const nextFocusBlock =\n parent.blocks[Math.max(0, index - 1)] ||\n (parent instanceof Block ? parent : null);\n\n setFocusedIds([nextFocusBlock?.id ?? \"editor\"]);\n },\n redo(hist, { editor, setFocusedIds }) {\n const parent = hist.data.parent || editor;\n editor.addBlock(parent, hist.block, hist.data.index);\n setFocusedIds([hist.block.id]);\n\n // You need to force a re-render to see the block\n if (parent.blocks.length === 1) {\n editor.render();\n }\n },\n};\n\nexport const remove: EditHistoryHandlers = {\n id: Symbol(\"remove\"),\n undo(hist, { editor, setFocusedIds }) {\n editor.addBlock(hist.data.parent || editor, hist.block, hist.data.index);\n setFocusedIds([hist.block.id], { forceUpdate: true });\n },\n redo(hist, { editor, setFocusedIds }) {\n const parent = hist.data.parent || editor;\n const index = parent.blocks.indexOf(hist.block);\n editor.removeBlock(parent, hist.block);\n if (index > 0) {\n setFocusedIds([parent.blocks[index - 1].id]);\n }\n },\n};\n\nexport const swap: EditHistoryHandlers = {\n id: Symbol(\"swap\"),\n undo(hist, { editor }) {\n editor.swapBlocks(hist.data.parent || editor, hist.data.a, hist.data.b);\n },\n redo(hist, { editor }) {\n editor.swapBlocks(hist.data.parent || editor, hist.data.a, hist.data.b);\n },\n};\n","export const beforeRenderIframePreview = (data: {\n html: string;\n scheme: string;\n}): void => {\n const parser = new DOMParser();\n\n const doc = parser.parseFromString(data.html, \"text/html\");\n if (\n doc.body.children.length > 0 &&\n [...doc.body.children].every(\n (e) =>\n e instanceof HTMLIFrameElement &&\n /^https:\\/\\/www.youtube.com\\//.test(e.src)\n )\n ) {\n // YouTube iframe only\n data.scheme = \"srcdoc\";\n } else if (\n /^https:\\/\\/www.tiktok.com\\//.test(\n doc.body.querySelector(\"script\")?.src || \"\"\n )\n ) {\n // Include TikTok embed script\n data.scheme = \"data-wrap\";\n }\n};\n","import React, { ReactNode, useEffect, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { CSSTransition } from \"react-transition-group\";\n\nconst OVERLAY_CLASS_NAME = \"mt-be-overlay\";\nconst PORTAL_STYLE = { position: \"relative\", zIndex: 1000 };\nexport const TRANSITION_TIMEOUT = 300;\n\ninterface OverlayProps {\n open: boolean;\n onClose?: () => void;\n children?: ReactNode;\n}\n\nconst Overlay: React.FC = ({\n open,\n onClose = () => null,\n children,\n}: OverlayProps) => {\n const [portal] = useState(() =>\n document.createElement(\"div\")\n );\n\n useEffect(() => {\n Object.assign(portal.style, PORTAL_STYLE);\n portal.classList.add(\"mt-block-editor\");\n document.body.appendChild(portal);\n return () => portal.remove();\n }, []);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n\n function onKeydown(ev: KeyboardEvent): void {\n if (ev.key === \"Escape\") {\n onClose();\n }\n }\n\n document.addEventListener(\"keydown\", onKeydown);\n return () => document.removeEventListener(\"keydown\", onKeydown);\n }, [open]);\n\n return createPortal(\n \n document.body.classList.add(\"mt-block-editor-overlay-open\")\n }\n onExit={() =>\n document.body.classList.remove(\"mt-block-editor-overlay-open\")\n }\n classNames={OVERLAY_CLASS_NAME}\n unmountOnExit\n timeout={TRANSITION_TIMEOUT}\n >\n
{children}
\n ,\n portal\n );\n};\n\nexport default Overlay;\n","import { t } from \"../i18n\";\nimport React, {\n ReactNode,\n useRef,\n useEffect,\n createContext,\n useContext,\n} from \"react\";\nimport Overlay, { TRANSITION_TIMEOUT } from \"./Overlay\";\n\nexport interface DialogProps {\n children?: ReactNode;\n open: boolean;\n onClose?: () => void;\n id?: string;\n className?: string;\n}\ntype DialogContextProps = Pick;\n\nconst DialogContext = createContext({});\nexport const Dialog: React.FC = (props: DialogProps) => {\n const modalRef = useRef(null);\n const className = `mt-be-dialog ${props.className || \"\"}`;\n\n useEffect(() => {\n if (!props.open) {\n return;\n }\n\n const modalEl = modalRef.current;\n if (!modalEl) {\n return;\n }\n\n const focusEl = modalEl.querySelector(\n `[data-mt-block-editor-focus-default]`\n );\n if (!focusEl) {\n return;\n }\n\n setTimeout(() => {\n focusEl.focus();\n }, TRANSITION_TIMEOUT);\n }, [props.open]);\n\n return (\n \n \n
\n
{props.children}
\n
\n
\n
\n );\n};\n\nexport const DialogHeader: React.FC = (props: { children?: ReactNode }) => {\n const { onClose = () => null } = useContext(DialogContext);\n return (\n
\n {props.children}\n \n ×\n \n
\n );\n};\n\nexport const DialogBody: React.FC = (props: { children?: ReactNode }) => (\n
{props.children}
\n);\n\nexport const DialogFooter: React.FC = (props: { children?: ReactNode }) => (\n
{props.children}
\n);\n\nexport default Dialog;\n","import { t } from \"../i18n\";\nimport React, { useState, useRef } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../Block\";\nimport { nl2br } from \"../util\";\nimport { blockProperty } from \"../decorator\";\nimport icon from \"../img/icon/image.svg\";\nimport iconLink from \"../img/icon/link.svg\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport BlockLabel from \"../Component/BlockLabel\";\nimport BlockToolbar from \"../Component/BlockToolbar\";\nimport BlockToolbarButton from \"../Component/BlockToolbarButton\";\nimport {\n Dialog,\n DialogHeader,\n DialogBody,\n DialogFooter,\n} from \"../Component/Dialog\";\nimport { useCommands } from \"../CommandManager\";\n\ninterface EditorProps {\n block: Image;\n}\n\nconst Html: React.FC = ({ block }: EditorProps) => {\n let img = {block.alt};\n if (block.linkUrl) {\n img = (\n \n {img}\n
\n );\n }\n\n return block.caption ? (\n
\n {img}\n
{nl2br(block.caption)}
\n
\n ) : (\n

{img}

\n );\n};\n\nconst Editor: React.FC = blockProperty(\n ({ block }: EditorProps) => {\n const [isLinkDialogOpen, setLinkDialogOpen] = useState(false);\n const formRef = useRef(null);\n\n useCommands(\n {\n block,\n commands: [\n {\n command: \"core-insertLink\",\n callback: () => {\n setLinkDialogOpen(true);\n },\n },\n ],\n },\n []\n );\n\n return (\n <>\n \n setLinkDialogOpen(true)}\n />\n \n setLinkDialogOpen(false)}\n >\n \n

{t(\"Insert Link\")}

\n
\n
\n \n \n \n \n \n\n \n {\n setLinkDialogOpen(false);\n }}\n >\n {t(\"Close\")}\n \n {\n const form = formRef.current;\n if (!form) {\n return;\n }\n\n const keys = [\"linkUrl\", \"linkTitle\", \"linkTarget\"] as const;\n keys.forEach((name) => {\n block[name] =\n form.querySelector(\n `[data-property-name=\"${name}\"]`\n )?.value || \"\";\n });\n\n setLinkDialogOpen(false);\n }}\n >\n {t(\"Save\")}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n);\n\nclass Image extends Block {\n public static typeId = \"core-image\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Image\");\n }\n\n public url = \"\";\n public alt = \"\";\n public caption = \"\";\n public linkUrl = \"\";\n public linkTarget = \"_self\";\n public linkTitle = \"\";\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n return focus || focusBlock ? (\n \n ) : (\n this.html()\n );\n }\n\n public html(): JSX.Element {\n return ;\n }\n\n public static canNewFromFile(): boolean {\n return true;\n }\n\n public static async newFromFile({ file }: { file: File }): Promise {\n return new Image({\n url: URL.createObjectURL(file),\n });\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n const domparser = new DOMParser();\n const doc = domparser.parseFromString(html, \"text/html\");\n\n return new Image(\n Object.assign(\n {\n url: (doc.querySelector(\"IMG\") as HTMLImageElement).src || \"\",\n className:\n (doc.querySelector(\"IMG\") as HTMLImageElement).className || \"\",\n alt: (doc.querySelector(\"IMG\") as HTMLImageElement).alt || \"\",\n caption:\n (doc.querySelector(\"FIGCAPTION\") &&\n (\n doc.querySelector(\"FIGCAPTION\") as HTMLElement\n ).innerHTML.replace(/]*>/g, \"\\n\")) ||\n \"\",\n },\n meta\n )\n );\n }\n}\n\nexport default Image;\n","import { t } from \"../i18n\";\nimport React from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../Block\";\nimport { sanitize } from \"../util\";\nimport { blockProperty } from \"../decorator\";\nimport icon from \"../img/icon/file.svg\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport BlockLabel from \"../Component/BlockLabel\";\n\ninterface HtmlProps {\n block: File;\n}\ninterface EditorProps extends EditorOptions {\n block: File;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst Editor: React.FC = blockProperty(\n ({ block }: EditorProps) => (\n
\n \n \n \n \n \n
\n )\n);\n\nconst Html: React.FC = ({ block }: HtmlProps) => (\n <>\n {block.text}\n \n);\n\nclass File extends Block {\n public static typeId = \"core-file\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"File\");\n }\n\n public text = \"\";\n public url = \"\";\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public editor({ focus }: EditorOptions): JSX.Element {\n return focus ? (\n \n ) : (\n
\n );\n }\n\n public html(): JSX.Element {\n return ;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n const domparser = new DOMParser();\n const doc = domparser.parseFromString(html, \"text/html\");\n\n return new File(\n Object.assign(\n {\n url: (doc.querySelector(\"A\") as HTMLAnchorElement).href || \"\",\n text: (doc.querySelector(\"A\") as HTMLAnchorElement).textContent || \"\",\n },\n meta\n )\n );\n }\n}\n\nexport default File;\n","import { t } from \"../../../i18n\";\nimport React, { useEffect, useMemo, CSSProperties } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../../../Block\";\nimport {\n sanitize,\n getShadowDomSelectorSet,\n isPassThroughNativeEvent,\n} from \"../../../util\";\nimport type {\n Editor as TinyMCEEditor,\n TinyMCE,\n RawEditorOptions as TinyMCESettings,\n} from \"tinymce\";\nimport { useBlocksContext, useEditorContext } from \"../../../Context\";\nimport icon from \"../../../img/icon/table.svg\";\nimport EditorMode from \"../../../Component/EditorMode\";\nimport BlockToolbar from \"../../../Component/BlockToolbar\";\nimport BlockSetupCommon from \"../../../Component/BlockSetupCommon\";\nimport BlockLabel from \"../../../Component/BlockLabel\";\nimport BlockContentEditablePreview, {\n HasEditorStyle,\n} from \"../../../Component/BlockContentEditablePreview\";\nimport { editHandlers } from \"../../Text/tinymce/edit\";\nimport {\n installPlugins as installTinyMCEPlugins,\n commonSettings,\n getTinymceMajorVersion,\n} from \"../../Text/tinymce/tinymce\";\n\nimport {\n HasTinyMCE,\n tinymceFocus,\n removeTinyMCEFromBlock,\n adjustToolbar,\n} from \"../../Text/tinymce/util\";\n\ndeclare const tinymce: TinyMCE;\n\ninterface EditorProps extends Omit {\n block: Table;\n}\n\nconst Editor: React.FC = ({ block }: EditorProps) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor } = editorContext;\n const { addBlock } = useBlocksContext();\n\n const selectorSet = getShadowDomSelectorSet(block.id);\n const settings = useMemo(() => {\n const pluginsSettings: TinyMCESettings =\n getTinymceMajorVersion() >= 6\n ? {\n plugins: [\"table\", \"code\", \"media\", \"link\", \"MTBlockEditor\"],\n }\n : {\n plugins: \"table code paste media textcolor link MTBlockEditor\",\n };\n\n const _settings: TinyMCESettings = {\n ...commonSettings(editor, block, editorContext, blocksContext),\n ...pluginsSettings,\n toolbar:\n \"table | bold italic underline strikethrough forecolor backcolor removeformat | alignleft aligncenter alignright | link unlink | code\",\n init_instance_callback: (ed: TinyMCEEditor) => {\n block.tinymce = ed;\n\n ed.setContent(block.text);\n tinymceFocus(ed, selectorSet);\n\n const root = ed.dom.getRoot();\n\n // XXX: disable undo feature focefully\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ed.undoManager.add = (): any => {\n // XXX: improve performance\n if (getTinymceMajorVersion() >= 6) {\n ed.dispatch(\"Change\");\n } else {\n ed.fire(\"Change\");\n }\n return null;\n };\n\n let last = block.text;\n ed.on(\"MTBlockEditorEdit\", (ev) => {\n ed.dom.setHTML(ed.getBody(), ev.html);\n last = ev.html;\n });\n\n const addEdit = (): void => {\n const cur = ed.getContent();\n if (last === cur) {\n return;\n }\n\n editor.editManager.add({\n block,\n data: {\n last,\n },\n handlers: editHandlers,\n });\n\n last = cur;\n };\n\n ed.on(\"NodeChange Change\", (ev) => {\n if (root.childNodes.length <= 1) {\n addEdit();\n return;\n }\n\n if (ev.type === \"change\") {\n return;\n }\n\n let children = [...root.childNodes] as HTMLElement[];\n\n children = children\n .filter((c) => !c.classList.contains(\"mce-pastebin\"))\n .map((c) => {\n if (c.tagName === \"TABLE\") {\n return c;\n } else {\n const grandChildren: HTMLElement[] = [];\n\n [...c.querySelectorAll(\"TABLE\")].forEach((t) => {\n if ((t.parentElement as HTMLElement).closest(\"TABLE\")) {\n // nest\n return;\n }\n\n root.insertBefore(t, c);\n grandChildren.push(t as HTMLElement);\n });\n ed.dom.remove(c);\n\n return grandChildren;\n }\n })\n .flat() as HTMLElement[];\n\n if (children.length === 1) {\n addEdit();\n return;\n }\n\n children.shift();\n children.reverse();\n children.forEach((c) => {\n ed.dom.remove(c);\n });\n\n editor.editManager.beginGrouping();\n\n addEdit();\n\n children.forEach((c) => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n addBlock(new Table({ text: c.outerHTML }), block);\n });\n\n editor.editManager.endGrouping();\n });\n\n adjustToolbar(ed, block, editor.editorElement);\n },\n ...(editor.opts.block[\"core-table\"]?.[\"tinyMCESettings\"] || {}),\n };\n\n editor.emit(\"buildTinyMCESettings\", {\n editor,\n block,\n settings: _settings,\n });\n\n return _settings;\n }, []);\n\n useEffect(() => {\n installTinyMCEPlugins();\n tinymce.init(settings);\n\n return () => {\n removeTinyMCEFromBlock(block);\n };\n }, []);\n\n const isInSetupMode = editor.opts.mode === \"setup\";\n\n return (\n
\n \n \n
\n \n {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.preventDefault();\n }}\n >\n
\n );\n};\n\nclass Table extends Block implements HasTinyMCE, HasEditorStyle {\n public static typeId = \"core-table\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Table\");\n }\n\n public text = \"\";\n public tinymce: TinyMCEEditor | null = null;\n public editorStyle: CSSProperties = {};\n\n public constructor(init?: Partial
) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public focusEditor(): void {\n if (this.tinymce) {\n this.tinymce.focus(false);\n }\n }\n\n public tinymceId(): string {\n return `textarea-${this.id}`;\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n if (focus) {\n return ;\n }\n\n if (focusBlock || this.htmlString()) {\n const preview = (\n \n );\n return (\n <>\n \n {preview}\n \n {preview}\n \n );\n } else {\n return this.placeholder();\n }\n }\n\n public html(): string {\n if (this.tinymce) {\n try {\n return this.tinymce.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Table(Object.assign({ text: html }, meta));\n }\n}\n\nexport default Table;\n","import { t } from \"../../../i18n\";\nimport React, { useEffect, useRef, useMemo, CSSProperties } from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../../../Block\";\nimport type EditorManager from \"@movabletype/mt-rich-text-editor\";\nimport type {\n Editor as MTRichTextEditorEditor,\n EditorCreateOptions,\n} from \"@movabletype/mt-rich-text-editor\";\n\nimport {\n sanitize,\n getShadowDomSelectorSet,\n isPassThroughNativeEvent,\n} from \"../../../util\";\nimport { useBlocksContext, useEditorContext } from \"../../../Context\";\nimport icon from \"../../../img/icon/table.svg\";\nimport EditorMode from \"../../../Component/EditorMode\";\nimport BlockToolbar from \"../../../Component/BlockToolbar\";\nimport BlockSetupCommon from \"../../../Component/BlockSetupCommon\";\nimport BlockLabel from \"../../../Component/BlockLabel\";\nimport BlockContentEditablePreview, {\n HasEditorStyle,\n} from \"../../../Component/BlockContentEditablePreview\";\nimport { editHandlers } from \"../../Text/mt-rich-text-editor/edit\";\nimport { commonSettings } from \"../../Text/mt-rich-text-editor/common\";\n\nimport {\n HasMTRichTextEditor,\n mtRichTextEditorFocus,\n removeMTRichTextEditorFromBlock,\n adjustToolbar,\n insertCommandPlaceholder,\n} from \"../../Text/mt-rich-text-editor/util\";\n\ndeclare const MTRichTextEditor: typeof EditorManager;\n\ninterface EditorProps extends Omit {\n block: Table;\n}\n\nconst Editor: React.FC = ({ block }: EditorProps) => {\n const blocksContext = useBlocksContext();\n const editorContext = useEditorContext();\n const { editor } = editorContext;\n const { addBlock } = useBlocksContext();\n\n const selectorSet = getShadowDomSelectorSet(block.id);\n\n const toolbar = useRef(null);\n const settings: EditorCreateOptions = useMemo(() => {\n const _settings: EditorCreateOptions = {\n ...commonSettings(editor, block),\n toolbar: [\n [\n [\n [\"table\"],\n [\n \"bold\",\n \"italic\",\n \"underline\",\n \"strike\",\n \"foregroundColor\",\n \"backgroundColor\",\n \"removeFormat\",\n ],\n [\"alignLeft\", \"alignCenter\", \"alignRight\"],\n [\"link\", \"unlink\"],\n [\"source\"],\n ],\n ],\n ],\n ...(editor.opts.block[\"core-table\"]?.[\"mtRichTextEditorSettings\"] || {}),\n };\n\n editor.emit(\"buildMTRichTextEditorSettings\", {\n editor,\n block,\n settings: _settings,\n });\n\n insertCommandPlaceholder(_settings);\n\n return _settings;\n }, []);\n\n useEffect(() => {\n const toolbarContainer = document.createElement(\"div\");\n toolbar.current?.appendChild(toolbarContainer);\n settings.toolbarContainer = toolbarContainer;\n MTRichTextEditor.create(settings).then((ed) => {\n block.mtRichTextEditor = ed;\n ed.setContent(block.text);\n mtRichTextEditorFocus(ed, selectorSet);\n adjustToolbar(block, editor.editorElement);\n\n let last = block.text;\n const onUndo = (html: string): void => {\n last = html;\n };\n const addEdit = (): void => {\n const cur = ed.getContent();\n if (last === cur) {\n return;\n }\n\n editor.editManager.add({\n block,\n data: {\n last,\n onUndo,\n },\n handlers: editHandlers,\n });\n\n last = cur;\n };\n\n const root = ed.tiptap.view.dom;\n ed.tiptap.on(\"update\", () => {\n let children = [...root.children];\n\n if (children.length <= 1) {\n addEdit();\n return;\n }\n\n children = children\n .map((c) => {\n if (c.tagName === \"TABLE\") {\n return c;\n } else {\n const grandChildren: HTMLElement[] = [];\n\n [...c.querySelectorAll(\"TABLE\")].forEach((t) => {\n if ((t.parentElement as HTMLElement).closest(\"TABLE\")) {\n // nest\n return;\n }\n\n root.insertBefore(t, c);\n grandChildren.push(t as HTMLElement);\n });\n // ed.dom.remove(c);\n\n return grandChildren;\n }\n })\n .flat() as HTMLElement[];\n\n if (children.length === 1) {\n addEdit();\n return;\n }\n\n const firstChild = children.shift();\n ed.tiptap.commands.setContent(firstChild!.outerHTML);\n\n editor.editManager.beginGrouping();\n\n addEdit();\n\n children.forEach((c) => {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n addBlock(new Table({ text: c.outerHTML }), block);\n });\n\n editor.editManager.endGrouping();\n });\n });\n\n return () => {\n removeMTRichTextEditorFromBlock(block);\n };\n }, []);\n\n const isInSetupMode = editor.opts.mode === \"setup\";\n\n return (\n
\n \n \n
\n \n {\n if (isPassThroughNativeEvent(ev.nativeEvent)) {\n return;\n }\n\n ev.preventDefault();\n }}\n ref={toolbar}\n >\n \n );\n};\n\nclass Table extends Block implements HasMTRichTextEditor, HasEditorStyle {\n public static typeId = \"core-table\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Table\");\n }\n\n public text = \"\";\n public mtRichTextEditor: MTRichTextEditorEditor | null = null;\n public editorStyle: CSSProperties = {};\n\n public constructor(init?: Partial
) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public focusEditor(): void {\n if (this.mtRichTextEditor) {\n this.mtRichTextEditor.focus();\n }\n }\n\n public mtRichTextEditorId(): string {\n return `textarea-${this.id}`;\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n if (focus) {\n return ;\n }\n\n if (focusBlock || this.htmlString()) {\n const preview = (\n \n );\n return (\n <>\n \n {preview}\n \n {preview}\n \n );\n } else {\n return this.placeholder();\n }\n }\n\n public html(): string {\n if (this.mtRichTextEditor) {\n try {\n return this.mtRichTextEditor.getContent();\n } catch (e) {\n console.log(e);\n }\n }\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Table(Object.assign({ text: html }, meta));\n }\n}\n\nexport default Table;\n","import TableForTinyMCE from \"./tinymce/Table\";\nimport TableForMTRichTextEditor from \"./mt-rich-text-editor/Table\";\n\nconst Table =\n \"MTRichTextEditor\" in globalThis ? TableForMTRichTextEditor : TableForTinyMCE;\n\nexport default Table;\n","import { t } from \"../i18n\";\nimport React from \"react\";\nimport Block from \"../Block\";\nimport icon from \"../img/icon/horizontalrule.svg\";\n\nconst Editor: React.FC = () => {\n return
;\n};\n\nclass Horizontalrule extends Block {\n public static typeId = \"core-horizontalrule\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"Horizontal Rule\");\n }\n\n public editor(): JSX.Element {\n return ;\n }\n\n public html(): JSX.Element {\n return
;\n }\n\n public static async newFromHtml(): Promise {\n return new Horizontalrule();\n }\n}\n\nexport default Horizontalrule;\n","import { t } from \"../i18n\";\nimport React from \"react\";\nimport Block, { NewFromHtmlOptions, EditorOptions } from \"../Block\";\nimport { blockProperty } from \"../decorator\";\nimport BlockIframePreview from \"../Component/BlockIframePreview\";\nimport icon from \"../img/icon/html.svg\";\nimport BlockSetupCommon from \"../Component/BlockSetupCommon\";\nimport BlockLabel from \"../Component/BlockLabel\";\n\ninterface EditorProps {\n block: Html;\n}\n\nconst Editor: React.FC = blockProperty(\n ({ block }: EditorProps) => (\n
\n \n \n \n \n
\n )\n);\n\nclass Html extends Block {\n public static typeId = \"core-html\";\n public static selectable = true;\n public static icon = icon;\n public static get label(): string {\n return t(\"HTML\");\n }\n\n public text = \"\";\n\n public constructor(init?: Partial) {\n super();\n if (init) {\n Object.assign(this, init);\n }\n }\n\n public editor({ focus, focusBlock }: EditorOptions): JSX.Element {\n return focus || focusBlock ? (\n \n ) : (\n \n );\n }\n\n public html(): string {\n return this.text;\n }\n\n public static async newFromHtml({\n html,\n meta,\n }: NewFromHtmlOptions): Promise {\n return new Html(\n Object.assign(\n {\n text: html,\n },\n meta\n )\n );\n }\n}\n\nexport default Html;\n","import BlockFactory from \"./BlockFactory\";\n\nimport Text from \"./Block/Text\";\nimport Image from \"./Block/Image\";\nimport File from \"./Block/File\";\nimport Table from \"./Block/Table\";\nimport Horizontalrule from \"./Block/Horizontalrule\";\nimport Html from \"./Block/Html\";\nimport Columns from \"./Block/Columns\";\nimport Column from \"./Block/Column\";\n\nBlockFactory.registerType(Text);\nBlockFactory.registerType(Image);\nBlockFactory.registerType(File);\nBlockFactory.registerType(Table);\nBlockFactory.registerType(Horizontalrule);\nBlockFactory.registerType(Html);\nBlockFactory.registerType(Columns);\nBlockFactory.registerType(Column);\n","import { tinymceFocus } from \"./tinymce/util\";\nimport { mtRichTextEditorFocus } from \"./mt-rich-text-editor/util\";\n\nexport const focus =\n \"MTRichTextEditor\" in globalThis ? mtRichTextEditorFocus : tinymceFocus;\n","import { t } from \"../i18n\";\nimport icon from \"../img/copy.svg\";\nimport type { Command } from \"../CommandManager\";\nimport { focus } from \"../Block/Text/util\";\nimport Text from \"../Block/Text\";\nimport Table from \"../Block/Table\";\n\nconst isTextSelected = (): boolean => {\n // Some content is selected in the HTMLElement or Text.\n // In Firefox, even if text in HTMLInputElement is selected, the value cannot be retrieved.\n const selection = window.getSelection();\n if (selection && (!selection.isCollapsed || selection.toString() !== \"\")) {\n return true;\n }\n\n // In Firefox, look for the selected text in document.activeElement.\n const element = document.activeElement;\n if (\n (element instanceof HTMLInputElement ||\n element instanceof HTMLTextAreaElement) &&\n element.selectionStart !== element.selectionEnd\n ) {\n return true;\n }\n\n return false;\n};\n\nconst isClipboardAPIAvailable: () => boolean = () =>\n typeof navigator.clipboard?.write === \"function\" ||\n typeof navigator.clipboard?.writeText === \"function\";\n\nconst command: Command = {\n get label() {\n return t(\"Copy\");\n },\n icon,\n shortcut: \"cmd+c\",\n command: \"core-copyBlock\",\n condition: isClipboardAPIAvailable,\n callback: async ({ blocks, editorContext: { editor }, event }) => {\n if (!isClipboardAPIAvailable()) {\n return;\n }\n\n if (isTextSelected()) {\n // Prefer browser default behavior\n return;\n }\n\n if (blocks.length === 0) {\n return;\n }\n\n event.preventDefault();\n\n if (blocks.length === 1) {\n const block = blocks[0];\n block.wrapperRef.current?.classList.add(\"mt-be-focus\");\n setTimeout(() => {\n block.wrapperRef.current?.classList.remove(\"mt-be-focus\");\n }, 100);\n if (block instanceof Text || block instanceof Table) {\n const editor =\n \"mtRichTextEditor\" in block ? block.mtRichTextEditor : block.tinymce;\n if (editor) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n focus(editor as any, null);\n }\n }\n }\n\n let data = (\n await Promise.all(\n blocks.map((block) => block.toClipboardItem({ editor }))\n )\n ).reduce((acc, item) => {\n if (item instanceof Array) {\n acc ||= [];\n } else {\n acc ||= \"\";\n }\n\n if (acc instanceof Array && item instanceof Array) {\n return acc.concat(item);\n } else if (typeof acc === \"string\" && typeof item === \"string\") {\n return acc + item;\n }\n }, undefined);\n\n if (typeof data === \"string\" && typeof ClipboardItem === \"function\") {\n const htmlBlob = new Blob([data], { type: \"text/html\" });\n const plainBlob = new Blob([data], { type: \"text/plain\" });\n data = [\n new ClipboardItem({\n \"text/html\": htmlBlob,\n \"text/plain\": plainBlob,\n }),\n ];\n }\n\n if (data instanceof Array) {\n navigator.clipboard.write(data);\n } else if (typeof data === \"string\") {\n navigator.clipboard.writeText(data);\n }\n },\n};\n\nexport default command;\n","import { t } from \"../i18n\";\nimport icon from \"../img/duplicate.svg\";\nimport type { Command } from \"../CommandManager\";\nimport { parseContent, preParseContent, ParserContext } from \"../util\";\n\nconst command: Command = {\n get label() {\n return t(\"Duplicate\");\n },\n icon,\n shortcut: \"cmd+d\",\n command: \"core-duplicateBlock\",\n callback: async ({\n blocks,\n editorContext: { editor, setFocusedIds },\n blocksContext: { addBlock },\n event,\n }) => {\n if (blocks.length === 0) {\n return;\n }\n\n event?.preventDefault();\n\n const html = (\n await Promise.all(\n blocks.map((block) => block.serialize({ editor, external: true }))\n )\n ).join(\"\");\n\n const newBlocks = await parseContent(\n preParseContent(html),\n editor.factory,\n new ParserContext()\n );\n\n editor.editManager.beginGrouping();\n for (const newBlock of newBlocks.reverse()) {\n addBlock(newBlock, blocks[blocks.length - 1]);\n }\n editor.editManager.endGrouping();\n setFocusedIds([newBlocks[0].id]);\n\n editor.render();\n },\n};\n\nexport default command;\n","import { t } from \"../i18n\";\nimport { isTouchDevice } from \"../util\";\nimport icon from \"../img/remove.svg\";\nimport type { Command } from \"../CommandManager\";\n\nconst command: Command = {\n get label() {\n return t(\"Delete\");\n },\n icon,\n command: \"core-deleteBlock\",\n callback: ({ blocks, editorContext: { editor }, event }) => {\n event.preventDefault();\n\n if (isTouchDevice()) {\n if (!window.confirm(t(\"Are you sure you want to remove the block?\"))) {\n return;\n }\n }\n\n editor.editManager.beginGrouping();\n blocks.forEach((block) => editor.removeBlock(editor, block));\n editor.editManager.endGrouping();\n\n editor.render();\n },\n};\n\nexport default command;\n","import type { Command } from \"../CommandManager\";\n\nconst command: Command = {\n shortcut: \"cmd+k\",\n command: \"core-insertLink\",\n callback: ({\n blocks,\n editorContext: {\n editor: { commandManager },\n },\n event,\n }) => {\n event?.preventDefault();\n\n commandManager.emit(blocks, \"core-insertLink\");\n },\n};\n\nexport default command;\n","import EventEmitter from \"eventemitter3\";\nimport React from \"react\";\nimport { render } from \"react-dom\";\nimport { InitOptions as InitOptionsI18n } from \"i18next\";\n\nimport resetCss from \"./reset.css?raw\";\nimport editorContentCss from \"./editor-content.css?raw\";\nimport {\n getElementById,\n preParseContent,\n parseContent,\n escapeSingleQuoteAttribute,\n ParserContext,\n} from \"./util\";\nimport Block, { HasBlocks, DEFAULT_KEYS_FOR_SETUP } from \"./Block\";\nimport App from \"./Component/App\";\nimport BlockFactory from \"./BlockFactory\";\nimport EditManager from \"./EditManager\";\nimport CommandManager, { Command } from \"./CommandManager\";\nimport {\n add as editHandlersAdd,\n remove as editHandlersRemove,\n swap as editHandlersSwap,\n} from \"./Editor/edit\";\nimport { beforeRenderIframePreview } from \"./event/default\";\n\nimport \"./import-default-blocks\";\nimport \"./import-default-commands\";\n\nexport enum StylesheetType {\n url,\n css,\n}\n\ninterface Stylesheet {\n type: StylesheetType;\n data: string;\n}\n\ninterface Metadata {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport interface EditorOptions {\n id: string;\n mode: string;\n stylesheets: Array;\n rootClassName?: string;\n rootAttributes?: Record;\n panelBlockTypes?: string[];\n shortcutBlockTypes?: string[];\n addButtons: Metadata;\n editManager?: Partial;\n block: Metadata;\n i18n: InitOptionsI18n;\n}\n\ninterface MetadataMapData {\n id: string;\n blockIds: Set;\n}\n\nexport class Editor extends EventEmitter implements HasBlocks {\n public id: string;\n public opts: EditorOptions;\n public factory: BlockFactory;\n public editManager: EditManager;\n public commandManager: CommandManager;\n public blocks: Block[] = [];\n public stylesheets: Stylesheet[] = [];\n public editorElement: HTMLElement;\n\n private inputElement: HTMLInputElement;\n private metadataMap: Map = new Map<\n string,\n MetadataMapData\n >();\n private metadataMapSequence = 1;\n private keyboardShortcutCache: Record = {};\n private initialized = false;\n\n public constructor(opts: EditorOptions) {\n super();\n\n this.id = opts.id;\n this.opts = opts;\n opts.block = opts.block || {};\n opts.i18n = opts.i18n || {};\n opts.addButtons = opts.addButtons || { bottom: true };\n opts.rootClassName = opts.rootClassName || \"\";\n opts.rootAttributes = opts.rootAttributes || {};\n\n this.factory = new BlockFactory();\n this.editManager = new EditManager(\n Object.assign({ editor: this }, opts.editManager || {})\n );\n this.commandManager = new CommandManager({ editor: this });\n\n this.inputElement = getElementById(this.id) as HTMLInputElement;\n this.inputElement.style.display = \"none\";\n if (!this.inputElement.parentNode) {\n throw \"error\";\n }\n\n this.editorElement = document.createElement(\"div\");\n this.editorElement.setAttribute(\"data-mt-be-id\", this.id);\n this.editorElement.classList.add(\"mt-block-editor\");\n\n this.inputElement.parentNode.insertBefore(\n this.editorElement,\n this.inputElement\n );\n\n this.initDefaultEventHandlers();\n\n setTimeout(async () => {\n this.keyboardShortcutCache = await this.buildKeyboardShortcutCache();\n this.stylesheets = await Promise.all(this.buildStylesheets());\n const blocks = await parseContent(\n preParseContent(this.inputElement.value),\n this.factory,\n new ParserContext()\n );\n this.blocks = blocks;\n this.emit(\"initializeBlocks\", { editor: this, blocks });\n this.initialized = true;\n\n this.render();\n }, 0);\n }\n\n private initDefaultEventHandlers(): void {\n this.on(\"beforeRenderIframePreview\", beforeRenderIframePreview);\n }\n\n public selectableTypes(typeIds: string[]): Array {\n const types = this.factory.selectableTypes();\n return typeIds\n .map((typeId) => types.find((t) => t.typeId === typeId))\n .filter((t) => t) as Array;\n }\n\n public panelTypes(): Array {\n return this.opts.panelBlockTypes\n ? this.selectableTypes(this.opts.panelBlockTypes)\n : this.factory.selectableTypes();\n }\n\n public shortcutTypes(): Array {\n return this.opts.shortcutBlockTypes\n ? this.selectableTypes(this.opts.shortcutBlockTypes)\n : [];\n }\n\n public async buildKeyboardShortcutCache(): Promise> {\n const cache: Record = {};\n for (const command of await this.commandManager.commands()) {\n if (command.shortcut) {\n cache[command.shortcut] = command;\n }\n }\n return cache;\n }\n\n public keyboardShortcutMap(): Record {\n return this.keyboardShortcutCache;\n }\n\n public addBlock(parent: HasBlocks, block: Block, index: number): void {\n const blocks = parent.blocks;\n\n blocks.splice(index, 0, block);\n\n // XXX: Skip render by default\n // this.render();\n\n this.editManager.add({\n block: block,\n data: {\n parent: parent instanceof Editor ? null : parent,\n index,\n },\n handlers: editHandlersAdd,\n });\n\n this.emit(\"changeBlocks\", {\n editor: this,\n blocks: blocks,\n });\n }\n\n public mergeBlock(parent: HasBlocks, block: Block): boolean {\n const blocks = parent.blocks;\n\n const index = blocks.indexOf(block);\n if (index === -1) {\n return false;\n }\n const before = blocks[index - 1];\n if (!before) {\n return false;\n }\n if (!before.canMerge(block)) {\n return false;\n }\n\n this.editManager.beginGrouping();\n\n this.editManager.add(before.merge(block));\n this.removeBlock(parent, block);\n\n this.editManager.endGrouping();\n\n return true;\n }\n\n public removeBlock(parent: HasBlocks, block: Block): void {\n const blocks = parent.blocks;\n\n this.emit(\"removeBlock\", {\n editor: this,\n blocks,\n block,\n });\n\n const index = blocks.indexOf(block);\n if (index === -1) {\n return;\n }\n\n blocks.splice(index, 1);\n this.render();\n\n this.editManager.add({\n block: block,\n data: {\n parent: parent instanceof Editor ? null : parent,\n index,\n },\n handlers: editHandlersRemove,\n });\n\n this.emit(\"changeBlocks\", {\n editor: this,\n blocks,\n });\n }\n\n public swapBlocks(parent: HasBlocks, a: number, b: number): void {\n const blocks = parent.blocks;\n\n [blocks[a], blocks[b]] = [blocks[b], blocks[a]];\n this.render();\n\n this.editManager.add({\n block: blocks[a],\n data: {\n parent: parent instanceof Editor ? null : parent,\n a,\n b,\n },\n handlers: editHandlersSwap,\n });\n\n this.emit(\"changeBlocks\", {\n editor: this,\n blocks,\n });\n }\n\n public async serialize(): Promise {\n if (!this.initialized) {\n // should not update textarea value before initialization\n return;\n }\n\n const blocks = this.blocks.concat();\n this.emit(\"serialize\", {\n editor: this,\n blocks,\n });\n\n const values = await Promise.all(\n blocks.map((b) => b.serialize({ editor: this, external: false }))\n );\n\n const metadataReverseMap: Metadata = {};\n this.metadataMap.forEach(({ id }, v) => {\n metadataReverseMap[id] = JSON.parse(v);\n });\n\n this.inputElement.value =\n (this.metadataMap.size > 0\n ? ``\n : \"\") + values.join(\"\");\n }\n\n private getMetadataMapIndexes(\n blockId: string,\n stringArray: string[]\n ): string[] {\n const targetMap: Record = {};\n stringArray.forEach((str) => {\n targetMap[str] = this.metadataMap.get(str);\n });\n\n const reusableIds = [];\n for (const [k, data] of this.metadataMap) {\n if (targetMap[k]) {\n continue;\n }\n\n if (data.blockIds.has(blockId)) {\n if (data.blockIds.size === 1) {\n this.metadataMap.delete(k);\n reusableIds.push(data.id);\n } else {\n data.blockIds.delete(blockId);\n }\n }\n }\n\n for (const str of Object.keys(targetMap)) {\n const data = (targetMap[str] ||= {\n id: reusableIds.shift() || (this.metadataMapSequence++).toString(36),\n blockIds: new Set(),\n });\n\n data.blockIds.add(blockId);\n if (!this.metadataMap.has(str)) {\n this.metadataMap.set(str, data);\n }\n }\n\n return Object.values(targetMap)\n .filter((td): td is MetadataMapData => !!td)\n .map((td) => td.id);\n }\n\n public serializeMeta(block: Block, external: boolean): string | null {\n const meta = block.metadata();\n if (!meta) {\n return null;\n }\n\n if (external) {\n return JSON.stringify(meta);\n }\n\n const metaSetup: Metadata = {};\n DEFAULT_KEYS_FOR_SETUP.concat(block.keysForSetup()).forEach((k) => {\n if (k in meta) {\n metaSetup[k] = meta[k];\n Reflect.deleteProperty(meta, k);\n }\n });\n\n const metaStrings = [metaSetup, meta]\n .map((m) => (Object.keys(m).length > 0 ? JSON.stringify(m) : null))\n .filter((s): s is string => !!s);\n\n return this.getMetadataMapIndexes(block.id, metaStrings).join(\",\");\n }\n\n public unload(): void {\n this.emit(\"beforeUnload\", {\n editor: this,\n });\n this.editManager.unload();\n this.editorElement.remove();\n this.inputElement.style.display = \"\";\n this.emit(\"unload\", {\n editor: this,\n });\n }\n\n public render(): void {\n render(React.createElement(App, { editor: this }), this.editorElement);\n }\n\n private buildStylesheets(): Array> {\n return [\n {\n type: StylesheetType.css,\n data: resetCss + editorContentCss,\n },\n ...this.opts.stylesheets\n .filter((s) => s)\n .map(async (s) => {\n if (/^blob:/.test(s)) {\n const res = await fetch(s);\n return {\n type: StylesheetType.css,\n data: await res.text(),\n };\n } else if (/^https?:/.test(s)) {\n return {\n type: StylesheetType.url,\n data: s,\n };\n } else {\n return {\n type: StylesheetType.css,\n data: s,\n };\n }\n }),\n ];\n }\n}\n\nexport default Editor;\n","import CommandManager from \"./CommandManager\";\n\nimport copyBlock from \"./commands/copyBlock\";\nimport pasteBlock from \"./commands/pasteBlock\";\nimport duplicateBlock from \"./commands/duplicateBlock\";\nimport deleteBlock from \"./commands/deleteBlock\";\nimport insertLink from \"./commands/insertLink\";\n\nCommandManager.registerCommand(copyBlock);\nCommandManager.registerCommand(pasteBlock);\nCommandManager.registerCommand(duplicateBlock);\nCommandManager.registerCommand(deleteBlock);\nCommandManager.registerCommand(insertLink);\n","import Editor from \"./Editor\";\n\nclass EditorManager {\n private static _instance: EditorManager;\n public editors: Editor[];\n\n public static instance(): EditorManager {\n this._instance = this._instance || new EditorManager();\n return this._instance;\n }\n\n public constructor() {\n this.editors = [];\n }\n\n public add(e: Editor): void {\n this.editors.push(e);\n }\n\n public get(id: string): Editor | undefined {\n return this.editors.find((e: Editor) => e.id === id);\n }\n\n public async remove(id: string): Promise {\n const e = this.get(id);\n if (!e) {\n return;\n }\n await e.serialize();\n e.unload();\n\n const index = this.editors.indexOf(e);\n if (index === -1) {\n return;\n }\n this.editors.splice(index, 1);\n }\n}\n\nexport default EditorManager;\n","/** @license\n# Movable Type Block Editor (C) 2020 Six Apart Ltd. All Rights Reserved.\n# This code cannot be redistributed without permission from www.sixapart.com.\n*/\n\nimport packageInfo from \"../package.json\";\nimport i18n, { init as initI18n } from \"./i18n\";\nimport { InitOptions as InitOptionsI18n } from \"i18next\";\nimport \"./mt-block-editor.scss\";\nimport Editor, { EditorOptions } from \"./Editor\";\nimport EditorManager from \"./EditorManager\";\n\nimport React from \"react\";\nimport Block from \"./Block\";\nimport Column from \"./Block/Column\";\nimport BlockFactory from \"./BlockFactory\";\n\nimport BlockIframePreview from \"./Component/BlockIframePreview\";\nimport BlockToolbar from \"./Component/BlockToolbar\";\nimport BlockToolbarButton from \"./Component/BlockToolbarButton\";\nimport BlockConfigPanel from \"./Component/BlockConfigPanel\";\nimport BlockSetup from \"./Component/BlockSetup\";\nimport BlockSetupCommon from \"./Component/BlockSetupCommon\";\nimport BlockLabel from \"./Component/BlockLabel\";\nimport EditorMode from \"./Component/EditorMode\";\nimport {\n Dialog,\n DialogHeader,\n DialogBody,\n DialogFooter,\n} from \"./Component/Dialog\";\n\nimport * as Context from \"./Context\";\nimport * as Hook from \"./Hook\";\nimport * as icon from \"./icon\";\nimport * as util from \"./util\";\nimport * as decorator from \"./decorator\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype EventHandler = (...args: any[]) => void;\n\nexport interface BoilerplateBlockOptions {\n typeId: string;\n className: string;\n rootBlock?: string | null;\n label: string;\n icon: string;\n iconString: string;\n html: string;\n canRemoveBlock: boolean;\n panelBlockTypes?: string[];\n shortcutBlockTypes?: string[];\n shouldBeCompiled: boolean;\n showPreview: boolean;\n previewHeader: string;\n}\n\ninterface BoilerplateBlockOverwrites {\n _html: string;\n canRemoveBlock?: boolean;\n panelBlockTypes?: string[];\n shortcutBlockTypes?: string[];\n previewHeader?: string;\n}\n\ninterface BoilerplateBlockInitOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n}\n\nexport class EditorUtil {\n public static version = packageInfo.version;\n public static i18n = i18n;\n public static Component = {\n BlockIframePreview,\n BlockToolbar,\n BlockToolbarButton,\n BlockConfigPanel,\n BlockSetup,\n BlockSetupCommon,\n BlockLabel,\n EditorMode,\n Dialog,\n DialogHeader,\n DialogBody,\n DialogFooter,\n };\n public static decorator = decorator;\n public static React = React;\n public static Block = Block;\n public static Context = Context;\n public static Hook = Hook;\n public static icon = icon;\n public static util = util;\n\n static #eventHandlers: Record = {};\n\n public static on(\n name: \"create\",\n handler: (opts: EditorOptions) => void\n ): void;\n public static on(name: \"init\", handler: (editor: Editor) => void): void;\n public static on(name: string, handler: EventHandler): void {\n if (!this.#eventHandlers[name]) {\n this.#eventHandlers[name] = [];\n }\n this.#eventHandlers[name].push(handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static emit(name: string, ...args: any[]): void {\n const handlers = this.#eventHandlers[name] || [];\n handlers.forEach((handler) => handler(...args));\n }\n\n public static async apply(opts: EditorOptions): Promise {\n const optsI18n: InitOptionsI18n = opts.i18n || {};\n await initI18n(optsI18n);\n\n const m = EditorManager.instance();\n this.emit(\"create\", opts);\n const e = new Editor(opts as EditorOptions);\n this.emit(\"init\", e);\n m.add(e);\n\n return e;\n }\n\n public static get({ id }: { id: string }): Editor | undefined {\n const m = EditorManager.instance();\n return m.get(id);\n }\n\n public static async unload({ id }: { id: string }): Promise {\n const m = EditorManager.instance();\n await m.remove(id);\n }\n\n public static async serialize(): Promise {\n const m = EditorManager.instance();\n await Promise.all(m.editors.map((e) => e.serialize()));\n }\n\n public static registerBlockType(block: typeof Block): void {\n BlockFactory.registerType(block);\n }\n\n public static deregisterBlockType(block: typeof Block | string): void {\n BlockFactory.deregisterType(block);\n }\n\n public static createBoilerplateBlock({\n typeId,\n className,\n rootBlock,\n label,\n icon,\n iconString,\n html,\n canRemoveBlock,\n panelBlockTypes,\n shortcutBlockTypes,\n shouldBeCompiled,\n showPreview,\n previewHeader,\n }: BoilerplateBlockOptions): typeof Block {\n const BoilerplateBlock = function (\n this: Column,\n init: BoilerplateBlockInitOptions\n ): void {\n const overwrite: BoilerplateBlockOverwrites = {\n _html: html,\n };\n if (canRemoveBlock !== undefined) {\n overwrite.canRemoveBlock = !!canRemoveBlock;\n }\n if (panelBlockTypes) {\n overwrite.panelBlockTypes = panelBlockTypes;\n }\n if (shortcutBlockTypes) {\n overwrite.shortcutBlockTypes = shortcutBlockTypes;\n }\n if (previewHeader !== undefined) {\n overwrite.previewHeader = previewHeader;\n }\n\n return Reflect.construct(\n Column,\n [Object.assign(overwrite, init || {})],\n BoilerplateBlock\n );\n };\n\n BoilerplateBlock.prototype = Object.create(Column.prototype);\n BoilerplateBlock.prototype.constructor = BoilerplateBlock;\n BoilerplateBlock.typeId = typeId;\n BoilerplateBlock.className = className;\n BoilerplateBlock.label = label;\n if (rootBlock !== undefined) {\n BoilerplateBlock.rootBlock = rootBlock;\n }\n if (icon) {\n BoilerplateBlock.icon = icon;\n }\n if (iconString) {\n BoilerplateBlock.iconString = iconString;\n }\n BoilerplateBlock.selectable = true;\n if (shouldBeCompiled !== undefined) {\n BoilerplateBlock.shouldBeCompiled = shouldBeCompiled;\n }\n if (showPreview !== undefined) {\n BoilerplateBlock.showPreview = showPreview;\n }\n\n Object.setPrototypeOf(BoilerplateBlock, Column);\n\n return BoilerplateBlock as unknown as typeof Block;\n }\n\n public static isSupportedEnvironment(): boolean {\n if (/Trident|MSIE|Edge/.test(window.navigator.userAgent)) {\n return false;\n }\n\n return true;\n }\n}\n\ndeclare global {\n interface Window {\n MTBlockEditor: typeof EditorUtil;\n }\n}\n\nwindow.MTBlockEditor = EditorUtil;\n"],"names":["module","exports","locales","it","TypeError","String","isObject","wellKnownSymbol","create","definePropertyModule","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","f","configurable","value","key","charAt","S","index","unicode","length","Constructor","name","toObject","toAbsoluteIndex","toLength","O","this","argumentsLength","arguments","end","endPos","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","forEach","callbackfn","bind","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","result","step","iterator","next","C","mapfn","mapping","iteratorMethod","call","done","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","IndexedObject","arraySpeciesCreate","push","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","that","specificCreate","self","boundFunction","target","map","filter","some","every","find","findIndex","fails","V8_VERSION","SPECIES","METHOD_NAME","array","constructor","foo","Boolean","argument","method","DESCRIPTORS","has","defineProperty","Object","cache","thrower","options","ACCESSORS","argument0","argument1","enumerable","get","aFunction","IS_RIGHT","memo","i","left","right","isArray","originalArray","anObject","fn","ENTRIES","error","returnMethod","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","from","exec","SKIP_CLOSING","ITERATION_SUPPORT","object","toString","slice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tag","tryGet","callee","set","adder","add","k","len","wasDeleted","collection","remover","allDeleted","redefineAll","anInstance","iterate","defineIterator","setSpecies","fastKey","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","type","first","last","size","getInternalState","define","previous","state","entry","getEntry","removed","clear","data","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","$","global","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","entries","REQUIRED","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","forced","ownKeys","getOwnPropertyDescriptorModule","source","keys","getOwnPropertyDescriptor","MATCH","regexp","e","F","getPrototypeOf","requireObjectCoercible","quot","string","attribute","p1","replace","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","NAME","bitmap","writable","toPrimitive","propertyKey","hint","createIteratorConstructor","setPrototypeOf","createNonEnumerableProperty","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","values","proto","path","wrappedWellKnownSymbolModule","Symbol","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","userAgent","test","getBuiltIn","match","version","process","versions","v8","split","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","a","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","str","arg2","forceStringMethod","stringMethod","regexMethod","RegExp","arg","flattenIntoArray","original","sourceLen","start","depth","mapper","thisArg","element","targetIndex","sourceIndex","mapFn","isExtensible","preventExtensions","b","c","factories","Function","partArgs","args","concat","argsLength","list","join","construct","variable","namespace","classof","getIterator","Map","Set","check","Math","globalThis","window","g","hasOwnProperty","console","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","hiddenKeys","uid","FREEZING","METADATA","id","setMetadata","objectID","weakData","meta","getWeakData","onFreeze","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","replacement","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","isRegExp","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","stop","PrototypeOfArrayIteratorPrototype","arrayIterator","flush","head","notify","toggle","node","promise","then","macrotask","IS_IOS","MutationObserver","WebKitMutationObserver","Promise","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","parent","domain","exit","enter","nextTick","createTextNode","observe","characterData","resolve","task","getOwnPropertySymbols","url","URL","searchParams","pathname","toJSON","sort","href","URLSearchParams","username","host","hash","PromiseCapability","reject","$$resolve","$$reject","trim","whitespaces","$parseFloat","parseFloat","Infinity","trimmedString","$parseInt","parseInt","hex","radix","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","assign","A","B","symbol","alphabet","chr","T","j","activeXDocument","defineProperties","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","write","close","temp","parentWindow","NullProtoObjectViaActiveX","style","display","appendChild","src","contentWindow","open","Properties","IE8_DOM_DEFINE","nativeDefineProperty","P","Attributes","nativeGetOwnPropertyDescriptor","nativeGetOwnPropertyNames","windowNames","getOwnPropertyNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","nativePropertyIsEnumerable","NASHORN_BUG","V","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","TO_ENTRIES","getOwnPropertyNamesModule","newPromiseCapability","x","promiseCapability","enforceInternalState","TEMPLATE","unsafe","simple","R","re1","re2","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","sticky","charsAdded","strCopy","multiline","input","ignoreCase","dotAll","RE","s","y","TAG","shared","SHARED","mode","copyright","defaultConstructor","toInteger","CONVERT_TO_STRING","pos","second","position","charCodeAt","codeAt","repeat","ceil","IS_END","maxLength","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","floor","stringFromCharCode","fromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","base","encode","output","counter","extra","ucs2decode","currentValue","inputLength","n","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","label","encoded","labels","count","whitespace","ltrim","rtrim","defer","channel","port","location","setImmediate","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","run","runner","listener","event","post","postMessage","protocol","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","max","min","integer","isNaN","PREFERRED_STRING","val","valueOf","postfix","random","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","$every","fill","addToUnscopables","$filter","HAS_SPECIES_SUPPORT","$find","FIND","SKIPS_HOLES","flat","depthArg","$includes","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","ARRAY_ITERATOR","Arguments","nativeJoin","ES3_STRINGS","separator","$map","$reduce","reduce","nativeReverse","reverse","nativeSlice","fin","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","comparefn","splice","deleteCount","insertCount","actualDeleteCount","to","actualStart","dateToPrimitive","TO_PRIMITIVE","DatePrototype","Date","INVALID_DATE","TO_STRING","nativeDateToString","getTime","NaN","FunctionPrototype","FunctionPrototypeToString","nameRE","collectionStrong","init","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","maxCode","digits","code","NumberWrapper","$entries","fromEntries","obj","v","nativeGetPrototypeOf","nativeKeys","$values","parseFloatImplementation","parseIntImplementation","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","speciesConstructor","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","all","isThenable","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","rejection","onHandleUnhandled","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","fetch","wrap","r","capability","$promiseResolve","remaining","alreadyCalled","race","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","deleteProperty","getFlags","NativeRegExp","RegExpPrototype","CORRECT_NEW","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","nativeToString","NOT_GENERIC","INCORRECT_NAME","p","rf","createHTML","forcedStringHTMLMethod","anchor","notARegExp","correctIsRegExpLogic","searchString","STRING_ITERATOR","point","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","matcher","res","rx","fullUnicode","matchStr","$padStart","padStart","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","capture","callRegExpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","internalSplit","limit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","z","nativeStartsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","search","NativeSymbol","description","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","HIDDEN","$Symbol","$stringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","stringify","space","$replacer","collectionDeleteAll","real","deleteAll","getMapIterator","newMap","findKey","sameValueZero","keyOf","mapKeys","mapValues","merge","noInitial","accumulator","update","callback","isPresentInMap","collectionAddAll","addAll","difference","newSet","getSetIterator","intersection","hasCheck","isDisjointFrom","isSubsetOf","otherSet","isSupersetOf","sep","symmetricDifference","union","at","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","scheduler","timeout","boundArgs","setInterval","USE_NATIVE_URL","hasOwn","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","bytes","percentDecode","sequence","decodeURIComponent","deserialize","serialize","encodeURIComponent","parseSearchParams","query","attributes","shift","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","body","headers","getState","EOF","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","pow","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","number","ipv4","parts","pop","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","serializeHost","ignore0","unshift","ipv6","maxIndex","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","buffer","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","getter","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","prefix","Events","EE","context","once","addListener","emitter","evt","_events","_eventsCount","clearEvent","EventEmitter","eventNames","events","listeners","handlers","l","ee","listenerCount","a1","a2","a3","a4","a5","removeListener","on","removeAllListeners","off","prefixed","equal","propIsEnumerable","test1","test2","test3","letter","err","shouldUseNative","objectTypes","root","freeExports","freeModule","nodeType","freeGlobal","maxSafeInteger","reOpera","objectProto","capitalize","toUpperCase","format","forOwn","getClassOf","qualify","each","platform","parse","ua","isCustomContext","nav","navigator","isSpecialCasedOS","property","likeChrome","objectClass","airRuntimeClass","enviroClass","javaClass","java","phantomClass","rhino","environment","alpha","beta","doc","opera","operamini","operaClass","arch","prerelease","useFeatures","layout","guess","guesses","getName","product","getProduct","manufacturer","getManufacturer","os","cleanupOS","getOS","getVersion","patterns","runtime","flash","system","Capabilities","phantom","major","minor","patch","documentMode","toFixed","lang","System","getProperty","require","browser","electron","nw","appMinorVersion","external","family","architecture","cpuClass","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","bigint","bool","func","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","for","aa","u","ba","ca","da","ea","fa","ha","ia","ja","ka","la","ma","displayName","$$typeof","render","_status","_result","D","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","current","ReactCurrentBatchConfig","suspense","oa","_threadCount","_currentValue2","Uint16Array","H","qa","ra","sa","ta","J","d","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","K","L","M","xlinkHref","xa","N","substring","ya","va","wa","Aa","is","Q","U","W","Ba","memoizedState","Ca","Da","Ea","Fa","dispatch","delete","action","Ga","Ha","X","Ia","readContext","useContext","useMemo","useReducer","useRef","useState","useLayoutEffect","useCallback","useImperativeHandle","useEffect","useDebugValue","useResponder","responder","useDeferredValue","useTransition","Ja","Ka","La","area","br","col","embed","hr","img","keygen","link","param","track","wbr","Ma","menuitem","Y","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Na","Oa","Pa","Z","Children","toArray","Qa","Ra","listing","pre","textarea","Sa","Ta","Ua","Wa","Xa","children","dangerouslySetInnerHTML","suppressContentEditableWarning","suppressHydrationWarning","Ya","Za","isReactComponent","contextType","contextTypes","pa","h","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","getDerivedStateFromProps","w","updater","UNSAFE_componentWillMount","componentWillMount","getChildContext","childContextTypes","isValidElement","child","$a","domNamespace","childIndex","footer","threadID","stack","exhausted","currentSelectValue","previousWasTextNode","makeStaticMarkup","suspenseDepth","contextIndex","contextStack","contextValueStack","destroy","clearProviders","pushProvider","_context","popProvider","read","I","G","fallbackFrame","renderDOM","ref","_ctor","default","na","defaultChecked","defaultValue","checked","Va","selected","__html","ab","renderToString","renderToStaticMarkup","renderToNodeStream","renderToStaticNodeStream","onError","currentTarget","extractEvents","eventTypes","phasedRegistrationNames","registrationName","dependencies","za","stateNode","removeAttribute","setAttribute","setAttributeNS","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","fileName","lineNumber","return","rb","sb","nodeName","xb","_valueTracker","getValue","setValue","stopTracking","tb","yb","zb","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Fb","Hb","defaultSelected","disabled","Ib","Jb","Kb","Lb","textContent","Mb","Nb","Ob","Pb","Qb","namespaceURI","innerHTML","firstChild","MSApp","execUnsafeLocalFunction","Rb","lastChild","nodeValue","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","transition","Xb","Yb","Zb","$b","ac","bc","cc","dc","alternate","effectTag","ec","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","parentNode","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","container","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","kd","ld","md","setProperty","nd","od","pd","qd","rd","sd","td","ud","vd","offset","nextSibling","wd","contains","compareDocumentPosition","xd","HTMLIFrameElement","yd","contentEditable","zd","Ad","Bd","Cd","Dd","Ed","Fd","autoFocus","Gd","Hd","Id","clearTimeout","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","defaultPrevented","returnValue","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","ue","we","color","date","datetime","email","month","range","tel","text","time","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","view","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","of","charCode","pf","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Df","Ef","Ff","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","defaultProps","jg","kg","lg","mg","ng","og","_currentValue","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseQueue","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Component","refs","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","isPureReactComponent","Lg","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getSnapshotBeforeUpdate","componentDidMount","Og","Pg","_owner","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","dh","documentElement","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","xh","yh","zh","Ah","deps","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","ReactCurrentOwner","Zh","$h","ai","bi","compare","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","hi","pendingContext","ni","oi","pi","qi","ii","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","multiple","onClick","onclick","createElementNS","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","WeakSet","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","Ri","insertBefore","_reactRootContainer","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","vb","Uj","Vj","Wj","hidden","ob","Xj","_calculateChangedBits","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hasAttribute","hk","kk","jk","unmount","querySelectorAll","JSON","form","Lj","lk","findFiberByHostInstance","__REACT_DEVTOOLS_GLOBAL_HOOK__","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","setState","forceUpdate","keyPrefix","escape","IsSomeRendererActing","only","Fragment","Profiler","PureComponent","StrictMode","Suspense","cloneElement","createContext","Provider","Consumer","createFactory","createRef","forwardRef","lazy","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","unstable_forceFrameRate","performance","cancelAnimationFrame","requestAnimationFrame","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","webpackContext","req","webpackContextResolve","__webpack_require__","o","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","__esModule","definition","prop","nmd","paths","_typeof","toPropertyKey","Number","_defineProperty","_classCallCheck","_defineProperties","_createClass","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","consoleLogger","log","warn","baseLogger","Logger","concreteLogger","logger","debug","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","observers","_this","observer","rej","makeString","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","isIE10","ResourceStore","_EventEmitter","ns","defaultNS","keySeparator","lng","silent","addNamespaces","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","translator","processor","checkedLoadedFor","Translator","services","copy","language","interpolation","resolved","nsSeparator","namespaces","interpolator","nestingRegexp","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy$$1","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","isValidLookup","suffix","pluralResolver","getSuffix","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","missingKeyHandler","backendConnector","saveMissing","needsPluralHandling","saveMissingPlurals","getPluralFormsOfKey","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","defaultVariables","interpolate","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","returnEmptyString","resourceStore","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","nr","_rulesPluralsTypes","PluralResolver","rules","plurals","rule","getRule","ret","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","missingInterpolationHandler","regex","safeValue","todo","clonedOptions","handleHasOptions","inheritedOptions","optionsString","formatters","doReduce","elem","Connector","backend","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","errors","addResourceBundle","_getLastOfPath2","arr","what","remove","fcName","tried","wait","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","transformOptions","nonExplicitWhitelist","noop","I18n","modules","isInitialized","isClone","initImmediate","createClassOnDemand","ClassOrObject","preload","pluralSeparator","partialBundledLanguages","tDescription","_format","lu","languageDetector","_this2$store","_this2$store2","deferred","changeLanguage","usedCallback","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","opts","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","addQueryString","queryString","paramName","ajax","queryStringParams","XMLHttpRequest","crossDomain","setRequestHeader","withCredentials","overrideMimeType","customHeaders","onreadystatechange","readyState","responseText","Backend","defaults","loadPath","addPath","allowMultiLoading","parsePayload","loadUrl","xhr","status","i18n","use","initPromise","_x","_init","_callee","Blob","mediaBreakPoint","_isIos","_platform$os","isIos","_isTouchDevice","_platform$os2","isTouchDevice","focusIfIos","passive","_isNarrowScreen","isNarrowScreen","updateIsNarrowScreen","matchMedia","matches","isFrozen","freeze","seal","Reflect","fun","thisValue","Func","arrayForEach","unapply","arrayLastIndexOf","lastIndexOf","arrayPop","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","addToSet","transformCaseFunc","lcElement","cleanArray","newObject","lookupGetter","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","purify","createDOMPurify","DOMPurify","Element","isSupported","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","MozNamedAttrMap","DOMParser","trustedTypes","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","afterSanitizeAttributes","afterSanitizeElements","afterSanitizeShadowDOM","beforeSanitizeAttributes","beforeSanitizeElements","beforeSanitizeShadowDOM","uponSanitizeAttribute","uponSanitizeElement","uponSanitizeShadowNode","createHTMLDocument","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","TRUSTED_TYPES_POLICY","createScriptURL","purifyHostElement","createPolicy","ATTR_NAME","getAttribute","policyName","scriptUrl","_","_createTrustedTypesPolicy","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","getAttributeNode","_initDocument","dirty","leadingWhitespace","dirtyPayload","parseFromString","createDocument","childNodes","_createNodeIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","SHOW_PROCESSING_INSTRUCTION","SHOW_CDATA_SECTION","_isClobbered","hasChildNodes","_isNode","_executeHooks","currentNode","hook","_sanitizeElements","allowedTags","firstElementChild","_isBasicCustomElement","childClone","__removalCount","parentTagName","_checkValidNamespace","expr","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","attr","initValue","getAttributeType","_sanitizeShadowDOM","shadowNode","shadowIterator","nextNode","sanitize","importedNode","returnNode","nodeIterator","shadowroot","shadowrootmode","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","addHook","entryPoint","hookFunction","removeHook","removeHooks","removeAllHooks","getElementById","querySelector","elm","selector","getNodeValue","getNodeValueByTagName","_toConsumableArray","selectorCmp","nthChildIndexes","buildSelector","nthOfTypeIndexes","_loop","nn","getShadowDomSelectorSet","blockId","div","shadowRoot","closest","getElementByNthOfTypeIndexes","indexes","_ref","_ref2","_slicedToArray","HTMLElement","entityRegExp","entityMap","escapeSingleQuoteAttribute","unescapeSingleQuoteAttribute","entityReverseMap","_ref3","_ref4","decodeHtml","isPassThroughNativeEvent","ev","nl2br","line","React","defaultSize","defaultSinglelineSize","isEqualSize","idSequence","DEFAULT_KEYS_FOR_SETUP","Block","_newFromFile","_newFromHtml","_new2","_toClipboardItem","_serialize","_compile","_serializedString","round","wrapperRef","iframePreviewSize","stripped","_asyncToGenerator","block","isNewlyAdded","_callee2","_context2","_x2","_callee3","_context3","_x3","iconString","icon","typeId","wrapperElement","inputElm","contentLabel","placeholderLabel","className","ReactDOMServer","classNames","metadataByOwnKeys","parentKeys","pk","helpText","htmlString","_callee4","_context4","_x4","_callee5","_context5","_x5","_callee6","_this$compiledHtml","_context6","removeChildIntermediateProduct","compiledHtml","shouldBeCompiled","compile","editor","serializeMeta","serializedString","removeIntermediateProduct","_x6","_callee7","_context7","_objectSpread","_x7","EditorContext","useEditorContext","BlocksContext","useBlocksContext","BlockContext","useBlockContext","_extends","_objectWithoutPropertiesLoose","_inheritsLoose","replaceClassName","origClass","classToRemove","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","prevState","_proto","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","appearing","nodeRef","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","onExit","onExiting","onExited","cancel","nextState","setNextCallback","active","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","propTypes","removeClass","classes","classList","baseVal","CSSTransition","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","_this$resolveArgument3","getClassNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","hasClass","_addClass","_this$appliedClasses$","command","_useState2","isDialogOpen","setDialogOpen","blocksContext","editorContext","getFocusedIds","dialog","commandManager","execute","blockIds","shortcut","toKeyboardShortcutLabel","PANEL_CLASS_NAME","PANEL_PLACEMENT_DATA_NAME","BlockCommandPanel","commands","setCommands","panelRef","unloaded","contextCommands","panel","dataset","getBoundingClientRect","BlockCommand","ListStatus","AddButton","labelDirect","showShortcuts","_useBlocksContext","panelBlockTypes","shortcutBlockTypes","addBlock","Hidden","showList","setShowList","buttonElRef","blockListElRef","dummyInputElRef","onDrop","onWindowClick","blockListEl","removeEventListener","_useMemo2","selectableTypes","shortcutTypes","panelTypes","onlyShortcuts","t0","Event","t1","t2","tabIndex","onDragOver","types","dropEffect","onDragEnter","onDragLeave","files","canNewFromFile","newFromFile","title","stopImmediatePropagation","_ref5","_ref6","Visible","None","_ref7","BlockToolbar","blockContext","rendered","swapBlocks","isCommandPanelShown","setCommandPanelShown","toggleCommandPanelShown","focusEditor","rows","hasBorder","onMouseDown","DEFAULT_MIN_ROWS","recursiveMap","rowCount","editHandlers","cur","undo","hist","setFocusedIds","redo","blockProperty","setBlock","_useState4","editGroups","setEditGroups","blockEditor","_wrapperRef$current","focusEl","activeEl","scrollHeight","offsetHeight","_child$props$dataPro","onChange","onKeyDown","minRows","lastValue","HTMLTextAreaElement","editManager","generateGroup","group","HTMLInputElement","EditorMode","labelMap","_ref$keys","BlockSetup","onMouseUp","_useEditorContext","divElRef","focusedIds","inFocusGroup","divEl","getComputedStyle","editorStyle","fontSize","fontFamily","mousedownListener","CustomEvent","keyupListener","CARET_ATTR","CARET","tinymceFocus","selectorSet","selection","getBody","caret","dom","_sort2","startNode","endNode","rng","getRng","collapse","_tinymceFocus","removeTinyMCEFromBlock","tinymce","getContent","tinymceId","adjustToolbar","_adjustToolbar","editorElement","toolbar","blockEl","editorRect","blockRect","getRoot","lookup","BlockEditorCommandEvent","_CustomEvent","_super","_createSuper","_wrapNativeSuper","CommandManager","_commands","_contextCommands","allCommands","_allContextCommands","allContextCommands","_yield$c$condition","_c$condition","condition","t3","_yield$c$condition2","_c$condition2","eventEmitters","_this$eventEmitters$g","blocks","_this$eventEmitters$g2","_this$eventEmitters$g3","toKeyboardShortcutKey","keyboardShortcutMap","findDescendantBlocks","useCommands","_step","_iterator","_createForOfIteratorHelper","removeAllListenersOfBlock","_callback","_condition","commandId","BlockEditorPasteCommandEvent","_BlockEditorCommandEv","_navigator$clipboard","clipboard","_ref2$editorContext","_event$clipboardData","clipboardItems","clipboardItem","_event$clipboardData2","_iterator2","_step2","_clipboardItem","_iterator3","_step3","newBlocks","_iterator4","_step4","newBlock","KeyboardEvent","ClipboardEvent","items","getData","getType","parseContent","preParseContent","factory","ParserContext","beginGrouping","endGrouping","eventAttrs","eventPrefix","eventAttrsArg","eventPrefixedAttrsArg","commentPrefix","parser","addAttributeFilter","nodes","serializer","nameWithPrefix","addEventHandlerFilter","editorManager","majorVersion","addNodeFilter","unescape","addCommentFilter","item","plainTextContent","getAsFile","pluginsInstalled","tinymceMajorVersion","getTinymceMajorVersion","installPlugins","PluginManager","MTBlockEditorPlugin","commonSettings","menubar","contextmenu","fixed_toolbar_container","inline","paste_preprocess","_preventDefault","DataTransfer","setData","fire","TAG_NAME_MAP","h1","h2","h3","h4","h5","h6","ToolbarVisibleStatus","DependsOnContent","Invisible","Editor","canRemove","removeBlock","mergeBlock","settings","_editor$opts$block$co","pluginsToolbarSettings","plugins","_settings","init_instance_callback","setContent","undoManager","setHTML","addEdit","rootRect","tn","textBlock","Text","toolbarVisibleStatus","contentDeleted","inputType","collapsed","sel","getSel","getStart","startOffset","installTinyMCEPlugins","isInSetupMode","toolbarVisible","_document$querySelect","BlockSetupCommon","BlockLabel","_Block","_get","focusBlock","preview","BlockContentEditablePreview","placeholder","history","closeTag","openTag","mtRichTextEditorFocus","tiptap","posAtDOM","resolvedPos","tr","setSelection","deleteSelection","startElement","endElement","startPos","_mtRichTextEditorFocus","removeMTRichTextEditorFromBlock","mtRichTextEditor","MTRichTextEditor","unload","mtRichTextEditorId","_toolbar$parentElemen","firstBlockElRect","_blockEl$parentElemen","parentBlockEl","blockElRect","parentElement","PLACEHOLDER_ITEM_NAME","isCommandPlaceholderDefined","insertCommandPlaceholder","customElements","_HTMLElement","_class","onUndo","_editor$opts$i18n$lng","editorStylesheets","stylesheets","pasteMenu","extensionOptions","undoRedo","registerShortcuts","embedObject","resolver","embedObjectResolver","_settings$toolbar","_toolbar$current","toolbarContainer","transaction","getMeta","empty","$from","TextForTinyMCE","substr","camelize","decamelize","pascalize","depascalize","camelizeKeys","decamelizeKeys","pascalizeKeys","depascalizeKeys","humps","Proxy","delegatesFocus","styleSheets","ssr","attachShadow","adoptedStyleSheets","CSSStyleSheet","invariant","argIndex","framesToPop","DndContext","dragDropManager","useDragDropManager","useIsomorphicLayoutEffect","DropTargetImpl","spec","monitor","protoProps","staticProps","canDrop","getItem","hover","drop","_i","_s","_e","_arr","_n","_d","minLen","arr2","useRegisteredDropTarget","connector","manager","dropTarget","useDropTarget","accept","useAccept","_registerTarget","registry","getRegistry","targetId","addTarget","removeTarget","registerTarget","_registerTarget2","handlerId","unregister","receiveHandlerId","useOptionalFactory","memoDeps","isCallingCanDrop","DropTargetMonitorImpl","internalMonitor","getMonitor","subscribeToStateChange","canDropOnTarget","isOverTarget","getItemType","getDropResult","didDrop","getInitialClientOffset","getInitialSourceClientOffset","getSourceClientOffset","getClientOffset","getDifferenceFromInitialOffset","shallowEqual","objA","objB","compareContext","compareResult","keysA","keysB","bHasOwnProperty","valueA","valueB","wrapHookToRecognizeElement","elementOrNode","throwIfCompositeComponentElement","newRef","previousRef","setRef","cloneWithRef","wrapConnectorHooks","wrappedHooks","endsWith","wrappedHook","isRef","TargetConnector","clearDropTarget","dropTargetOptions","dropTargetRef","dropTargetNode","reconnect","didChange","didHandlerIdChange","didDropTargetChange","didOptionsChange","disconnectDropTarget","lastConnectedHandlerId","lastConnectedDropTarget","lastConnectedDropTargetOptions","unsubscribeDropTarget","connectDropTarget","newHandlerId","dropTargetOptionsInternal","useMonitorOutput","collect","onCollect","_useCollector","onUpdate","collected","setCollected","updateCollected","nextValue","useCollector","_useCollector2","getHandlerId","handlerIds","useCollectedProps","collector","useConnectDropTarget","useDrop","specArg","getBackend","useDropTargetConnector","DragSourceImpl","canDrag","globalMonitor","isDragging","getSourceId","useRegisteredDragSource","useDragSource","itemType","useDragType","_registerSource","sourceId","addSource","removeSource","registerSource","_registerSource2","isCallingCanDrag","isCallingIsDragging","DragSourceMonitorImpl","canDragSource","isDraggingSource","getTargetIds","isSourcePublic","subscribeToOffsetChange","SourceConnector","dragSource","clearDragSource","dragSourceOptions","dragSourceRef","dragSourceNode","reconnectDragSource","dragPreview","clearDragPreview","dragPreviewOptions","dragPreviewRef","dragPreviewNode","reconnectDragPreview","dragSourceOptionsInternal","dragPreviewOptionsInternal","didConnectedDragSourceChange","didDragSourceOptionsChange","disconnectDragSource","lastConnectedDragSource","lastConnectedDragSourceOptions","dragSourceUnsubscribe","connectDragSource","didConnectedDragPreviewChange","didDragPreviewOptionsChange","disconnectDragPreview","lastConnectedDragPreview","lastConnectedDragPreviewOptions","dragPreviewUnsubscribe","connectDragPreview","useConnectDragSource","useConnectDragPreview","useDrag","begin","useDragSourceConnector","previewOptions","memoize","EnterLeaveCounter","isNodeInDocument","enteringNode","previousLength","entered","itemsA","itemsB","insertItem","leavingNode","isFirefox","isSafari","safari","MonotonicInterpolant","xs","ys","dx","dy","dys","dxs","ms","c1s","_i2","m2","mNext","dxNext","c2s","c3s","_i3","c1","invDx","_common","mid","low","high","xHere","diff","diffSq","getNodeClientOffset","_el$getBoundingClient","getEventClientOffset","getDragPreviewOffset","sourceNode","clientOffset","anchorPoint","offsetPoint","_document$documentEle","isImage","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","sourceWidth","offsetWidth","sourceHeight","anchorX","anchorY","_getDragPreviewSize","dragPreviewWidth","dragPreviewHeight","devicePixelRatio","getDragPreviewSize","offsetX","offsetY","isManualOffsetY","calculateYOffset","_nativeTypesConfig","TEXT","HTML","getDataFromDataTransfer","typesToTry","resultSoFar","typeToTry","nativeTypesConfig","exposeProperties","matchesTypes","urls","NativeDragSource","initializeExposedProperties","newProperties","matchNativeItemType","dataTransferTypes","nativeItemType","OptionsReader","globalContext","optionsArgs","_this$globalContext","_this$optionsArgs","rootElement","enumerableOnly","getOwnPropertyDescriptors","ListenerType","HTML5BackendImpl","sourceNodes","isDraggingNativeItem","actions","endDrag","currentNativeHandle","currentNativeSource","currentDragSourceNode","clearCurrentDragSourceNode","dragStartSourceIds","beginDrag","publishSource","nativeType","setDragImage","sourcePreviewNodes","_this$getCurrentSourc","getCurrentSourcePreviewNodeOptions","dragPreviewOffset","setCurrentDragSourceNode","captureDraggingState","publishDragSource","beginDragNativeItem","dragEnterTargetIds","enterLeaveCounter","altKeyPressed","getCurrentDropEffect","dragOverTargetIds","leave","endDragNativeItem","_this$currentNativeSo","dropTargetIds","loadDataTransfer","dragDrop","isContentEditable","getActions","_this$dragStartSource","_this$dragOverTargetI","sourcePreviewNodeOptions","sourceNodeOptions","__isReactDndBackendSetUp","addEventListeners","_this$window","removeEventListeners","asyncEndDragFrameId","handleDragStart","handleSelectStart","handleDragEnter","handleDragOver","handleDrop","handleTopDragStart","handleTopDragStartCapture","handleTopDragEndCapture","handleTopDragEnter","handleTopDragEnterCapture","handleTopDragLeaveCapture","handleTopDragOver","handleTopDragOverCapture","handleTopDrop","handleTopDropCapture","getCurrentSourceNodeOptions","createNativeDragSource","mouseMoveTimeoutTimer","_this5$rootElement","endDragIfSourceWasRemovedFromDOM","_this$window2","HTML5Backend","MouseButtons","MouseButton","eventShouldStartDrag","isTouchEvent","lastTargetTouchFallback","getEventClientTouchOffset","supportsPassive","supported","_eventNames","_this$args$delay","scrollAngleRanges","getDropTargetElementsAtPoint","_this$args$ignoreCont","ignoreContextMenu","_this$args$enableHove","enableHoverOutsideTarget","_this$args$enableKeyb","enableKeyboardEvents","_this$args$enableMous","enableMouseEvents","_this$args$enableTouc","enableTouchEvents","touchSlop","_this$args$delayTouch","_this$args","_this$args2","delayTouchStart","_this$args$delayMouse","_this$args3","_this$args4","delayMouseStart","_this$context","_this$args5","mouse","move","touch","keyboard","keydown","TouchBackendImpl","moveStartSourceIds","_mouseClientOffset","waitingForDelay","handleTopMoveStart","_evt","x1","y1","x2","y2","_isScrolling","angleRanges","angle","atan2","PI","inAngleRanges","sqrt","installSourceNodeRemovalObserver","dragOverTargetNodes","targetNodes","elementsAtPoint","elementsFromPoint","elementsAtPointExtended","nodeId","orderedDragOverTargetIds","_getDropTargetId","ids","targetNode","eventShouldEndDrag","uninstallSourceNodeRemovalObserver","listenerTypes","isSetUp","getTopMoveStartHandler","handleTopMoveStartCapture","handleTopMove","handleTopMoveCapture","handleTopMoveEndCapture","handleCancelOnEscape","subject","listenerType","handleMoveStart","handleMove","coords","droppedOn","elementFromPoint","childMatch","handleTopMoveStartDelay","draggedSourceNode","draggedSourceNodeRemovalObserver","resurrectSourceNode","childList","disconnect","DndBackend","featurePreview","isActive","getSelectableColumns","selectableColumns","defaultColumns","showConfigPanel","setConfigPanel","toggleConfigPanel","changeLayout","inputEl","getColumnLayout","cols","newColumn","curLayout","BlockToolbarButton","BlockConfigPanel","listStyle","columnString","Columns","Column","serializedColumns","_getSelectableColumns2","NO_BLOCK_TYPE_FALLBACK","DefaultToolbar","Stylesheets","StylesheetType","css","rel","skipFocusDefault","ignoreClickEvent","showButton","parentBlock","focusLeader","dragIndex","hoverIndex","hoverBoundingRect","hoverMiddleY","bottom","hoverClientY","_useDrag2","drag","focusDescendant","clickBlockTargetRef","withBlockContext","_useMemo","click","getBlocksByRange","onCopy","onPaste","onUp","onDown","onWindowKeydown","dispatchKeydownEvent","RemoveButton","rootClassName","overflow","rootAttributes","InitSizeFunc","lastElement","marginBottom","postMessageFunc","scrollWidth","setCompiledHtmlFunc","addEditHistory","preserveBlockData","addDroppableFunc","eventDelegationFunc","_block$compiledHtml2","header","onSetCompiledHtml","onBeforeSetCompiledHtml","border","_ref3$scheme","_ref3$sandbox","sandbox","containerElRef","_useHtmlDataState","_block$compiledHtml","_rawHtmlData","setHtmlText","rawHtmlData","useHtmlDataState","_useHtmlDataState2","rawHtmlText","setHtmlData","_setSize","setSize","_containerElRef$curre","_history","hist0","hist1","setIframePreviewSize","getIframePreviewSize","setCompiledHtml","beforeRenderIframePreviewOpt","htmlText","_useState6","setSrc","rootAttributesObj","srcdoc","reader","FileReader","readAsDataURL","onload","_reader$result","onMessage","_containerEl$getRootN","containerEl","isDefaultSize","oldValue","getRootNode","MouseEvent","srcDoc","frameBorder","maxWidth","maxHeight","boxSizing","STYLE_HIDDEN","canRemoveBlock","scroll","destEl","rect","pageYOffset","offsetTop","scrollTo","behavior","resetCompiledHtml","_html","focusFirstBlock","focusItem","BlockItem","showPreview","_serializeChildBlocks","cancelOngoingCompilationHandlers","effectiveAddableBlockTypes","BlockIframePreview","previewHeader","serializeChildOpts","serializedBlocks","serializeChildBlocks","rootBlock","canceled","sourceHtml","timeoutId","entityReverseRegExp","removeControlCharacters","_parseContent","fallbackBlockType","domparser","_args2","metaRawValue","metaArray","filtered","newFromHtml","emptyBlocks","ancestor","childBlocks","findDescendantBlocksInternal","rootBlocks","foundCount","getBlocksByRangeInternal","parents","currentBlocks","startBlocks","findRange","mac","cmd","alt","ctrl","other","isMac","setPlatform","_platform","_Map","INIT_COORDS","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","DROP","END_DRAG","setClientOffset","sourceClientOffset","ResetCoordinatesAction","createBeginDrag","sourceIds","_options$publishSourc","getSource","verifyInvariants","getDraggableSource","verifyGetSourceClientOffsetIsFunction","verifyItemIsObject","pinSource","getSourceType","createPublishDragSource","matchesType","targetType","draggedItemType","createHover","targetIdsArg","verifyTargetIdsIsArray","targetIds","getTarget","checkInvariants","getTargetType","removeNonMatchingTargetIds","hoverAllTargets","createDrop","getDroppableTargets","dropResult","verifyDropResultType","determineDropResult","createEndDrag","verifyIsDragging","unpinSource","DragDropManagerImpl","handleRefCountChange","shouldSetUp","refCount","setup","teardown","subscribe","createDragDropActions","boundActions","actionCreator","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","INIT","PROBE_UNKNOWN_ACTION","isPlainObject","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","isSubscribed","replaceReducer","nextReducer","outerSubscribe","observeState","unsubscribe","strictEquality","initialState","initialSourceClientOffset","initialClientOffset","offsetA","offsetB","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","NONE","ALL","_action$payload","_action$payload$targe","_action$payload$prevT","prevTargetIds","xor","isEqual","areArraysEqual","prevInnermostTargetId","innermostTargetId","dirtyHandlerIds","dragOffset","dragOperation","stateId","subtract","__IS_NONE__","__IS_ALL__","HandlerRole","DragDropMonitorImpl","prevStateId","currentStateId","canSkipListener","dirtyIds","commonIds","areDirty","previousState","shallow","nextUniqueId","validateType","allowArray","scope","BrowserMutationObserver","makeRequestCallFromTimer","handleTimer","intervalHandle","clearInterval","makeRequestCall","RawTask","asapQueue","enqueueTask","requestFlush","flushing","pendingErrors","capacity","currentIndex","scan","newLength","registerPendingError","requestErrorThrow","taskFactory","tasks","freeTasks","getNextHandlerId","role","SOURCE","parseRoleFromHandlerId","mapContainsValue","isDone","_entries$next","HandlerRegistryImpl","dragSources","dropTargets","pinnedSourceId","pinnedSource","validateSourceContract","addHandler","validateTargetContract","includePinned","isSourceId","isTargetId","createDragDropManager","backendFactory","backendOptions","debugMode","reduxDevTools","__REDUX_DEVTOOLS_EXTENSION__","instanceId","makeStoreInstance","receiveBackend","_excluded","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","INSTANCE_SYM","DndProvider","_getDndContextValue","getGlobalContext","ctx","createSingletonDndContext","isGlobalInstance","getDndContextValue","_getDndContextValue2","_focusedIds","_setFocusedIds","focusedIdsRef","arrayEquals","editorEl","startId","onEditorMousedown","_ev$target$closest","mtBlockEditorBlockId","onEditorMouseup","_ev$target$closest2","endId","onBlockEditorCommand","addButtons","BlockFactory","allTypes","selectable","registered","NO_GROUP","EditManager","histories","ignore","_add","emitChange","merged","_nextFocusBlock$id","nextFocusBlock","beforeRenderIframePreview","_doc$body$querySelect","OVERLAY_CLASS_NAME","PORTAL_STYLE","_ref$onClose","onClose","portal","onKeydown","DialogContext","Dialog","modalRef","modalEl","Overlay","DialogHeader","_useContext$onClose","DialogBody","DialogFooter","Html","linkUrl","linkTarget","linkTitle","caption","isLinkDialogOpen","setLinkDialogOpen","formRef","iconLink","_form$querySelector","Image","File","pluginsSettings","grandChildren","Table","fullWidth","TableForTinyMCE","Horizontalrule","registerType","isTextSelected","isCollapsed","isClipboardAPIAvailable","_navigator$clipboard2","writeText","_block$wrapperRef$cur","_editor","htmlBlob","plainBlob","_block$wrapperRef$cur2","toClipboardItem","acc","ClipboardItem","_ref$editorContext","confirm","registerCommand","copyBlock","pasteBlock","duplicateBlock","deleteBlock","insertLink","_buildKeyboardShortcutCache","inputElement","initDefaultEventHandlers","buildKeyboardShortcutCache","keyboardShortcutCache","buildStylesheets","initialized","typeIds","editHandlersAdd","before","canMerge","editHandlersRemove","editHandlersSwap","metadataReverseMap","metadataMap","stringArray","targetMap","reusableIds","_step2$value","_Object$keys","metadataMapSequence","metaSetup","keysForSetup","metaStrings","getMetadataMapIndexes","App","resetCss","EditorManager","editors","_remove","_instance","EditorUtil","_unload","_apply","_classStaticPrivateFieldSpecGet","_eventHandlers","optsI18n","initI18n","deregisterType","BoilerplateBlock","decorator","Hook","util","MTBlockEditor"],"sourceRoot":""} \ No newline at end of file diff --git a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/register-boilerplate-blocks.js b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/register-boilerplate-blocks.js similarity index 100% rename from mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/register-boilerplate-blocks.js rename to mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/register-boilerplate-blocks.js diff --git a/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/register-boilerplate-blocks.js.map b/mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/register-boilerplate-blocks.js.map similarity index 100% rename from mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/register-boilerplate-blocks.js.map rename to mt-static/plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/register-boilerplate-blocks.js.map diff --git a/plugins/MTBlockEditor/tmpl/script.tmpl b/plugins/MTBlockEditor/tmpl/script.tmpl index 62cb4ba..8b4830d 100644 --- a/plugins/MTBlockEditor/tmpl/script.tmpl +++ b/plugins/MTBlockEditor/tmpl/script.tmpl @@ -5,8 +5,8 @@ - -plugins/MTBlockEditor/dist/mt-block-editor/1.2.7/mt-block-editor.css?v=" /> + +plugins/MTBlockEditor/dist/mt-block-editor/1.2.8/mt-block-editor.css?v=" /> plugins/MTBlockEditor/dist/mt-block-editor-block-oembed/1.0.7/mt-block-editor-block-oembed.css?v=" /> @@ -14,7 +14,7 @@ - +