botframework-webchat-fluent-theme 4.18.1-main.20250114.4df27b8 → 4.18.1-main.20250114.cf2b542

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/external.umd/botframework-webchat-component/index.ts","../src/external.umd/botframework-webchat-component/decorator.ts","../src/external.umd/react.ts","../../../node_modules/classnames/index.js","../../../node_modules/math-random/browser/crypto.js","../../../node_modules/math-random/browser/index.js","../../../node_modules/simple-update-in/dist/simple-update-in.production.min.js","../src/external.umd/botframework-webchat-api/index.ts","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/array-includes.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/object-keys-internal.js","../../../node_modules/core-js-pure/internals/enum-bug-keys.js","../../../node_modules/core-js-pure/internals/object-keys.js","../../../node_modules/core-js-pure/internals/object-define-properties.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/object-create.js","../../../node_modules/core-js-pure/modules/es.object.create.js","../../../node_modules/core-js-pure/es/object/create.js","../../../node_modules/core-js-pure/stable/object/create.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","../src/external.umd/botframework-webchat-component/internal.ts","../../../node_modules/inject-meta-tag/src/injectMetaTag.ts","../src/private/FluentThemeProvider.tsx","../src/components/activity/ActivityDecorator.tsx","../src/private/useVariants.ts","../src/private/VariantComposer.ts","../src/private/createComposer.tsx","../../styles/src/private/makeCreateStyles.ts","../src/styles/createStyles.ts","../../styles/src/react/private/useStyles.ts","../src/styles/useVariantClassName.ts","../src/components/activity/ActivityDecorator.module.css","../src/components/activity/CopilotMessageHeader.tsx","../src/components/activity/private/useActivityStyleOptions.ts","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/environment-is-node.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/set-species.js","../../../node_modules/core-js-pure/internals/an-instance.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/a-constructor.js","../../../node_modules/core-js-pure/internals/species-constructor.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/environment-is-ios.js","../../../node_modules/core-js-pure/internals/task.js","../../../node_modules/core-js-pure/internals/safe-get-built-in.js","../../../node_modules/core-js-pure/internals/queue.js","../../../node_modules/core-js-pure/internals/environment-is-ios-pebble.js","../../../node_modules/core-js-pure/internals/environment-is-webos-webkit.js","../../../node_modules/core-js-pure/internals/microtask.js","../../../node_modules/core-js-pure/internals/host-report-errors.js","../../../node_modules/core-js-pure/internals/perform.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/promise-native-constructor.js","../../../node_modules/core-js-pure/internals/promise-constructor-detection.js","../../../node_modules/core-js-pure/internals/new-promise-capability.js","../../../node_modules/core-js-pure/modules/es.promise.constructor.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../../../node_modules/core-js-pure/modules/es.promise.all.js","../../../node_modules/core-js-pure/modules/es.promise.catch.js","../../../node_modules/core-js-pure/modules/es.promise.race.js","../../../node_modules/core-js-pure/modules/es.promise.reject.js","../../../node_modules/core-js-pure/internals/promise-resolve.js","../../../node_modules/core-js-pure/modules/es.promise.resolve.js","../../../node_modules/core-js-pure/modules/es.promise.js","../../../node_modules/core-js-pure/modules/es.promise.with-resolvers.js","../../../node_modules/core-js-pure/es/promise/with-resolvers.js","../../../node_modules/core-js-pure/stable/promise/with-resolvers.js","../../../node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","../../../node_modules/core-js-pure/actual/promise/with-resolvers.js","../../../node_modules/core-js-pure/full/promise/with-resolvers.js","../../../node_modules/core-js-pure/features/promise/with-resolvers.js","../../base/src/utils/withResolvers.ts","../../core/src/actions/clearSuggestedActions.ts","../../core/src/actions/connect.ts","../../core/src/actions/disconnect.ts","../../core/src/actions/dismissNotification.ts","../../core/src/actions/emitTypingIndicator.ts","../../core/src/actions/markActivity.ts","../../core/src/actions/postActivity.ts","../../core/src/actions/sendEvent.ts","../../core/src/actions/sendFiles.ts","../../core/src/actions/sendMessage.ts","../../core/src/actions/sendMessageBack.ts","../../core/src/actions/sendPostBack.ts","../../core/src/actions/setDictateInterims.ts","../../core/src/actions/setDictateState.ts","../../core/src/actions/setLanguage.ts","../../core/src/utils/uniqueID.ts","../../core/src/actions/setNotification.ts","../../core/src/actions/setSendBox.ts","../../core/src/actions/setSendBoxAttachments.ts","../../core/src/actions/setSendTimeout.ts","../../core/src/actions/setSendTypingIndicator.ts","../../core/src/actions/startDictate.ts","../../core/src/actions/startSpeakingActivity.ts","../../core/src/actions/stopDictate.ts","../../core/src/actions/stopSpeakingActivity.ts","../../core/src/actions/submitSendBox.ts","../../core/src/constants/ActivityClientState.js","../../core/src/constants/DictateState.js","../../core/src/createStore.ts","../../core/src/createReducer.ts","../../core/src/actions/reconnect.ts","../../core/src/actions/sagaError.ts","../../core/src/reducers/connectivityStatus.js","../../core/src/reducers/createActivitiesReducer.ts","../../core/src/actions/deleteActivity.ts","../../core/src/actions/incomingActivity.ts","../../core/src/types/internal/SendStatus.ts","../../core/src/utils/getActivityLivestreamingMetadata.ts","../../core/src/reducers/private/findBeforeAfter.ts","../../core/src/reducers/createInternalReducer.ts","../../core/src/reducers/createNotificationsReducer.ts","../../core/src/utils/isForbiddenPropertyName.ts","../../core/src/reducers/createTypingReducer.ts","../../core/src/reducers/dictateInterims.js","../../core/src/reducers/dictateState.js","../../core/src/reducers/language.js","../../core/src/actions/connectionStatusUpdate.ts","../../core/src/reducers/readyState.js","../../core/src/actions/setReferenceGrammarID.js","../../core/src/reducers/referenceGrammarID.js","../../core/src/reducers/sendBoxAttachments.ts","../../core/src/reducers/sendBoxValue.js","../../core/src/reducers/sendTimeout.js","../../core/src/reducers/sendTypingIndicator.js","../../core/src/reducers/shouldSpeakIncomingActivity.js","../../core/src/actions/setSuggestedActions.ts","../../core/src/reducers/suggestedActions.js","../../core/src/reducers/suggestedActionsOriginActivity.ts","../../core/src/createSagas.ts","../../core/src/sagas/clearSuggestedActionsOnPostActivitySaga.js","../../core/src/sagas/effects/whileConnected.ts","../../core/src/sagas/connectionStatusToNotificationSaga.js","../../core/src/createPromiseQueue.js","../../core/src/sagas/connectionStatusUpdateSaga.js","../../core/src/sagas/effects/observeEach.js","../../core/src/sagas/connectSaga.js","../../core/src/sagas/effects/forkPut.js","../../core/src/actions/updateConnectionStatus.ts","../../core/src/sagas/detectSlowConnectionSaga.ts","../../core/src/utils/sleep.ts","../../core/src/sagas/emitTypingIndicatorToPostActivitySaga.js","../../core/src/sagas/markAllAsSpokenOnStopSpeakActivitySaga.js","../../core/src/selectors/activities.ts","../../core/src/definitions/speakingActivity.js","../../core/src/sagas/observeActivitySaga.ts","../../core/src/actions/queueIncomingActivity.ts","../../core/src/sagas/postActivitySaga.ts","../../core/src/utils/dateToLocaleISOString.ts","../../core/src/utils/deleteKey.ts","../../core/src/selectors/language.ts","../../core/src/sagas/effects/observeOnce.ts","../../core/src/selectors/sendTimeout.ts","../../core/src/sagas/queueIncomingActivitySaga.ts","../../core/src/definitions/activityFromBot.js","../../core/src/sagas/sendEventToPostActivitySaga.js","../../core/src/sagas/sendFilesToPostActivitySaga.js","../../core/src/sagas/sendMessageBackToPostActivitySaga.js","../../core/src/sagas/sendMessageToPostActivitySaga.ts","../../core/src/sagas/sendPostBackToPostActivitySaga.js","../../core/src/sagas/sendTypingIndicatorOnSetSendBoxSaga.ts","../../core/src/selectors/sendTypingIndicator.ts","../../core/src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js","../../core/src/selectors/shouldSpeakIncomingActivity.ts","../../core/src/definitions/speakableActivity.js","../../core/src/sagas/startDictateOnSpeakCompleteSaga.js","../../core/src/selectors/dictateState.ts","../../core/src/sagas/startSpeakActivityOnPostActivitySaga.js","../../core/src/sagas/stopDictateOnCardActionSaga.js","../../core/src/sagas/stopSpeakingActivityOnInputSaga.js","../../core/src/sagas/submitSendBoxSaga.js","../../core/src/selectors/sendBoxAttachments.ts","../../core/src/selectors/sendBoxValue.ts","../../core/src/types/external/OrgSchema/Action.ts","../../core/src/types/external/OrgSchema/private/orgSchemaProperty.ts","../../core/src/types/external/OrgSchema/Project.ts","../../core/src/types/external/OrgSchema/Thing.ts","../../core/src/types/external/OrgSchema/private/orgSchemaProperties.ts","../../core/src/types/external/OrgSchema/Claim.ts","../../core/src/types/external/OrgSchema/CreativeWork.ts","../../core/src/types/external/OrgSchema/DefinedTerm.ts","../../core/src/types/external/OrgSchema/VoteAction.ts","../../core/src/utils/getOrgSchemaMessage.ts","../../core/src/utils/onErrorResumeNext.ts","../../core/src/utils/singleToArray.ts","../../core/src/utils/once.ts","../../core/src/utils/warnOnce.ts","../../core/src/index.ts","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.esm.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/@redux-saga/is/dist/redux-saga-is.esm.js","../../../node_modules/@redux-saga/core/dist/io-22ea0cf9.js","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.esm.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.esm.js","../../../node_modules/valibot/dist/index.js","../../../node_modules/jwt-decode/build/esm/index.js","../../core/node_modules/mime/types/other.ts","../../core/node_modules/mime/types/standard.ts","../../core/node_modules/mime/src/Mime.ts","../../core/node_modules/mime/src/index.ts","../src/components/activity/private/isAIGeneratedActivity.ts","../src/components/activity/private/useActivityAuthor.ts","../src/components/activity/CopilotMessageHeader.module.css","../src/components/preChatActivity/isPreChatMessageActivity.ts","../src/components/preChatActivity/PreChatMessageActivity.tsx","../src/components/preChatActivity/PreChatMessageActivity.module.css","../src/components/preChatActivity/StarterPromptsToolbar.tsx","../src/components/preChatActivity/StarterPromptsCardAction.tsx","../../../node_modules/use-ref-from/src/useRefFrom.ts","../src/testIds.ts","../src/components/preChatActivity/StarterPromptsCardAction.module.css","../src/components/preChatActivity/StarterPromptsToolbar.module.css","../src/components/sendBox/SendBox.tsx","../src/icons/AddDocumentIcon.tsx","../src/icons/AttachmentIcon.tsx","../src/icons/InfoSmallIcon.tsx","../src/icons/SendIcon.tsx","../src/icons/TelephoneKeypadIcon.tsx","../src/components/dropZone/DropZone.tsx","../src/components/dropZone/DropZone.module.css","../src/components/suggestedActions/SuggestedActions.tsx","../src/components/suggestedActions/private/computeSuggestedActionText.ts","../src/components/suggestedActions/private/rovingFocus.tsx","../src/components/suggestedActions/SuggestedAction.tsx","../src/components/suggestedActions/AccessibleButton.tsx","../src/components/suggestedActions/SuggestedAction.module.css","../src/components/suggestedActions/SuggestedActions.module.css","../src/components/telephoneKeypad/Provider.tsx","../src/components/telephoneKeypad/private/Context.ts","../src/components/telephoneKeypad/Surrogate.tsx","../src/components/telephoneKeypad/private/TelephoneKeypad.tsx","../src/components/telephoneKeypad/private/Button.tsx","../src/components/telephoneKeypad/private/Button.module.css","../src/components/telephoneKeypad/useShown.ts","../src/components/telephoneKeypad/private/TelephoneKeypad.module.css","../src/components/sendBox/AddAttachmentButton.tsx","../src/components/sendBox/Toolbar.tsx","../src/components/sendBox/Toolbar.module.css","../src/components/sendBox/AddAttachmentButton.module.css","../src/components/sendBox/Attachments.tsx","../src/components/sendBox/Attachments.module.css","../src/components/sendBox/ErrorMessage.tsx","../src/components/sendBox/ErrorMessage.module.css","../src/components/sendBox/private/useSubmitError.ts","../src/components/sendBox/private/useTranscriptNavigation.ts","../src/components/sendBox/private/useUniqueId.ts","../src/components/sendBox/SendBox.module.css","../src/components/sendBox/TelephoneKeypadToolbarButton.tsx","../src/components/sendBox/TextArea.tsx","../src/components/sendBox/TextArea.module.css","../src/components/theme/Theme.tsx","../src/components/theme/Theme.module.css","../src/components/linerActivity/private/isLinerMessageActivity.ts","../src/components/linerActivity/private/LinerActivity.tsx","../src/components/linerActivity/private/LinerMessageActivity.module.css","../src/index.ts","../src/bundle.ts"],"sourcesContent":["module.exports = {\n Components: (globalThis as any).WebChat.Components,\n hooks: (globalThis as any).WebChat.hooks\n};\n","module.exports = (globalThis as any).WebChat.decorator;\n","module.exports = (globalThis as any).React;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var global = typeof window !== 'undefined' ? window : self\nmodule.exports = global.crypto || global.msCrypto\n","module.exports = (function (crypto) {\n if (!crypto) return Math.random\n\n var max = Math.pow(2, 32)\n var u32 = new Uint32Array(1)\n\n return function random () {\n return crypto.getRandomValues(u32)[0] / max\n }\n})(require('./crypto'))\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).simpleUpdateIn=e()}(this,function(){\"use strict\";function l(t){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function c(t,e,r,n,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function t(u){return function(){var t=this,i=arguments;return new Promise(function(e,r){var n=u.apply(t,i);function o(t){c(n,e,r,o,a,\"next\",t)}function a(t){c(n,e,r,o,a,\"throw\",t)}o(void 0)})}}function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(e,t){var r,n=Object.keys(e);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(e),t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)),n}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function b(t){return function(t){if(Array.isArray(t))return t}(t)||e(t)||u(t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(t){return function(t){if(Array.isArray(t))return o(t)}(t)||e(t)||u(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function u(t,e){if(t){if(\"string\"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t){if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=u(t))){var e=0,r=function(){};return{s:r,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var n,o,a=!0,i=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}var d=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};function r(t,e,r){s(e);var n,o=f(function t(e,r){if(!r.length)return;var n=b(r),o=n[0],a=n.slice(1);if(\"function\"==typeof o){var i=[];if(Array.isArray(e))for(var u=0,c=e.length;u<c;u++)o.call(e,e[u],u)&&i.push.apply(i,v(t(e,[u].concat(v(a)))));else for(var f in e||{})o.call(e,e[f],f)&&i.push.apply(i,v(t(e,[f].concat(v(a)))));return i}var s=t(void 0!==e&&e[o],a);return s?s.map(function(t){return[o].concat(v(t))}):[[o]]}(t,e));try{for(o.s();!(n=o.n()).done;){var a=n.value;t=g(t,a,r?r(x(t,a)):void 0)}}catch(t){o.e(t)}finally{o.f()}return t}function a(){return(a=t(regeneratorRuntime.mark(function t(e,r,n){var o,a,i,u;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s(r),t.next=3,h(e,r);case 3:o=t.sent,a=f(o),t.prev=5,a.s();case 7:if((i=a.n()).done){t.next=23;break}if(u=i.value,t.t0=g,t.t1=e,t.t2=u,n)return t.next=15,n(x(e,u));t.next=18;break;case 15:t.t3=t.sent,t.next=19;break;case 18:t.t3=void 0;case 19:t.t4=t.t3,e=(0,t.t0)(t.t1,t.t2,t.t4);case 21:t.next=7;break;case 23:t.next=28;break;case 25:t.prev=25,t.t5=t.catch(5),a.e(t.t5);case 28:return t.prev=28,a.f(),t.finish(28);case 31:return t.abrupt(\"return\",e);case 32:case\"end\":return t.stop()}},t,null,[[5,25,28,31]])}))).apply(this,arguments)}function s(t){if(!Array.isArray(t))throw new Error(\"path must be an array\")}r.updateInAsync=function(t,e,r){return a.apply(this,arguments)};var m=[\"__proto__\",\"constructor\",\"prototype\"];function h(){return i.apply(this,arguments)}function i(){return(i=t(regeneratorRuntime.mark(function t(e,r){var n,o,a,i,u,c,f,s;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r.length){t.next=2;break}return t.abrupt(\"return\");case 2:if(n=b(r),o=n[0],a=n.slice(1),\"function\"!=typeof o){t.next=43;break}if(i=[],!Array.isArray(e)){t.next=25;break}u=0,c=e.length;case 7:if(u<c)return t.next=10,o.call(e,e[u],u);t.next=23;break;case 10:if(t.t0=t.sent,t.t0)return t.t1=i.push,t.t2=i,t.t3=v,t.next=17,h(e,[u].concat(v(a)));t.next=20;break;case 17:t.t4=t.sent,t.t5=(0,t.t3)(t.t4),t.t1.apply.call(t.t1,t.t2,t.t5);case 20:u++,t.next=7;break;case 23:t.next=42;break;case 25:t.t6=regeneratorRuntime.keys(e||{});case 26:if((t.t7=t.t6()).done){t.next=42;break}return f=t.t7.value,t.next=30,o.call(e,e[f],f);case 30:if(t.t8=t.sent,t.t8)return t.t9=i.push,t.t10=i,t.t11=v,t.next=37,h(e,[f].concat(v(a)));t.next=40;break;case 37:t.t12=t.sent,t.t13=(0,t.t11)(t.t12),t.t9.apply.call(t.t9,t.t10,t.t13);case 40:t.next=26;break;case 42:return t.abrupt(\"return\",i);case 43:return t.next=45,h(void 0!==e&&e[o],a);case 45:return s=t.sent,t.abrupt(\"return\",s?s.map(function(t){return[o].concat(v(t))}):[[o]]);case 47:case\"end\":return t.stop()}},t)}))).apply(this,arguments)}function x(t,e){return e.reduce(function(t,e){return t&&t[e]},t)}function g(t,e,r){if(!e.length)return r;var n,o=b(e),a=o[0],i=o.slice(1),u=void 0!==t&&t[a],c=t;if(n=a,m.includes(n))return t;if(\"string\"!=typeof a||\"object\"===l(c)&&!Array.isArray(c)?\"number\"!=typeof a||Array.isArray(c)||(c=[]):c={},\"number\"==typeof a){var f=g(u,i,r);return void 0===f?void 0===t?t:(a in c&&(c=v(c)).splice(a,1),c):d(f,u)?t:((c=v(c))[a]=f,c)}var s=g(u,i,r);return void 0===s?void 0===t?t:(a in c&&delete(c=y({},c))[a],c):d(s,u)?t:y(y({},c),{},p({},a,s))}return r});\n","module.exports = {\n hooks: (globalThis as any).WebChat.hooks\n};\n","'use strict';\nvar 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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.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 uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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 -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\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","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar 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","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\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) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\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","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar 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","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nrequire('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","'use strict';\nvar parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/create\");","module.exports = (globalThis as any).WebChat.internal;\n","type InjectMetaNPMInit = {\n version: string;\n};\n\nexport default function injectMeta(name: string, content?: string): void {\n try {\n if (typeof document === 'undefined') {\n return;\n }\n\n const metaElement = document.createElement('meta');\n\n metaElement.setAttribute('name', name);\n content && metaElement.setAttribute('content', content);\n\n document.head.appendChild(metaElement);\n } catch (error) {\n console.error(`inject-meta-tag: Failed to inject <meta name=\"${name}\"> tag.`, error);\n }\n}\n\nexport function npm(name: string, { version }: InjectMetaNPMInit): void {\n injectMeta(`npm:${name}`, `version=${version}`);\n}\n","import { type ActivityMiddleware, type StyleOptions } from 'botframework-webchat-api';\nimport { Components } from 'botframework-webchat-component';\nimport { WebChatDecorator } from 'botframework-webchat-component/decorator';\nimport React, { memo, type ReactNode } from 'react';\n\nimport { ActivityDecorator } from '../components/activity';\nimport { isPreChatMessageActivity, PreChatMessageActivity } from '../components/preChatActivity';\nimport { PrimarySendBox } from '../components/sendBox';\nimport { TelephoneKeypadProvider } from '../components/telephoneKeypad';\nimport { WebChatTheme } from '../components/theme';\nimport { createStyles } from '../styles';\nimport VariantComposer, { VariantList } from './VariantComposer';\nimport { isLinerMessageActivity, LinerMessageActivity } from '../components/linerActivity';\n\nconst { ThemeProvider } = Components;\n\ntype Props = Readonly<{ children?: ReactNode | undefined; variant?: VariantList | undefined }>;\n\nconst activityMiddleware: readonly ActivityMiddleware[] = Object.freeze([\n () =>\n next =>\n (...args) => {\n const activity = args[0]?.activity;\n\n // TODO: Should show pre-chat only when it is the very first message in the chat history.\n if (isPreChatMessageActivity(activity)) {\n return () => <PreChatMessageActivity activity={activity} />;\n }\n\n if (isLinerMessageActivity(activity)) {\n return () => <LinerMessageActivity activity={activity} />;\n }\n\n const renderActivity = next(...args);\n\n return renderActivity\n ? (...args) => <ActivityDecorator activity={activity}>{renderActivity(...args)}</ActivityDecorator>\n : renderActivity;\n }\n]);\n\nconst sendBoxMiddleware = [() => () => () => PrimarySendBox];\n\nconst styles = createStyles();\n\nconst fluentStyleOptions: StyleOptions = Object.freeze({\n feedbackActionsPlacement: 'activity-actions'\n});\n\nconst FluentThemeProvider = ({ children, variant = 'fluent' }: Props) => (\n <VariantComposer variant={variant}>\n <WebChatTheme>\n <TelephoneKeypadProvider>\n <ThemeProvider\n activityMiddleware={activityMiddleware}\n sendBoxMiddleware={sendBoxMiddleware}\n styleOptions={fluentStyleOptions}\n styles={styles}\n >\n <WebChatDecorator>{children}</WebChatDecorator>\n </ThemeProvider>\n </TelephoneKeypadProvider>\n </WebChatTheme>\n </VariantComposer>\n);\n\nexport default memo(FluentThemeProvider);\n","import { WebChatActivity } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { ReactNode, memo } from 'react';\nimport useVariants from '../../private/useVariants';\nimport { useStyles, useVariantClassName } from '../../styles';\nimport styles from './ActivityDecorator.module.css';\nimport CopilotMessageHeader from './CopilotMessageHeader';\n\nfunction ActivityDecorator({ activity, children }: Readonly<{ activity: WebChatActivity; children: ReactNode }>) {\n const classNames = useStyles(styles);\n const variants = useVariants();\n const variantClassName = useVariantClassName(styles);\n\n const shouldRenderHeader = variants.includes('copilot') && activity?.from?.role === 'bot' && !!children;\n\n return (\n <div className={cx(classNames['activity-decorator'], variantClassName)}>\n {shouldRenderHeader && <CopilotMessageHeader activity={activity} />}\n {children}\n </div>\n );\n}\n\nActivityDecorator.displayName = 'ActivityDecorator';\n\nexport default memo(ActivityDecorator);\n","import { useContext, useMemo } from 'react';\nimport { VariantContext } from './VariantComposer';\n\nexport default function useVariants() {\n const { variant } = useContext(VariantContext);\n return useMemo(() => variant.split(' '), [variant]);\n}\n","import { createContext } from 'react';\n\nimport createComposer from './createComposer';\n\ntype VariantName = 'fluent' | 'copilot' | '';\n\nexport type VariantList = `${VariantName}`;\n\nexport type VariantContextType = {\n variant: VariantList;\n};\n\nexport const VariantContext = createContext<VariantContextType>(\n new Proxy(\n {},\n {\n get() {\n throw new Error('Unable to use VariantContext without VariantComposer');\n }\n }\n ) as unknown as VariantContextType\n);\n\nconst VariantComposer = createComposer<VariantContextType>(VariantContext, {\n defaults: { variant: '' },\n displayName: 'VariantComposer'\n});\n\nexport default VariantComposer;\n","import React, { type Context, memo, type ReactNode, useMemo } from 'react';\n\nexport default function createComposer<\n C,\n P extends { children?: ReactNode | undefined } = Partial<C> & { children?: ReactNode | undefined }\n>({ Provider }: Context<C>, { defaults, displayName }: Readonly<{ defaults: Readonly<C>; displayName: string }>) {\n const Composer = ({ children, ...props }: Readonly<P>) => {\n const value = useMemo(() => Object.freeze({ ...defaults, ...props }), [props]);\n\n return <Provider value={value}>{children}</Provider>;\n };\n\n Composer.displayName = displayName;\n\n return memo(Composer);\n}\n","function createStyle(content: string) {\n const style = document.createElement('style');\n\n style.append(document.createTextNode(content));\n\n return style;\n}\n\nexport default function makeCreateStyles(...contents: string[]) {\n return function createStyles() {\n if (!globalThis.document) {\n throw new Error('Unable to create styles: document is not defined');\n }\n\n return contents.map(content => createStyle(content));\n };\n}\n","import { makeCreateStyles } from 'botframework-webchat-styles';\n\nexport const fluentStyleContent = '@--FLUENT-STYLES-CONTENT--@';\n\nexport default makeCreateStyles(fluentStyleContent);\n","import { useMemo } from 'react';\n\nfunction useStyles<T extends CSSModuleClasses>(styles: T): T {\n // @ts-expect-error: entries/fromEntries don't allow to specify keys type\n return useMemo(\n () =>\n Object.freeze(\n Object.fromEntries(\n Object.entries(styles).map(([baseClassName, resultClassName]) => [\n baseClassName,\n `${baseClassName} ${resultClassName}`\n ])\n )\n ),\n [styles]\n );\n}\n\nexport default useStyles;\n","import { useMemo } from 'react';\nimport useVariants from '../private/useVariants';\nimport useStyles from './useStyles';\n\nexport default function useVariantClassName<T extends CSSModuleClasses>(styles: T): string {\n const classNames = useStyles(styles);\n const variants = useVariants();\n return useMemo(\n () =>\n variants\n .map(variant => classNames[`variant-${variant}`])\n .filter(value => value)\n .join(' '),\n [classNames, variants]\n );\n}\n",":global(.webchat-fluent) .activity-decorator {\n display: contents;\n font-family: var(--webchat__font--primary);\n\n --webchat__bubble--inline-padding: var(--webchat-spacingHorizontalL);\n --webchat__bubble--block-padding: var(--webchat-spacingVerticalM);\n --webchat__bubble--min-height: var(--webchat-bubble-minHeight);\n --webchat__bubble--max-width: var(--webchat-bubble-maxWidth);\n --webchat__bubble--min-width: var(--webchat-bubble-minWidth);\n\n --webchat-bubble-maxWidth: var(--bubble-maxWidth, max(450px, 75%));\n --webchat-bubble-minWidth: var(--bubble-minWidth, auto);\n --webchat-bubble-minHeight: var(--bubble-minHeight, 36px);\n --webchat-externalLink-mask: var(\n --externalLink-mask,\n var(--webchat__icon-url--external-link) center center /\n 10px 10px\n );\n --webchat-externalLink-maxWidth: var(--externalLink-maxWidth, 204px);\n\n /* Override for stacked layout message which has user message bubble props */\n &:has(:global(.webchat__stacked-layout .webchat__bubble--from-user)) {\n --webchat__bubble--background-color: var(--webchat-colorBrandBackground2);\n --webchat__bubble--block-padding: var(--webchat-spacingVerticalS);\n --webchat__bubble--min-width: auto;\n }\n}\n\n/* Decorator fluent variant */\n:global(.webchat-fluent) .activity-decorator.variant-fluent {\n --webchat__bubble--background-color: var(--webchat-colorNeutralBackground1);\n --webchat__bubble--border-radius: var(--webchat-borderRadiusXLarge);\n --webchat__bubble--box-shadow: var(--webchat-shadow4);\n}\n\n/* Decorator copilot variant */\n:global(.webchat-fluent) .activity-decorator.variant-copilot {\n --webchat__bubble--border-radius: var(--webchat-borderRadiusXLarge);\n\n :global(.webchat__activity-status) {\n margin: 0 0 var(--webchat-spacingHorizontalXXS);\n }\n\n :global(.webchat__stacked-layout__status) {\n order: -1;\n }\n\n &:has(:global(.webchat__bubble--from-user)) :global(.webchat__bubble) {\n margin-block-end: var(--webchat-spacingVerticalM);\n }\n\n /* Hide generated badge as it is in the copilot header */\n :global(.webchat__bubble .webchat__text-content .webchat__text-content__generated-badge) {\n display: none;\n }\n}\n\n/* Decorator copilot variant which has bot message */\n:global(.webchat-fluent) .activity-decorator.variant-copilot:not(:has(:global(.webchat__bubble--from-user))) {\n --webchat__bubble--block-padding: 0;\n --webchat__bubble--border-radius: var(--webchat-borderRadiusMedium);\n --webchat__bubble--inline-padding: 0;\n --webchat__bubble--max-width: 100%;\n --webchat__bubble--min-height: 20px;\n\n display: flex;\n flex-flow: column nowrap;\n gap: var(--webchat-spacingVerticalS);\n margin-inline: var(--webchat-spacingHorizontalM);\n padding: var(--webchat-spacingVerticalMNudge) var(--webchat-spacingHorizontalM) var(--webchat-spacingVerticalM);\n position: relative;\n\n :global(.webchat__stacked-layout) {\n margin: 0;\n position: static;\n }\n\n :global(.webchat__bubble) {\n position: static;\n width: var(--webchat__bubble--max-width);\n }\n\n :global(.webchat__bubble .webchat__bubble__content) {\n overflow: visible;\n }\n\n :global(.webchat__text-content) {\n margin-inline-start: 28px;\n }\n\n :global(.border-loader) {\n display: flex;\n flex-flow: column nowrap;\n gap: var(--webchat-spacingVerticalS);\n padding-inline-end: var(--webchat-spacingHorizontalM);\n width: 500px;\n }\n\n :global(.border-loader__track) {\n border-radius: inherit;\n box-sizing: border-box;\n clip-path: border-box;\n margin-inline-start: 28px;\n order: -1;\n width: auto;\n }\n\n :global(.webchat__stacked-layout__status) {\n display: none;\n }\n}\n\n/* Transcript activity non-empty */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__basic-transcript__activity-body:not(:empty)) {\n padding-block-end: var(--webchat-spacingVerticalXL);\n}\n\n/* Stacked layout */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout) {\n display: flex;\n flex-flow: column nowrap;\n}\n\n/* Stacked layout which has message bubble */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__stacked-layout__content:has(.webchat__bubble)) {\n max-width: 100%;\n overflow: visible;\n}\n\n/* Message status */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout .webchat__stacked-layout__status) {\n font-size: var(--webchat__font-size--small);\n line-height: var(--webchat__line-height--small);\n}\n\n/* Message bubble */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout .webchat__bubble) {\n max-width: min(var(--webchat__bubble--max-width), 100%);\n min-width: var(--webchat__bubble--min-width);\n overflow: visible;\n\n /* Take all width available when has message bubble latency loader */\n &:has(:global(.border-loader)) {\n width: 100%;\n }\n}\n\n/* Message bubble content */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__bubble .webchat__bubble__content) {\n background-color: var(--webchat__bubble--background-color);\n border-radius: var(--webchat__bubble--border-radius);\n border-width: 0;\n box-shadow: var(--webchat__bubble--box-shadow);\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground1);\n max-width: 100%;\n min-height: var(--webchat__bubble--min-height);\n}\n\n/* Message bubble text content */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout .webchat__bubble .webchat__text-content) {\n font-size: var(--webchat__font-size--medium);\n line-height: var(--webchat__line-height--medium);\n min-height: auto;\n padding-block: var(--webchat__bubble--block-padding);\n padding-inline: var(--webchat__bubble--inline-padding);\n\n &:empty {\n padding-block-end: 0;\n }\n\n + :global(.webchat__text-content) {\n margin-top: calc(var(--webchat__bubble--block-padding) * -1);\n }\n}\n\n/* Message bubble text content generated badge */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__bubble .webchat__text-content__generated-badge) {\n align-items: center;\n align-self: flex-start;\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: var(--webchat-borderRadiusMedium);\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground3);\n cursor: default;\n display: inline-flex;\n font-size: var(--webchat-fontSizeBase100);\n height: 16px;\n line-height: var(--webchat-lineHeightBase100);\n padding-inline: var(--webchat-spacingHorizontalXS);\n}\n\n/* Message bubble attachment content */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__bubble .webchat__fileContent__badge) {\n cursor: default;\n font-size: var(--webchat-fontSizeBase300);\n line-height: var(--webchat-lineHeightBase300);\n\n :global(.webchat__fileContent__fileName) {\n color: var(--webchat-colorBrandForegroundLink);\n font-family: inherit;\n }\n :global(.webchat__fileContent__size) {\n color: var(--webchat-colorNeutralForeground2);\n font-family: inherit;\n }\n}\n\n/* Markdown links and citation links */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__render-markdown)\n a[href]:not(:global(.webchat__render-markdown__pure-identifier)) {\n color: var(--webchat-colorBrandForegroundLink);\n text-decoration-color: transparent;\n\n &:target {\n color: var(--webchat-colorBrandForegroundLinkSelected);\n }\n\n &:hover {\n color: var(--webchat-colorBrandForegroundLinkHover);\n text-decoration: underline 1px currentColor;\n }\n\n &:active {\n color: var(--webchat-colorBrandForegroundLinkPressed);\n }\n\n &:focus-visible {\n outline: none;\n text-decoration: underline 1px double var(--webchat-colorStrokeFocus2);\n }\n\n :global(.webchat__render-markdown__external-link-icon) {\n background: currentColor;\n -webkit-mask: var(--webchat__icon-url--external-link) no-repeat;\n mask: var(--webchat__icon-url--external-link) no-repeat;\n }\n}\n\n/* Citation inline references */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__render-markdown)\n :global(.webchat__render-markdown__citation),\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__render-markdown)\n :global(.webchat__render-markdown__pure-identifier) {\n align-items: center;\n background-color: var(--webchat-colorNeutralBackground3);\n border-radius: var(--webchat-borderRadiusMedium);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground2);\n display: inline-flex;\n font-size: var(--webchat-fontSizeBase100);\n font-weight: var(--webchat-fontWeightSemibold);\n height: 14px;\n justify-content: center;\n line-height: var(--webchat-lineHeightBase100);\n margin-left: var(--webchat-spacingHorizontalXXS);\n margin-right: var(--webchat-spacingHorizontalXXS);\n min-width: 14px;\n text-decoration: none;\n transition: all var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n vertical-align: calc((var(--webchat-lineHeightBase100) - var(--webchat-fontSizeBase100)) / 2);\n\n &:hover {\n background-color: var(--webchat-colorBrandBackground2Hover);\n border-color: var(--webchat-colorBrandStroke2Hover);\n color: var(--webchat-colorBrandForeground2Hover);\n cursor: pointer;\n }\n\n &:hover:active {\n background-color: var(--webchat-colorBrandBackground2Pressed);\n border-color: var(--webchat-colorBrandStroke2Pressed);\n color: var(--webchat-colorBrandForeground2Pressed);\n }\n\n &::before,\n &::after {\n all: unset;\n }\n\n &:has(:global(.webchat__render-markdown__external-link-icon)) {\n padding-inline: 3px;\n }\n\n :global(.webchat__render-markdown__external-link-icon) {\n background: currentColor;\n height: 0.7em;\n -webkit-mask: var(--webchat__icon-url--external-link) no-repeat;\n mask: var(--webchat__icon-url--external-link) no-repeat;\n }\n}\n\n/* Citation summary chevron */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__link-definitions__header) {\n border-radius: var(--webchat-borderRadiusMedium);\n\n :global(.webchat__link-definitions__header-text) {\n color: var(--webchat-colorNeutralForeground3);\n }\n\n :global(.webchat__link-definitions__header-chevron) {\n fill: var(--webchat-colorNeutralForeground3);\n font-size: var(--webchat__font-size--small);\n width: 1em;\n }\n\n &:focus-visible {\n outline-offset: 1px;\n outline: var(--webchat-strokeWidthThin) solid var(--webchat-colorStrokeFocus2);\n }\n}\n\n/* Citation link definitions */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__link-definitions) {\n --webchat__citation__external-link--mask: var(--webchat-externalLink-mask);\n --webchat__citation__link--max-width: var(--webchat-externalLink-maxWidth);\n\n :global(.webchat__link-definitions__list) {\n color: var(--webchat__color--subtle);\n display: flex;\n flex-flow: row wrap;\n gap: var(--webchat-spacingHorizontalS);\n }\n\n :global(.webchat__link-definitions__list-item) {\n border-radius: var(--webchat-borderRadiusMedium);\n max-width: var(--webchat__citation__link--max-width);\n }\n\n :global(.webchat__link-definitions__list-item-box) {\n background-color: var(--webchat-colorNeutralBackground3);\n border-radius: var(--webchat-borderRadiusMedium);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n box-sizing: border-box;\n color: currentColor;\n display: inline-flex;\n font-size: var(--webchat__font-size--small);\n height: 24px;\n padding-inline-end: var(--webchat-spacingHorizontalS);\n }\n\n :global(.webchat__link-definitions__list-item-body) {\n font-family: inherit;\n gap: var(--webchat-spacingHorizontalSNudge);\n min-width: 0;\n padding: 0;\n }\n\n :global(.webchat__link-definitions__badge) {\n align-self: center;\n background-color: transparent;\n border-radius: 0;\n border: none;\n color: currentColor;\n font-size: var(--webchat-fontSizeBase100);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightBase100);\n margin: 0;\n min-width: 20px;\n padding: 0;\n position: relative;\n text-align: center;\n }\n\n :global(.webchat__link-definitions__badge)::after {\n border-right: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n bottom: 0;\n content: '';\n display: block;\n height: 16px;\n position: absolute;\n right: 0;\n top: 0;\n width: 0;\n }\n\n :global(.webchat__link-definitions__list-item-main-text) {\n gap: var(--webchat-spacingHorizontalXS);\n }\n\n :global(.webchat__link-definitions__list-item-text) {\n color: currentColor;\n text-decoration: none;\n text-overflow: ellipsis;\n }\n\n :global(.webchat__link-definitions__list-item-main-text):has(\n :global(.webchat__link-definitions__open-in-new-window-icon)\n )::before {\n align-self: center;\n background: currentColor;\n color: currentColor;\n content: '';\n flex: none;\n font-size: var(--webchat-fontSizeBase400);\n height: 1em;\n -webkit-mask: var(--webchat__citation__external-link--mask) no-repeat;\n mask: var(--webchat__citation__external-link--mask) no-repeat;\n padding: 0;\n width: 1em;\n }\n\n /* It seems Copilot does not show per-item sensitivity label, i.e. \"General\", etc. */\n :global(.webchat__link-definitions__list-item-badge) {\n display: none;\n }\n\n :global(.webchat__link-definitions__open-in-new-window-icon) {\n display: none;\n }\n}\n","import React, { memo, useMemo, type CSSProperties } from 'react';\nimport { WebChatActivity, hooks } from 'botframework-webchat-component';\n\nimport useActivityStyleOptions from './private/useActivityStyleOptions';\nimport isAIGeneratedActivity from './private/isAIGeneratedActivity';\nimport useActivityAuthor from './private/useActivityAuthor';\nimport { useStyles } from '../../styles';\nimport styles from './CopilotMessageHeader.module.css';\n\nconst { useLocalizer } = hooks;\n\nfunction CopilotMessageHeader({ activity }: Readonly<{ activity?: WebChatActivity | undefined }>) {\n const [{ botAvatarImage, botAvatarBackgroundColor }] = useActivityStyleOptions(activity);\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const isAIGenerated = isAIGeneratedActivity(activity);\n\n const avatarStyle = useMemo(\n () => ({ '--background-color': botAvatarBackgroundColor }) as CSSProperties,\n [botAvatarBackgroundColor]\n );\n\n const author = useActivityAuthor(activity);\n const avatarImage = author?.image || botAvatarImage;\n const botTitle = author?.name || activity?.from?.name;\n\n return (\n <div className={classNames['copilot-message-header']}>\n {avatarImage && (\n <img\n alt={localize('AVATAR_ALT', botTitle)}\n className={classNames['copilot-message-header__avatar']}\n src={avatarImage}\n style={avatarStyle}\n />\n )}\n <span className={classNames['copilot-message-header__title']} title={botTitle}>\n {botTitle}\n </span>\n {isAIGenerated && (\n <span className={classNames['copilot-message-header__ai-generated-content']}>\n {localize('ACTIVITY_CONTENT_CAUTION')}\n </span>\n )}\n </div>\n );\n}\n\nexport default memo(CopilotMessageHeader);\n","import { useMemo } from 'react';\nimport { hooks, type WebChatActivity } from 'botframework-webchat-component';\nimport { type StrictStyleOptions } from 'botframework-webchat-api';\n\nconst { useStyleOptions } = hooks;\n\nexport default function useActivityStyleOptions(activity?: WebChatActivity | undefined) {\n const [styleOptions] = useStyleOptions();\n return useMemo<readonly [Readonly<StrictStyleOptions>]>(\n () =>\n Object.freeze([\n {\n ...styleOptions,\n ...activity?.channelData?.webChat?.styleOptions\n }\n ]),\n [activity?.channelData?.webChat?.styleOptions, styleOptions]\n );\n}\n","'use strict';\nvar 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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.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 uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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 -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\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","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar 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","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar 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","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\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' && isCallable(O.callee) ? 'Arguments' : result;\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.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n var target = STATIC ? it : it && it.prototype;\n if (target) {\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\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\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, 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 eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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 (IS_NODE) {\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 = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, 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","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\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 (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar 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","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.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 new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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 (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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 || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\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(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(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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 globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\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 (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (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(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new 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 call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar 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","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar 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 es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\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","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar 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","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://github.com/tc39/proposal-promise-with-resolvers\n$({ target: 'Promise', stat: true }, {\n withResolvers: function withResolvers() {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n return {\n promise: promiseCapability.promise,\n resolve: promiseCapability.resolve,\n reject: promiseCapability.reject\n };\n }\n});\n","'use strict';\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.with-resolvers');\nvar call = require('../../internals/function-call');\nvar isCallable = require('../../internals/is-callable');\nvar path = require('../../internals/path');\n\nvar Promise = path.Promise;\nvar promiseWithResolvers = Promise.withResolvers;\n\nmodule.exports = function withResolvers() {\n return call(promiseWithResolvers, isCallable(this) ? this : Promise);\n};\n","'use strict';\nvar parent = require('../../es/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.with-resolvers');\n","'use strict';\nvar parent = require('../../stable/promise/with-resolvers');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/promise/with-resolvers');\n","// @ts-expect-error: no types available\nimport coreJSWithResolvers from 'core-js-pure/features/promise/with-resolvers.js';\n\nexport type PromiseWithResolvers<T> = {\n promise: Promise<T>;\n reject: (error: unknown) => void;\n resolve: (value: T) => void;\n};\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n return coreJSWithResolvers();\n}\n","const CLEAR_SUGGESTED_ACTIONS = 'WEB_CHAT/CLEAR_SUGGESTED_ACTIONS' as const;\n\nexport default function clearSuggestedActions() {\n return {\n type: CLEAR_SUGGESTED_ACTIONS\n };\n}\n\nexport { CLEAR_SUGGESTED_ACTIONS };\n","const CONNECT = 'DIRECT_LINE/CONNECT';\nconst CONNECT_FULFILLED = `${CONNECT}_FULFILLED`;\nconst CONNECT_FULFILLING = `${CONNECT}_FULFILLING`;\nconst CONNECT_PENDING = `${CONNECT}_PENDING`;\nconst CONNECT_REJECTED = `${CONNECT}_REJECTED`;\nconst CONNECT_STILL_PENDING = `${CONNECT}_STILL_PENDING`;\n\nexport default function connect({ directLine, userID, username }) {\n return {\n type: CONNECT,\n payload: {\n directLine,\n userID,\n username\n }\n };\n}\n\nexport { CONNECT, CONNECT_FULFILLED, CONNECT_FULFILLING, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING };\n","const DISCONNECT = 'DIRECT_LINE/DISCONNECT';\nconst DISCONNECT_PENDING = `${DISCONNECT}_PENDING`;\nconst DISCONNECT_REJECTED = `${DISCONNECT}_REJECTED`;\nconst DISCONNECT_FULFILLED = `${DISCONNECT}_FULFILLED`;\n\nexport default function disconnect() {\n return {\n type: DISCONNECT\n };\n}\n\nexport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_REJECTED, DISCONNECT_FULFILLED };\n","const DISMISS_NOTIFICATION = 'WEB_CHAT/DISMISS_NOTIFICATION';\n\ntype DismissNotificationAction = {\n payload: { id: string };\n type: typeof DISMISS_NOTIFICATION;\n};\n\nfunction dismissNotification(id: string): DismissNotificationAction {\n return {\n payload: { id },\n type: DISMISS_NOTIFICATION\n };\n}\n\nexport default dismissNotification;\n\nexport { DISMISS_NOTIFICATION };\n\nexport type { DismissNotificationAction };\n","const EMIT_TYPING_INDICATOR = 'WEB_CHAT/EMIT_TYPING_INDICATOR';\n\nexport default function emitTypingIndicator() {\n return {\n type: EMIT_TYPING_INDICATOR\n };\n}\n\nexport { EMIT_TYPING_INDICATOR };\n","type MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\ntype MarkActivityAction = {\n payload: { activityID: string; name: string; value: any };\n type: MarkActivityActionType;\n};\n\nconst MARK_ACTIVITY: MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\nfunction markActivity({ id: activityID }: { id: string }, name: string, value: any): MarkActivityAction {\n return {\n type: MARK_ACTIVITY,\n payload: {\n activityID,\n name,\n value\n }\n };\n}\n\nexport default markActivity;\nexport { MARK_ACTIVITY };\nexport type { MarkActivityAction };\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\ntype PostActivityFulfilledActionType = 'DIRECT_LINE/POST_ACTIVITY_FULFILLED';\ntype PostActivityImpededActionType = 'DIRECT_LINE/POST_ACTIVITY_IMPEDED';\ntype PostActivityPendingActionType = 'DIRECT_LINE/POST_ACTIVITY_PENDING';\ntype PostActivityRejectedActionType = 'DIRECT_LINE/POST_ACTIVITY_REJECTED';\n\ntype PostActivityAction = {\n meta: { method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityActionType;\n};\n\ntype PostActivityFulfilledAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityFulfilledActionType;\n};\n\ntype PostActivityImpededAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityImpededActionType;\n};\n\ntype PostActivityPendingAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityPendingActionType;\n};\n\ntype PostActivityRejectedAction = {\n error: true;\n meta: { clientActivityID: string; method: string };\n payload: Error;\n type: PostActivityRejectedActionType;\n};\n\nconst POST_ACTIVITY: PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\nconst POST_ACTIVITY_FULFILLED: PostActivityFulfilledActionType = `${POST_ACTIVITY}_FULFILLED`;\nconst POST_ACTIVITY_IMPEDED: PostActivityImpededActionType = `${POST_ACTIVITY}_IMPEDED`;\nconst POST_ACTIVITY_PENDING: PostActivityPendingActionType = `${POST_ACTIVITY}_PENDING`;\nconst POST_ACTIVITY_REJECTED: PostActivityRejectedActionType = `${POST_ACTIVITY}_REJECTED`;\n\nfunction postActivity(activity: WebChatActivity, method = 'keyboard'): PostActivityAction {\n return {\n type: POST_ACTIVITY,\n meta: { method },\n payload: { activity }\n };\n}\n\nexport default postActivity;\nexport { POST_ACTIVITY, POST_ACTIVITY_FULFILLED, POST_ACTIVITY_IMPEDED, POST_ACTIVITY_PENDING, POST_ACTIVITY_REJECTED };\nexport type {\n PostActivityAction,\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n};\n","const SEND_EVENT = 'WEB_CHAT/SEND_EVENT';\n\nexport default function sendEvent(name, value) {\n return {\n type: SEND_EVENT,\n payload: { name, value }\n };\n}\n\nexport { SEND_EVENT };\n","const SEND_FILES = 'WEB_CHAT/SEND_FILES';\n\n// TODO: [P1] We could obsolete this or dispatch { type: SEND_MESSAGE } insetad.\nexport default function sendFiles(\n files: readonly Readonly<{\n name: string;\n size: number;\n url: string;\n thumbnail?: string;\n }>[]\n) {\n return {\n type: SEND_FILES,\n payload: { files }\n };\n}\n\nexport { SEND_FILES };\n","import { type SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst SEND_MESSAGE = 'WEB_CHAT/SEND_MESSAGE';\n\nexport default function sendMessage(\n text: string | undefined,\n method: string | undefined,\n { attachments, channelData }: { attachments?: readonly SendBoxAttachment[]; channelData?: any } = {}\n) {\n return {\n type: SEND_MESSAGE,\n payload: { attachments, channelData, method, text }\n };\n}\n\nexport { SEND_MESSAGE };\n","const SEND_MESSAGE_BACK = 'WEB_CHAT/SEND_MESSAGE_BACK';\n\nexport default function sendMessageback(value, text, displayText) {\n return {\n type: SEND_MESSAGE_BACK,\n payload: { displayText, text, value }\n };\n}\n\nexport { SEND_MESSAGE_BACK };\n","const SEND_POST_BACK = 'WEB_CHAT/SEND_POST_BACK';\n\nexport default function sendPostback(value) {\n return {\n type: SEND_POST_BACK,\n payload: { value }\n };\n}\n\nexport { SEND_POST_BACK };\n","const SET_DICTATE_INTERIMS = 'WEB_CHAT/SET_DICTATE_INTERIMS';\n\nexport default function setDictateInterims(dictateInterims) {\n return {\n type: SET_DICTATE_INTERIMS,\n payload: { dictateInterims }\n };\n}\n\nexport { SET_DICTATE_INTERIMS };\n","const SET_DICTATE_STATE = 'WEB_CHAT/SET_DICTATE_STATE';\n\nexport default function setDictateState(dictateState) {\n return {\n type: SET_DICTATE_STATE,\n payload: { dictateState }\n };\n}\n\nexport { SET_DICTATE_STATE };\n","const SET_LANGUAGE = 'WEB_CHAT/SET_LANGUAGE';\n\nexport default function setLanguage(language) {\n return {\n type: SET_LANGUAGE,\n payload: { language }\n };\n}\n\nexport { SET_LANGUAGE };\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 36] }] */\n\nimport random from 'math-random';\n\nexport default function uniqueID(): string {\n return random().toString(36).substring(2);\n}\n","import uniqueID from '../utils/uniqueID';\n\nimport type { Notification } from '../types/internal/Notification';\n\nconst SET_NOTIFICATION = 'WEB_CHAT/SET_NOTIFICATION';\n\ntype SetNotificationAction = {\n payload: Omit<Notification, 'timestamp'>;\n type: typeof SET_NOTIFICATION;\n};\n\nexport default function setNotification({\n alt,\n data,\n id,\n level,\n message\n}: Omit<Notification, 'timestamp'>): SetNotificationAction {\n if (!id || typeof id !== 'string') {\n console.warn(\n 'botframework-webchat: The \"id\" argument passed to \"setNotification\" must be a string; defaulting to a random value.'\n );\n\n id = uniqueID();\n }\n\n if (!level || typeof level !== 'string') {\n console.warn(\n 'botframework-webchat: The \"level\" argument passed to \"setNotification\" must be a string; defaulting to \"info\".'\n );\n\n level = 'info';\n }\n\n return {\n type: SET_NOTIFICATION,\n payload: { alt, data, id, level, message }\n };\n}\n\nexport { SET_NOTIFICATION };\n\nexport type { SetNotificationAction };\n","const SET_SEND_BOX = 'WEB_CHAT/SET_SEND_BOX';\n\nexport default function setSendBox(text) {\n return {\n type: SET_SEND_BOX,\n payload: { text }\n };\n}\n\nexport { SET_SEND_BOX };\n","import type { SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst SET_SEND_BOX_ATTACHMENTS = 'WEB_CHAT/SET_SEND_BOX_ATTACHMENTS';\n\nexport default function setSendBoxAttachments(attachments: readonly SendBoxAttachment[]) {\n return {\n type: SET_SEND_BOX_ATTACHMENTS,\n payload: { attachments }\n };\n}\n\nexport { SET_SEND_BOX_ATTACHMENTS };\n","const SET_SEND_TIMEOUT = 'WEB_CHAT/SET_SEND_TIMEOUT';\n\nexport default function setSendTimeout(sendTimeout) {\n return {\n type: SET_SEND_TIMEOUT,\n payload: { sendTimeout }\n };\n}\n\nexport { SET_SEND_TIMEOUT };\n","const SET_SEND_TYPING_INDICATOR = 'WEB_CHAT/SET_SEND_TYPING_INDICATOR';\n\ntype SetSendTypingIndicatorAction = {\n payload: { sendTypingIndicator: boolean };\n type: typeof SET_SEND_TYPING_INDICATOR;\n};\n\nexport default function setSendTypingIndicator(value): SetSendTypingIndicatorAction {\n return {\n payload: { sendTypingIndicator: !!value },\n type: SET_SEND_TYPING_INDICATOR\n };\n}\n\nexport { SET_SEND_TYPING_INDICATOR };\n\nexport type { SetSendTypingIndicatorAction };\n","const START_DICTATE = 'WEB_CHAT/START_DICTATE';\n\nexport default function startDictate() {\n return { type: START_DICTATE };\n}\n\nexport { START_DICTATE };\n","const START_SPEAKING_ACTIVITY = 'WEB_CHAT/START_SPEAKING';\n\nexport default function startSpeakingActivity() {\n return {\n type: START_SPEAKING_ACTIVITY\n };\n}\n\nexport { START_SPEAKING_ACTIVITY };\n","const STOP_DICTATE = 'WEB_CHAT/STOP_DICTATE';\n\nexport default function stopDictate() {\n return { type: STOP_DICTATE };\n}\n\nexport { STOP_DICTATE };\n","const STOP_SPEAKING_ACTIVITY = 'WEB_CHAT/STOP_SPEAKING';\n\nexport default function stopSpeakingActivity() {\n return {\n type: STOP_SPEAKING_ACTIVITY\n };\n}\n\nexport { STOP_SPEAKING_ACTIVITY };\n","const SUBMIT_SEND_BOX = 'WEB_CHAT/SUBMIT_SEND_BOX';\n\nexport default function submitSendBox(method = 'keyboard', { channelData } = { channelData: undefined }) {\n return {\n type: SUBMIT_SEND_BOX,\n payload: { channelData, method }\n };\n}\n\nexport { SUBMIT_SEND_BOX };\n","/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SEND_FAILED = 'send failed';\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENDING = 'sending';\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENT = 'sent';\n\nexport { SEND_FAILED, SENDING, SENT };\n","const IDLE = 0;\nconst WILL_START = 1;\nconst STARTING = 2;\nconst DICTATING = 3;\nconst STOPPING = 4;\n\nexport { DICTATING, IDLE, STARTING, STOPPING, WILL_START };\n","import { applyMiddleware, createStore as createReduxStore, type Store } from 'redux';\nimport { composeWithDevTools } from '@redux-devtools/extension';\nimport createSagaMiddleware from 'redux-saga';\n\nimport createReducer from './createReducer';\nimport createSagas from './createSagas';\nimport sagaError from './actions/sagaError';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\ntype CreateStoreOptions = {\n /**\n * True, to enable Redux development tools, otherwise, false.\n *\n * Because Web Chat use sagas for business logics, some store state are keep at JavaScript heaps.\n * Time-travelling and saving/restoring store state are not supported.\n */\n devTools?: boolean;\n\n /**\n * Ponyfill to overrides specific global scope members.\n *\n * This option is for development use only. Not all features in Web Chat are ponyfilled.\n *\n * To fake timers, `setTimeout` and related functions can be passed to overrides the original global scope members.\n *\n * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details.\n */\n ponyfill?: Partial<GlobalScopePonyfill>;\n};\n\nfunction createEnhancerAndSagaMiddleware(getStore, ...middlewares) {\n const sagaMiddleware = createSagaMiddleware({\n onError: (...args) => {\n const [err] = args;\n\n console.error(err);\n\n const store = getStore();\n\n store && store.dispatch(sagaError());\n }\n });\n\n return {\n enhancer: applyMiddleware(...middlewares, sagaMiddleware),\n sagaMiddleware\n };\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\n\n// The complexity is introduced by the check of ponyfill.\n// eslint-disable-next-line complexity\nexport function withOptions(options: CreateStoreOptions, initialState?, ...middlewares): Store {\n // IE Mode does not have `globalThis`.\n const globalThisOrWindow = typeof globalThis === 'undefined' ? window : globalThis;\n const ponyfillFromOptions: Partial<GlobalScopePonyfill> = options.ponyfill || {};\n\n // TODO: [P2] Dedupe: when we have an utility package, move this code there and mark it as internal use.\n const ponyfill: GlobalScopePonyfill = {\n cancelAnimationFrame:\n ponyfillFromOptions.cancelAnimationFrame ||\n // Using clock functions from global if not provided.\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame.bind(globalThisOrWindow) : undefined),\n cancelIdleCallback:\n ponyfillFromOptions.cancelIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelIdleCallback === 'function' ? cancelIdleCallback.bind(globalThisOrWindow) : undefined),\n clearImmediate:\n ponyfillFromOptions.clearImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearImmediate === 'function' ? clearImmediate.bind(globalThisOrWindow) : undefined),\n clearInterval:\n ponyfillFromOptions.clearInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearInterval === 'function' ? clearInterval.bind(globalThisOrWindow) : undefined),\n clearTimeout:\n ponyfillFromOptions.clearTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearTimeout === 'function' ? clearTimeout.bind(globalThisOrWindow) : undefined),\n // eslint-disable-next-line no-restricted-globals\n Date: ponyfillFromOptions.Date || Date,\n requestAnimationFrame:\n ponyfillFromOptions.requestAnimationFrame ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestAnimationFrame === 'function' ? requestAnimationFrame.bind(globalThisOrWindow) : undefined),\n requestIdleCallback:\n ponyfillFromOptions.requestIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestIdleCallback === 'function' ? requestIdleCallback.bind(globalThisOrWindow) : undefined),\n setImmediate:\n ponyfillFromOptions.setImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setImmediate === 'function' ? setImmediate.bind(globalThisOrWindow) : undefined),\n setInterval:\n ponyfillFromOptions.setInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setInterval === 'function' ? setInterval.bind(globalThisOrWindow) : undefined),\n setTimeout:\n ponyfillFromOptions.setTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setTimeout === 'function' ? setTimeout.bind(globalThisOrWindow) : undefined)\n };\n\n // We are sure the \"getStore\" (first argument) is not called on \"createEnhancerAndSagaMiddleware()\".\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const { enhancer, sagaMiddleware } = createEnhancerAndSagaMiddleware(() => store, ...middlewares);\n const store = createReduxStore(\n createReducer(ponyfill),\n initialState || {},\n options.devTools ? composeWithDevTools(enhancer) : enhancer\n );\n\n sagaMiddleware.run(createSagas({ ponyfill }));\n\n return store;\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\nexport default function createStore(initialState?, ...middlewares): Store {\n return withOptions({}, initialState, ...middlewares);\n}\n\n/**\n * Creates a Redux store internally used by Web Chat, with Redux development tools.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n *\n * @deprecated Use `withOptions` instead and pass `{ devTools: true }`\n */\nexport function withDevTools(initialState?, ...middlewares): Store {\n return withOptions({ devTools: true }, initialState, ...middlewares);\n}\n","import { combineReducers } from 'redux';\n\nimport connectivityStatus from './reducers/connectivityStatus';\nimport createActivitiesReducer from './reducers/createActivitiesReducer';\nimport createInternalReducer from './reducers/createInternalReducer';\nimport createNotificationsReducer from './reducers/createNotificationsReducer';\nimport createTypingReducer from './reducers/createTypingReducer';\nimport dictateInterims from './reducers/dictateInterims';\nimport dictateState from './reducers/dictateState';\nimport language from './reducers/language';\nimport readyState from './reducers/readyState';\nimport referenceGrammarID from './reducers/referenceGrammarID';\nimport sendBoxAttachments from './reducers/sendBoxAttachments';\nimport sendBoxValue from './reducers/sendBoxValue';\nimport sendTimeout from './reducers/sendTimeout';\nimport sendTypingIndicator from './reducers/sendTypingIndicator';\nimport shouldSpeakIncomingActivity from './reducers/shouldSpeakIncomingActivity';\nimport suggestedActions from './reducers/suggestedActions';\nimport suggestedActionsOriginActivity from './reducers/suggestedActionsOriginActivity';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\nexport default function createReducer(ponyfill: GlobalScopePonyfill) {\n return combineReducers({\n activities: createActivitiesReducer(ponyfill),\n connectivityStatus,\n dictateInterims,\n dictateState,\n internal: createInternalReducer(ponyfill),\n language,\n notifications: createNotificationsReducer(ponyfill),\n readyState,\n referenceGrammarID,\n sendBoxAttachments,\n sendBoxValue,\n sendTimeout,\n sendTypingIndicator,\n shouldSpeakIncomingActivity,\n suggestedActions,\n suggestedActionsOriginActivity,\n typing: createTypingReducer(ponyfill)\n });\n}\n","const RECONNECT = 'DIRECT_LINE/RECONNECT';\nconst RECONNECT_FULFILLED = `${RECONNECT}_FULFILLED`;\nconst RECONNECT_FULFILLING = `${RECONNECT}_FULFILLING`;\nconst RECONNECT_PENDING = `${RECONNECT}_PENDING`;\nconst RECONNECT_REJECTED = `${RECONNECT}_REJECTED`;\n\nexport { RECONNECT, RECONNECT_FULFILLED, RECONNECT_FULFILLING, RECONNECT_PENDING, RECONNECT_REJECTED };\n","const SAGA_ERROR = 'WEB_CHAT/SAGA_ERROR';\n\ntype SagaErrorAction = {\n type: typeof SAGA_ERROR;\n};\n\nexport default function sagaError(): SagaErrorAction {\n return { type: SAGA_ERROR };\n}\n\nexport { SAGA_ERROR };\n\nexport type { SagaErrorAction };\n","import { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\n\nimport { RECONNECT_PENDING, RECONNECT_FULFILLED } from '../actions/reconnect';\n\nimport { DISCONNECT_FULFILLED } from '../actions/disconnect';\nimport { SAGA_ERROR } from '../actions/sagaError';\n\nconst DEFAULT_STATE = 'uninitialized';\n\nexport default function connectivityStatus(state = DEFAULT_STATE, { type, meta }) {\n if (state !== 'sagaerror') {\n switch (type) {\n case CONNECT_PENDING:\n case RECONNECT_PENDING:\n if (state !== 'uninitialized') {\n state = 'reconnecting';\n }\n\n break;\n\n case CONNECT_FULFILLED:\n state = 'connected';\n break;\n\n case RECONNECT_FULFILLED:\n state = 'reconnected';\n break;\n\n case CONNECT_REJECTED:\n state = 'error';\n break;\n\n case CONNECT_STILL_PENDING:\n state = 'connectingslow';\n break;\n\n case DISCONNECT_FULFILLED:\n state = meta && meta.error ? 'error' : 'notconnected';\n break;\n\n case SAGA_ERROR:\n state = 'sagaerror';\n break;\n\n default:\n break;\n }\n }\n\n return state;\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, -1] }] */\n\nimport updateIn from 'simple-update-in';\n\nimport { DELETE_ACTIVITY } from '../actions/deleteActivity';\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport {\n POST_ACTIVITY_FULFILLED,\n POST_ACTIVITY_IMPEDED,\n POST_ACTIVITY_PENDING,\n POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport { SENDING, SEND_FAILED, SENT } from '../types/internal/SendStatus';\nimport getActivityLivestreamingMetadata from '../utils/getActivityLivestreamingMetadata';\nimport findBeforeAfter from './private/findBeforeAfter';\n\nimport type { Reducer } from 'redux';\nimport type { DeleteActivityAction } from '../actions/deleteActivity';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { MarkActivityAction } from '../actions/markActivity';\nimport type {\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n} from '../actions/postActivity';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\ntype ActivitiesAction =\n | DeleteActivityAction\n | IncomingActivityAction\n | MarkActivityAction\n | PostActivityFulfilledAction\n | PostActivityImpededAction\n | PostActivityPendingAction\n | PostActivityRejectedAction;\n\ntype ActivitiesState = WebChatActivity[];\n\nconst DEFAULT_STATE: ActivitiesState = [];\nconst DIRECT_LINE_PLACEHOLDER_URL =\n 'https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png';\n\nfunction getClientActivityID(activity: WebChatActivity): string | undefined {\n return activity.channelData?.clientActivityID;\n}\n\nfunction findByClientActivityID(clientActivityID: string): (activity: WebChatActivity) => boolean {\n return (activity: WebChatActivity) => getClientActivityID(activity) === clientActivityID;\n}\n\nfunction patchActivity(\n activity: WebChatActivity,\n activities: WebChatActivity[],\n { Date }: GlobalScopePonyfill\n): WebChatActivity {\n // Direct Line channel will return a placeholder image for the user-uploaded image.\n // As observed, the URL for the placeholder image is https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png.\n // To make our code simpler, we are removing the value if \"contentUrl\" is pointing to a placeholder image.\n\n // TODO: [P2] #2869 This \"contentURL\" removal code should be moved to DirectLineJS adapter.\n\n // Also, if the \"contentURL\" starts with \"blob:\", this means the user is uploading a file (the URL is constructed by URL.createObjectURL)\n // Although the copy/reference of the file is temporary in-memory, to make the UX consistent across page refresh, we do not allow the user to re-download the file either.\n\n activity = updateIn(activity, ['attachments', () => true, 'contentUrl'], (contentUrl: string) => {\n if (contentUrl !== DIRECT_LINE_PLACEHOLDER_URL && !/^blob:/iu.test(contentUrl)) {\n return contentUrl;\n }\n });\n\n activity = updateIn(activity, ['channelData'], channelData => ({ ...channelData }));\n activity = updateIn(activity, ['channelData', 'webChat', 'receivedAt'], () => Date.now());\n\n const {\n channelData: { 'webchat:sequence-id': sequenceId }\n } = activity;\n\n // TODO: [P1] #3953 We should move this patching logic to a DLJS wrapper for simplicity.\n // If the message does not have sequence ID, use these fallback values:\n // 1. \"channelData.streamSequence\" field (if available)\n // - 0.0001 * streamSequence should be good\n // 2. \"timestamp\" field\n // - outgoing activity will not have \"timestamp\" field\n // 3. last activity sequence ID (or 0) + 0.001\n // - best effort to put this message the last one in the chat history\n if (typeof sequenceId !== 'number') {\n let after: WebChatActivity;\n let before: WebChatActivity;\n const metadata = getActivityLivestreamingMetadata(activity);\n\n if (metadata) {\n [before, after] = findBeforeAfter(activities, target => {\n const targetMetadata = getActivityLivestreamingMetadata(target);\n\n if (targetMetadata?.sessionId === metadata.sessionId) {\n return targetMetadata.sequenceNumber < metadata.sequenceNumber ? 'before' : 'after';\n }\n\n return 'unknown';\n });\n }\n\n let sequenceId: number;\n\n if (before) {\n if (after) {\n // eslint-disable-next-line no-magic-numbers\n sequenceId = (before.channelData['webchat:sequence-id'] + after.channelData['webchat:sequence-id']) / 2;\n } else {\n // eslint-disable-next-line no-magic-numbers\n sequenceId = before.channelData['webchat:sequence-id'] + 0.001;\n }\n } else if (after) {\n // eslint-disable-next-line no-magic-numbers\n sequenceId = after.channelData['webchat:sequence-id'] - 0.001;\n } else if (typeof activity.timestamp !== 'undefined') {\n sequenceId = +new Date(activity.timestamp);\n } else {\n // We assume there will be no more than 1,000 messages sent before receiving server response.\n // If there are more than 1,000 messages, some messages will get reordered and appear jumpy after receiving server response.\n // eslint-disable-next-line no-magic-numbers\n sequenceId = (activities[activities.length - 1]?.channelData['webchat:sequence-id'] || 0) + 0.001;\n }\n\n activity = updateIn(activity, ['channelData', 'webchat:sequence-id'], () => sequenceId);\n }\n\n return activity;\n}\n\nfunction upsertActivityWithSort(\n activities: WebChatActivity[],\n nextActivity: WebChatActivity,\n ponyfill: GlobalScopePonyfill\n): WebChatActivity[] {\n const metadata = getActivityLivestreamingMetadata(nextActivity);\n\n if (metadata) {\n const { sessionId } = metadata;\n\n // If the upserting activity is going upsert into a concluded livestream, skip the activity.\n const isLivestreamConcluded = activities.find(targetActivity => {\n const targetMetadata = getActivityLivestreamingMetadata(targetActivity);\n\n return targetMetadata?.sessionId === sessionId && targetMetadata.type === 'final activity';\n });\n\n if (isLivestreamConcluded) {\n return activities;\n }\n }\n\n nextActivity = patchActivity(nextActivity, activities, ponyfill);\n\n const { channelData: { clientActivityID: nextClientActivityID, 'webchat:sequence-id': nextSequenceId } = {} } =\n nextActivity;\n\n const nextActivities = activities.filter(\n ({ channelData: { clientActivityID } = {}, id }) =>\n // We will remove all \"sending messages\" activities and activities with same ID\n // \"clientActivityID\" is unique and used to track if the message has been sent and echoed back from the server\n !(nextClientActivityID && clientActivityID === nextClientActivityID) && !(id && id === nextActivity.id)\n );\n\n // Then, find the right (sorted) place to insert the new activity at, based on sequence ID.\n const indexToInsert = nextActivities.findIndex(\n ({ channelData: { 'webchat:sequence-id': sequenceId } = {} }) => (sequenceId || 0) > (nextSequenceId || 0)\n );\n\n // If no right place are found, append it\n nextActivities.splice(~indexToInsert ? indexToInsert : nextActivities.length, 0, nextActivity);\n\n return nextActivities;\n}\n\nexport default function createActivitiesReducer(\n ponyfill: GlobalScopePonyfill\n): Reducer<ActivitiesState, ActivitiesAction> {\n return function activities(state: ActivitiesState = DEFAULT_STATE, action: ActivitiesAction): ActivitiesState {\n switch (action.type) {\n case DELETE_ACTIVITY:\n state = updateIn(state, [({ id }: WebChatActivity) => id === action.payload.activityID]);\n break;\n\n case MARK_ACTIVITY:\n {\n const { payload } = action;\n\n state = updateIn(\n state,\n [({ id }: WebChatActivity) => id === payload.activityID, 'channelData', payload.name],\n () => payload.value\n );\n }\n\n break;\n\n case POST_ACTIVITY_PENDING:\n {\n let {\n payload: { activity }\n } = action;\n\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n activity = updateIn(activity, ['channelData', 'state'], () => SENDING);\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => SENDING);\n\n state = upsertActivityWithSort(state, activity, ponyfill);\n }\n\n break;\n\n case POST_ACTIVITY_IMPEDED:\n state = updateIn(\n state,\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n [findByClientActivityID(action.meta.clientActivityID), 'channelData', 'state'],\n () => SEND_FAILED\n );\n\n break;\n\n case POST_ACTIVITY_REJECTED:\n state = updateIn(state, [findByClientActivityID(action.meta.clientActivityID)], activity => {\n activity = updateIn(activity, ['channelData', 'state'], () => SEND_FAILED);\n\n return updateIn(activity, ['channelData', 'webchat:send-status'], () => SEND_FAILED);\n });\n\n break;\n\n case POST_ACTIVITY_FULFILLED:\n {\n // We will replace the activity with the version from the server\n const activity = updateIn(\n updateIn(\n patchActivity(action.payload.activity, state, ponyfill),\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n ['channelData', 'state'],\n () => SENT\n ),\n ['channelData', 'webchat:send-status'],\n () => SENT\n );\n\n state = updateIn(state, [findByClientActivityID(action.meta.clientActivityID)], () => activity);\n }\n\n break;\n\n case INCOMING_ACTIVITY:\n {\n let {\n payload: { activity }\n } = action;\n\n // If the incoming activity is an echo back, we should keep the existing `channelData['webchat:send-status']` field.\n //\n // Otherwise, it will fail following scenario:\n //\n // 1. Send an activity to the service\n // 2. Service echoed back the activity\n // 3. Service did NOT return `postActivity` call\n // - EXPECT: `channelData['webchat:send-status']` should be \"sending\".\n // - ACTUAL: `channelData['webchat:send-status']` is `undefined` because the activity get overwritten by the echo back activity.\n // The echo back activity contains no `channelData['webchat:send-status']`.\n //\n // While we are looking out for the scenario above, we should also look at the following scenarios:\n //\n // 1. Service restore chat history, including activities sent from the user. These activities has the following characteristics:\n // - They do not have `channelData['webchat:send-status']`;\n // - They do not have an ongoing `postActivitySaga`;\n // - They should not previously appear in the chat history.\n // 2. We need to mark these activities as \"sent\".\n //\n // In the future, when we revamp our object model, we could use a different signal so we don't need the code below, for example:\n //\n // - If `activity.id` is set, it is \"sent\", because the chat service assigned an ID to the activity;\n // - If `activity.id` is not set, it is either \"sending\" or \"send failed\";\n // - If `activity.channelData['webchat:send-failed-reason']` is set, it is \"send failed\" with the reason, otherwise;\n // - It is sending.\n if (activity.from.role === 'user') {\n const { id } = activity;\n const clientActivityID = getClientActivityID(activity);\n\n const existingActivity = state.find(\n activity =>\n (clientActivityID && getClientActivityID(activity) === clientActivityID) || (id && activity.id === id)\n );\n\n if (existingActivity) {\n const {\n channelData: { 'webchat:send-status': sendStatus }\n } = existingActivity;\n\n if (sendStatus === SENDING || sendStatus === SEND_FAILED || sendStatus === SENT) {\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => sendStatus);\n }\n } else {\n // If there are no existing activity, probably this activity is restored from chat history.\n // All outgoing activities restored from service means they arrived at the service successfully.\n // Thus, we are marking them as \"sent\".\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => SENT);\n }\n }\n\n state = upsertActivityWithSort(state, activity, ponyfill);\n }\n\n break;\n\n default:\n break;\n }\n\n return state;\n };\n}\n","type DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\ntype DeleteActivityAction = {\n payload: { activityID: string };\n type: DeleteActivityActionType;\n};\n\nconst DELETE_ACTIVITY: DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\nfunction deleteActivity(activityID: string): DeleteActivityAction {\n return {\n type: DELETE_ACTIVITY,\n payload: { activityID }\n };\n}\n\nexport default deleteActivity;\nexport { DELETE_ACTIVITY };\nexport type { DeleteActivityAction };\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\ntype IncomingActivityAction = {\n payload: { activity: WebChatActivity };\n type: IncomingActivityActionType;\n};\n\nconst INCOMING_ACTIVITY: IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\nfunction incomingActivity(activity: WebChatActivity): IncomingActivityAction {\n return {\n type: INCOMING_ACTIVITY,\n payload: { activity }\n };\n}\n\nexport default incomingActivity;\nexport { INCOMING_ACTIVITY };\nexport type { IncomingActivityAction };\n","// This type is only for this package only and help reducing size of the bundle.\n// Externals should use the string literal directly instead.\n\n// TODO: [P3] #4040 When improve treeshaking with named exports, we could export internals from `core` package.\n// import { SENDING, SEND_FAILED, SENT } from 'botframework-webchat-core/internal/SendStatus';\n\nconst SENDING = 'sending';\nconst SEND_FAILED = 'send failed';\nconst SENT = 'sent';\n\ntype SendStatus = typeof SENDING | typeof SEND_FAILED | typeof SENT;\n\nexport { SENDING, SEND_FAILED, SENT };\nexport type { SendStatus };\n","import { integer, literal, minValue, number, object, optional, safeParse, string, union } from 'valibot';\n\nimport { type WebChatActivity } from '../types/WebChatActivity';\n\nconst streamSequenceSchema = number([integer(), minValue(1)]);\n\nconst livestreamingActivitySchema = union([\n object({\n channelData: object({\n // \"streamId\" is optional for the very first activity in the session.\n streamId: optional(string()),\n streamSequence: streamSequenceSchema,\n streamType: union([literal('informative'), literal('streaming')])\n }),\n id: string(),\n text: string(),\n type: literal('typing')\n }),\n object({\n channelData: object({\n // \"streamId\" is required for the final activity in the session. The final activity must not be the sole activity in the session.\n streamId: string(),\n streamType: literal('final')\n }),\n id: string(),\n text: string(),\n type: literal('message')\n })\n]);\n\n/**\n * Gets the livestreaming metadata of the activity, or `undefined` if the activity is not participating in a livestreaming session.\n *\n * - `sessionId` - ID of the livestreaming session\n * - `sequenceNumber` - sequence number of the activity\n * - `type`\n * - `\"interim activity\"` - current response, could be empty, partial-from-start, or complete response.\n * More activities are expected. Future interim activities always replace past interim activities, enable erasing or backtracking response.\n * - `\"informative message\"` - optional side-channel informative message describing the current response, e.g. \"Searching your document library\".\n * Always replace past informative messages. May interleave with interim activities.\n * - `\"final activity\"` - complete-and-final response, always replace past interim activities and remove all informative messages.\n * This activity indicates end of the session, all future activities must be ignored.\n * - `undefined` - not part of a livestream session or the activity is not valid\n *\n * @returns {object} Livestreaming metadata of the activity, or `undefined` if the activity is not participating in a livestreaming session.\n */\nexport default function getActivityLivestreamingMetadata(activity: WebChatActivity):\n | Readonly<{\n sessionId: string;\n sequenceNumber: number;\n type: 'final activity' | 'informative message' | 'interim activity';\n }>\n | undefined {\n const result = safeParse(livestreamingActivitySchema, activity);\n\n if (result.success) {\n const { output } = result;\n\n // If the activity is the first in the session, session ID should be the activity ID.\n const sessionId = output.channelData.streamId || output.id;\n\n return Object.freeze(\n output.channelData.streamType === 'final'\n ? {\n sequenceNumber: Infinity,\n sessionId,\n type: 'final activity'\n }\n : {\n sequenceNumber: output.channelData.streamSequence,\n sessionId,\n type: output.channelData.streamType === 'informative' ? 'informative message' : 'interim activity'\n }\n );\n }\n\n return undefined;\n}\n","type Position = 'after' | 'before' | 'unknown';\n\nexport default function findBeforeAfter<T>(\n array: T[],\n getPosition: (value: T) => Position\n): [T | undefined, T | undefined, number | undefined] {\n let lastValue: T | undefined;\n let lastPosition: Position = 'unknown';\n\n for (let index = 0; index < array.length; index++) {\n const value = array[+index];\n const currentPosition = getPosition(value);\n\n if (\n ((lastPosition === 'before' || lastPosition === 'unknown') && currentPosition === 'after') ||\n (lastPosition === 'before' && (currentPosition === 'after' || currentPosition === 'unknown'))\n ) {\n return [lastValue, value, index];\n }\n\n lastValue = value;\n lastPosition = currentPosition;\n }\n\n if (lastPosition === 'before') {\n return [lastValue, undefined, array.length];\n }\n\n return [undefined, undefined, undefined];\n}\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n/**\n * Creates a Redux reducer to store the ponyfill.\n *\n * The ponyfill is used to check if React and Redux does not use a matching ponyfill.\n */\nexport default function createInternalReducer(ponyfill: GlobalScopePonyfill): () => { ponyfill: GlobalScopePonyfill } {\n return () => ({ ponyfill });\n}\n","import updateIn from 'simple-update-in';\n\nimport { DISMISS_NOTIFICATION } from '../actions/dismissNotification';\nimport { SAGA_ERROR } from '../actions/sagaError';\nimport { SET_NOTIFICATION } from '../actions/setNotification';\nimport isForbiddenPropertyName from '../utils/isForbiddenPropertyName';\n\nimport type { DismissNotificationAction } from '../actions/dismissNotification';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { Notification } from '../types/internal/Notification';\nimport type { Reducer } from 'redux';\nimport type { SagaErrorAction } from '../actions/sagaError';\nimport type { SetNotificationAction } from '../actions/setNotification';\n\ntype NotificationsAction = DismissNotificationAction | SagaErrorAction | SetNotificationAction;\ntype NotificationsState = Record<string, Notification>;\n\nconst DEFAULT_STATE: NotificationsState = {};\n\nexport default function createNotificationsReducer({\n Date\n}: GlobalScopePonyfill): Reducer<NotificationsState, NotificationsAction> {\n return function notifications(\n state: NotificationsState = DEFAULT_STATE,\n action: NotificationsAction\n ): NotificationsState {\n const { type } = action;\n const now = Date.now();\n\n if (type === DISMISS_NOTIFICATION) {\n state = updateIn(state, [action.payload.id]);\n } else if (type === SAGA_ERROR) {\n state = updateIn(state, ['connectivitystatus', 'message'], () => 'javascripterror');\n } else if (type === SET_NOTIFICATION) {\n const { alt, data, id, level, message } = action.payload;\n\n if (!isForbiddenPropertyName(id)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n const notification = state[id];\n\n if (\n !notification ||\n alt !== notification.alt ||\n !Object.is(data, notification.data) ||\n level !== notification.level ||\n message !== notification.message\n ) {\n state = updateIn(state, [id], () => ({\n alt,\n data,\n id,\n level,\n message,\n timestamp: now\n }));\n }\n }\n }\n\n return state;\n };\n}\n","let FORBIDDEN_PROPERTY_NAMES;\n\nfunction getForbiddenPropertyNames(): string[] {\n return (\n FORBIDDEN_PROPERTY_NAMES ||\n (FORBIDDEN_PROPERTY_NAMES = Object.freeze(\n Array.from(\n new Set([\n // As-of writing, `Object.prototype` includes:\n // __defineGetter__\n // __defineSetter__\n // __lookupGetter__\n // __lookupSetter\n // __proto__\n // constructor\n // hasOwnProperty\n // isPrototypeOf\n // propertyIsEnumerable\n // toLocaleString\n // toString\n // valueOf\n ...Object.getOwnPropertyNames(Object.prototype),\n\n 'prototype'\n ])\n )\n ))\n );\n}\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n return getForbiddenPropertyNames().includes(propertyName);\n}\n","/* eslint no-case-declarations: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n\nimport updateIn from 'simple-update-in';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { PostActivityPendingAction } from '../actions/postActivity';\nimport type { Reducer } from 'redux';\n\ntype TypingState = Record<\n string,\n {\n at: number;\n last: number;\n name: string;\n role: 'bot' | 'channel' | 'user';\n }\n>;\ntype TypingAction = IncomingActivityAction | PostActivityPendingAction;\n\nconst DEFAULT_STATE: TypingState = {};\n\nexport default function createLastTypingReducer({ Date }: GlobalScopePonyfill): Reducer<TypingState, TypingAction> {\n return function lastTyping(state: TypingState = DEFAULT_STATE, { payload, type }: TypingAction): TypingState {\n if (type === INCOMING_ACTIVITY || type === POST_ACTIVITY_PENDING) {\n const {\n activity: {\n from: { id, name, role },\n type: activityType\n }\n } = payload;\n\n if (activityType === 'typing') {\n const now = Date.now();\n\n state = updateIn(state, [id, 'at'], at => at || now);\n state = updateIn(state, [id, 'last'], () => now);\n state = updateIn(state, [id, 'name'], () => name);\n state = updateIn(state, [id, 'role'], () => role);\n } else if (activityType === 'message') {\n state = updateIn(state, [id]);\n }\n }\n\n return state;\n };\n}\n","import { SET_DICTATE_INTERIMS } from '../actions/setDictateInterims';\n\nconst DEFAULT_STATE = [];\n\nexport default function dictateInterims(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_DICTATE_INTERIMS:\n state = payload.dictateInterims;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { DICTATING, IDLE, STARTING, STOPPING, WILL_START } from '../constants/DictateState';\n\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { START_DICTATE } from '../actions/startDictate';\nimport { STOP_DICTATE } from '../actions/stopDictate';\n\nconst DEFAULT_STATE = IDLE;\n\nexport default function dictateState(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_DICTATE_STATE:\n state = payload.dictateState;\n break;\n\n case START_DICTATE:\n if (state === IDLE || state === STOPPING || state === WILL_START) {\n state = STARTING;\n }\n\n break;\n\n case STOP_DICTATE:\n if (state === STARTING || state === DICTATING) {\n state = STOPPING;\n } else if (state === WILL_START) {\n state = IDLE;\n }\n\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_LANGUAGE } from '../actions/setLanguage';\n\nconst DEFAULT_STATE = 'en-US';\n\nexport default function language(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_LANGUAGE:\n state = payload.language;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","// TODO: [P3] We should obsolete this action in favor of DIRECT_LINE/UPDATE_CONNECTION_STATUS.\n// But today, both actions behave differently, this one only dispatch after connected and not dispatched when disconnected.\nconst CONNECTION_STATUS_UPDATE = 'DIRECT_LINE/CONNECTION_STATUS_UPDATE';\n\nexport default function connectionStatusUpdate(connectionStatus) {\n return {\n type: CONNECTION_STATUS_UPDATE,\n payload: { connectionStatus }\n };\n}\n\nexport { CONNECTION_STATUS_UPDATE };\n","import { CONNECTION_STATUS_UPDATE } from '../actions/connectionStatusUpdate';\n\nconst DEFAULT_STATE = 0;\n\nexport default function readyState(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case CONNECTION_STATUS_UPDATE:\n state = payload.connectionStatus;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","const SET_REFERENCE_GRAMMAR_ID = 'WEB_CHAT/SET_REFERENCE_GRAMMAR_ID';\n\nexport default function setReferenceGrammarID(referenceGrammarID) {\n return {\n type: SET_REFERENCE_GRAMMAR_ID,\n payload: { referenceGrammarID }\n };\n}\n\nexport { SET_REFERENCE_GRAMMAR_ID };\n","import { SET_REFERENCE_GRAMMAR_ID } from '../actions/setReferenceGrammarID';\n\nconst DEFAULT_STATE = null;\n\nexport default function referenceGrammarID(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_REFERENCE_GRAMMAR_ID:\n state = payload.referenceGrammarID || null;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_BOX_ATTACHMENTS } from '../actions/setSendBoxAttachments';\nimport type { SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst DEFAULT_STATE: readonly SendBoxAttachment[] = Object.freeze([]);\n\nexport default function sendBoxAttachments(state = DEFAULT_STATE, { payload, type }): readonly SendBoxAttachment[] {\n switch (type) {\n case SET_SEND_BOX_ATTACHMENTS:\n state = payload.attachments;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_BOX } from '../actions/setSendBox';\n\nconst DEFAULT_STATE = '';\n\nexport default function sendBoxValue(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_BOX:\n state = payload.text;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_TIMEOUT } from '../actions/setSendTimeout';\n\nconst DEFAULT_STATE = 20000;\n\nexport default function sendTimeout(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_TIMEOUT:\n state = payload.sendTimeout;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\n\nconst DEFAULT_STATE = false;\n\nexport default function sendTypingIndicator(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_TYPING_INDICATOR:\n state = payload.sendTypingIndicator;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { START_SPEAKING_ACTIVITY } from '../actions/startSpeakingActivity';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\n\nexport default function shouldSpeakIncomingActivity(state = false, { type }) {\n switch (type) {\n case START_SPEAKING_ACTIVITY:\n state = true;\n break;\n\n case STOP_SPEAKING_ACTIVITY:\n state = false;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import type { DirectLineCardAction } from '../types/external/DirectLineCardAction';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst EMPTY_ARRAY: readonly DirectLineCardAction[] = Object.freeze([]);\n\nconst SET_SUGGESTED_ACTIONS = 'WEB_CHAT/SET_SUGGESTED_ACTIONS' as const;\n\nexport default function setSuggestedActions(\n suggestedActions: readonly DirectLineCardAction[] = EMPTY_ARRAY,\n originActivity: undefined | WebChatActivity = undefined\n) {\n return {\n type: SET_SUGGESTED_ACTIONS,\n payload: { originActivity, suggestedActions }\n };\n}\n\nexport { SET_SUGGESTED_ACTIONS };\n","import { CLEAR_SUGGESTED_ACTIONS } from '../actions/clearSuggestedActions';\nimport { SET_SUGGESTED_ACTIONS } from '../actions/setSuggestedActions';\n\nconst DEFAULT_STATE = Object.freeze([]);\n\nexport default function suggestedActions(state = DEFAULT_STATE, { payload = {}, type }) {\n switch (type) {\n case SET_SUGGESTED_ACTIONS:\n if ((payload.suggestedActions || []).length) {\n state = [].slice.call(payload.suggestedActions);\n } else {\n state = DEFAULT_STATE;\n }\n break;\n case CLEAR_SUGGESTED_ACTIONS:\n state = DEFAULT_STATE;\n break;\n default:\n break;\n }\n\n return state;\n}\n","import type clearSuggestedActions from '../actions/clearSuggestedActions';\nimport { CLEAR_SUGGESTED_ACTIONS } from '../actions/clearSuggestedActions';\nimport type setSuggestedActions from '../actions/setSuggestedActions';\nimport { SET_SUGGESTED_ACTIONS } from '../actions/setSuggestedActions';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\ntype ClearSuggestedActions = ReturnType<typeof clearSuggestedActions>;\ntype SetSuggestedActions = ReturnType<typeof setSuggestedActions>;\ntype State = Readonly<{ activity: undefined | WebChatActivity }>;\n\nconst DEFAULT_STATE: State = Object.freeze({ activity: undefined });\n\nexport default function suggestedActionsOriginActivity(\n state = DEFAULT_STATE,\n action: ClearSuggestedActions | SetSuggestedActions\n): State {\n switch (action.type) {\n case SET_SUGGESTED_ACTIONS:\n state = { activity: action.payload.originActivity };\n\n break;\n\n case CLEAR_SUGGESTED_ACTIONS:\n state = DEFAULT_STATE;\n\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { fork } from 'redux-saga/effects';\n\nimport clearSuggestedActionsOnPostActivitySaga from './sagas/clearSuggestedActionsOnPostActivitySaga';\nimport connectionStatusToNotificationSaga from './sagas/connectionStatusToNotificationSaga';\nimport connectionStatusUpdateSaga from './sagas/connectionStatusUpdateSaga';\nimport connectSaga from './sagas/connectSaga';\nimport detectSlowConnectionSaga from './sagas/detectSlowConnectionSaga';\nimport emitTypingIndicatorToPostActivitySaga from './sagas/emitTypingIndicatorToPostActivitySaga';\nimport markAllAsSpokenOnStopSpeakActivitySaga from './sagas/markAllAsSpokenOnStopSpeakActivitySaga';\nimport observeActivitySaga from './sagas/observeActivitySaga';\nimport postActivitySaga from './sagas/postActivitySaga';\nimport queueIncomingActivitySaga from './sagas/queueIncomingActivitySaga';\nimport sendEventToPostActivitySaga from './sagas/sendEventToPostActivitySaga';\nimport sendFilesToPostActivitySaga from './sagas/sendFilesToPostActivitySaga';\nimport sendMessageBackToPostActivitySaga from './sagas/sendMessageBackToPostActivitySaga';\nimport sendMessageToPostActivitySaga from './sagas/sendMessageToPostActivitySaga';\nimport sendPostBackToPostActivitySaga from './sagas/sendPostBackToPostActivitySaga';\nimport sendTypingIndicatorOnSetSendBoxSaga from './sagas/sendTypingIndicatorOnSetSendBoxSaga';\nimport speakActivityAndStartDictateOnIncomingActivityFromOthersSaga from './sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga';\nimport startDictateOnSpeakCompleteSaga from './sagas/startDictateOnSpeakCompleteSaga';\nimport startSpeakActivityOnPostActivitySaga from './sagas/startSpeakActivityOnPostActivitySaga';\nimport stopDictateOnCardActionSaga from './sagas/stopDictateOnCardActionSaga';\nimport stopSpeakingActivityOnInputSaga from './sagas/stopSpeakingActivityOnInputSaga';\nimport submitSendBoxSaga from './sagas/submitSendBoxSaga';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { Saga } from 'redux-saga';\n\ntype CreateSagasOptions = {\n ponyfill: GlobalScopePonyfill;\n};\n\nexport default function createSagas({ ponyfill }: CreateSagasOptions): Saga {\n return function* () {\n // TODO: [P2] Since fork() silently catches all exceptions, we need to find a way to console.error them out.\n\n yield fork(clearSuggestedActionsOnPostActivitySaga);\n yield fork(connectionStatusToNotificationSaga);\n yield fork(connectionStatusUpdateSaga);\n yield fork(connectSaga);\n yield fork(detectSlowConnectionSaga, ponyfill);\n yield fork(emitTypingIndicatorToPostActivitySaga);\n yield fork(markAllAsSpokenOnStopSpeakActivitySaga);\n yield fork(observeActivitySaga);\n yield fork(postActivitySaga, ponyfill);\n yield fork(queueIncomingActivitySaga, ponyfill);\n yield fork(sendEventToPostActivitySaga);\n yield fork(sendFilesToPostActivitySaga);\n yield fork(sendMessageBackToPostActivitySaga);\n yield fork(sendMessageToPostActivitySaga);\n yield fork(sendPostBackToPostActivitySaga);\n yield fork(sendTypingIndicatorOnSetSendBoxSaga, ponyfill);\n yield fork(speakActivityAndStartDictateOnIncomingActivityFromOthersSaga);\n yield fork(startDictateOnSpeakCompleteSaga);\n yield fork(startSpeakActivityOnPostActivitySaga);\n yield fork(stopDictateOnCardActionSaga);\n yield fork(stopSpeakingActivityOnInputSaga);\n yield fork(submitSendBoxSaga);\n };\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport whileConnected from './effects/whileConnected';\n\nfunction* clearSuggestedActions() {\n yield put(setSuggestedActions());\n}\n\nfunction* clearSuggestedActionsOnPostActivity() {\n yield takeEvery(\n ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n clearSuggestedActions\n );\n}\n\nexport default function* clearSuggestedActionsOnPostActivitySaga() {\n yield whileConnected(clearSuggestedActionsOnPostActivity);\n}\n","import { call, cancel, fork, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLING } from '../../actions/connect';\nimport { DISCONNECT_PENDING } from '../../actions/disconnect';\nimport { RECONNECT_PENDING, RECONNECT_FULFILLING } from '../../actions/reconnect';\n\nimport type { DirectLineJSBotConnection } from '../../types/external/DirectLineJSBotConnection';\n\nexport default function whileConnectedEffect<P extends any[]>(\n fn: (\n {\n directLine,\n userID,\n username\n }: {\n directLine: DirectLineJSBotConnection;\n userID: string;\n username: string;\n },\n ...args: P\n ) => void,\n ...args: P\n) {\n return call(function* whileConnected() {\n for (;;) {\n const {\n meta: { userID, username },\n payload: { directLine }\n }: {\n meta: {\n userID: string;\n username: string;\n };\n payload: { directLine: DirectLineJSBotConnection };\n } = yield take([CONNECT_FULFILLING, RECONNECT_FULFILLING]);\n\n const task = yield fork(fn, { directLine, userID, username }, ...args);\n\n // When we receive DISCONNECT_PENDING or RECONNECT_PENDING, the Direct Line connection is currently busy and should not be used.\n\n yield take([DISCONNECT_PENDING, RECONNECT_PENDING]);\n yield cancel(task);\n }\n });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3, 4] }] */\n\nimport { call, put, takeLatest } from 'redux-saga/effects';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport setNotification from '../actions/setNotification';\n\nconst CONNECTIVITY_STATUS_NOTIFICATION_ID = 'connectivitystatus';\n\nfunction subscribeToPromiseQueue(observable) {\n const { push, shift } = createPromiseQueue();\n const subscription = observable.subscribe({ next: push });\n\n return {\n shift,\n unsubscribe() {\n subscription.unsubscribe();\n }\n };\n}\n\nfunction* connectionStatusToNotification({ payload: { directLine } }) {\n const { shift, unsubscribe } = subscribeToPromiseQueue(directLine.connectionStatus$);\n\n try {\n let reconnecting;\n\n for (;;) {\n const value = yield call(shift);\n\n switch (value) {\n case 0:\n case 1:\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'info',\n message: reconnecting ? 'reconnecting' : 'connecting'\n })\n );\n\n break;\n\n case 2:\n reconnecting = 1;\n\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'success',\n message: 'connected'\n })\n );\n\n break;\n\n case 3:\n case 4:\n reconnecting = 1;\n\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'error',\n message: 'failedtoconnect'\n })\n );\n\n break;\n\n default:\n break;\n }\n }\n } finally {\n unsubscribe();\n }\n}\n\nexport default function* () {\n yield takeLatest(CONNECT, connectionStatusToNotification);\n}\n","import { withResolvers } from 'botframework-webchat-base/utils';\n\nexport default function createPromiseQueue() {\n let promiseWithResolvers;\n const queue = [];\n\n const push = value => {\n if (promiseWithResolvers) {\n const { resolve } = promiseWithResolvers;\n\n promiseWithResolvers = null;\n resolve(value);\n } else {\n queue.push(value);\n }\n };\n\n const shift = () =>\n queue.length\n ? Promise.resolve(queue.shift())\n : (promiseWithResolvers || (promiseWithResolvers = withResolvers())).promise;\n\n return {\n push,\n shift\n };\n}\n","import { put } from 'redux-saga/effects';\n\nimport connectionStatusUpdate from '../actions/connectionStatusUpdate';\nimport observeEach from './effects/observeEach';\nimport setReferenceGrammarID from '../actions/setReferenceGrammarID';\nimport whileConnected from './effects/whileConnected';\n\nfunction* observeConnectionStatus({ directLine }) {\n yield observeEach(directLine.connectionStatus$, function* updateConnectionStatus(connectionStatus) {\n yield put(connectionStatusUpdate(connectionStatus));\n yield put(setReferenceGrammarID(directLine.referenceGrammarId));\n });\n}\n\nexport default function* connectionStatusUpdateSaga() {\n yield whileConnected(observeConnectionStatus);\n}\n","import { call } from 'redux-saga/effects';\n\nimport createPromiseQueue from '../../createPromiseQueue';\n\nexport default function observeEachEffect(observable, saga) {\n return call(function* observeEach() {\n const queue = createPromiseQueue();\n const subscription = observable.subscribe({ next: queue.push });\n\n try {\n for (;;) {\n const result = yield call(queue.shift);\n\n yield call(saga, result);\n }\n } finally {\n subscription.unsubscribe();\n }\n });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 10] }] */\n\nimport { call, cancel, cancelled, fork, put, race, take } from 'redux-saga/effects';\n\nimport { jwtDecode } from 'jwt-decode';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport forkPut from './effects/forkPut';\nimport uniqueID from '../utils/uniqueID';\nimport updateConnectionStatus, { UPDATE_CONNECTION_STATUS } from '../actions/updateConnectionStatus';\n\nimport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_FULFILLED } from '../actions/disconnect';\n\nimport { RECONNECT } from '../actions/reconnect';\n\nconst CONNECTING = 1;\nconst ONLINE = 2;\nconst UNINITIALIZED = 0;\n\nfunction randomUserID() {\n return `r_${uniqueID().substring(0, 10)}`;\n}\n\nfunction* observeAndPutConnectionStatusUpdate(directLine) {\n const connectionStatusQueue = createPromiseQueue();\n const connectionStatusSubscription = directLine.connectionStatus$.subscribe({ next: connectionStatusQueue.push });\n\n try {\n for (;;) {\n const connectionStatus = yield call(connectionStatusQueue.shift);\n\n yield put(updateConnectionStatus(connectionStatus));\n }\n } finally {\n connectionStatusSubscription.unsubscribe();\n }\n}\n\n// TODO: [P2] We should move this check and rectification to DirectLineJS.\nfunction rectifyUserID(directLine, userIDFromAction) {\n const { token } = directLine;\n\n let userIDFromToken;\n\n // TODO: Add test to make sure \"jwt-decode\" work as expected.\n try {\n userIDFromToken = (jwtDecode(token) || {}).user;\n // eslint-disable-next-line no-empty\n } catch (err) {}\n\n const result = {\n fromAction: userIDFromAction,\n fromToken: userIDFromToken\n };\n\n if (userIDFromToken) {\n if (userIDFromAction && userIDFromAction !== userIDFromToken) {\n console.warn(\n 'Web Chat: user ID is both specified in the Direct Line token and passed in, will use the user ID from the token.'\n );\n }\n\n result.final = userIDFromToken;\n } else if (userIDFromAction) {\n if (typeof userIDFromAction !== 'string') {\n console.warn('Web Chat: user ID must be a string.');\n\n result.final = randomUserID();\n } else if (/^dl_/u.test(userIDFromAction)) {\n console.warn(\n 'Web Chat: user ID prefixed with \"dl_\" is reserved and must be embedded into the Direct Line token to prevent forgery.'\n );\n\n result.final = randomUserID();\n } else {\n result.final = userIDFromAction;\n }\n } else {\n result.final = randomUserID();\n }\n\n return result;\n}\n\n// We could make this a Promise instead of saga (function generator) to make the code cleaner, if:\n// 1. We found a way to cancel Promise\n// 2. subscribe() are shared amongst all subscriptions, e.g. turn Observable into events\nfunction* connectSaga(directLine) {\n // DirectLineJS starts the connection only after the first subscriber for activity$, not connectionStatus$\n const activitySubscription = directLine.activity$.subscribe({ next: () => 0 });\n const unsubscribeActivity = activitySubscription.unsubscribe.bind(activitySubscription);\n\n try {\n for (;;) {\n const {\n payload: { connectionStatus }\n } = yield take(UPDATE_CONNECTION_STATUS);\n\n if (connectionStatus === ONLINE) {\n // TODO: [P2] DirectLineJS should kill the connection when we unsubscribe\n // But currently in v3, DirectLineJS does not have this functionality\n // Thus, we need to call \"end()\" explicitly\n\n return () => {\n unsubscribeActivity();\n directLine.end();\n };\n } else if (connectionStatus !== UNINITIALIZED && connectionStatus !== CONNECTING) {\n throw new Error(`Failed to connect, DirectLineJS returned ${connectionStatus}.`);\n }\n }\n } catch (err) {\n // We will unsubscribe if we failed to connect or got cancelled only.\n // We should not unsubscribe in happy case, because DirectLineJS should relying on the subscription to connect/disconnect.\n unsubscribeActivity();\n\n throw err;\n } finally {\n if (yield cancelled()) {\n unsubscribeActivity();\n }\n }\n}\n\nfunction* reconnectSaga() {\n for (;;) {\n const {\n payload: { connectionStatus }\n } = yield take(UPDATE_CONNECTION_STATUS);\n\n if (connectionStatus === ONLINE) {\n break;\n } else if (connectionStatus !== CONNECTING) {\n throw new Error(`Failed to reconnect. DirectLineJS returned ${connectionStatus}.`);\n }\n }\n}\n\n// This is similar to behavior of redux-promise-middleware, but using saga instead of Promise.\n// We guarantee PENDING -> FULFILLING -> FULFILLED, or PENDING -> REJECTED. This will help us simplify logic in other part of code.\n// Note that after the saga is cancelled, subsequent call to put() will be ignored silently.\nfunction* runAsyncEffect({ type, meta, payload }, callEffectFactory) {\n try {\n yield forkPut({ type: `${type}_PENDING`, meta, payload });\n\n const result = yield callEffectFactory();\n\n yield forkPut({ type: `${type}_FULFILLING`, meta, payload }, { type: `${type}_FULFILLED`, meta, payload });\n\n return result;\n } catch (payload) {\n yield forkPut({ type: `${type}_REJECTED`, error: true, meta, payload });\n\n throw payload;\n }\n}\n\nfunction* takeDisconnectAsError() {\n yield take(DISCONNECT);\n\n throw new Error('disconnected');\n}\n\nfunction runAsyncEffectUntilDisconnect(baseAction, callEffectFactory) {\n // We cannot use saga cancel() here, because cancelling saga will prohibit us from sending *_REJECTED.\n // Without REJECTED, it impacts our assumptions around PENDING/FULFILLED/REJECTED.\n return runAsyncEffect(baseAction, function* runUntilDisconnect() {\n const { result } = yield race({\n _: takeDisconnectAsError(),\n result: callEffectFactory()\n });\n\n return result;\n });\n}\n\nexport default function* () {\n for (;;) {\n const {\n payload: { directLine, userID: userIDFromAction, username }\n } = yield take(CONNECT);\n\n const updateConnectionStatusTask = yield fork(observeAndPutConnectionStatusUpdate, directLine);\n const rectifiedUserID = rectifyUserID(directLine, userIDFromAction);\n\n // TODO: [P2] Checks if this attached subtask will get killed if the parent task is complete (peacefully), errored out, or cancelled.\n const meta = {\n userID: rectifiedUserID.final,\n username\n };\n\n // Send user ID to DirectLineJS if it was specified from props of <API.Composer>.\n // However, DirectLineJS may still prefer the user ID from token if it is burnt into the token.\n // To prevent DirectLineJS giving false warnings, we will only call setUserId() if it is different than the token.\n directLine.setUserId && rectifiedUserID.fromToken !== meta.userID && directLine.setUserId(meta.userID);\n\n let disconnectMeta;\n\n // We will dispatch CONNECT_PENDING, wait for connect completed, errored, or cancelled (thru disconnect).\n // Then dispatch CONNECT_FULFILLED/CONNECT_REJECTED as needed.\n try {\n const endDirectLine = yield runAsyncEffectUntilDisconnect(\n {\n type: CONNECT,\n meta,\n payload: { directLine }\n },\n () => call(connectSaga, directLine)\n );\n\n try {\n for (;;) {\n // We are waiting for connection status change or disconnect action.\n const { updateConnectionStatusAction: { payload: { connectionStatus } = {} } = {} } = yield race({\n _: take(DISCONNECT),\n updateConnectionStatusAction: take(UPDATE_CONNECTION_STATUS)\n });\n\n // If it is not disconnect action, connectionStatus will not be undefined.\n if (connectionStatus === CONNECTING) {\n // If DirectLineJS changed connectionStatus to CONNECTING, we will treat it as reconnect status.\n yield runAsyncEffectUntilDisconnect(\n {\n type: RECONNECT,\n meta,\n payload: { directLine }\n },\n () => call(reconnectSaga)\n );\n } else if (connectionStatus !== ONLINE) {\n if (typeof connectionStatus !== 'undefined') {\n // We need to kill the connection because DirectLineJS want to close it.\n throw new Error(`Connection status changed to ${connectionStatus}`);\n } else {\n // Someone dispatched disconnect action.\n break;\n }\n }\n }\n } finally {\n endDirectLine();\n }\n } catch (error) {\n disconnectMeta = { error };\n } finally {\n yield cancel(updateConnectionStatusTask);\n\n // Even if the connection is interrupted, we will still emit DISCONNECT_PENDING.\n // This will makes handling logic easier. If CONNECT_FULFILLED, we guarantee DISCONNECT_PENDING.\n yield forkPut(\n { type: DISCONNECT_PENDING, meta: disconnectMeta, payload: { directLine } },\n { type: DISCONNECT_FULFILLED, meta: disconnectMeta, payload: { directLine } }\n );\n }\n }\n}\n","import { fork, put } from 'redux-saga/effects';\n\n// In redux-saga, if we call the following effects in order, we might miss the take('C').\n// 1. take('A')\n// 2. put({ type: 'B' })\n// 3. take('C')\n\n// We need to modify step 2 to:\n// 2. fork(function* () { yield put({ type: 'B' }) })\n\n// This is a helper function for this purpose.\n\nexport default function forkPutEffect(...actions) {\n return fork(function* forkPut() {\n for (const action of actions) {\n yield put(action);\n }\n });\n}\n","const UPDATE_CONNECTION_STATUS = 'DIRECT_LINE/UPDATE_CONNECTION_STATUS';\n\nexport default function updateConnectionStatus(connectionStatus) {\n return {\n type: UPDATE_CONNECTION_STATUS,\n payload: { connectionStatus }\n };\n}\n\nexport { UPDATE_CONNECTION_STATUS };\n","import { call, put, race, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\nimport { RECONNECT_FULFILLED, RECONNECT_PENDING, RECONNECT_REJECTED } from '../actions/reconnect';\nimport sleep from '../utils/sleep';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nconst SLOW_CONNECTION_AFTER = 15000;\n\nexport default function* detectSlowConnectionSaga(ponyfill: GlobalScopePonyfill) {\n for (;;) {\n yield take([CONNECT_PENDING, RECONNECT_PENDING]);\n\n const connectivityRace = yield race({\n fulfilled: take([CONNECT_FULFILLED, RECONNECT_FULFILLED]),\n rejected: take([CONNECT_REJECTED, RECONNECT_REJECTED]),\n slow: call(sleep, SLOW_CONNECTION_AFTER, ponyfill)\n });\n\n if ('slow' in connectivityRace) {\n yield put({ type: CONNECT_STILL_PENDING });\n }\n }\n}\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nexport default function sleep(interval: number, ponyfill: GlobalScopePonyfill): Promise<void> {\n return new Promise(resolve => ponyfill.setTimeout(resolve, Math.max(interval, 0)));\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { EMIT_TYPING_INDICATOR } from '../actions/emitTypingIndicator';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postTypingActivity() {\n yield put(\n postActivity({\n type: 'typing'\n })\n );\n}\n\nfunction* emitTypingActivityToPostActivity() {\n yield takeEvery(({ type }) => type === EMIT_TYPING_INDICATOR, postTypingActivity);\n}\n\nexport default function* emitTypingActivityToPostActivitySaga() {\n yield whileConnected(emitTypingActivityToPostActivity);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { of as activitiesOf } from '../selectors/activities';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\nimport markActivity from '../actions/markActivity';\nimport speakingActivity from '../definitions/speakingActivity';\n\nfunction* markAllAsSpoken() {\n const speakingActivities = yield select(activitiesOf(speakingActivity));\n\n for (const activity of speakingActivities) {\n yield put(markActivity(activity, 'speak', false));\n }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* markAllAsSpokenOnStopSpeakActivitySaga() {\n yield takeEvery(STOP_SPEAKING_ACTIVITY, markAllAsSpoken);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst activities = ({ activities }: ReduxState) => activities;\n\nconst of = (predicate: (activity: WebChatActivity) => boolean) => (state: ReduxState) =>\n activities(state).filter(predicate);\nconst ofID = (targetID: string) => of(({ id }) => id === targetID);\nconst ofType = (targetType: string) => of(({ type }) => type === targetType);\n\nexport default activities;\nexport { of, ofID, ofType };\n","// If true, the activity is in the queue and needs to be spoken.\n\nexport default function speakingActivity(activity) {\n return activity.channelData?.speak;\n}\n","import { put } from 'redux-saga/effects';\nimport updateIn from 'simple-update-in';\n\nimport observeEach from './effects/observeEach';\nimport queueIncomingActivity from '../actions/queueIncomingActivity';\nimport whileConnected from './effects/whileConnected';\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst PASSTHRU_FN = (value: unknown) => value;\n\nfunction patchActivityWithFromRole(activity: DirectLineActivity, userID?: string): DirectLineActivity {\n // Some activities, such as \"ConversationUpdate\", does not have \"from\" defined.\n // And although \"role\" is defined in Direct Line spec, it was not sent over the wire.\n // We normalize the activity here to simplify null-check and logic later.\n\n // Patch activity.from.role to make sure its either \"bot\", \"user\", or \"channel\"\n if (!activity.from) {\n activity = updateIn(activity, ['from', 'role'], () => 'channel');\n } else if (!activity.from.role) {\n if (activity.from.id === userID) {\n activity = updateIn(activity, ['from', 'role'], () => 'user');\n } else if (activity.from.id) {\n activity = updateIn(activity, ['from', 'role'], () => 'bot');\n } else {\n activity = updateIn(activity, ['from', 'role'], () => 'channel');\n }\n }\n\n return activity;\n}\n\nfunction patchNullAsUndefined(activity: DirectLineActivity): DirectLineActivity {\n // These fields are known used in Web Chat and in any cases, they should not be null, but undefined.\n // The only field omitted is \"value\", as it could be null purposefully.\n\n return [\n 'attachmentLayout',\n 'attachments',\n 'channelData',\n 'conversation',\n 'entities',\n 'from',\n 'inputHint',\n 'locale',\n 'name',\n 'recipient',\n 'speak',\n 'suggestedActions',\n 'text',\n 'textFormat',\n 'timestamp',\n 'type'\n ].reduce((activity, name) => {\n const { [name]: value } = activity;\n\n return updateIn(activity, [name], typeof value === 'undefined' || value === null ? undefined : PASSTHRU_FN);\n }, activity);\n}\n\n// Patching the `from.name` to be a human readable name.\n// We use the `from.name` for typing indicator, such that it read \"John is typing...\".\nfunction patchFromName(activity: DirectLineActivity) {\n return updateIn(activity, ['from', 'name'], (name: string | undefined): string => {\n const { channelId, from = {} } = activity;\n\n if ((channelId === 'directline' || channelId === 'webchat') && from.id === from.name && from.role === 'bot') {\n return 'Bot';\n }\n\n return name;\n });\n}\n\nfunction* observeActivity({ directLine, userID }: { directLine: DirectLineJSBotConnection; userID?: string }) {\n yield observeEach(directLine.activity$, function* observeActivity(activity: DirectLineActivity) {\n // TODO: [P2] #3953 Move the patching logic to a DirectLineJS wrapper, instead of too close to inners of Web Chat.\n activity = patchNullAsUndefined(activity);\n activity = patchActivityWithFromRole(activity, userID);\n activity = patchFromName(activity);\n\n yield put(queueIncomingActivity(activity as WebChatActivity));\n });\n}\n\nexport default function* observeActivitySaga() {\n yield whileConnected(observeActivity);\n}\n","const QUEUE_INCOMING_ACTIVITY = 'DIRECT_LINE/QUEUE_INCOMING_ACTIVITY';\n\nexport default function queueIncomingActivity(activity) {\n return {\n type: QUEUE_INCOMING_ACTIVITY,\n payload: { activity }\n };\n}\n\nexport { QUEUE_INCOMING_ACTIVITY };\n","import { all, call, cancelled, put, race, select, take, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport {\n POST_ACTIVITY,\n POST_ACTIVITY_FULFILLED,\n POST_ACTIVITY_IMPEDED,\n POST_ACTIVITY_PENDING,\n POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport dateToLocaleISOString from '../utils/dateToLocaleISOString';\nimport deleteKey from '../utils/deleteKey';\nimport languageSelector from '../selectors/language';\nimport observeOnce from './effects/observeOnce';\nimport sendTimeoutSelector from '../selectors/sendTimeout';\nimport sleep from '../utils/sleep';\nimport uniqueID from '../utils/uniqueID';\nimport whileConnected from './effects/whileConnected';\n\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type {\n PostActivityAction,\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n} from '../actions/postActivity';\nimport type { WebChatActivity } from '../types/WebChatActivity';\nimport type { WebChatOutgoingActivity } from '../types/internal/WebChatOutgoingActivity';\n\n// After 5 minutes, the saga will stop from listening for echo backs and consider the outgoing message as permanently undeliverable.\n// This value must be equals to or larger than the user-defined `styleOptions.sendTimeout`.\nconst HARD_SEND_TIMEOUT = 300000;\n\nfunction* postActivity(\n directLine: DirectLineJSBotConnection,\n userID: string,\n username: string,\n numActivitiesPosted: number,\n { meta: { method }, payload: { activity } }: PostActivityAction,\n ponyfill: GlobalScopePonyfill\n) {\n const attachments = (activity.type === 'message' && activity.attachments) || [];\n const clientActivityID = uniqueID();\n const locale = yield select(languageSelector);\n const localTimeZone =\n typeof window.Intl === 'undefined' ? undefined : new Intl.DateTimeFormat().resolvedOptions().timeZone;\n const now = new ponyfill.Date();\n\n // Currently, we allow untyped outgoing activity as long as the chat adapter can deliver.\n // In the future, we should warn if the outgoing activity is not matching the type.\n const outgoingActivity: WebChatOutgoingActivity = {\n ...deleteKey(activity, 'id'),\n channelData: {\n // Remove local fields that should not be send to the service.\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n ...deleteKey(activity.channelData, 'state', 'webchat:send-status'),\n clientActivityID\n },\n channelId: 'webchat',\n from: {\n id: userID,\n name: username,\n role: 'user'\n },\n locale,\n localTimestamp: dateToLocaleISOString(now),\n localTimezone: localTimeZone,\n ...(activity.type === 'message'\n ? {\n attachments:\n attachments &&\n attachments.map(({ contentType, contentUrl, name, thumbnailUrl }) => ({\n contentType,\n contentUrl,\n name,\n thumbnailUrl\n })),\n text: activity.text\n }\n : activity.type === 'event'\n ? {\n name: activity.name,\n value: activity.value\n }\n : {})\n };\n\n if (!numActivitiesPosted) {\n outgoingActivity.entities = [\n ...(outgoingActivity.entities || []),\n {\n // TODO: [P4] Currently in v3, we send the capabilities although the client might not actually have them\n // We need to understand why we need to send these, and only send capabilities the client have\n requiresBotState: true,\n supportsListening: true,\n supportsTts: true,\n type: 'ClientCapabilities'\n }\n ];\n }\n\n const meta: { clientActivityID: string; method: string } = { clientActivityID, method };\n\n yield put({\n type: POST_ACTIVITY_PENDING,\n meta,\n payload: { activity: outgoingActivity }\n } as PostActivityPendingAction);\n\n let echoed: boolean | undefined;\n\n try {\n // Quirks: We might receive INCOMING_ACTIVITY before the postActivity call completed\n // So, we setup expectation first, then postActivity afterward\n\n const echoBackCall = call(function* () {\n for (;;) {\n const {\n payload: { activity }\n }: IncomingActivityAction = yield take(INCOMING_ACTIVITY);\n if (activity.channelData?.clientActivityID === clientActivityID && activity.id) {\n echoed = true;\n\n return activity;\n }\n }\n });\n\n // Timeout could be due to either:\n // - Post activity call may take too long time to complete\n // - Direct Line service only respond on HTTP after bot respond to Direct Line\n // - Activity may take too long time to echo back\n\n const sendTimeout: number = yield select(sendTimeoutSelector);\n\n const {\n send: { echoBack }\n }: { send: { echoBack: WebChatActivity } } = yield race({\n send: all({\n echoBack: echoBackCall,\n postActivity: observeOnce(directLine.postActivity(outgoingActivity as DirectLineActivity))\n }),\n timeout: call(function* () {\n yield call(sleep, sendTimeout, ponyfill);\n\n // The IMPEDED action is for backward compatibility by changing `channelData.state` to \"send failed\".\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n yield put({\n type: POST_ACTIVITY_IMPEDED,\n meta,\n payload: { activity: outgoingActivity }\n } as PostActivityImpededAction);\n\n yield call(sleep, HARD_SEND_TIMEOUT - sendTimeout, ponyfill);\n\n throw !echoed\n ? new Error('timed out while waiting for outgoing message to echo back')\n : new Error('timed out while waiting for postActivity to return any values');\n })\n });\n\n yield put({ type: POST_ACTIVITY_FULFILLED, meta, payload: { activity: echoBack } } as PostActivityFulfilledAction);\n } catch (err) {\n console.error('botframework-webchat: Failed to post activity to chat adapter.', err);\n\n yield put({\n type: POST_ACTIVITY_REJECTED,\n error: true,\n meta,\n payload: err\n } as PostActivityRejectedAction);\n } finally {\n if (yield cancelled()) {\n yield put({\n type: POST_ACTIVITY_REJECTED,\n error: true,\n meta,\n payload: new Error('cancelled')\n } as PostActivityRejectedAction);\n }\n }\n}\n\nexport default function* postActivitySaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(function* postActivityWhileConnected({\n directLine,\n userID,\n username\n }: {\n directLine: DirectLineJSBotConnection;\n userID: string;\n username: string;\n }) {\n let numActivitiesPosted = 0;\n\n yield takeEvery(POST_ACTIVITY, function* postActivityWrapper(action: PostActivityAction) {\n yield* postActivity(directLine, userID, username, numActivitiesPosted++, action, ponyfill);\n });\n });\n}\n","/* eslint no-magic-numbers: [\"off\", { \"ignore\": [1, 2, 3, 60] }] */\n\nfunction pad(value: number, count = 2): string {\n if (typeof value !== 'number') {\n throw new Error('First argument must be a number');\n }\n\n let stringValue = value + '';\n\n while (stringValue.length < count) {\n stringValue = '0' + stringValue;\n }\n\n return stringValue;\n}\n\n// Adopted from https://stackoverflow.com/questions/17415579/how-to-iso-8601-format-a-date-with-timezone-offset-in-javascript.\n// Use typing of `Date` from globalThis.\n// eslint-disable-next-line no-restricted-globals\nexport default function dateToLocaleISOString(date: Date): string {\n const isDateLike =\n // @ts-ignore TypeScript think this is always true.\n date.getTimezoneOffset &&\n // @ts-ignore TypeScript think this is always true.\n date.getFullYear &&\n // @ts-ignore TypeScript think this is always true.\n date.getMonth &&\n // @ts-ignore TypeScript think this is always true.\n date.getDate &&\n // @ts-ignore TypeScript think this is always true.\n date.getHours &&\n // @ts-ignore TypeScript think this is always true.\n date.getMinutes &&\n // @ts-ignore TypeScript think this is always true.\n date.getSeconds &&\n date.getMilliseconds;\n\n if (!isDateLike) {\n throw new Error('First argument must be a Date-like object.');\n }\n\n const timezoneOffset = -date.getTimezoneOffset();\n const timezoneSign = timezoneOffset < 0 ? '-' : '+';\n\n // \"yyyy-MM-DDTHH:mm:ss.fff+08:00\" for GMT+08\n // \"yyyy-MM-DDTHH:mm:ss.fffZ\" for UTC\n\n const absoluteTimezoneOffset = ~~Math.abs(timezoneOffset);\n\n return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(\n date.getMinutes()\n )}:${pad(date.getSeconds())}.${pad(date.getMilliseconds(), 3)}${\n timezoneOffset ? `${timezoneSign}${pad(~~(absoluteTimezoneOffset / 60))}:${pad(absoluteTimezoneOffset % 60)}` : 'Z'\n }`;\n}\n","import isForbiddenPropertyName from './isForbiddenPropertyName';\n\nexport default function deleteKey<TMap, TKey extends keyof TMap>(map: TMap, ...keys: TKey[]): Omit<TMap, TKey> {\n if (!map) {\n return map;\n }\n\n const nextMap = { ...map };\n\n for (const key of keys) {\n if (typeof key !== 'string' || !isForbiddenPropertyName(key)) {\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n delete nextMap[key];\n }\n }\n\n return nextMap;\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ language }: ReduxState): string => language;\n","import { call } from 'redux-saga/effects';\n\nimport { Observable, Observer, Subscription } from '../../types/external/Observable';\n\nexport default function observeOnceEffect<T>(observable: Observable<T>) {\n return call(function* observeOnce() {\n let subscription: Subscription;\n\n try {\n return yield call(\n () =>\n new Promise<T>((resolve, reject) => {\n subscription = observable.subscribe({\n complete: resolve,\n error: reject,\n next: resolve\n } as Observer<T>);\n })\n );\n } finally {\n subscription && subscription.unsubscribe();\n }\n });\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTimeout }: ReduxState): number => sendTimeout;\n","import { call, cancelled, fork, put, race, select, take } from 'redux-saga/effects';\n\nimport incomingActivity, { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { QUEUE_INCOMING_ACTIVITY } from '../actions/queueIncomingActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport activityFromBot from '../definitions/activityFromBot';\nimport activitiesSelector, { ofType as activitiesOfType } from '../selectors/activities';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n// We will hold up the replying activity if the originating activity did not arrive, up to 5 seconds.\nconst REPLY_TIMEOUT = 5000;\n\nfunction* takeEveryAndSelect(actionType, selector, fn) {\n // select() will free up the code execution.\n // If we pair up with takeEvery(), it will allow actions to slip through.\n // Thus, we are writing one that don't use takeEvery().\n while (!(yield cancelled())) {\n const action = yield take(actionType);\n const state = yield select(selector);\n\n yield fork(fn, action, state);\n }\n}\n\n// Wait for specific activity to arrive in the transcript.\n// We will use the initial set of activities to close time gaps between select() and take().\n// If another activity with the same \"replyToId\" is already rendered (in the \"activities\" array),\n// we will skip the wait as we already waited long enough for the missing activity to show up.\nfunction* waitForActivityId(replyToId, initialActivities) {\n let activities = initialActivities;\n\n for (;;) {\n const replied = activities.find(activity => activity.id === replyToId || activity.replyToId === replyToId);\n\n if (replied) {\n break;\n }\n\n const {\n payload: { activity }\n } = yield take(INCOMING_ACTIVITY);\n\n if (activity.id === replyToId) {\n break;\n }\n\n activities = yield select(activitiesSelector);\n }\n}\n\nfunction* queueIncomingActivity({ userID }: { userID: string }, ponyfill: GlobalScopePonyfill) {\n yield takeEveryAndSelect(\n QUEUE_INCOMING_ACTIVITY,\n activitiesSelector,\n function* queueIncomingActivity({ payload: { activity } }, initialActivities) {\n // This is for resolving an accessibility issue.\n // If the incoming activity has \"replyToId\" field, hold on it until the activity replied to is in the transcript, then release this one.\n const { replyToId } = activity;\n const initialBotActivities = initialActivities.filter(({ from: { role } }) => role === 'bot');\n\n // To speed up the first activity render time, we do not delay the first activity from the bot.\n // Even if it is the first activity from the bot, the bot might be \"replying\" to the \"conversationUpdate\" event.\n // Thus, the \"replyToId\" will always be there even it is the first activity in the conversation.\n if (replyToId && initialBotActivities.length) {\n // Either the activity replied to is in the transcript or after timeout.\n const result = yield race({\n _: waitForActivityId(replyToId, initialActivities),\n timeout: call(sleep, REPLY_TIMEOUT, ponyfill)\n });\n\n if ('timeout' in result) {\n console.warn(\n `botframework-webchat: Timed out while waiting for activity \"${replyToId}\" which activity \"${activity.id}\" is replying to.`,\n {\n activity,\n replyToId\n }\n );\n }\n }\n\n yield put(incomingActivity(activity));\n\n // Update suggested actions\n // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched.\n const messageActivities = yield select(activitiesOfType('message'));\n const lastMessageActivity = messageActivities[messageActivities.length - 1];\n\n if (activityFromBot(lastMessageActivity)) {\n const { suggestedActions: { actions, to } = { actions: undefined, to: undefined } } = lastMessageActivity;\n\n // If suggested actions is not destined to anyone, or is destined to the user, show it.\n // In other words, if suggested actions is destined to someone else, don't show it.\n const suggestedActions = to?.length && !to.includes(userID) ? null : actions;\n\n if (suggestedActions) {\n yield put(setSuggestedActions(suggestedActions, lastMessageActivity));\n } else {\n yield put(setSuggestedActions());\n }\n }\n }\n );\n}\n\nexport default function* queueIncomingActivitySaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(queueIncomingActivity, ponyfill);\n}\n","export default activity => activity && activity.from.role === 'bot';\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { SEND_EVENT } from '../actions/sendEvent';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithEvent({ payload: { name, value } }) {\n yield put(\n postActivity({\n name,\n type: 'event',\n value\n })\n );\n}\n\nfunction* sendEventToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_EVENT && payload.name, postActivityWithEvent);\n}\n\nexport default function* sendEventToPostActivitySaga() {\n yield whileConnected(sendEventToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport mime from 'mime';\n\nimport { SEND_FILES } from '../actions/sendFiles';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nconst getType = mime.getType.bind(mime);\n\nfunction* postActivityWithFiles({ payload: { files } }) {\n yield put(\n postActivity({\n attachments: [].map.call(files, ({ name, thumbnail, url }) => ({\n contentType: getType(name) || 'application/octet-stream',\n contentUrl: url,\n name,\n thumbnailUrl: thumbnail\n })),\n channelData: {\n attachmentSizes: [].map.call(files, ({ size }) => size)\n },\n type: 'message'\n })\n );\n}\n\nfunction* sendFilesToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_FILES && payload.files.length, postActivityWithFiles);\n}\n\nexport default function* sendFilesToPostActivitySaga() {\n yield whileConnected(sendFilesToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_MESSAGE_BACK } from '../actions/sendMessageBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#message-back\nfunction* postActivityWithMessageBack({ payload: { displayText, text, value } }) {\n yield put(\n postActivity({\n channelData: {\n messageBack: {\n displayText\n }\n },\n text,\n type: 'message',\n value\n })\n );\n}\n\nfunction* sendMessageBackToPostActivity() {\n yield takeEvery(SEND_MESSAGE_BACK, postActivityWithMessageBack);\n}\n\nexport default function* sendMessageBackToPostActivitySaga() {\n yield whileConnected(sendMessageBackToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport postActivity from '../actions/postActivity';\nimport sendMessage, { SEND_MESSAGE } from '../actions/sendMessage';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithMessage({\n payload: { attachments = [], channelData, method, text }\n}: ReturnType<typeof sendMessage>) {\n yield put(\n postActivity(\n {\n attachments: attachments.map(({ blob, thumbnailURL }) => ({\n contentType: (blob instanceof File && blob.type) || 'application/octet-stream',\n contentUrl: URL.createObjectURL(blob),\n name: blob instanceof File ? blob.name : undefined,\n thumbnailUrl: thumbnailURL?.toString()\n })),\n channelData: {\n ...channelData,\n attachmentSizes: attachments.map(({ blob: { size } }) => size)\n },\n text: text || undefined,\n textFormat: 'plain',\n type: 'message'\n } as any, // TODO: Fix WebChatActivity. Currently, it only works with incoming activity, not outgoing.\n method\n )\n );\n}\n\nfunction* sendMessageToPostActivity() {\n yield takeEvery(\n ({ payload, type }) => type === SEND_MESSAGE && (payload.text || payload.attachments?.length),\n postActivityWithMessage\n );\n}\n\nexport default function* sendMessageToPostActivitySaga() {\n yield whileConnected(sendMessageToPostActivity);\n}\n","// This is for the ternary operator of text and value.\n/* eslint no-undefined: \"off\" */\n\nimport { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_POST_BACK } from '../actions/sendPostBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#post-back\nfunction* postActivityWithPostBack({ payload: { value } }) {\n yield put(\n postActivity({\n channelData: {\n postBack: true\n },\n text: typeof value === 'string' ? value : undefined,\n type: 'message',\n value: typeof value !== 'string' ? value : undefined\n })\n );\n}\n\nfunction* sendPostBackToPostActivity() {\n yield takeEvery(SEND_POST_BACK, postActivityWithPostBack);\n}\n\nexport default function* sendPostBackToPostActivitySaga() {\n yield whileConnected(sendPostBackToPostActivity);\n}\n","// We will revisit this logic in #2157 and should remove the following eslint ignore\n/* eslint require-atomic-updates: \"off\" */\n\nimport { call, cancel, put, select, take, takeLatest } from 'redux-saga/effects';\n\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\nimport { POST_ACTIVITY } from '../actions/postActivity';\nimport emitTypingIndicator from '../actions/emitTypingIndicator';\nimport sendTypingIndicatorSelector from '../selectors/sendTypingIndicator';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type setSendTypingIndicator from '../actions/setSendTypingIndicator';\n\ntype SetSendTypingIndicatorAction = ReturnType<typeof setSendTypingIndicator>;\n\nconst SEND_INTERVAL = 3000;\n\nfunction takeSendTypingIndicator(value: boolean) {\n return take<SetSendTypingIndicatorAction>(\n // TODO: \"any\" should be replaced all known types in the system.\n ({ payload, type }: any) => type === SET_SEND_TYPING_INDICATOR && !payload.sendTypingIndicator === !value\n );\n}\n\nfunction* sendTypingIndicatorOnSetSendBox(_, ponyfill: GlobalScopePonyfill) {\n const { Date } = ponyfill;\n const sendTypingIndicator = yield select(sendTypingIndicatorSelector);\n\n if (!sendTypingIndicator) {\n yield takeSendTypingIndicator(true);\n }\n\n for (;;) {\n let lastSend = -Infinity;\n const task = yield takeLatest(\n ({ payload, type }) =>\n (type === SET_SEND_BOX && payload.text) ||\n // Stop sending pending typing indicator if the user has posted anything.\n // We send typing indicator in a debounce way (t = 0, t = 3000, t = 6000).\n // When the user type, and then post the activity at t = 1500, we still have a pending typing indicator at t = 3000.\n // This code is to cancel the typing indicator at t = 3000.\n (type === POST_ACTIVITY && payload.activity.type !== 'typing'),\n function* ({ payload, type }) {\n if (type === SET_SEND_BOX) {\n const interval = SEND_INTERVAL - Date.now() + lastSend;\n\n if (interval > 0) {\n yield call(sleep, interval, ponyfill);\n }\n\n yield put(emitTypingIndicator());\n\n lastSend = Date.now();\n } else if (payload.activity.type === 'message') {\n lastSend = -Infinity;\n }\n }\n );\n\n yield takeSendTypingIndicator(false);\n yield cancel(task);\n yield takeSendTypingIndicator(true);\n }\n}\n\nexport default function* sendTypingIndicatorOnSetSendBoxSaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(sendTypingIndicatorOnSetSendBox, ponyfill);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTypingIndicator }: ReduxState): boolean => sendTypingIndicator;\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { WILL_START } from '../constants/DictateState';\nimport markActivity from '../actions/markActivity';\nimport setDictateState from '../actions/setDictateState';\nimport shouldSpeakIncomingActivitySelector from '../selectors/shouldSpeakIncomingActivity';\nimport speakableActivity from '../definitions/speakableActivity';\nimport stopDictate from '../actions/stopDictate';\nimport whileConnected from './effects/whileConnected';\n\nfunction* speakActivityAndStartDictateOnIncomingActivityFromOthers({ userID }) {\n yield takeEvery(\n ({ payload, type }) =>\n // In Direct Line, the \"role\" is not filled (yet), but we do know the user ID.\n // In Direct Line Speech, we do not know the user ID, but \"role\" is filled with \"bot\" or \"user\".\n // Here, we do two checks: the speakable activity must not have user ID, and must not have role === 'user'\n type === INCOMING_ACTIVITY && payload.activity.from.id !== userID && payload.activity.from.role !== 'user',\n function* ({ payload: { activity } }) {\n const shouldSpeakIncomingActivity = yield select(shouldSpeakIncomingActivitySelector);\n const shouldSpeak = speakableActivity(activity) && shouldSpeakIncomingActivity;\n\n if (\n shouldSpeak &&\n (activity.speak ||\n activity.text ||\n ~(activity.attachments || []).findIndex(({ content: { speak } = {} }) => speak))\n ) {\n yield put(markActivity(activity, 'speak', true));\n }\n\n if (shouldSpeak && activity.inputHint === 'expectingInput') {\n yield put(setDictateState(WILL_START));\n } else if (activity.inputHint === 'ignoringInput') {\n yield put(stopDictate());\n }\n }\n );\n}\n\nexport default function* speakActivityAndStartDictateOnIncomingActivityFromOthersSaga() {\n yield whileConnected(speakActivityAndStartDictateOnIncomingActivityFromOthers);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ shouldSpeakIncomingActivity }: ReduxState): boolean => shouldSpeakIncomingActivity;\n","export default function speakableActivity(activity) {\n return activity && activity.from && activity.type === 'message';\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport { of as activitiesOf } from '../selectors/activities';\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { WILL_START } from '../constants/DictateState';\nimport dictateStateSelector from '../selectors/dictateState';\nimport speakingActivity from '../definitions/speakingActivity';\nimport startDictate from '../actions/startDictate';\n\nfunction* startDictateOnSpeakComplete() {\n const speakingActivities = yield select(activitiesOf(speakingActivity));\n const dictateState = yield select(dictateStateSelector);\n\n if (dictateState === WILL_START && !speakingActivities.length) {\n yield put(startDictate());\n }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* startDictateOnSpeakCompleteSaga() {\n yield takeEvery(({ type }) => type === MARK_ACTIVITY || type === SET_DICTATE_STATE, startDictateOnSpeakComplete);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ dictateState }: ReduxState) => dictateState;\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport startSpeakingActivity from '../actions/startSpeakingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* startSpeakActivityOnPostActivity() {\n yield takeEvery(\n ({ meta, payload, type }) =>\n type === POST_ACTIVITY_PENDING && meta.method === 'speech' && payload.activity.type === 'message',\n function* () {\n yield put(startSpeakingActivity());\n }\n );\n}\n\nexport default function* startSpeakActivityOnPostActivitySaga() {\n yield whileConnected(startSpeakActivityOnPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport stopDictate from '../actions/stopDictate';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopDictateOnCardAction() {\n // TODO: [P2] We should stop speech input when the user click on anything on a card, including open URL which doesn't generate postActivity\n // This functionality was not implemented in v3\n\n yield takeEvery(\n // Currently, there are no actions that are related to card input\n // For now, we are using POST_ACTIVITY of a \"message\" activity\n // In the future, if we have an action for card input, we should use that instead\n ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n function* putStopDictate() {\n yield put(stopDictate());\n }\n );\n}\n\nexport default function* stopDictateOnCardActionSaga() {\n yield whileConnected(stopDictateOnCardAction);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport stopSpeakingActivity from '../actions/stopSpeakingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopSpeakingActivityOnInput() {\n yield takeEvery(\n ({ meta, payload, type }) =>\n (type === SET_SEND_BOX && payload.text) ||\n // We want to stop speaking activity when the user click on a card action\n // But currently there are no actions generated out of a card action\n // So, right now, we are using best-effort by listening to POST_ACTIVITY_PENDING with a \"message\" event\n // We filter out speech because we will call startSpeakingActivity() for POST_ACTIVITY_PENDING dispatched by speech\n (type === POST_ACTIVITY_PENDING && meta.method !== 'speech' && payload.activity.type === 'message'),\n function* () {\n yield put(stopSpeakingActivity());\n }\n );\n}\n\nexport default function* stopSpeakingActivityOnInputSaga() {\n yield whileConnected(stopSpeakingActivityOnInput);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport sendMessage from '../actions/sendMessage';\nimport setSendBox from '../actions/setSendBox';\nimport setSendBoxAttachments from '../actions/setSendBoxAttachments';\nimport { SUBMIT_SEND_BOX } from '../actions/submitSendBox';\nimport sendBoxAttachmentsSelector from '../selectors/sendBoxAttachments';\nimport sendBoxValueSelector from '../selectors/sendBoxValue';\nimport whileConnected from './effects/whileConnected';\n\nfunction* submitSendBox() {\n yield takeEvery(SUBMIT_SEND_BOX, function* ({ payload: { channelData, method } }) {\n const attachments = yield select(sendBoxAttachmentsSelector);\n const sendBoxValue = yield select(sendBoxValueSelector);\n\n // TODO: [P2] If the trimmed value is empty, we should not send.\n // TODO: [P2] We should expose this logic (\"cannot send empty message\") to other components such as UI.\n if (attachments.length || sendBoxValue) {\n yield put(sendMessage(sendBoxValue.trim(), method, { attachments, channelData }));\n\n yield put(setSendBox(''));\n yield put(setSendBoxAttachments(Object.freeze([])));\n }\n });\n}\n\nexport default function* submitSendBoxSaga() {\n // TODO: [P2] We should expose this logic (\"send only when connected\") to other components such as UI.\n yield whileConnected(submitSendBox);\n}\n","import type { SendBoxAttachment } from '../types/SendBoxAttachment';\nimport type { ReduxState } from '../types/internal/ReduxState';\n\nexport default function sendBoxAttachments({ sendBoxAttachments }: ReduxState): readonly SendBoxAttachment[] {\n return sendBoxAttachments;\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendBoxValue }: ReduxState): string => sendBoxValue;\n","import { lazy, parse, string, union, value, type ObjectEntries, type StringSchema } from 'valibot';\n\nimport orgSchemaProperty from './private/orgSchemaProperty';\nimport { project, type Project } from './Project';\nimport { thing, type Thing } from './Thing';\n\n/**\n * An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\n *\n * See also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](https://schema.org/docs/actions.html).\n *\n * This is partial implementation of https://schema.org/Action.\n *\n * @see https://schema.org/Action\n */\nexport type Action = Thing & {\n /**\n * Indicates the current disposition of the Action.\n *\n * @see https://schema.org/actionStatus\n */\n actionStatus?:\n | 'ActiveActionStatus'\n | 'CompletedActionStatus'\n | 'FailedActionStatus'\n | 'PotentialActionStatus'\n | undefined;\n\n /**\n * The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller. Supersedes [carrier](https://schema.org/carrier).\n *\n * @see https://schema.org/provider\n */\n provider?: Project | undefined;\n};\n\nexport const action = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n actionStatus: orgSchemaProperty(\n union([\n string([value('ActiveActionStatus')]) as StringSchema<'ActiveActionStatus'>,\n string([value('CompletedActionStatus')]) as StringSchema<'CompletedActionStatus'>,\n string([value('FailedActionStatus')]) as StringSchema<'FailedActionStatus'>,\n string([value('PotentialActionStatus')]) as StringSchema<'PotentialActionStatus'>\n ])\n ),\n provider: orgSchemaProperty(lazy(() => project())),\n\n ...entries\n });\n\nexport const parseAction = (data: unknown): Action => parse(action(), data);\n","import { array, fallback, optional, transform, union, type BaseSchema } from 'valibot';\n\nconst orgSchemaProperty = <T extends BaseSchema>(schema: T) =>\n fallback(optional(union([transform(array(schema), array => array[0]), schema])), undefined);\n\nexport default orgSchemaProperty;\n","import { parse, string, type ObjectEntries } from 'valibot';\n\nimport { thing, type Thing } from './Thing';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\nexport const project = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n slogan: orgSchemaProperty(string()),\n\n ...entries\n });\n\n/**\n * An enterprise (potentially individual but typically collaborative), planned to achieve a particular aim. Use properties from [Organization](https://schema.org/Organization), [subOrganization](https://schema.org/subOrganization)/[parentOrganization](https://schema.org/parentOrganization) to indicate project sub-structures.\n *\n * This is partial implementation of https://schema.org/Project.\n *\n * @see https://schema.org/Project\n */\nexport type Project = Thing & {\n /**\n * A slogan or motto associated with the item.\n *\n * @see https://schema.org/slogan\n */\n slogan?: string | undefined;\n};\n\nexport const parseProject = (data: unknown): Project => parse(project(), data);\n","import { type EmptyObject } from 'type-fest';\nimport { lazy, object, optional, parse, string, unknown, value, type ObjectEntries, type StringSchema } from 'valibot';\n\nimport { action, type Action } from './Action';\nimport orgSchemaProperties from './private/orgSchemaProperties';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\n/**\n * The most generic type of item.\n *\n * This is partial implementation of https://schema.org/Thing.\n *\n * @see https://schema.org/Thing\n */\nexport type Thing = {\n '@context'?: 'https://schema.org' | undefined;\n '@id'?: string | undefined;\n '@type': string;\n\n /**\n * An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. Typically the value is a URI-identified RDF class, and in this case corresponds to the use of rdf:type in RDF. Text values can be used sparingly, for cases where useful information can be added without their being an appropriate schema to reference. In the case of text values, the class label should follow the schema.org [style guide](https://schema.org/docs/styleguide.html).\n *\n * @see https://schema.org/additionalType\n */\n additionalType?: string | undefined;\n\n /**\n * An alias for the item.\n *\n * @see https://schema.org/alternateName\n */\n alternateName?: string | undefined;\n\n /**\n * A description of the item.\n *\n * @see https://schema.org/description\n */\n description?: string | undefined;\n\n /**\n * The name of the item.\n *\n * @see https://schema.org/name\n */\n name?: string | undefined;\n\n /**\n * Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role.\n *\n * @see https://schema.org/potentialAction\n */\n potentialAction?: readonly Action[] | undefined;\n\n /**\n * URL of the item.\n *\n * @see https://schema.org/url\n */\n url?: string | undefined;\n};\n\nconst thingEntries = {\n '@context': optional(string([value('https://schema.org')]) as StringSchema<'https://schema.org'>),\n '@id': optional(string()),\n '@type': string(),\n\n additionalType: orgSchemaProperty(string()),\n alternateName: orgSchemaProperty(string()),\n description: orgSchemaProperty(string()),\n name: orgSchemaProperty(string()),\n potentialAction: orgSchemaProperties(lazy(() => action())),\n url: orgSchemaProperty(string())\n};\n\nexport const thing = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n object(\n {\n ...thingEntries,\n ...entries\n },\n // Forward compatibility is the reason why we use unknown() here and not adhere to JSON-LD which drop unknown fields.\n //\n // Example:\n // - CreativeWork.editor must be type of Person (or any of its subtypes, Patient)\n // - Without unknown(), when we parse the CreativeWork, we will drop Patient.diagnosis\n // - That means, CreativeWork.editor.diagnosis will be unset despite CreativeWork.editor is of type Patient\n //\n // We can drop unknown() if there is a way to keep CreativeWork.editor.diagnosis.\n // It is okay to drop future/unsupported properties. But not today/supported properties.\n unknown()\n );\n\nexport const parseThing = (data: unknown): Thing => parse(thing<EmptyObject>(), data);\n","import {\n array,\n fallback,\n parse,\n transform,\n type ArraySchema,\n type BaseSchema,\n type FallbackInfo,\n type Output,\n type UndefinedSchema\n} from 'valibot';\n\nimport orgSchemaProperty from './orgSchemaProperty';\n\nconst singularToArray = <T extends BaseSchema>(schema: T): ArraySchema<T> | UndefinedSchema =>\n fallback<ArraySchema<T> | UndefinedSchema, (info?: FallbackInfo) => Output<T>>(\n transform(array(schema), value => value.filter(value => typeof value !== 'undefined')),\n value => (value?.input ? [parse(schema, value?.input)] : undefined)\n );\n\nexport default function orgSchemaProperties<T extends BaseSchema>(schema: T) {\n return singularToArray(orgSchemaProperty(schema));\n}\n","import { lazy, number, parse, string, union, type ObjectEntries } from 'valibot';\n\nimport { creativeWork, type CreativeWork } from './CreativeWork';\nimport { project, type Project } from './Project';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\n/**\n * A [Claim](https://schema.org/Claim) in Schema.org represents a specific, factually-oriented claim that could be the [itemReviewed](https://schema.org/itemReviewed) in a [ClaimReview](https://schema.org/ClaimReview). The content of a claim can be summarized with the [text](https://schema.org/text) property. Variations on well known claims can have their common identity indicated via [sameAs](https://schema.org/sameAs) links, and summarized with a name. Ideally, a [Claim](https://schema.org/Claim) description includes enough contextual information to minimize the risk of ambiguity or inclarity. In practice, many claims are better understood in the context in which they appear or the interpretations provided by claim reviews.\n *\n * Beyond [ClaimReview](https://schema.org/ClaimReview), the Claim type can be associated with related creative works - for example a [ScholarlyArticle](https://schema.org/ScholarlyArticle) or [Question](https://schema.org/Question) might be about some [Claim](https://schema.org/Claim).\n *\n * This is partial implementation of https://schema.org/Claim.\n *\n * @see https://schema.org/Claim.\n */\nexport type Claim = CreativeWork & {\n /**\n * Indicates an occurrence of a [Claim](https://schema.org/Claim) in some [CreativeWork](https://schema.org/CreativeWork).\n *\n * @see https://schema.org/appearance.\n */\n appearance?: CreativeWork | undefined;\n\n /**\n * For a [Claim](https://schema.org/Claim) interpreted from [MediaObject](https://schema.org/MediaObject) content sed to indicate a claim contained, implied or refined from the content of a [MediaObject](https://schema.org/MediaObject).\n *\n * @see https://schema.org/claimInterpreter.\n */\n claimInterpreter?: Project | undefined;\n\n /**\n * The position of an item in a series or sequence of items.\n *\n * @see https://schema.org/position.\n */\n position?: number | string;\n};\n\nexport const claim = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n creativeWork({\n appearance: orgSchemaProperty(lazy(() => creativeWork())),\n claimInterpreter: orgSchemaProperty(lazy(() => project())),\n position: orgSchemaProperty(union([number(), string()])),\n\n ...entries\n });\n\nexport const parseClaim = (data: unknown): Claim => parse(claim(), data);\n","import { lazy, object, parse, string, union, type ObjectEntries } from 'valibot';\n\nimport { definedTerm, type DefinedTerm } from './DefinedTerm';\nimport orgSchemaProperties from './private/orgSchemaProperties';\nimport orgSchemaProperty from './private/orgSchemaProperty';\nimport { thing, type Thing } from './Thing';\n\n/**\n * The most generic kind of creative work, including books, movies, photographs, software programs, etc.\n *\n * This is partial implementation of https://schema.org/CreativeWork.\n *\n * @see https://schema.org/CreativeWork\n */\n// Due to limitations of TypeScript, when using valibot.lazy(), the output type must be explicitly set.\nexport type CreativeWork = Thing & {\n /**\n * An abstract is a short description that summarizes a [CreativeWork](https://schema.org/CreativeWork).\n *\n * @see https://schema.org/abstract\n */\n abstract?: string | undefined;\n\n /**\n * The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.\n *\n * @see https://schema.org/author\n */\n author?: Person | string | undefined;\n\n /**\n * A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.\n *\n * @see https://schema.org/citation\n */\n citation?: readonly CreativeWork[] | undefined;\n\n /**\n * The schema.org [isBasedOn](https://schema.org/isBasedOn) property provides a resource from which this work is derived or from which it is a modification or adaptation.\n */\n isBasedOn?: CreativeWork | undefined;\n\n /**\n * Keywords or tags used to describe some item. Multiple textual entries in a keywords list are typically delimited by commas, or by repeating the property.\n *\n * @see https://schema.org/keywords\n */\n keywords?: readonly (DefinedTerm | string)[] | undefined;\n\n /**\n * A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported.\n *\n * @see https://schema.org/pattern\n */\n pattern?: DefinedTerm | undefined;\n\n /**\n * The textual content of this CreativeWork.\n *\n * @see https://schema.org/text\n */\n text?: string | undefined;\n\n /**\n * The schema.org [usageInfo](https://schema.org/usageInfo) property indicates further information about a [CreativeWork](https://schema.org/CreativeWork). This property is applicable both to works that are freely available and to those that require payment or other transactions. It can reference additional information, e.g. community expectations on preferred linking and citation conventions, as well as purchasing details. For something that can be commercially licensed, usageInfo can provide detailed, resource-specific information about licensing options.\n *\n * This property can be used alongside the license property which indicates license(s) applicable to some piece of content. The usageInfo property can provide information about other licensing options, e.g. acquiring commercial usage rights for an image that is also available under non-commercial creative commons licenses.\n */\n usageInfo?: CreativeWork | undefined;\n};\n\ntype Person = {\n '@type': 'Person';\n description?: string | undefined;\n image?: string | undefined;\n name?: string | undefined;\n};\n\nconst person = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n object({\n description: orgSchemaProperty(string()),\n image: orgSchemaProperty(string()),\n name: orgSchemaProperty(string()),\n\n ...entries\n });\n\nexport const creativeWork = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n // For forward compatibility, we did not enforce @type must be \"CreativeWork\" or any other subtypes.\n // In future, if Schema.org introduced a new subtype of CreativeWork, we should still able to parse that one as a CreativeWork.\n\n abstract: orgSchemaProperty(string()),\n author: orgSchemaProperty(union([person(), string()])),\n citation: orgSchemaProperties(lazy(() => creativeWork())),\n isBasedOn: orgSchemaProperty(lazy(() => creativeWork())),\n keywords: orgSchemaProperties(union([lazy(() => definedTerm()), string()])),\n pattern: orgSchemaProperty(lazy(() => definedTerm())),\n text: orgSchemaProperty(string()),\n usageInfo: orgSchemaProperty(lazy(() => creativeWork())),\n\n ...entries\n });\n\nexport const parseCreativeWork = (data: unknown): CreativeWork => parse(creativeWork(), data);\n","import { parse, string, type ObjectEntries } from 'valibot';\n\nimport { thing, type Thing } from './Thing';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\nexport const definedTerm = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n inDefinedTermSet: orgSchemaProperty(string()),\n termCode: orgSchemaProperty(string()),\n\n ...entries\n });\n\n/**\n * A word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term.\n *\n * This is partial implementation of https://schema.org/DefinedTerm.\n *\n * @see https://schema.org/DefinedTerm\n */\nexport type DefinedTerm = Thing & {\n /**\n * A [DefinedTermSet](https://schema.org/DefinedTermSet) that contains this term.\n *\n * @see https://schema.org/inDefinedTermSet\n */\n inDefinedTermSet?: string | undefined;\n\n /**\n * A code that identifies this [DefinedTerm](https://schema.org/DefinedTerm) within a [DefinedTermSet](https://schema.org/DefinedTermSet).\n *\n * @see https://schema.org/termCode\n */\n termCode?: string | undefined;\n};\n\nexport const parseDefinedTerm = (data: unknown): DefinedTerm => parse(definedTerm(), data);\n","import { parse, string, type ObjectEntries } from 'valibot';\n\nimport { action, type Action } from './Action';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\n/**\n * An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\n *\n * See also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](https://schema.org/docs/actions.html).\n *\n * This is partial implementation of https://schema.org/Action.\n *\n * @see https://schema.org/Action\n */\nexport type VoteAction = Action & {\n /**\n * A sub property of object. The options subject to this action. Supersedes [option](https://schema.org/option).\n *\n * @see https://schema.org/VoteAction\n */\n actionOption?: string | undefined;\n};\n\nexport const voteAction = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n action({\n actionOption: orgSchemaProperty(string()),\n\n ...entries\n });\n\nexport const parseVoteAction = (data: unknown): VoteAction => parse(voteAction(), data);\n","import { type WebChatActivity } from '../types/WebChatActivity';\nimport { parseCreativeWork, type CreativeWork } from '../types/external/OrgSchema/CreativeWork';\nimport { parseThing } from '../types/external/OrgSchema/Thing';\n\ntype EntityType = NonNullable<WebChatActivity['entities']>[number];\n\nexport default function getOrgSchemaMessage(graph: readonly EntityType[]): CreativeWork | undefined {\n const messageEntity = (graph || []).find(entity => {\n const isThing = entity.type?.startsWith('https://schema.org/');\n\n if (isThing) {\n const thing = parseThing(entity);\n\n return thing['@id'] === '';\n }\n });\n\n const message = messageEntity && parseCreativeWork(messageEntity);\n\n return message && parseCreativeWork(message);\n}\n","export default function onErrorResumeNext<T>(fn: () => T): T | undefined;\nexport default function onErrorResumeNext<T, U = T>(fn: () => T, defaultValue: U): T | U;\n\n/**\n * Calls the function and returns its return value.\n *\n * If the function failed, return default value if specified, otherwise, `undefined`.\n */\nexport default function onErrorResumeNext<T>(fn: () => T, defaultValue?: T): T | undefined {\n try {\n return fn();\n } catch (error) {\n return defaultValue;\n }\n}\n","export default function singleToArray<T>(singleOrArray: T | T[]): T[] {\n return singleOrArray ? (Array.isArray(singleOrArray) ? singleOrArray : [singleOrArray]) : [];\n}\n","export default function once(fn: () => void): () => void {\n let done;\n\n return () => {\n if (!done) {\n fn();\n done = 1;\n }\n };\n}\n","import once from './once';\n\nexport default function warnOnce(message: string): () => void {\n return once(() => console.warn(`botframework-webchat: ${message}.`));\n}\n","import { withResolvers, type PromiseWithResolvers } from 'botframework-webchat-base/utils';\n\nimport clearSuggestedActions from './actions/clearSuggestedActions';\nimport connect from './actions/connect';\nimport disconnect from './actions/disconnect';\nimport dismissNotification from './actions/dismissNotification';\nimport emitTypingIndicator from './actions/emitTypingIndicator';\nimport markActivity from './actions/markActivity';\nimport postActivity from './actions/postActivity';\nimport sendEvent from './actions/sendEvent';\nimport sendFiles from './actions/sendFiles';\nimport sendMessage from './actions/sendMessage';\nimport sendMessageBack from './actions/sendMessageBack';\nimport sendPostBack from './actions/sendPostBack';\nimport setDictateInterims from './actions/setDictateInterims';\nimport setDictateState from './actions/setDictateState';\nimport setLanguage from './actions/setLanguage';\nimport setNotification from './actions/setNotification';\nimport setSendBox from './actions/setSendBox';\nimport setSendBoxAttachments from './actions/setSendBoxAttachments';\nimport setSendTimeout from './actions/setSendTimeout';\nimport setSendTypingIndicator from './actions/setSendTypingIndicator';\nimport startDictate from './actions/startDictate';\nimport startSpeakingActivity from './actions/startSpeakingActivity';\nimport stopDictate from './actions/stopDictate';\nimport stopSpeakingActivity from './actions/stopSpeakingActivity';\nimport submitSendBox from './actions/submitSendBox';\nimport * as ActivityClientState from './constants/ActivityClientState';\nimport * as DictateState from './constants/DictateState';\nimport createStore, {\n withDevTools as createStoreWithDevTools,\n withOptions as createStoreWithOptions\n} from './createStore';\nimport OneOrMany from './types/OneOrMany';\nimport { parseAction } from './types/external/OrgSchema/Action';\nimport { parseClaim } from './types/external/OrgSchema/Claim';\nimport { parseCreativeWork } from './types/external/OrgSchema/CreativeWork';\nimport { parseDefinedTerm } from './types/external/OrgSchema/DefinedTerm';\nimport { parseProject } from './types/external/OrgSchema/Project';\nimport { parseThing } from './types/external/OrgSchema/Thing';\nimport { parseVoteAction } from './types/external/OrgSchema/VoteAction';\nimport getActivityLivestreamingMetadata from './utils/getActivityLivestreamingMetadata';\nimport getOrgSchemaMessage from './utils/getOrgSchemaMessage';\nimport isForbiddenPropertyName from './utils/isForbiddenPropertyName';\nimport onErrorResumeNext from './utils/onErrorResumeNext';\nimport singleToArray from './utils/singleToArray';\nimport warnOnce from './utils/warnOnce';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { SendBoxAttachment } from './types/SendBoxAttachment';\nimport type { WebChatActivity } from './types/WebChatActivity';\nimport type { DirectLineActivity } from './types/external/DirectLineActivity';\nimport type { DirectLineAnimationCard } from './types/external/DirectLineAnimationCard';\nimport type { DirectLineAttachment } from './types/external/DirectLineAttachment';\nimport type { DirectLineAudioCard } from './types/external/DirectLineAudioCard';\nimport type { DirectLineCardAction } from './types/external/DirectLineCardAction';\nimport type { DirectLineHeroCard } from './types/external/DirectLineHeroCard';\nimport type { DirectLineJSBotConnection } from './types/external/DirectLineJSBotConnection';\nimport type { DirectLineOAuthCard } from './types/external/DirectLineOAuthCard';\nimport type { DirectLineReceiptCard } from './types/external/DirectLineReceiptCard';\nimport type { DirectLineSignInCard } from './types/external/DirectLineSignInCard';\nimport type { DirectLineSuggestedAction } from './types/external/DirectLineSuggestedAction';\nimport type { DirectLineThumbnailCard } from './types/external/DirectLineThumbnailCard';\nimport type { DirectLineVideoCard } from './types/external/DirectLineVideoCard';\nimport type { Observable } from './types/external/Observable';\nimport type { Action as OrgSchemaAction } from './types/external/OrgSchema/Action';\nimport type { Claim as OrgSchemaClaim } from './types/external/OrgSchema/Claim';\nimport type { CreativeWork as OrgSchemaCreativeWork } from './types/external/OrgSchema/CreativeWork';\nimport type { DefinedTerm as OrgSchemaDefinedTerm } from './types/external/OrgSchema/DefinedTerm';\nimport type { Project as OrgSchemaProject } from './types/external/OrgSchema/Project';\nimport type { Thing as OrgSchemaThing } from './types/external/OrgSchema/Thing';\n\nconst Constants = { ActivityClientState, DictateState };\nconst buildTool = process.env.build_tool;\nconst moduleFormat = process.env.module_format;\nconst version = process.env.npm_package_version;\n\nconst buildInfo = { buildTool, moduleFormat, version };\n\nexport {\n buildInfo,\n clearSuggestedActions,\n connect,\n Constants,\n createStore,\n createStoreWithDevTools,\n createStoreWithOptions,\n disconnect,\n dismissNotification,\n emitTypingIndicator,\n getActivityLivestreamingMetadata,\n getOrgSchemaMessage,\n isForbiddenPropertyName,\n markActivity,\n moduleFormat,\n onErrorResumeNext,\n parseAction,\n parseClaim,\n parseCreativeWork,\n parseDefinedTerm,\n parseProject,\n parseThing,\n parseVoteAction,\n postActivity,\n sendEvent,\n sendFiles,\n sendMessage,\n sendMessageBack,\n sendPostBack,\n setDictateInterims,\n setDictateState,\n setLanguage,\n setNotification,\n setSendBox,\n setSendBoxAttachments,\n setSendTimeout,\n setSendTypingIndicator,\n singleToArray,\n startDictate,\n startSpeakingActivity,\n stopDictate,\n stopSpeakingActivity,\n submitSendBox,\n version,\n warnOnce,\n withResolvers\n};\n\nexport type {\n DirectLineActivity,\n DirectLineAnimationCard,\n DirectLineAttachment,\n DirectLineAudioCard,\n DirectLineCardAction,\n DirectLineHeroCard,\n DirectLineJSBotConnection,\n DirectLineOAuthCard,\n DirectLineReceiptCard,\n DirectLineSignInCard,\n DirectLineSuggestedAction,\n DirectLineThumbnailCard,\n DirectLineVideoCard,\n GlobalScopePonyfill,\n Observable,\n OneOrMany,\n OrgSchemaAction,\n OrgSchemaClaim,\n OrgSchemaCreativeWork,\n OrgSchemaDefinedTerm,\n OrgSchemaProject,\n OrgSchemaThing,\n PromiseWithResolvers,\n SendBoxAttachment,\n WebChatActivity\n};\n","var createSymbol = function createSymbol(name) {\n return \"@@redux-saga/\" + name;\n};\n\nvar CANCEL =\n/*#__PURE__*/\ncreateSymbol('CANCEL_PROMISE');\nvar CHANNEL_END_TYPE =\n/*#__PURE__*/\ncreateSymbol('CHANNEL_END');\nvar IO =\n/*#__PURE__*/\ncreateSymbol('IO');\nvar MATCH =\n/*#__PURE__*/\ncreateSymbol('MATCH');\nvar MULTICAST =\n/*#__PURE__*/\ncreateSymbol('MULTICAST');\nvar SAGA_ACTION =\n/*#__PURE__*/\ncreateSymbol('SAGA_ACTION');\nvar SELF_CANCELLATION =\n/*#__PURE__*/\ncreateSymbol('SELF_CANCELLATION');\nvar TASK =\n/*#__PURE__*/\ncreateSymbol('TASK');\nvar TASK_CANCEL =\n/*#__PURE__*/\ncreateSymbol('TASK_CANCEL');\nvar TERMINATE =\n/*#__PURE__*/\ncreateSymbol('TERMINATE');\nvar SAGA_LOCATION =\n/*#__PURE__*/\ncreateSymbol('LOCATION');\n\nexport { CANCEL, CHANNEL_END_TYPE, IO, MATCH, MULTICAST, SAGA_ACTION, SAGA_LOCATION, SELF_CANCELLATION, TASK, TASK_CANCEL, TERMINATE };\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 };","import { TASK, SAGA_ACTION, MULTICAST, IO } from '@redux-saga/symbols';\n\nvar undef = function undef(v) {\n return v === null || v === undefined;\n};\nvar notUndef = function notUndef(v) {\n return v !== null && v !== undefined;\n};\nvar func = function func(f) {\n return typeof f === 'function';\n};\nvar number = function number(n) {\n return typeof n === 'number';\n};\nvar string = function string(s) {\n return typeof s === 'string';\n};\nvar array = Array.isArray;\nvar object = function object(obj) {\n return obj && !array(obj) && typeof obj === 'object';\n};\nvar promise = function promise(p) {\n return p && func(p.then);\n};\nvar iterator = function iterator(it) {\n return it && func(it.next) && func(it.throw);\n};\nvar iterable = function iterable(it) {\n return it && func(Symbol) ? func(it[Symbol.iterator]) : array(it);\n};\nvar task = function task(t) {\n return t && t[TASK];\n};\nvar sagaAction = function sagaAction(a) {\n return Boolean(a && a[SAGA_ACTION]);\n};\nvar observable = function observable(ob) {\n return ob && func(ob.subscribe);\n};\nvar buffer = function buffer(buf) {\n return buf && func(buf.isEmpty) && func(buf.take) && func(buf.put);\n};\nvar pattern = function pattern(pat) {\n return pat && (string(pat) || symbol(pat) || func(pat) || array(pat) && pat.every(pattern));\n};\nvar channel = function channel(ch) {\n return ch && func(ch.take) && func(ch.close);\n};\nvar stringableFunc = function stringableFunc(f) {\n return func(f) && f.hasOwnProperty('toString');\n};\nvar symbol = function symbol(sym) {\n return Boolean(sym) && typeof Symbol === 'function' && sym.constructor === Symbol && sym !== Symbol.prototype;\n};\nvar multicast = function multicast(ch) {\n return channel(ch) && ch[MULTICAST];\n};\nvar effect = function effect(eff) {\n return eff && eff[IO];\n};\n\nexport { array, buffer, channel, effect, func, iterable, iterator, multicast, notUndef, number, object, observable, pattern, promise, sagaAction, string, stringableFunc, symbol, task, undef };\n","import { TASK_CANCEL, TERMINATE, SAGA_LOCATION, SAGA_ACTION, IO, SELF_CANCELLATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { array, notUndef, pattern, multicast, channel, undef, effect, task, func, buffer, string, object } from '@redux-saga/is';\nimport delayP from '@redux-saga/delay-p';\n\nvar konst = function konst(v) {\n return function () {\n return v;\n };\n};\nvar kTrue =\n/*#__PURE__*/\nkonst(true);\n\nvar noop = function noop() {};\n\nif (process.env.NODE_ENV !== 'production' && typeof Proxy !== 'undefined') {\n noop =\n /*#__PURE__*/\n new Proxy(noop, {\n set: function set() {\n throw internalErr('There was an attempt to assign a property to internal `noop` function.');\n }\n });\n}\nvar identity = function identity(v) {\n return v;\n};\nvar hasSymbol = typeof Symbol === 'function';\nvar asyncIteratorSymbol = hasSymbol && Symbol.asyncIterator ? Symbol.asyncIterator : '@@asyncIterator';\nfunction check(value, predicate, error) {\n if (!predicate(value)) {\n throw new Error(error);\n }\n}\nvar assignWithSymbols = function assignWithSymbols(target, source) {\n _extends(target, source);\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(source).forEach(function (s) {\n target[s] = source[s];\n });\n }\n};\nvar flatMap = function flatMap(mapper, arr) {\n var _ref;\n\n return (_ref = []).concat.apply(_ref, arr.map(mapper));\n};\nfunction remove(array, item) {\n var index = array.indexOf(item);\n\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nfunction once(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n\n called = true;\n fn();\n };\n}\n\nvar kThrow = function kThrow(err) {\n throw err;\n};\n\nvar kReturn = function kReturn(value) {\n return {\n value: value,\n done: true\n };\n};\n\nfunction makeIterator(next, thro, name) {\n if (thro === void 0) {\n thro = kThrow;\n }\n\n if (name === void 0) {\n name = 'iterator';\n }\n\n var iterator = {\n meta: {\n name: name\n },\n next: next,\n throw: thro,\n return: kReturn,\n isSagaIterator: true\n };\n\n if (typeof Symbol !== 'undefined') {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n\n return iterator;\n}\nfunction logError(error, _ref2) {\n var sagaStack = _ref2.sagaStack;\n\n /*eslint-disable no-console*/\n console.error(error);\n console.error(sagaStack);\n}\nvar internalErr = function internalErr(err) {\n return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \" + err + \"\\n\");\n};\nvar createSetContextWarning = function createSetContextWarning(ctx, props) {\n return (ctx ? ctx + '.' : '') + \"setContext(props): argument \" + props + \" is not a plain object\";\n};\nvar FROZEN_ACTION_ERROR = \"You can't put (a.k.a. dispatch from saga) frozen actions.\\nWe have to define a special non-enumerable property on those actions for scheduling purposes.\\nOtherwise you wouldn't be able to communicate properly between sagas & other subscribers (action ordering would become far less predictable).\\nIf you are using redux and you care about this behaviour (frozen actions),\\nthen you might want to switch to freezing actions in a middleware rather than in action creator.\\nExample implementation:\\n\\nconst freezeActions = store => next => action => next(Object.freeze(action))\\n\"; // creates empty, but not-holey array\n\nvar createEmptyArray = function createEmptyArray(n) {\n return Array.apply(null, new Array(n));\n};\nvar wrapSagaDispatch = function wrapSagaDispatch(dispatch) {\n return function (action) {\n if (process.env.NODE_ENV !== 'production') {\n check(action, function (ac) {\n return !Object.isFrozen(ac);\n }, FROZEN_ACTION_ERROR);\n }\n\n return dispatch(Object.defineProperty(action, SAGA_ACTION, {\n value: true\n }));\n };\n};\nvar shouldTerminate = function shouldTerminate(res) {\n return res === TERMINATE;\n};\nvar shouldCancel = function shouldCancel(res) {\n return res === TASK_CANCEL;\n};\nvar shouldComplete = function shouldComplete(res) {\n return shouldTerminate(res) || shouldCancel(res);\n};\nfunction createAllStyleChildCallbacks(shape, parentCallback) {\n var keys = Object.keys(shape);\n var totalCount = keys.length;\n\n if (process.env.NODE_ENV !== 'production') {\n check(totalCount, function (c) {\n return c > 0;\n }, 'createAllStyleChildCallbacks: get an empty array or object');\n }\n\n var completedCount = 0;\n var completed;\n var results = array(shape) ? createEmptyArray(totalCount) : {};\n var childCallbacks = {};\n\n function checkEnd() {\n if (completedCount === totalCount) {\n completed = true;\n parentCallback(results);\n }\n }\n\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n parentCallback.cancel();\n parentCallback(res, isErr);\n } else {\n results[key] = res;\n completedCount++;\n checkEnd();\n }\n };\n\n chCbAtKey.cancel = noop;\n childCallbacks[key] = chCbAtKey;\n });\n\n parentCallback.cancel = function () {\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCallbacks[key].cancel();\n });\n }\n };\n\n return childCallbacks;\n}\nfunction getMetaInfo(fn) {\n return {\n name: fn.name || 'anonymous',\n location: getLocation(fn)\n };\n}\nfunction getLocation(instrumented) {\n return instrumented[SAGA_LOCATION];\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\nvar BUFFER_OVERFLOW = \"Channel's Buffer overflow!\";\nvar ON_OVERFLOW_THROW = 1;\nvar ON_OVERFLOW_DROP = 2;\nvar ON_OVERFLOW_SLIDE = 3;\nvar ON_OVERFLOW_EXPAND = 4;\nvar zeroBuffer = {\n isEmpty: kTrue,\n put: noop,\n take: noop\n};\n\nfunction ringBuffer(limit, overflowAction) {\n if (limit === void 0) {\n limit = 10;\n }\n\n var arr = new Array(limit);\n var length = 0;\n var pushIndex = 0;\n var popIndex = 0;\n\n var push = function push(it) {\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n length++;\n };\n\n var take = function take() {\n if (length != 0) {\n var it = arr[popIndex];\n arr[popIndex] = null;\n length--;\n popIndex = (popIndex + 1) % limit;\n return it;\n }\n };\n\n var flush = function flush() {\n var items = [];\n\n while (length) {\n items.push(take());\n }\n\n return items;\n };\n\n return {\n isEmpty: function isEmpty() {\n return length == 0;\n },\n put: function put(it) {\n if (length < limit) {\n push(it);\n } else {\n var doubledLimit;\n\n switch (overflowAction) {\n case ON_OVERFLOW_THROW:\n throw new Error(BUFFER_OVERFLOW);\n\n case ON_OVERFLOW_SLIDE:\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n popIndex = pushIndex;\n break;\n\n case ON_OVERFLOW_EXPAND:\n doubledLimit = 2 * limit;\n arr = flush();\n length = arr.length;\n pushIndex = arr.length;\n popIndex = 0;\n arr.length = doubledLimit;\n limit = doubledLimit;\n push(it);\n break;\n\n default: // DROP\n\n }\n }\n },\n take: take,\n flush: flush\n };\n}\n\nvar none = function none() {\n return zeroBuffer;\n};\nvar fixed = function fixed(limit) {\n return ringBuffer(limit, ON_OVERFLOW_THROW);\n};\nvar dropping = function dropping(limit) {\n return ringBuffer(limit, ON_OVERFLOW_DROP);\n};\nvar sliding = function sliding(limit) {\n return ringBuffer(limit, ON_OVERFLOW_SLIDE);\n};\nvar expanding = function expanding(initialSize) {\n return ringBuffer(initialSize, ON_OVERFLOW_EXPAND);\n};\n\nvar buffers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n none: none,\n fixed: fixed,\n dropping: dropping,\n sliding: sliding,\n expanding: expanding\n});\n\nvar TAKE = 'TAKE';\nvar PUT = 'PUT';\nvar ALL = 'ALL';\nvar RACE = 'RACE';\nvar CALL = 'CALL';\nvar CPS = 'CPS';\nvar FORK = 'FORK';\nvar JOIN = 'JOIN';\nvar CANCEL = 'CANCEL';\nvar SELECT = 'SELECT';\nvar ACTION_CHANNEL = 'ACTION_CHANNEL';\nvar CANCELLED = 'CANCELLED';\nvar FLUSH = 'FLUSH';\nvar GET_CONTEXT = 'GET_CONTEXT';\nvar SET_CONTEXT = 'SET_CONTEXT';\n\nvar effectTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n TAKE: TAKE,\n PUT: PUT,\n ALL: ALL,\n RACE: RACE,\n CALL: CALL,\n CPS: CPS,\n FORK: FORK,\n JOIN: JOIN,\n CANCEL: CANCEL,\n SELECT: SELECT,\n ACTION_CHANNEL: ACTION_CHANNEL,\n CANCELLED: CANCELLED,\n FLUSH: FLUSH,\n GET_CONTEXT: GET_CONTEXT,\n SET_CONTEXT: SET_CONTEXT\n});\n\nvar TEST_HINT = '\\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)';\n\nvar makeEffect = function makeEffect(type, payload) {\n var _ref;\n\n return _ref = {}, _ref[IO] = true, _ref.combinator = false, _ref.type = type, _ref.payload = payload, _ref;\n};\n\nvar isForkEffect = function isForkEffect(eff) {\n return effect(eff) && eff.type === FORK;\n};\n\nvar detach = function detach(eff) {\n if (process.env.NODE_ENV !== 'production') {\n check(eff, isForkEffect, 'detach(eff): argument must be a fork effect');\n }\n\n return makeEffect(FORK, _extends({}, eff.payload, {\n detached: true\n }));\n};\nfunction take(patternOrChannel, multicastPattern) {\n if (patternOrChannel === void 0) {\n patternOrChannel = '*';\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'take(patternOrChannel): patternOrChannel is undefined');\n }\n\n if (pattern(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types\");\n }\n\n return makeEffect(TAKE, {\n pattern: patternOrChannel\n });\n }\n\n if (multicast(patternOrChannel) && notUndef(multicastPattern) && pattern(multicastPattern)) {\n return makeEffect(TAKE, {\n channel: patternOrChannel,\n pattern: multicastPattern\n });\n }\n\n if (channel(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(channel) takes one argument but two were provided. Second argument is ignored.\");\n }\n\n return makeEffect(TAKE, {\n channel: patternOrChannel\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\"take(patternOrChannel): argument \" + patternOrChannel + \" is not valid channel or a valid pattern\");\n }\n}\nvar takeMaybe = function takeMaybe() {\n var eff = take.apply(void 0, arguments);\n eff.payload.maybe = true;\n return eff;\n};\nfunction put(channel$1, action) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n check(channel$1, notUndef, 'put(channel, action): argument channel is undefined');\n check(channel$1, channel, \"put(channel, action): argument \" + channel$1 + \" is not a valid channel\");\n check(action, notUndef, 'put(channel, action): argument action is undefined');\n } else {\n check(channel$1, notUndef, 'put(action): argument action is undefined');\n }\n }\n\n if (undef(action)) {\n action = channel$1; // `undefined` instead of `null` to make default parameter work\n\n channel$1 = undefined;\n }\n\n return makeEffect(PUT, {\n channel: channel$1,\n action: action\n });\n}\nvar putResolve = function putResolve() {\n var eff = put.apply(void 0, arguments);\n eff.payload.resolve = true;\n return eff;\n};\nfunction all(effects) {\n var eff = makeEffect(ALL, effects);\n eff.combinator = true;\n return eff;\n}\nfunction race(effects) {\n var eff = makeEffect(RACE, effects);\n eff.combinator = true;\n return eff;\n} // this match getFnCallDescriptor logic\n\nvar validateFnDescriptor = function validateFnDescriptor(effectName, fnDescriptor) {\n check(fnDescriptor, notUndef, effectName + \": argument fn is undefined or null\");\n\n if (func(fnDescriptor)) {\n return;\n }\n\n var context = null;\n var fn;\n\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n check(fn, notUndef, effectName + \": argument of type [context, fn] has undefined or null `fn`\");\n } else if (object(fnDescriptor)) {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n check(fn, notUndef, effectName + \": argument of type {context, fn} has undefined or null `fn`\");\n } else {\n check(fnDescriptor, func, effectName + \": argument fn is not function\");\n return;\n }\n\n if (context && string(fn)) {\n check(context[fn], func, effectName + \": context arguments has no such method - \\\"\" + fn + \"\\\"\");\n return;\n }\n\n check(fn, func, effectName + \": unpacked fn argument (from [context, fn] or {context, fn}) is not a function\");\n};\n\nfunction getFnCallDescriptor(fnDescriptor, args) {\n var context = null;\n var fn;\n\n if (func(fnDescriptor)) {\n fn = fnDescriptor;\n } else {\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n } else {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n }\n\n if (context && string(fn) && func(context[fn])) {\n fn = context[fn];\n }\n }\n\n return {\n context: context,\n fn: fn,\n args: args\n };\n}\n\nvar isNotDelayEffect = function isNotDelayEffect(fn) {\n return fn !== delay;\n};\n\nfunction call(fnDescriptor) {\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 (process.env.NODE_ENV !== 'production') {\n var arg0 = typeof args[0] === 'number' ? args[0] : 'ms';\n check(fnDescriptor, isNotDelayEffect, \"instead of writing `yield call(delay, \" + arg0 + \")` where delay is an effect from `redux-saga/effects` you should write `yield delay(\" + arg0 + \")`\");\n validateFnDescriptor('call', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction apply(context, fn, args) {\n if (args === void 0) {\n args = [];\n }\n\n var fnDescriptor = [context, fn];\n\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('apply', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor([context, fn], args));\n}\nfunction cps(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('cps', fnDescriptor);\n }\n\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 return makeEffect(CPS, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction fork(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('fork', fnDescriptor);\n check(fnDescriptor, function (arg) {\n return !effect(arg);\n }, 'fork: argument must not be an effect');\n }\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return makeEffect(FORK, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction spawn(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('spawn', fnDescriptor);\n }\n\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 return detach(fork.apply(void 0, [fnDescriptor].concat(args)));\n}\nfunction join(taskOrTasks) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"join([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else {\n check(taskOrTasks, task, \"join(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(JOIN, taskOrTasks);\n}\nfunction cancel(taskOrTasks) {\n if (taskOrTasks === void 0) {\n taskOrTasks = SELF_CANCELLATION;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"cancel([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else if (taskOrTasks !== SELF_CANCELLATION && notUndef(taskOrTasks)) {\n check(taskOrTasks, task, \"cancel(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(CANCEL, taskOrTasks);\n}\nfunction select(selector) {\n if (selector === void 0) {\n selector = identity;\n }\n\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'select(selector, [...]): argument selector is undefined');\n check(selector, func, \"select(selector, [...]): argument \" + selector + \" is not a function\");\n }\n\n return makeEffect(SELECT, {\n selector: selector,\n args: args\n });\n}\n/**\n channel(pattern, [buffer]) => creates a proxy channel for store actions\n**/\n\nfunction actionChannel(pattern$1, buffer$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(pattern$1, pattern, 'actionChannel(pattern,...): argument pattern is not valid');\n\n if (arguments.length > 1) {\n check(buffer$1, notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');\n check(buffer$1, buffer, \"actionChannel(pattern, buffer): argument \" + buffer$1 + \" is not a valid buffer\");\n }\n }\n\n return makeEffect(ACTION_CHANNEL, {\n pattern: pattern$1,\n buffer: buffer$1\n });\n}\nfunction cancelled() {\n return makeEffect(CANCELLED, {});\n}\nfunction flush(channel$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(channel$1, channel, \"flush(channel): argument \" + channel$1 + \" is not valid channel\");\n }\n\n return makeEffect(FLUSH, channel$1);\n}\nfunction getContext(prop) {\n if (process.env.NODE_ENV !== 'production') {\n check(prop, string, \"getContext(prop): argument \" + prop + \" is not a string\");\n }\n\n return makeEffect(GET_CONTEXT, prop);\n}\nfunction setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning(null, props));\n }\n\n return makeEffect(SET_CONTEXT, props);\n}\nvar delay =\n/*#__PURE__*/\ncall.bind(null, delayP);\n\nexport { all as $, ALL as A, compose as B, CALL as C, logError as D, wrapSagaDispatch as E, FORK as F, GET_CONTEXT as G, identity as H, buffers as I, JOIN as J, detach as K, take as L, fork as M, cancel as N, call as O, PUT as P, delay as Q, RACE as R, SELECT as S, TAKE as T, actionChannel as U, sliding as V, race as W, effectTypes as X, takeMaybe as Y, put as Z, putResolve as _, CPS as a, apply as a0, cps as a1, spawn as a2, join as a3, select as a4, cancelled as a5, flush as a6, getContext as a7, setContext as a8, CANCEL as b, check as c, ACTION_CHANNEL as d, expanding as e, CANCELLED as f, FLUSH as g, SET_CONTEXT as h, internalErr as i, getMetaInfo as j, kTrue as k, createAllStyleChildCallbacks as l, createEmptyArray as m, none as n, once as o, assignWithSymbols as p, makeIterator as q, remove as r, shouldComplete as s, noop as t, flatMap as u, getLocation as v, createSetContextWarning as w, asyncIteratorSymbol as x, shouldCancel as y, shouldTerminate as z };\n","function deferred() {\n var def = {};\n def.promise = new Promise(function (resolve, reject) {\n def.resolve = resolve;\n def.reject = reject;\n });\n return def;\n}\nfunction arrayOfDeferred(length) {\n var arr = [];\n\n for (var i = 0; i < length; i++) {\n arr.push(deferred());\n }\n\n return arr;\n}\n\nexport default deferred;\nexport { arrayOfDeferred };\n","import { CHANNEL_END_TYPE, MULTICAST, MATCH, SAGA_ACTION, CANCEL, SELF_CANCELLATION, TERMINATE, TASK, TASK_CANCEL, IO } from '@redux-saga/symbols';\nexport { CANCEL, SAGA_LOCATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { string as string$1, array as array$1, stringableFunc, func, symbol as symbol$1, buffer, notUndef, promise, iterator, undef, object, channel as channel$1 } from '@redux-saga/is';\nimport { k as kTrue, e as expanding, c as check, o as once, r as remove, n as none, i as internalErr, T as TAKE, P as PUT, A as ALL, R as RACE, C as CALL, a as CPS, F as FORK, J as JOIN, b as CANCEL$1, S as SELECT, d as ACTION_CHANNEL, f as CANCELLED$1, g as FLUSH, G as GET_CONTEXT, h as SET_CONTEXT, j as getMetaInfo, l as createAllStyleChildCallbacks, m as createEmptyArray, p as assignWithSymbols, q as makeIterator, s as shouldComplete, t as noop, u as flatMap, v as getLocation, w as createSetContextWarning, x as asyncIteratorSymbol, y as shouldCancel, z as shouldTerminate, B as compose, D as logError, E as wrapSagaDispatch, H as identity } from './io-22ea0cf9.js';\nexport { I as buffers, K as detach } from './io-22ea0cf9.js';\nimport deferred from '@redux-saga/deferred';\nimport '@redux-saga/delay-p';\n\nvar queue = [];\n/**\n Variable to hold a counting semaphore\n - Incrementing adds a lock and puts the scheduler in a `suspended` state (if it's not\n already suspended)\n - Decrementing releases a lock. Zero locks puts the scheduler in a `released` state. This\n triggers flushing the queued tasks.\n**/\n\nvar semaphore = 0;\n/**\n Executes a task 'atomically'. Tasks scheduled during this execution will be queued\n and flushed after this task has finished (assuming the scheduler endup in a released\n state).\n**/\n\nfunction exec(task) {\n try {\n suspend();\n task();\n } finally {\n release();\n }\n}\n/**\n Executes or queues a task depending on the state of the scheduler (`suspended` or `released`)\n**/\n\n\nfunction asap(task) {\n queue.push(task);\n\n if (!semaphore) {\n suspend();\n flush();\n }\n}\n/**\n * Puts the scheduler in a `suspended` state and executes a task immediately.\n */\n\nfunction immediately(task) {\n try {\n suspend();\n return task();\n } finally {\n flush();\n }\n}\n/**\n Puts the scheduler in a `suspended` state. Scheduled tasks will be queued until the\n scheduler is released.\n**/\n\nfunction suspend() {\n semaphore++;\n}\n/**\n Puts the scheduler in a `released` state.\n**/\n\n\nfunction release() {\n semaphore--;\n}\n/**\n Releases the current lock. Executes all queued tasks if the scheduler is in the released state.\n**/\n\n\nfunction flush() {\n release();\n var task;\n\n while (!semaphore && (task = queue.shift()) !== undefined) {\n exec(task);\n }\n}\n\nvar array = function array(patterns) {\n return function (input) {\n return patterns.some(function (p) {\n return matcher(p)(input);\n });\n };\n};\nvar predicate = function predicate(_predicate) {\n return function (input) {\n return _predicate(input);\n };\n};\nvar string = function string(pattern) {\n return function (input) {\n return input.type === String(pattern);\n };\n};\nvar symbol = function symbol(pattern) {\n return function (input) {\n return input.type === pattern;\n };\n};\nvar wildcard = function wildcard() {\n return kTrue;\n};\nfunction matcher(pattern) {\n // prettier-ignore\n var matcherCreator = pattern === '*' ? wildcard : string$1(pattern) ? string : array$1(pattern) ? array : stringableFunc(pattern) ? string : func(pattern) ? predicate : symbol$1(pattern) ? symbol : null;\n\n if (matcherCreator === null) {\n throw new Error(\"invalid pattern: \" + pattern);\n }\n\n return matcherCreator(pattern);\n}\n\nvar END = {\n type: CHANNEL_END_TYPE\n};\nvar isEnd = function isEnd(a) {\n return a && a.type === CHANNEL_END_TYPE;\n};\nvar CLOSED_CHANNEL_WITH_TAKERS = 'Cannot have a closed channel with pending takers';\nvar INVALID_BUFFER = 'invalid buffer passed to channel factory function';\nvar UNDEFINED_INPUT_ERROR = \"Saga or channel was provided with an undefined action\\nHints:\\n - check that your Action Creator returns a non-undefined value\\n - if the Saga was started using runSaga, check that your subscribe source provides the action to its listeners\";\nfunction channel(buffer$1) {\n if (buffer$1 === void 0) {\n buffer$1 = expanding();\n }\n\n var closed = false;\n var takers = [];\n\n if (process.env.NODE_ENV !== 'production') {\n check(buffer$1, buffer, INVALID_BUFFER);\n }\n\n function checkForbiddenStates() {\n if (closed && takers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n\n if (takers.length && !buffer$1.isEmpty()) {\n throw internalErr('Cannot have pending takers with non empty buffer');\n }\n }\n\n function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (takers.length === 0) {\n return buffer$1.put(input);\n }\n\n var cb = takers.shift();\n cb(input);\n }\n\n function take(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.take's callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n } else if (!buffer$1.isEmpty()) {\n cb(buffer$1.take());\n } else {\n takers.push(cb);\n\n cb.cancel = function () {\n remove(takers, cb);\n };\n }\n }\n\n function flush(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.flush' callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n return;\n }\n\n cb(buffer$1.flush());\n }\n\n function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n return;\n }\n\n closed = true;\n var arr = takers;\n takers = [];\n\n for (var i = 0, len = arr.length; i < len; i++) {\n var taker = arr[i];\n taker(END);\n }\n }\n\n return {\n take: take,\n put: put,\n flush: flush,\n close: close\n };\n}\nfunction eventChannel(subscribe, buffer) {\n if (buffer === void 0) {\n buffer = none();\n }\n\n var closed = false;\n var unsubscribe;\n var chan = channel(buffer);\n\n var close = function close() {\n if (closed) {\n return;\n }\n\n closed = true;\n\n if (func(unsubscribe)) {\n unsubscribe();\n }\n\n chan.close();\n };\n\n unsubscribe = subscribe(function (input) {\n if (isEnd(input)) {\n close();\n return;\n }\n\n chan.put(input);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n check(unsubscribe, func, 'in eventChannel: subscribe should return a function to unsubscribe');\n }\n\n unsubscribe = once(unsubscribe);\n\n if (closed) {\n unsubscribe();\n }\n\n return {\n take: chan.take,\n flush: chan.flush,\n close: close\n };\n}\nfunction multicastChannel() {\n var _ref;\n\n var closed = false;\n var currentTakers = [];\n var nextTakers = currentTakers;\n\n function checkForbiddenStates() {\n if (closed && nextTakers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n }\n\n var ensureCanMutateNextTakers = function ensureCanMutateNextTakers() {\n if (nextTakers !== currentTakers) {\n return;\n }\n\n nextTakers = currentTakers.slice();\n };\n\n var close = function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n closed = true;\n var takers = currentTakers = nextTakers;\n nextTakers = [];\n takers.forEach(function (taker) {\n taker(END);\n });\n };\n\n return _ref = {}, _ref[MULTICAST] = true, _ref.put = function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (isEnd(input)) {\n close();\n return;\n }\n\n var takers = currentTakers = nextTakers;\n\n for (var i = 0, len = takers.length; i < len; i++) {\n var taker = takers[i];\n\n if (taker[MATCH](input)) {\n taker.cancel();\n taker(input);\n }\n }\n }, _ref.take = function take(cb, matcher) {\n if (matcher === void 0) {\n matcher = wildcard;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n cb(END);\n return;\n }\n\n cb[MATCH] = matcher;\n ensureCanMutateNextTakers();\n nextTakers.push(cb);\n cb.cancel = once(function () {\n ensureCanMutateNextTakers();\n remove(nextTakers, cb);\n });\n }, _ref.close = close, _ref;\n}\nfunction stdChannel() {\n var chan = multicastChannel();\n var put = chan.put;\n\n chan.put = function (input) {\n if (input[SAGA_ACTION]) {\n put(input);\n return;\n }\n\n asap(function () {\n put(input);\n });\n };\n\n return chan;\n}\n\nvar RUNNING = 0;\nvar CANCELLED = 1;\nvar ABORTED = 2;\nvar DONE = 3;\n\nfunction resolvePromise(promise, cb) {\n var cancelPromise = promise[CANCEL];\n\n if (func(cancelPromise)) {\n cb.cancel = cancelPromise;\n }\n\n promise.then(cb, function (error) {\n cb(error, true);\n });\n}\n\nvar current = 0;\nvar nextSagaId = (function () {\n return ++current;\n});\n\nvar _effectRunnerMap;\n\nfunction getIteratorMetaInfo(iterator, fn) {\n if (iterator.isSagaIterator) {\n return {\n name: iterator.meta.name\n };\n }\n\n return getMetaInfo(fn);\n}\n\nfunction createTaskIterator(_ref) {\n var context = _ref.context,\n fn = _ref.fn,\n args = _ref.args;\n\n // catch synchronous failures; see #152 and #441\n try {\n var result = fn.apply(context, args); // i.e. a generator function returns an iterator\n\n if (iterator(result)) {\n return result;\n }\n\n var resolved = false;\n\n var next = function next(arg) {\n if (!resolved) {\n resolved = true; // Only promises returned from fork will be interpreted. See #1573\n\n return {\n value: result,\n done: !promise(result)\n };\n } else {\n return {\n value: arg,\n done: true\n };\n }\n };\n\n return makeIterator(next);\n } catch (err) {\n // do not bubble up synchronous failures for detached forks\n // instead create a failed task. See #152 and #441\n return makeIterator(function () {\n throw err;\n });\n }\n}\n\nfunction runPutEffect(env, _ref2, cb) {\n var channel = _ref2.channel,\n action = _ref2.action,\n resolve = _ref2.resolve;\n\n /**\n Schedule the put in case another saga is holding a lock.\n The put will be executed atomically. ie nested puts will execute after\n this put has terminated.\n **/\n asap(function () {\n var result;\n\n try {\n result = (channel ? channel.put : env.dispatch)(action);\n } catch (error) {\n cb(error, true);\n return;\n }\n\n if (resolve && promise(result)) {\n resolvePromise(result, cb);\n } else {\n cb(result);\n }\n }); // Put effects are non cancellables\n}\n\nfunction runTakeEffect(env, _ref3, cb) {\n var _ref3$channel = _ref3.channel,\n channel = _ref3$channel === void 0 ? env.channel : _ref3$channel,\n pattern = _ref3.pattern,\n maybe = _ref3.maybe;\n\n var takeCb = function takeCb(input) {\n if (input instanceof Error) {\n cb(input, true);\n return;\n }\n\n if (isEnd(input) && !maybe) {\n cb(TERMINATE);\n return;\n }\n\n cb(input);\n };\n\n try {\n channel.take(takeCb, notUndef(pattern) ? matcher(pattern) : null);\n } catch (err) {\n cb(err, true);\n return;\n }\n\n cb.cancel = takeCb.cancel;\n}\n\nfunction runCallEffect(env, _ref4, cb, _ref5) {\n var context = _ref4.context,\n fn = _ref4.fn,\n args = _ref4.args;\n var task = _ref5.task;\n\n // catch synchronous failures; see #152\n try {\n var result = fn.apply(context, args);\n\n if (promise(result)) {\n resolvePromise(result, cb);\n return;\n }\n\n if (iterator(result)) {\n // resolve iterator\n proc(env, result, task.context, current, getMetaInfo(fn),\n /* isRoot */\n false, cb);\n return;\n }\n\n cb(result);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runCPSEffect(env, _ref6, cb) {\n var context = _ref6.context,\n fn = _ref6.fn,\n args = _ref6.args;\n\n // CPS (ie node style functions) can define their own cancellation logic\n // by setting cancel field on the cb\n // catch synchronous failures; see #152\n try {\n var cpsCb = function cpsCb(err, res) {\n if (undef(err)) {\n cb(res);\n } else {\n cb(err, true);\n }\n };\n\n fn.apply(context, args.concat(cpsCb));\n\n if (cpsCb.cancel) {\n cb.cancel = cpsCb.cancel;\n }\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runForkEffect(env, _ref7, cb, _ref8) {\n var context = _ref7.context,\n fn = _ref7.fn,\n args = _ref7.args,\n detached = _ref7.detached;\n var parent = _ref8.task;\n var taskIterator = createTaskIterator({\n context: context,\n fn: fn,\n args: args\n });\n var meta = getIteratorMetaInfo(taskIterator, fn);\n immediately(function () {\n var child = proc(env, taskIterator, parent.context, current, meta, detached, undefined);\n\n if (detached) {\n cb(child);\n } else {\n if (child.isRunning()) {\n parent.queue.addTask(child);\n cb(child);\n } else if (child.isAborted()) {\n parent.queue.abort(child.error());\n } else {\n cb(child);\n }\n }\n }); // Fork effects are non cancellables\n}\n\nfunction runJoinEffect(env, taskOrTasks, cb, _ref9) {\n var task = _ref9.task;\n\n var joinSingleTask = function joinSingleTask(taskToJoin, cb) {\n if (taskToJoin.isRunning()) {\n var joiner = {\n task: task,\n cb: cb\n };\n\n cb.cancel = function () {\n if (taskToJoin.isRunning()) remove(taskToJoin.joiners, joiner);\n };\n\n taskToJoin.joiners.push(joiner);\n } else {\n if (taskToJoin.isAborted()) {\n cb(taskToJoin.error(), true);\n } else {\n cb(taskToJoin.result());\n }\n }\n };\n\n if (array$1(taskOrTasks)) {\n if (taskOrTasks.length === 0) {\n cb([]);\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(taskOrTasks, cb);\n taskOrTasks.forEach(function (t, i) {\n joinSingleTask(t, childCallbacks[i]);\n });\n } else {\n joinSingleTask(taskOrTasks, cb);\n }\n}\n\nfunction cancelSingleTask(taskToCancel) {\n if (taskToCancel.isRunning()) {\n taskToCancel.cancel();\n }\n}\n\nfunction runCancelEffect(env, taskOrTasks, cb, _ref10) {\n var task = _ref10.task;\n\n if (taskOrTasks === SELF_CANCELLATION) {\n cancelSingleTask(task);\n } else if (array$1(taskOrTasks)) {\n taskOrTasks.forEach(cancelSingleTask);\n } else {\n cancelSingleTask(taskOrTasks);\n }\n\n cb(); // cancel effects are non cancellables\n}\n\nfunction runAllEffect(env, effects, cb, _ref11) {\n var digestEffect = _ref11.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n\n if (keys.length === 0) {\n cb(array$1(effects) ? [] : {});\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(effects, cb);\n keys.forEach(function (key) {\n digestEffect(effects[key], effectId, childCallbacks[key], key);\n });\n}\n\nfunction runRaceEffect(env, effects, cb, _ref12) {\n var digestEffect = _ref12.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n var response = array$1(effects) ? createEmptyArray(keys.length) : {};\n var childCbs = {};\n var completed = false;\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n // Race Auto cancellation\n cb.cancel();\n cb(res, isErr);\n } else {\n cb.cancel();\n completed = true;\n response[key] = res;\n cb(response);\n }\n };\n\n chCbAtKey.cancel = noop;\n childCbs[key] = chCbAtKey;\n });\n\n cb.cancel = function () {\n // prevents unnecessary cancellation\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCbs[key].cancel();\n });\n }\n };\n\n keys.forEach(function (key) {\n if (completed) {\n return;\n }\n\n digestEffect(effects[key], effectId, childCbs[key], key);\n });\n}\n\nfunction runSelectEffect(env, _ref13, cb) {\n var selector = _ref13.selector,\n args = _ref13.args;\n\n try {\n var state = selector.apply(void 0, [env.getState()].concat(args));\n cb(state);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runChannelEffect(env, _ref14, cb) {\n var pattern = _ref14.pattern,\n buffer = _ref14.buffer;\n var chan = channel(buffer);\n var match = matcher(pattern);\n\n var taker = function taker(action) {\n if (!isEnd(action)) {\n env.channel.take(taker, match);\n }\n\n chan.put(action);\n };\n\n var close = chan.close;\n\n chan.close = function () {\n taker.cancel();\n close();\n };\n\n env.channel.take(taker, match);\n cb(chan);\n}\n\nfunction runCancelledEffect(env, data, cb, _ref15) {\n var task = _ref15.task;\n cb(task.isCancelled());\n}\n\nfunction runFlushEffect(env, channel, cb) {\n channel.flush(cb);\n}\n\nfunction runGetContextEffect(env, prop, cb, _ref16) {\n var task = _ref16.task;\n cb(task.context[prop]);\n}\n\nfunction runSetContextEffect(env, props, cb, _ref17) {\n var task = _ref17.task;\n assignWithSymbols(task.context, props);\n cb();\n}\n\nvar effectRunnerMap = (_effectRunnerMap = {}, _effectRunnerMap[TAKE] = runTakeEffect, _effectRunnerMap[PUT] = runPutEffect, _effectRunnerMap[ALL] = runAllEffect, _effectRunnerMap[RACE] = runRaceEffect, _effectRunnerMap[CALL] = runCallEffect, _effectRunnerMap[CPS] = runCPSEffect, _effectRunnerMap[FORK] = runForkEffect, _effectRunnerMap[JOIN] = runJoinEffect, _effectRunnerMap[CANCEL$1] = runCancelEffect, _effectRunnerMap[SELECT] = runSelectEffect, _effectRunnerMap[ACTION_CHANNEL] = runChannelEffect, _effectRunnerMap[CANCELLED$1] = runCancelledEffect, _effectRunnerMap[FLUSH] = runFlushEffect, _effectRunnerMap[GET_CONTEXT] = runGetContextEffect, _effectRunnerMap[SET_CONTEXT] = runSetContextEffect, _effectRunnerMap);\n\n/**\n Used to track a parent task and its forks\n In the fork model, forked tasks are attached by default to their parent\n We model this using the concept of Parent task && main Task\n main task is the main flow of the current Generator, the parent tasks is the\n aggregation of the main tasks + all its forked tasks.\n Thus the whole model represents an execution tree with multiple branches (vs the\n linear execution tree in sequential (non parallel) programming)\n\n A parent tasks has the following semantics\n - It completes if all its forks either complete or all cancelled\n - If it's cancelled, all forks are cancelled as well\n - It aborts if any uncaught error bubbles up from forks\n - If it completes, the return value is the one returned by the main task\n **/\n\nfunction forkQueue(mainTask, onAbort, cont) {\n var tasks = [];\n var result;\n var completed = false;\n addTask(mainTask);\n\n var getTasks = function getTasks() {\n return tasks;\n };\n\n function abort(err) {\n onAbort();\n cancelAll();\n cont(err, true);\n }\n\n function addTask(task) {\n tasks.push(task);\n\n task.cont = function (res, isErr) {\n if (completed) {\n return;\n }\n\n remove(tasks, task);\n task.cont = noop;\n\n if (isErr) {\n abort(res);\n } else {\n if (task === mainTask) {\n result = res;\n }\n\n if (!tasks.length) {\n completed = true;\n cont(result);\n }\n }\n };\n }\n\n function cancelAll() {\n if (completed) {\n return;\n }\n\n completed = true;\n tasks.forEach(function (t) {\n t.cont = noop;\n t.cancel();\n });\n tasks = [];\n }\n\n return {\n addTask: addTask,\n cancelAll: cancelAll,\n abort: abort,\n getTasks: getTasks\n };\n}\n\n// there can be only a single saga error created at any given moment\n\nfunction formatLocation(fileName, lineNumber) {\n return fileName + \"?\" + lineNumber;\n}\n\nfunction effectLocationAsString(effect) {\n var location = getLocation(effect);\n\n if (location) {\n var code = location.code,\n fileName = location.fileName,\n lineNumber = location.lineNumber;\n var source = code + \" \" + formatLocation(fileName, lineNumber);\n return source;\n }\n\n return '';\n}\n\nfunction sagaLocationAsString(sagaMeta) {\n var name = sagaMeta.name,\n location = sagaMeta.location;\n\n if (location) {\n return name + \" \" + formatLocation(location.fileName, location.lineNumber);\n }\n\n return name;\n}\n\nfunction cancelledTasksAsString(sagaStack) {\n var cancelledTasks = flatMap(function (i) {\n return i.cancelledTasks;\n }, sagaStack);\n\n if (!cancelledTasks.length) {\n return '';\n }\n\n return ['Tasks cancelled due to error:'].concat(cancelledTasks).join('\\n');\n}\n\nvar crashedEffect = null;\nvar sagaStack = [];\nvar addSagaFrame = function addSagaFrame(frame) {\n frame.crashedEffect = crashedEffect;\n sagaStack.push(frame);\n};\nvar clear = function clear() {\n crashedEffect = null;\n sagaStack.length = 0;\n}; // this sets crashed effect for the soon-to-be-reported saga frame\n// this slightly streatches the singleton nature of this module into wrong direction\n// as it's even less obvious what's the data flow here, but it is what it is for now\n\nvar setCrashedEffect = function setCrashedEffect(effect) {\n crashedEffect = effect;\n};\n/**\n @returns {string}\n\n @example\n The above error occurred in task errorInPutSaga {pathToFile}\n when executing effect put({type: 'REDUCER_ACTION_ERROR_IN_PUT'}) {pathToFile}\n created by fetchSaga {pathToFile}\n created by rootSaga {pathToFile}\n*/\n\nvar toString = function toString() {\n var firstSaga = sagaStack[0],\n otherSagas = sagaStack.slice(1);\n var crashedEffectLocation = firstSaga.crashedEffect ? effectLocationAsString(firstSaga.crashedEffect) : null;\n var errorMessage = \"The above error occurred in task \" + sagaLocationAsString(firstSaga.meta) + (crashedEffectLocation ? \" \\n when executing effect \" + crashedEffectLocation : '');\n return [errorMessage].concat(otherSagas.map(function (s) {\n return \" created by \" + sagaLocationAsString(s.meta);\n }), [cancelledTasksAsString(sagaStack)]).join('\\n');\n};\n\nfunction newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont) {\n var _task;\n\n if (cont === void 0) {\n cont = noop;\n }\n\n var status = RUNNING;\n var taskResult;\n var taskError;\n var deferredEnd = null;\n var cancelledDueToErrorTasks = [];\n var context = Object.create(parentContext);\n var queue = forkQueue(mainTask, function onAbort() {\n cancelledDueToErrorTasks.push.apply(cancelledDueToErrorTasks, queue.getTasks().map(function (t) {\n return t.meta.name;\n }));\n }, end);\n /**\n This may be called by a parent generator to trigger/propagate cancellation\n cancel all pending tasks (including the main task), then end the current task.\n Cancellation propagates down to the whole execution tree held by this Parent task\n It's also propagated to all joiners of this task and their execution tree/joiners\n Cancellation is noop for terminated/Cancelled tasks tasks\n **/\n\n function cancel() {\n if (status === RUNNING) {\n // Setting status to CANCELLED does not necessarily mean that the task/iterators are stopped\n // effects in the iterator's finally block will still be executed\n status = CANCELLED;\n queue.cancelAll(); // Ending with a TASK_CANCEL will propagate the Cancellation to all joiners\n\n end(TASK_CANCEL, false);\n }\n }\n\n function end(result, isErr) {\n if (!isErr) {\n // The status here may be RUNNING or CANCELLED\n // If the status is CANCELLED, then we do not need to change it here\n if (result === TASK_CANCEL) {\n status = CANCELLED;\n } else if (status !== CANCELLED) {\n status = DONE;\n }\n\n taskResult = result;\n deferredEnd && deferredEnd.resolve(result);\n } else {\n status = ABORTED;\n addSagaFrame({\n meta: meta,\n cancelledTasks: cancelledDueToErrorTasks\n });\n\n if (task.isRoot) {\n var sagaStack = toString(); // we've dumped the saga stack to string and are passing it to user's code\n // we know that it won't be needed anymore and we need to clear it\n\n clear();\n env.onError(result, {\n sagaStack: sagaStack\n });\n }\n\n taskError = result;\n deferredEnd && deferredEnd.reject(result);\n }\n\n task.cont(result, isErr);\n task.joiners.forEach(function (joiner) {\n joiner.cb(result, isErr);\n });\n task.joiners = null;\n }\n\n function setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('task', props));\n }\n\n assignWithSymbols(context, props);\n }\n\n function toPromise() {\n if (deferredEnd) {\n return deferredEnd.promise;\n }\n\n deferredEnd = deferred();\n\n if (status === ABORTED) {\n deferredEnd.reject(taskError);\n } else if (status !== RUNNING) {\n deferredEnd.resolve(taskResult);\n }\n\n return deferredEnd.promise;\n }\n\n var task = (_task = {}, _task[TASK] = true, _task.id = parentEffectId, _task.meta = meta, _task.isRoot = isRoot, _task.context = context, _task.joiners = [], _task.queue = queue, _task.cancel = cancel, _task.cont = cont, _task.end = end, _task.setContext = setContext, _task.toPromise = toPromise, _task.isRunning = function isRunning() {\n return status === RUNNING;\n }, _task.isCancelled = function isCancelled() {\n return status === CANCELLED || status === RUNNING && mainTask.status === CANCELLED;\n }, _task.isAborted = function isAborted() {\n return status === ABORTED;\n }, _task.result = function result() {\n return taskResult;\n }, _task.error = function error() {\n return taskError;\n }, _task);\n return task;\n}\n\nfunction proc(env, iterator$1, parentContext, parentEffectId, meta, isRoot, cont) {\n if (process.env.NODE_ENV !== 'production' && iterator$1[asyncIteratorSymbol]) {\n throw new Error(\"redux-saga doesn't support async generators, please use only regular ones\");\n }\n\n var finalRunEffect = env.finalizeRunEffect(runEffect);\n /**\n Tracks the current effect cancellation\n Each time the generator progresses. calling runEffect will set a new value\n on it. It allows propagating cancellation to child effects\n **/\n\n next.cancel = noop;\n /** Creates a main task to track the main flow */\n\n var mainTask = {\n meta: meta,\n cancel: cancelMain,\n status: RUNNING\n };\n /**\n Creates a new task descriptor for this generator.\n A task is the aggregation of it's mainTask and all it's forked tasks.\n **/\n\n var task = newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont);\n var executingContext = {\n task: task,\n digestEffect: digestEffect\n };\n /**\n cancellation of the main task. We'll simply resume the Generator with a TASK_CANCEL\n **/\n\n function cancelMain() {\n if (mainTask.status === RUNNING) {\n mainTask.status = CANCELLED;\n next(TASK_CANCEL);\n }\n }\n /**\n attaches cancellation logic to this task's continuation\n this will permit cancellation to propagate down the call chain\n **/\n\n\n if (cont) {\n cont.cancel = task.cancel;\n } // kicks up the generator\n\n\n next(); // then return the task descriptor to the caller\n\n return task;\n /**\n * This is the generator driver\n * It's a recursive async/continuation function which calls itself\n * until the generator terminates or throws\n * @param {internal commands(TASK_CANCEL | TERMINATE) | any} arg - value, generator will be resumed with.\n * @param {boolean} isErr - the flag shows if effect finished with an error\n *\n * receives either (command | effect result, false) or (any thrown thing, true)\n */\n\n function next(arg, isErr) {\n try {\n var result;\n\n if (isErr) {\n result = iterator$1.throw(arg); // user handled the error, we can clear bookkept values\n\n clear();\n } else if (shouldCancel(arg)) {\n /**\n getting TASK_CANCEL automatically cancels the main task\n We can get this value here\n - By cancelling the parent task manually\n - By joining a Cancelled task\n **/\n mainTask.status = CANCELLED;\n /**\n Cancels the current effect; this will propagate the cancellation down to any called tasks\n **/\n\n next.cancel();\n /**\n If this Generator has a `return` method then invokes it\n This will jump to the finally block\n **/\n\n result = func(iterator$1.return) ? iterator$1.return(TASK_CANCEL) : {\n done: true,\n value: TASK_CANCEL\n };\n } else if (shouldTerminate(arg)) {\n // We get TERMINATE flag, i.e. by taking from a channel that ended using `take` (and not `takem` used to trap End of channels)\n result = func(iterator$1.return) ? iterator$1.return() : {\n done: true\n };\n } else {\n result = iterator$1.next(arg);\n }\n\n if (!result.done) {\n digestEffect(result.value, parentEffectId, next);\n } else {\n /**\n This Generator has ended, terminate the main task and notify the fork queue\n **/\n if (mainTask.status !== CANCELLED) {\n mainTask.status = DONE;\n }\n\n mainTask.cont(result.value);\n }\n } catch (error) {\n if (mainTask.status === CANCELLED) {\n throw error;\n }\n\n mainTask.status = ABORTED;\n mainTask.cont(error, true);\n }\n }\n\n function runEffect(effect, effectId, currCb) {\n /**\n each effect runner must attach its own logic of cancellation to the provided callback\n it allows this generator to propagate cancellation downward.\n ATTENTION! effect runners must setup the cancel logic by setting cb.cancel = [cancelMethod]\n And the setup must occur before calling the callback\n This is a sort of inversion of control: called async functions are responsible\n of completing the flow by calling the provided continuation; while caller functions\n are responsible for aborting the current flow by calling the attached cancel function\n Library users can attach their own cancellation logic to promises by defining a\n promise[CANCEL] method in their returned promises\n ATTENTION! calling cancel must have no effect on an already completed or cancelled effect\n **/\n if (promise(effect)) {\n resolvePromise(effect, currCb);\n } else if (iterator(effect)) {\n // resolve iterator\n proc(env, effect, task.context, effectId, meta,\n /* isRoot */\n false, currCb);\n } else if (effect && effect[IO]) {\n var effectRunner = effectRunnerMap[effect.type];\n effectRunner(env, effect.payload, currCb, executingContext);\n } else {\n // anything else returned as is\n currCb(effect);\n }\n }\n\n function digestEffect(effect, parentEffectId, cb, label) {\n if (label === void 0) {\n label = '';\n }\n\n var effectId = nextSagaId();\n env.sagaMonitor && env.sagaMonitor.effectTriggered({\n effectId: effectId,\n parentEffectId: parentEffectId,\n label: label,\n effect: effect\n });\n /**\n completion callback and cancel callback are mutually exclusive\n We can't cancel an already completed effect\n And We can't complete an already cancelled effectId\n **/\n\n var effectSettled; // Completion callback passed to the appropriate effect runner\n\n function currCb(res, isErr) {\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n cb.cancel = noop; // defensive measure\n\n if (env.sagaMonitor) {\n if (isErr) {\n env.sagaMonitor.effectRejected(effectId, res);\n } else {\n env.sagaMonitor.effectResolved(effectId, res);\n }\n }\n\n if (isErr) {\n setCrashedEffect(effect);\n }\n\n cb(res, isErr);\n } // tracks down the current cancel\n\n\n currCb.cancel = noop; // setup cancellation logic on the parent cb\n\n cb.cancel = function () {\n // prevents cancelling an already completed effect\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n currCb.cancel(); // propagates cancel downward\n\n currCb.cancel = noop; // defensive measure\n\n env.sagaMonitor && env.sagaMonitor.effectCancelled(effectId);\n };\n\n finalRunEffect(effect, effectId, currCb);\n }\n}\n\nvar RUN_SAGA_SIGNATURE = 'runSaga(options, saga, ...args)';\nvar NON_GENERATOR_ERR = RUN_SAGA_SIGNATURE + \": saga argument must be a Generator function!\";\nfunction runSaga(_ref, saga) {\n var _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n dispatch = _ref.dispatch,\n getState = _ref.getState,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n sagaMonitor = _ref.sagaMonitor,\n effectMiddlewares = _ref.effectMiddlewares,\n _ref$onError = _ref.onError,\n onError = _ref$onError === void 0 ? logError : _ref$onError;\n\n if (process.env.NODE_ENV !== 'production') {\n check(saga, func, NON_GENERATOR_ERR);\n }\n\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 var iterator$1 = saga.apply(void 0, args);\n\n if (process.env.NODE_ENV !== 'production') {\n check(iterator$1, iterator, NON_GENERATOR_ERR);\n }\n\n var effectId = nextSagaId();\n\n if (sagaMonitor) {\n // monitors are expected to have a certain interface, let's fill-in any missing ones\n sagaMonitor.rootSagaStarted = sagaMonitor.rootSagaStarted || noop;\n sagaMonitor.effectTriggered = sagaMonitor.effectTriggered || noop;\n sagaMonitor.effectResolved = sagaMonitor.effectResolved || noop;\n sagaMonitor.effectRejected = sagaMonitor.effectRejected || noop;\n sagaMonitor.effectCancelled = sagaMonitor.effectCancelled || noop;\n sagaMonitor.actionDispatched = sagaMonitor.actionDispatched || noop;\n sagaMonitor.rootSagaStarted({\n effectId: effectId,\n saga: saga,\n args: args\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (notUndef(dispatch)) {\n check(dispatch, func, 'dispatch must be a function');\n }\n\n if (notUndef(getState)) {\n check(getState, func, 'getState must be a function');\n }\n\n if (notUndef(effectMiddlewares)) {\n var MIDDLEWARE_TYPE_ERROR = 'effectMiddlewares must be an array of functions';\n check(effectMiddlewares, array$1, MIDDLEWARE_TYPE_ERROR);\n effectMiddlewares.forEach(function (effectMiddleware) {\n return check(effectMiddleware, func, MIDDLEWARE_TYPE_ERROR);\n });\n }\n\n check(onError, func, 'onError passed to the redux-saga is not a function!');\n }\n\n var finalizeRunEffect;\n\n if (effectMiddlewares) {\n var middleware = compose.apply(void 0, effectMiddlewares);\n\n finalizeRunEffect = function finalizeRunEffect(runEffect) {\n return function (effect, effectId, currCb) {\n var plainRunEffect = function plainRunEffect(eff) {\n return runEffect(eff, effectId, currCb);\n };\n\n return middleware(plainRunEffect)(effect);\n };\n };\n } else {\n finalizeRunEffect = identity;\n }\n\n var env = {\n channel: channel,\n dispatch: wrapSagaDispatch(dispatch),\n getState: getState,\n sagaMonitor: sagaMonitor,\n onError: onError,\n finalizeRunEffect: finalizeRunEffect\n };\n return immediately(function () {\n var task = proc(env, iterator$1, context, effectId, getMetaInfo(saga),\n /* isRoot */\n true, undefined);\n\n if (sagaMonitor) {\n sagaMonitor.effectResolved(effectId, task);\n }\n\n return task;\n });\n}\n\nfunction sagaMiddlewareFactory(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n sagaMonitor = _ref.sagaMonitor,\n options = _objectWithoutPropertiesLoose(_ref, [\"context\", \"channel\", \"sagaMonitor\"]);\n\n var boundRunSaga;\n\n if (process.env.NODE_ENV !== 'production') {\n check(channel, channel$1, 'options.channel passed to the Saga middleware is not a channel');\n }\n\n function sagaMiddleware(_ref2) {\n var getState = _ref2.getState,\n dispatch = _ref2.dispatch;\n boundRunSaga = runSaga.bind(null, _extends({}, options, {\n context: context,\n channel: channel,\n dispatch: dispatch,\n getState: getState,\n sagaMonitor: sagaMonitor\n }));\n return function (next) {\n return function (action) {\n if (sagaMonitor && sagaMonitor.actionDispatched) {\n sagaMonitor.actionDispatched(action);\n }\n\n var result = next(action); // hit reducers\n\n channel.put(action);\n return result;\n };\n };\n }\n\n sagaMiddleware.run = function () {\n if (process.env.NODE_ENV !== 'production' && !boundRunSaga) {\n throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware');\n }\n\n return boundRunSaga.apply(void 0, arguments);\n };\n\n sagaMiddleware.setContext = function (props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('sagaMiddleware', props));\n }\n\n assignWithSymbols(context, props);\n };\n\n return sagaMiddleware;\n}\n\nexport default sagaMiddlewareFactory;\nexport { END, channel, eventChannel, isEnd, multicastChannel, runSaga, stdChannel };\n","// src/error/flatten/flatten.ts\nfunction flatten(arg1) {\n return (Array.isArray(arg1) ? arg1 : arg1.issues).reduce(\n (flatErrors, issue) => {\n if (issue.path) {\n if (issue.path.every(\n ({ key }) => typeof key === \"string\" || typeof key === \"number\"\n )) {\n const path = issue.path.map(({ key }) => key).join(\".\");\n if (flatErrors.nested[path]) {\n flatErrors.nested[path].push(issue.message);\n } else {\n flatErrors.nested[path] = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n return flatErrors;\n },\n { nested: {} }\n );\n}\n\n// src/error/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n issues;\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/methods/brand/brand.ts\nvar BrandSymbol = Symbol(\"brand\");\nfunction brand(schema, name) {\n return schema;\n}\n\n// src/methods/coerce/coerce.ts\nfunction coerce(schema, action) {\n return {\n ...schema,\n _parse(input, config) {\n return schema._parse(action(input), config);\n }\n };\n}\n\n// src/methods/coerce/coerceAsync.ts\nfunction coerceAsync(schema, action) {\n return {\n ...schema,\n async _parse(input, config) {\n return schema._parse(await action(input), config);\n }\n };\n}\n\n// src/utils/actionIssue/actionIssue.ts\nfunction actionIssue(context, reference, input, label, received) {\n return {\n issues: [{ context, reference, input, label, received }]\n };\n}\n\n// src/utils/actionOutput/actionOutput.ts\nfunction actionOutput(output) {\n return { output };\n}\n\n// src/utils/defaultArgs/defaultArgs.ts\nfunction defaultArgs(arg1, arg2) {\n return Array.isArray(arg1) ? [void 0, arg1] : [arg1, arg2];\n}\n\n// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config) {\n store = { ...store, ...config };\n}\nfunction getGlobalConfig(config) {\n return {\n lang: config?.lang ?? store?.lang,\n message: config?.message,\n abortEarly: config?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config?.abortPipeEarly ?? store?.abortPipeEarly,\n skipPipe: config?.skipPipe ?? store?.skipPipe\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message, lang) {\n if (!store2)\n store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message);\n}\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message, lang) {\n if (!store3)\n store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message);\n}\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message, lang) {\n if (!store4)\n store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference))\n store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message);\n}\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/i18n/i18n.ts\nfunction i18n(schema, context, reference, config, issue) {\n const message = context.message ?? getSpecificMessage(reference, issue.lang) ?? (schema ? getSchemaMessage(issue.lang) : null) ?? config?.message ?? getGlobalMessage(issue.lang) ?? issue.message;\n return typeof message === \"function\" ? message(issue) : message;\n}\n\n// src/utils/isLuhnAlgo/isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\nfunction isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/isOfType/isOfType.ts\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/schemaResult/schemaResult.ts\nfunction schemaResult(typed, output, issues) {\n return { typed, output, issues };\n}\n\n// src/utils/stringify/stringify.ts\nfunction stringify(input) {\n let type = typeof input;\n if (type === \"object\") {\n type = input ? Object.getPrototypeOf(input).constructor.name : \"null\";\n }\n return type === \"string\" ? `\"${input}\"` : type === \"number\" || type === \"bigint\" || type === \"boolean\" ? `${input}` : type;\n}\n\n// src/utils/pipeResult/utils/pipeIssue/pipeIssue.ts\nfunction pipeIssue(context, config, issue) {\n const received = issue.received ?? stringify(issue.input);\n const schemaIssue2 = {\n reason: context.type,\n context: issue.context.type,\n expected: issue.context.expects,\n received,\n message: `Invalid ${issue.label}: ${issue.context.expects ? `Expected ${issue.context.expects} but r` : \"R\"}eceived ${received}`,\n input: issue.input,\n requirement: issue.context.requirement,\n path: issue.path,\n lang: config?.lang,\n abortEarly: config?.abortEarly,\n abortPipeEarly: config?.abortPipeEarly,\n skipPipe: config?.skipPipe\n };\n schemaIssue2.message = i18n(\n false,\n issue.context,\n issue.reference,\n config,\n schemaIssue2\n );\n return schemaIssue2;\n}\n\n// src/utils/pipeResult/pipeResult.ts\nfunction pipeResult(context, input, config, issues) {\n if (context.pipe && !config?.skipPipe) {\n for (const action of context.pipe) {\n const result = action._parse(input);\n if (result.issues) {\n for (const actionIssue2 of result.issues) {\n const schemaIssue2 = pipeIssue(context, config, actionIssue2);\n issues ? issues.push(schemaIssue2) : issues = [schemaIssue2];\n }\n if (config?.abortEarly || config?.abortPipeEarly) {\n break;\n }\n } else {\n input = result.output;\n }\n }\n }\n return schemaResult(true, input, issues);\n}\n\n// src/utils/pipeResult/pipeResultAsync.ts\nasync function pipeResultAsync(context, input, config, issues) {\n if (context.pipe && !config?.skipPipe) {\n for (const action of context.pipe) {\n const result = await action._parse(input);\n if (result.issues) {\n for (const actionIssue2 of result.issues) {\n const schemaIssue2 = pipeIssue(context, config, actionIssue2);\n issues ? issues.push(schemaIssue2) : issues = [schemaIssue2];\n }\n if (config?.abortEarly || config?.abortPipeEarly) {\n break;\n }\n } else {\n input = result.output;\n }\n }\n }\n return schemaResult(true, input, issues);\n}\n\n// src/utils/restAndDefaultArgs/restAndDefaultArgs.ts\nfunction restAndDefaultArgs(arg1, arg2, arg3) {\n if (!arg1 || typeof arg1 === \"object\" && !Array.isArray(arg1)) {\n const [error2, pipe2] = defaultArgs(arg2, arg3);\n return [arg1, error2, pipe2];\n }\n const [error, pipe] = defaultArgs(\n arg1,\n arg2\n );\n return [void 0, error, pipe];\n}\n\n// src/utils/schemaIssue/schemaIssue.ts\nfunction schemaIssue(context, reference, input, config, other) {\n const received = stringify(input);\n const expected = other?.expected ?? context.expects;\n const issue = {\n reason: other?.reason ?? \"type\",\n context: context.type,\n expected,\n received,\n message: `Invalid type: Expected ${expected} but received ${received}`,\n input,\n path: other?.path,\n issues: other?.issues,\n lang: config?.lang,\n abortEarly: config?.abortEarly,\n abortPipeEarly: config?.abortPipeEarly,\n skipPipe: config?.skipPipe\n };\n issue.message = i18n(true, context, reference, config, issue);\n return { typed: false, output: input, issues: [issue] };\n}\n\n// src/methods/getFallback/getFallback.ts\nfunction getFallback(schema, info) {\n return typeof schema.fallback === \"function\" ? schema.fallback(info) : schema.fallback;\n}\n\n// src/methods/getFallback/getFallbackAsync.ts\nasync function getFallbackAsync(schema, info) {\n return typeof schema.fallback === \"function\" ? await schema.fallback(info) : schema.fallback;\n}\n\n// src/methods/fallback/fallback.ts\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n _parse(input, config) {\n const result = schema._parse(input, config);\n return result.issues ? schemaResult(\n true,\n getFallback(this, { input, issues: result.issues })\n ) : result;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async _parse(input, config) {\n const result = await schema._parse(input, config);\n return result.issues ? schemaResult(\n true,\n await getFallbackAsync(this, { input, issues: result.issues })\n ) : result;\n }\n };\n}\n\n// src/methods/forward/forward.ts\nfunction forward(validation, pathList) {\n return {\n ...validation,\n _parse(input) {\n const result = validation._parse(input);\n if (result.issues) {\n for (const issue of result.issues) {\n let pathInput = input;\n for (const key of pathList) {\n const pathValue = pathInput[key];\n issue.input = pathValue;\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n issue.path ? issue.path.push(pathItem) : issue.path = [pathItem];\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\nfunction forwardAsync(validation, pathList) {\n return {\n ...validation,\n async _parse(input) {\n const result = await validation._parse(input);\n if (result.issues) {\n for (const issue of result.issues) {\n let pathInput = input;\n for (const key of pathList) {\n const pathValue = pathInput[key];\n issue.input = pathValue;\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n issue.path ? issue.path.push(pathItem) : issue.path = [pathItem];\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\nfunction getDefault(schema) {\n return typeof schema.default === \"function\" ? schema.default() : schema.default;\n}\n\n// src/methods/getDefault/getDefaultAsync.ts\nasync function getDefaultAsync(schema) {\n return typeof schema.default === \"function\" ? await schema.default() : schema.default;\n}\n\n// src/methods/getDefaults/getDefaults.ts\nfunction getDefaults(schema) {\n if (schema.default !== void 0) {\n return getDefault(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n Object.entries(schema.entries).map(([key, value2]) => [\n key,\n getDefaults(value2)\n ])\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return schema.items.map(getDefaults);\n }\n return void 0;\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\nasync function getDefaultsAsync(schema) {\n if (schema.default !== void 0) {\n return getDefaultAsync(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return Promise.all(\n schema.items.map(getDefaultsAsync)\n );\n }\n return void 0;\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\nfunction getFallbacks(schema) {\n if (schema.fallback !== void 0) {\n return getFallback(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n Object.entries(schema.entries).map(([key, value2]) => [\n key,\n getFallbacks(value2)\n ])\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return schema.items.map(getFallbacks);\n }\n return void 0;\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\nasync function getFallbacksAsync(schema) {\n if (schema.fallback !== void 0) {\n return getFallbackAsync(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return Promise.all(\n schema.items.map(getFallbacksAsync)\n );\n }\n return void 0;\n}\n\n// src/methods/is/is.ts\nfunction is(schema, input, config) {\n return !schema._parse(input, {\n abortEarly: true,\n skipPipe: getGlobalConfig(config)?.skipPipe\n }).issues;\n}\n\n// src/schemas/any/any.ts\nfunction any(pipe) {\n return {\n type: \"any\",\n expects: \"any\",\n async: false,\n pipe,\n _parse(input, config) {\n return pipeResult(this, input, config);\n }\n };\n}\n\n// src/schemas/any/anyAsync.ts\nfunction anyAsync(pipe) {\n return {\n type: \"any\",\n expects: \"any\",\n async: true,\n pipe,\n async _parse(input, config) {\n return pipeResultAsync(this, input, config);\n }\n };\n}\n\n// src/schemas/array/array.ts\nfunction array(item, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"array\",\n expects: \"Array\",\n async: false,\n item,\n message,\n pipe,\n _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const result = this.item._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output.push(result.output);\n }\n if (typed) {\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, array, input, config);\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\nfunction arrayAsync(item, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"array\",\n expects: \"Array\",\n async: true,\n item,\n message,\n pipe,\n async _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n await Promise.all(\n input.map(async (value2, key) => {\n if (!(config?.abortEarly && issues)) {\n const result = await this.item._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n })\n ).catch(() => null);\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, arrayAsync, input, config);\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\nfunction bigint(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"bigint\",\n expects: \"bigint\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"bigint\") {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, bigint, input, config);\n }\n };\n}\n\n// src/schemas/bigint/bigintAsync.ts\nfunction bigintAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"bigint\",\n expects: \"bigint\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"bigint\") {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, bigintAsync, input, config);\n }\n };\n}\n\n// src/schemas/blob/blob.ts\nfunction blob(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"blob\",\n expects: \"Blob\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Blob) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, blob, input, config);\n }\n };\n}\n\n// src/schemas/blob/blobAsync.ts\nfunction blobAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"blob\",\n expects: \"Blob\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Blob) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, blobAsync, input, config);\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\nfunction boolean(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"boolean\",\n expects: \"boolean\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"boolean\") {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, boolean, input, config);\n }\n };\n}\n\n// src/schemas/boolean/booleanAsync.ts\nfunction booleanAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"boolean\",\n expects: \"boolean\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"boolean\") {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, booleanAsync, input, config);\n }\n };\n}\n\n// src/schemas/date/date.ts\nfunction date(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"date\",\n expects: \"Date\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Date && !isNaN(input.getTime())) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, date, input, config);\n }\n };\n}\n\n// src/schemas/date/dateAsync.ts\nfunction dateAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"date\",\n expects: \"Date\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Date && !isNaN(input.getTime())) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, dateAsync, input, config);\n }\n };\n}\n\n// src/schemas/enum/enum.ts\nfunction enum_(enum__, message) {\n const values = Object.values(enum__);\n return {\n type: \"enum\",\n expects: values.map(stringify).join(\" | \"),\n async: false,\n enum: enum__,\n message,\n _parse(input, config) {\n if (values.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, enum_, input, config);\n }\n };\n}\n\n// src/schemas/enum/enumAsync.ts\nfunction enumAsync(enum_2, message) {\n const values = Object.values(enum_2);\n return {\n type: \"enum\",\n expects: values.map(stringify).join(\" | \"),\n async: true,\n enum: enum_2,\n message,\n async _parse(input, config) {\n if (values.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, enumAsync, input, config);\n }\n };\n}\n\n// src/schemas/instance/instance.ts\nfunction instance(class_, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"instance\",\n expects: class_.name,\n async: false,\n class: class_,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof this.class) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, instance, input, config);\n }\n };\n}\n\n// src/schemas/instance/instanceAsync.ts\nfunction instanceAsync(class_, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"instance\",\n expects: class_.name,\n async: true,\n class: class_,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof this.class) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, instanceAsync, input, config);\n }\n };\n}\n\n// src/schemas/intersect/utils/mergeOutputs/mergeOutputs.ts\nfunction mergeOutputs(output1, output2) {\n if (typeof output1 === typeof output2) {\n if (output1 === output2 || output1 instanceof Date && output2 instanceof Date && +output1 === +output2) {\n return { output: output1 };\n }\n if (Array.isArray(output1) && Array.isArray(output2)) {\n if (output1.length === output2.length) {\n const array2 = [];\n for (let index = 0; index < output1.length; index++) {\n const result = mergeOutputs(output1[index], output2[index]);\n if (result.invalid) {\n return result;\n }\n array2.push(result.output);\n }\n return { output: array2 };\n }\n return { invalid: true };\n }\n if (output1 && output2 && output1.constructor === Object && output2.constructor === Object) {\n const object2 = { ...output1, ...output2 };\n for (const key in output1) {\n if (key in output2) {\n const result = mergeOutputs(output1[key], output2[key]);\n if (result.invalid) {\n return result;\n }\n object2[key] = result.output;\n }\n }\n return { output: object2 };\n }\n }\n return { invalid: true };\n}\n\n// src/schemas/intersect/intersect.ts\nfunction intersect(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"intersect\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" & \"),\n async: false,\n options,\n message,\n pipe,\n _parse(input, config) {\n let typed = true;\n let issues;\n let output;\n const outputs = [];\n for (const schema of this.options) {\n const result = schema._parse(input, config);\n if (result.issues) {\n if (issues) {\n for (const issue of result.issues) {\n issues.push(issue);\n }\n } else {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n outputs.push(result.output);\n }\n if (typed) {\n output = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const result = mergeOutputs(output, outputs[index]);\n if (result.invalid) {\n return schemaIssue(this, intersect, input, config);\n }\n output = result.output;\n }\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\nfunction intersectAsync(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"intersect\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" & \"),\n async: true,\n options,\n message,\n pipe,\n async _parse(input, config) {\n let typed = true;\n let issues;\n let output;\n const outputs = [];\n await Promise.all(\n this.options.map(async (schema) => {\n if (!(config?.abortEarly && issues)) {\n const result = await schema._parse(input, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n if (issues) {\n for (const issue of result.issues) {\n issues.push(issue);\n }\n } else {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n outputs.push(result.output);\n }\n }\n })\n ).catch(() => null);\n if (typed) {\n output = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const result = mergeOutputs(output, outputs[index]);\n if (result.invalid) {\n return schemaIssue(this, intersectAsync, input, config);\n }\n output = result.output;\n }\n return pipeResultAsync(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\nfunction lazy(getter) {\n return {\n type: \"lazy\",\n expects: \"unknown\",\n async: false,\n getter,\n _parse(input, config) {\n return this.getter(input)._parse(input, config);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\nfunction lazyAsync(getter) {\n return {\n type: \"lazy\",\n expects: \"unknown\",\n async: true,\n getter,\n async _parse(input, config) {\n return (await this.getter(input))._parse(input, config);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\nfunction literal(literal_, message) {\n return {\n type: \"literal\",\n expects: stringify(literal_),\n async: false,\n literal: literal_,\n message,\n _parse(input, config) {\n if (input === this.literal) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, literal, input, config);\n }\n };\n}\n\n// src/schemas/literal/literalAsync.ts\nfunction literalAsync(literal2, message) {\n return {\n type: \"literal\",\n expects: stringify(literal2),\n async: true,\n literal: literal2,\n message,\n async _parse(input, config) {\n if (input === this.literal) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, literalAsync, input, config);\n }\n };\n}\n\n// src/schemas/map/map.ts\nfunction map(key, value2, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n return {\n type: \"map\",\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Map) {\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input.entries()) {\n let pathItem;\n const keyResult = this.key._parse(inputKey, config);\n if (keyResult.issues) {\n pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyResult.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = keyResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n const valueResult = this.value._parse(inputValue, config);\n if (valueResult.issues) {\n pathItem = pathItem ?? {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueResult.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = valueResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!keyResult.typed || !valueResult.typed) {\n typed = false;\n }\n output.set(keyResult.output, valueResult.output);\n }\n if (typed) {\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, map, input, config);\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\nfunction mapAsync(key, value2, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n return {\n type: \"map\",\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Map) {\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Map();\n await Promise.all(\n Array.from(input.entries()).map(async ([inputKey, inputValue]) => {\n let pathItem;\n const [keyResult, valueResult] = await Promise.all(\n [\n { schema: this.key, value: inputKey, origin: \"key\" },\n { schema: this.value, value: inputValue, origin: \"value\" }\n ].map(async ({ schema, value: value3, origin }) => {\n if (!(config?.abortEarly && issues)) {\n const result = await schema._parse(value3, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n pathItem = pathItem ?? {\n type: \"map\",\n origin,\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n throw null;\n }\n }\n return result;\n }\n }\n })\n ).catch(() => []);\n if (!keyResult?.typed || !valueResult?.typed) {\n typed = false;\n }\n if (keyResult && valueResult) {\n output.set(keyResult.output, valueResult.output);\n }\n })\n );\n if (typed) {\n return pipeResultAsync(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, mapAsync, input, config);\n }\n };\n}\n\n// src/schemas/nan/nan.ts\nfunction nan(message) {\n return {\n type: \"nan\",\n expects: \"NaN\",\n async: false,\n message,\n _parse(input, config) {\n if (Number.isNaN(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, nan, input, config);\n }\n };\n}\n\n// src/schemas/nan/nanAsync.ts\nfunction nanAsync(message) {\n return {\n type: \"nan\",\n expects: \"NaN\",\n async: true,\n message,\n async _parse(input, config) {\n if (Number.isNaN(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, nanAsync, input, config);\n }\n };\n}\n\n// src/schemas/never/never.ts\nfunction never(message) {\n return {\n type: \"never\",\n expects: \"never\",\n async: false,\n message,\n _parse(input, config) {\n return schemaIssue(this, never, input, config);\n }\n };\n}\n\n// src/schemas/never/neverAsync.ts\nfunction neverAsync(message) {\n return {\n type: \"never\",\n expects: \"never\",\n async: true,\n message,\n async _parse(input, config) {\n return schemaIssue(this, neverAsync, input, config);\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\nfunction nonNullable(wrapped, message) {\n return {\n type: \"non_nullable\",\n expects: \"!null\",\n async: false,\n wrapped,\n message,\n _parse(input, config) {\n if (input === null) {\n return schemaIssue(this, nonNullable, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\nfunction nonNullableAsync(wrapped, message) {\n return {\n type: \"non_nullable\",\n expects: \"!null\",\n async: true,\n wrapped,\n message,\n async _parse(input, config) {\n if (input === null) {\n return schemaIssue(this, nonNullableAsync, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\nfunction nonNullish(wrapped, message) {\n return {\n type: \"non_nullish\",\n expects: \"!null & !undefined\",\n async: false,\n wrapped,\n message,\n _parse(input, config) {\n if (input === null || input === void 0) {\n return schemaIssue(this, nonNullish, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\nfunction nonNullishAsync(wrapped, message) {\n return {\n type: \"non_nullish\",\n expects: \"!null & !undefined\",\n async: true,\n wrapped,\n message,\n async _parse(input, config) {\n if (input === null || input === void 0) {\n return schemaIssue(this, nonNullishAsync, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\nfunction nonOptional(wrapped, message) {\n return {\n type: \"non_optional\",\n expects: \"!undefined\",\n async: false,\n wrapped,\n message,\n _parse(input, config) {\n if (input === void 0) {\n return schemaIssue(this, nonOptional, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\nfunction nonOptionalAsync(wrapped, message) {\n return {\n type: \"non_optional\",\n expects: \"!undefined\",\n async: true,\n wrapped,\n message,\n async _parse(input, config) {\n if (input === void 0) {\n return schemaIssue(this, nonOptionalAsync, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\nfunction nullable(wrapped, default_) {\n return {\n type: \"nullable\",\n expects: `${wrapped.expects} | null`,\n async: false,\n wrapped,\n default: default_,\n _parse(input, config) {\n if (input === null) {\n const override = getDefault(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullable/nullableAsync.ts\nfunction nullableAsync(wrapped, default_) {\n return {\n type: \"nullable\",\n expects: `${wrapped.expects} | null`,\n async: true,\n wrapped,\n default: default_,\n async _parse(input, config) {\n if (input === null) {\n const override = await getDefaultAsync(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullish/nullish.ts\nfunction nullish(wrapped, default_) {\n return {\n type: \"nullish\",\n expects: `${wrapped.expects} | null | undefined`,\n async: false,\n wrapped,\n default: default_,\n _parse(input, config) {\n if (input === null || input === void 0) {\n const override = getDefault(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullish/nullishAsync.ts\nfunction nullishAsync(wrapped, default_) {\n return {\n type: \"nullish\",\n expects: `${wrapped.expects} | null | undefined`,\n async: true,\n wrapped,\n default: default_,\n async _parse(input, config) {\n if (input === null || input === void 0) {\n const override = await getDefaultAsync(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/null/null.ts\nfunction null_(message) {\n return {\n type: \"null\",\n expects: \"null\",\n async: false,\n message,\n _parse(input, config) {\n if (input === null) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, null_, input, config);\n }\n };\n}\n\n// src/schemas/null/nullAsync.ts\nfunction nullAsync(message) {\n return {\n type: \"null\",\n expects: \"null\",\n async: true,\n message,\n async _parse(input, config) {\n if (input === null) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, nullAsync, input, config);\n }\n };\n}\n\n// src/schemas/number/number.ts\nfunction number(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"number\",\n expects: \"number\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"number\" && !isNaN(input)) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, number, input, config);\n }\n };\n}\n\n// src/schemas/number/numberAsync.ts\nfunction numberAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"number\",\n expects: \"number\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"number\" && !isNaN(input)) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, numberAsync, input, config);\n }\n };\n}\n\n// src/schemas/object/object.ts\nfunction object(entries, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n let cachedEntries;\n return {\n type: \"object\",\n expects: \"Object\",\n async: false,\n entries,\n rest,\n message,\n pipe,\n _parse(input, config) {\n if (input && typeof input === \"object\") {\n cachedEntries = cachedEntries ?? Object.entries(this.entries);\n let typed = true;\n let issues;\n const output = {};\n for (const [key, schema] of cachedEntries) {\n const value2 = input[key];\n const result = schema._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n if (result.output !== void 0 || key in input) {\n output[key] = result.output;\n }\n }\n if (this.rest && !(config?.abortEarly && issues)) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n const result = this.rest._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n }\n if (typed) {\n return pipeResult(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, object, input, config);\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\nfunction objectAsync(entries, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n let cachedEntries;\n return {\n type: \"object\",\n expects: \"Object\",\n async: true,\n entries,\n rest,\n message,\n pipe,\n async _parse(input, config) {\n if (input && typeof input === \"object\") {\n cachedEntries = cachedEntries ?? Object.entries(this.entries);\n let typed = true;\n let issues;\n const output = {};\n await Promise.all([\n Promise.all(\n cachedEntries.map(async ([key, schema]) => {\n if (!(config?.abortEarly && issues)) {\n const value2 = input[key];\n const result = await schema._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n if (result.output !== void 0 || key in input) {\n output[key] = result.output;\n }\n }\n }\n })\n ),\n this.rest && Promise.all(\n Object.entries(input).map(async ([key, value2]) => {\n if (!(config?.abortEarly && issues)) {\n if (!(key in this.entries)) {\n const result = await this.rest._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n }\n })\n )\n ]).catch(() => null);\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, objectAsync, input, config);\n }\n };\n}\n\n// src/schemas/optional/optional.ts\nfunction optional(wrapped, default_) {\n return {\n type: \"optional\",\n expects: `${wrapped.expects} | undefined`,\n async: false,\n wrapped,\n default: default_,\n _parse(input, config) {\n if (input === void 0) {\n const override = getDefault(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/optional/optionalAsync.ts\nfunction optionalAsync(wrapped, default_) {\n return {\n type: \"optional\",\n expects: `${wrapped.expects} | undefined`,\n async: true,\n wrapped,\n default: default_,\n async _parse(input, config) {\n if (input === void 0) {\n const override = await getDefaultAsync(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/picklist/picklist.ts\nfunction picklist(options, message) {\n return {\n type: \"picklist\",\n expects: options.map(stringify).join(\" | \"),\n async: false,\n options,\n message,\n _parse(input, config) {\n if (this.options.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, picklist, input, config);\n }\n };\n}\n\n// src/schemas/picklist/picklistAsync.ts\nfunction picklistAsync(options, message) {\n return {\n type: \"picklist\",\n expects: options.map(stringify).join(\" | \"),\n async: true,\n options,\n message,\n async _parse(input, config) {\n if (this.options.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, picklistAsync, input, config);\n }\n };\n}\n\n// src/schemas/string/string.ts\nfunction string(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"string\",\n expects: \"string\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"string\") {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, string, input, config);\n }\n };\n}\n\n// src/schemas/string/stringAsync.ts\nfunction stringAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"string\",\n expects: \"string\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"string\") {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, stringAsync, input, config);\n }\n };\n}\n\n// src/schemas/record/utils/recordArgs/recordArgs.ts\nfunction recordArgs(arg1, arg2, arg3, arg4) {\n if (typeof arg2 === \"object\" && !Array.isArray(arg2)) {\n const [message2, pipe2] = defaultArgs(arg3, arg4);\n return [arg1, arg2, message2, pipe2];\n }\n const [message, pipe] = defaultArgs(\n arg2,\n arg3\n );\n return [string(), arg1, message, pipe];\n}\n\n// src/schemas/record/values.ts\nvar BLOCKED_KEYS = [\"__proto__\", \"prototype\", \"constructor\"];\n\n// src/schemas/record/record.ts\nfunction record(arg1, arg2, arg3, arg4) {\n const [key, value2, message, pipe] = recordArgs(arg1, arg2, arg3, arg4);\n return {\n type: \"record\",\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message,\n pipe,\n _parse(input, config) {\n if (input && typeof input === \"object\") {\n let typed = true;\n let issues;\n const output = {};\n for (const [inputKey, inputValue] of Object.entries(input)) {\n if (!BLOCKED_KEYS.includes(inputKey)) {\n let pathItem;\n const keyResult = this.key._parse(inputKey, config);\n if (keyResult.issues) {\n pathItem = {\n type: \"record\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyResult.issues) {\n issue.path = [pathItem];\n issues?.push(issue);\n }\n if (!issues) {\n issues = keyResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n const valueResult = this.value._parse(inputValue, config);\n if (valueResult.issues) {\n pathItem = pathItem ?? {\n type: \"record\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueResult.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = valueResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!keyResult.typed || !valueResult.typed) {\n typed = false;\n }\n if (keyResult.typed) {\n output[keyResult.output] = valueResult.output;\n }\n }\n }\n if (typed) {\n return pipeResult(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, record, input, config);\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\nfunction recordAsync(arg1, arg2, arg3, arg4) {\n const [key, value2, message, pipe] = recordArgs(arg1, arg2, arg3, arg4);\n return {\n type: \"record\",\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message,\n pipe,\n async _parse(input, config) {\n if (input && typeof input === \"object\") {\n let typed = true;\n let issues;\n const output = {};\n await Promise.all(\n // Note: `Object.entries(...)` converts each key to a string\n Object.entries(input).map(async ([inputKey, inputValue]) => {\n if (!BLOCKED_KEYS.includes(inputKey)) {\n let pathItem;\n const [keyResult, valueResult] = await Promise.all(\n [\n { schema: this.key, value: inputKey, origin: \"key\" },\n { schema: this.value, value: inputValue, origin: \"value\" }\n ].map(async ({ schema, value: value3, origin }) => {\n if (!(config?.abortEarly && issues)) {\n const result = await schema._parse(value3, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n pathItem = pathItem ?? {\n type: \"record\",\n origin,\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n throw null;\n }\n }\n return result;\n }\n }\n })\n ).catch(() => []);\n if (!keyResult?.typed || !valueResult?.typed) {\n typed = false;\n }\n if (keyResult?.typed && valueResult) {\n output[keyResult.output] = valueResult.output;\n }\n }\n })\n );\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, recordAsync, input, config);\n }\n };\n}\n\n// src/schemas/set/set.ts\nfunction set(value2, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"set\",\n expects: \"Set\",\n async: false,\n value: value2,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Set) {\n let key = 0;\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const result = this.value._parse(inputValue, config);\n if (result.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output.add(result.output);\n key++;\n }\n if (typed) {\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, set, input, config);\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\nfunction setAsync(value2, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"set\",\n expects: \"Set\",\n async: true,\n value: value2,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Set) {\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Set();\n await Promise.all(\n Array.from(input.values()).map(async (inputValue, key) => {\n if (!(config?.abortEarly && issues)) {\n const result = await this.value._parse(inputValue, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output.add(result.output);\n }\n }\n })\n ).catch(() => null);\n if (typed) {\n return pipeResultAsync(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, setAsync, input, config);\n }\n };\n}\n\n// src/schemas/special/special.ts\nfunction special(check, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"special\",\n expects: \"unknown\",\n async: false,\n check,\n message,\n pipe,\n _parse(input, config) {\n if (this.check(input)) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, special, input, config);\n }\n };\n}\n\n// src/schemas/special/specialAsync.ts\nfunction specialAsync(check, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"special\",\n expects: \"unknown\",\n async: true,\n check,\n message,\n pipe,\n async _parse(input, config) {\n if (await this.check(input)) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, specialAsync, input, config);\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\nfunction symbol(message) {\n return {\n type: \"symbol\",\n expects: \"symbol\",\n async: false,\n message,\n _parse(input, config) {\n if (typeof input === \"symbol\") {\n return schemaResult(true, input);\n }\n return schemaIssue(this, symbol, input, config);\n }\n };\n}\n\n// src/schemas/symbol/symbolAsync.ts\nfunction symbolAsync(message) {\n return {\n type: \"symbol\",\n expects: \"symbol\",\n async: true,\n message,\n async _parse(input, config) {\n if (typeof input === \"symbol\") {\n return schemaResult(true, input);\n }\n return schemaIssue(this, symbolAsync, input, config);\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\nfunction tuple(items, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return {\n type: \"tuple\",\n expects: \"Array\",\n async: false,\n items,\n rest,\n message,\n pipe,\n _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const result = this.items[key]._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n if (this.rest && !(config?.abortEarly && issues)) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const result = this.rest._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n if (typed) {\n return pipeResult(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, tuple, input, config);\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\nfunction tupleAsync(items, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return {\n type: \"tuple\",\n expects: \"Array\",\n async: true,\n items,\n rest,\n message,\n pipe,\n async _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n await Promise.all([\n // Parse schema of each tuple item\n Promise.all(\n this.items.map(async (schema, key) => {\n if (!(config?.abortEarly && issues)) {\n const value2 = input[key];\n const result = await schema._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n })\n ),\n // If necessary parse schema of each rest item\n this.rest && Promise.all(\n input.slice(this.items.length).map(async (value2, index) => {\n if (!(config?.abortEarly && issues)) {\n const key = this.items.length + index;\n const result = await this.rest._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n })\n )\n ]).catch(() => null);\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, tupleAsync, input, config);\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\nfunction undefined_(message) {\n return {\n type: \"undefined\",\n expects: \"undefined\",\n async: false,\n message,\n _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, undefined_, input, config);\n }\n };\n}\n\n// src/schemas/undefined/undefinedAsync.ts\nfunction undefinedAsync(message) {\n return {\n type: \"undefined\",\n expects: \"undefined\",\n async: true,\n message,\n async _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, undefinedAsync, input, config);\n }\n };\n}\n\n// src/schemas/union/utils/subissues/subissues.ts\nfunction subissues(results) {\n let issues;\n if (results) {\n for (const result of results) {\n if (issues) {\n for (const issue of result.issues) {\n issues.push(issue);\n }\n } else {\n issues = result.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\nfunction union(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"union\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" | \"),\n async: false,\n options,\n message,\n pipe,\n _parse(input, config) {\n let validResult;\n let untypedResults;\n let typedResults;\n for (const schema of this.options) {\n const result = schema._parse(input, config);\n if (result.typed) {\n if (!result.issues) {\n validResult = result;\n break;\n } else {\n typedResults ? typedResults.push(result) : typedResults = [result];\n }\n } else {\n untypedResults ? untypedResults.push(result) : untypedResults = [result];\n }\n }\n if (validResult) {\n return pipeResult(this, validResult.output, config);\n }\n if (typedResults?.length) {\n const firstResult = typedResults[0];\n return pipeResult(\n this,\n firstResult.output,\n config,\n // Hint: If there is more than one typed result, we use a general\n // union issue with subissues because the issues could contradict\n // each other.\n typedResults.length === 1 ? firstResult.issues : schemaIssue(this, union, input, config, {\n reason: \"union\",\n issues: subissues(typedResults)\n }).issues\n );\n }\n if (untypedResults?.length === 1) {\n return untypedResults[0];\n }\n return schemaIssue(this, union, input, config, {\n issues: subissues(untypedResults)\n });\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\nfunction unionAsync(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"union\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" | \"),\n async: true,\n options,\n message,\n pipe,\n async _parse(input, config) {\n let validResult;\n let untypedResults;\n let typedResults;\n for (const schema of this.options) {\n const result = await schema._parse(input, config);\n if (result.typed) {\n if (!result.issues) {\n validResult = result;\n break;\n } else {\n typedResults ? typedResults.push(result) : typedResults = [result];\n }\n } else {\n untypedResults ? untypedResults.push(result) : untypedResults = [result];\n }\n }\n if (validResult) {\n return pipeResultAsync(this, validResult.output, config);\n }\n if (typedResults?.length) {\n const firstResult = typedResults[0];\n return pipeResultAsync(\n this,\n firstResult.output,\n config,\n // Hint: If there is more than one typed result, we use a general\n // union issue with subissues because the issues could contradict\n // each other.\n typedResults.length === 1 ? firstResult.issues : schemaIssue(this, unionAsync, input, config, {\n reason: \"union\",\n issues: subissues(typedResults)\n }).issues\n );\n }\n if (untypedResults?.length === 1) {\n return untypedResults[0];\n }\n return schemaIssue(this, unionAsync, input, config, {\n issues: subissues(untypedResults)\n });\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\nfunction unknown(pipe) {\n return {\n type: \"unknown\",\n expects: \"unknown\",\n async: false,\n pipe,\n _parse(input, config) {\n return pipeResult(this, input, config);\n }\n };\n}\n\n// src/schemas/unknown/unknownAsync.ts\nfunction unknownAsync(pipe) {\n return {\n type: \"unknown\",\n expects: \"unknown\",\n async: true,\n pipe,\n async _parse(input, config) {\n return pipeResultAsync(this, input, config);\n }\n };\n}\n\n// src/schemas/variant/variant.ts\nfunction variant(key, options, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n let cachedExpectedKey;\n return {\n type: \"variant\",\n expects: \"Object\",\n async: false,\n key,\n options,\n message,\n pipe,\n _parse(input, config) {\n if (input && typeof input === \"object\") {\n if (this.key in input || !cachedExpectedKey) {\n let expectedKey;\n let variantResult;\n const parseOptions = (options2) => {\n for (const schema of options2) {\n if (schema.type === \"object\") {\n const keySchema = schema.entries[this.key];\n const keyResult = keySchema._parse(\n input[this.key],\n config\n );\n if (!cachedExpectedKey) {\n expectedKey ? expectedKey.push(keySchema.expects) : expectedKey = [keySchema.expects];\n }\n if (!keyResult.issues) {\n const dataResult = schema._parse(input, config);\n if (!dataResult.issues) {\n variantResult = dataResult;\n break;\n }\n if (!variantResult || !variantResult.typed && dataResult.typed) {\n variantResult = dataResult;\n }\n }\n } else if (schema.type === \"variant\") {\n parseOptions(schema.options);\n if (variantResult && !variantResult.issues) {\n break;\n }\n }\n }\n };\n parseOptions(this.options);\n cachedExpectedKey = cachedExpectedKey || [...new Set(expectedKey)].join(\" | \");\n if (variantResult) {\n if (variantResult.typed) {\n return pipeResult(\n this,\n variantResult.output,\n config,\n variantResult.issues\n );\n }\n return variantResult;\n }\n }\n const value2 = input[this.key];\n return schemaIssue(this, variant, value2, config, {\n expected: cachedExpectedKey,\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: this.key,\n value: value2\n }\n ]\n });\n }\n return schemaIssue(this, variant, input, config);\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\nfunction variantAsync(key, options, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n let cachedExpectedKey;\n return {\n type: \"variant\",\n expects: \"Object\",\n async: true,\n key,\n options,\n message,\n pipe,\n async _parse(input, config) {\n if (input && typeof input === \"object\") {\n if (this.key in input || !cachedExpectedKey) {\n let expectedKey;\n let variantResult;\n const parseOptions = async (options2) => {\n for (const schema of options2) {\n if (schema.type === \"object\") {\n const keySchema = schema.entries[this.key];\n const keyResult = await keySchema._parse(\n input[this.key],\n config\n );\n if (!cachedExpectedKey) {\n expectedKey ? expectedKey.push(keySchema.expects) : expectedKey = [keySchema.expects];\n }\n if (!keyResult.issues) {\n const dataResult = await schema._parse(input, config);\n if (!dataResult.issues) {\n variantResult = dataResult;\n break;\n }\n if (!variantResult || !variantResult.typed && dataResult.typed) {\n variantResult = dataResult;\n }\n }\n } else if (schema.type === \"variant\") {\n await parseOptions(schema.options);\n if (variantResult && !variantResult.issues) {\n break;\n }\n }\n }\n };\n await parseOptions(this.options);\n cachedExpectedKey = cachedExpectedKey || [...new Set(expectedKey)].join(\" | \");\n if (variantResult) {\n if (variantResult.typed) {\n return pipeResultAsync(\n this,\n variantResult.output,\n config,\n variantResult.issues\n );\n }\n return variantResult;\n }\n }\n const value2 = input[this.key];\n return schemaIssue(this, variantAsync, value2, config, {\n expected: cachedExpectedKey,\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: this.key,\n value: value2\n }\n ]\n });\n }\n return schemaIssue(this, variantAsync, input, config);\n }\n };\n}\n\n// src/schemas/void/void.ts\nfunction void_(message) {\n return {\n type: \"void\",\n expects: \"void\",\n async: false,\n message,\n _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, void_, input, config);\n }\n };\n}\n\n// src/schemas/void/voidAsync.ts\nfunction voidAsync(message) {\n return {\n type: \"void\",\n expects: \"void\",\n async: true,\n message,\n async _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, voidAsync, input, config);\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\nfunction keyof(schema) {\n return picklist(\n Object.keys(schema.entries)\n );\n}\n\n// src/methods/merge/merge.ts\nfunction merge(schemas, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return object(\n schemas.reduce(\n (entries, schema) => ({ ...entries, ...schema.entries }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/merge/mergeAsync.ts\nfunction mergeAsync(schemas, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return objectAsync(\n schemas.reduce(\n (entries, schema) => ({ ...entries, ...schema.entries }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/omit/omit.ts\nfunction omit(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? entries : { ...entries, [key]: schema2 },\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/omit/omitAsync.ts\nfunction omitAsync(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? entries : { ...entries, [key]: schema2 },\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config) {\n const result = schema._parse(input, getGlobalConfig(config));\n if (result.issues) {\n throw new ValiError(result.issues);\n }\n return result.output;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config) {\n const result = await schema._parse(input, getGlobalConfig(config));\n if (result.issues) {\n throw new ValiError(result.issues);\n }\n return result.output;\n}\n\n// src/methods/partial/partial.ts\nfunction partial(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: optional(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/partial/partialAsync.ts\nfunction partialAsync(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: optionalAsync(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/pick/pick.ts\nfunction pick(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? { ...entries, [key]: schema2 } : entries,\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/pick/pickAsync.ts\nfunction pickAsync(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? { ...entries, [key]: schema2 } : entries,\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/required/required.ts\nfunction required(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: nonOptional(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/required/requiredAsync.ts\nfunction requiredAsync(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: nonOptionalAsync(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/safeParse/safeParse.ts\nfunction safeParse(schema, input, config) {\n const result = schema._parse(input, getGlobalConfig(config));\n return {\n typed: result.typed,\n success: !result.issues,\n output: result.output,\n issues: result.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\nasync function safeParseAsync(schema, input, config) {\n const result = await schema._parse(input, getGlobalConfig(config));\n return {\n typed: result.typed,\n success: !result.issues,\n output: result.output,\n issues: result.issues\n };\n}\n\n// src/methods/transform/transform.ts\nfunction transform(schema, action, arg1) {\n return {\n ...schema,\n _parse(input, config) {\n const result = schema._parse(input, config);\n if (result.issues) {\n result.typed = false;\n } else {\n result.output = action(result.output, { issues: result.issues });\n if (arg1) {\n if (Array.isArray(arg1)) {\n return pipeResult(\n { type: typeof result.output, pipe: arg1 },\n result.output,\n config\n );\n }\n return arg1._parse(result.output, config);\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/transform/transformAsync.ts\nfunction transformAsync(schema, action, arg1) {\n return {\n ...schema,\n async: true,\n async _parse(input, config) {\n const result = await schema._parse(input, config);\n if (result.issues) {\n result.typed = false;\n } else {\n result.output = await action(result.output, { issues: result.issues });\n if (arg1) {\n if (Array.isArray(arg1)) {\n return pipeResultAsync(\n { type: typeof result.output, pipe: arg1 },\n result.output,\n config\n );\n }\n return arg1._parse(result.output, config);\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/unwrap/unwrap.ts\nfunction unwrap(schema) {\n return schema.wrapped;\n}\n\n// src/regex.ts\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[A-Z\\d]{2}(?:[A-Z\\d]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = /^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$/u;\nvar HEXADECIMAL_REGEX = /^(0h|0x)?[\\da-f]+$/iu;\nvar HEX_COLOR_REGEX = /^#([\\da-f]{3}|[\\da-f]{4}|[\\da-f]{6}|[\\da-f]{8})$/iu;\nvar IMEI_REGEX = /^\\d{2}(?:[ /|-]?\\d{6}){2}[ /|-]?\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?Z$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar OCTAL_REGEX = /^(0o)?[0-7]+$/iu;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-z]{26}$/iu;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/transformations/toCustom/toCustom.ts\nfunction toCustom(action) {\n return {\n type: \"to_custom\",\n async: false,\n _parse(input) {\n return actionOutput(action(input));\n }\n };\n}\n\n// src/transformations/toCustom/toCustomAsync.ts\nfunction toCustomAsync(action) {\n return {\n type: \"to_custom\",\n async: true,\n async _parse(input) {\n return actionOutput(await action(input));\n }\n };\n}\n\n// src/transformations/toLowerCase/toLowerCase.ts\nfunction toLowerCase() {\n return {\n type: \"to_lower_case\",\n async: false,\n _parse(input) {\n return actionOutput(input.toLocaleLowerCase());\n }\n };\n}\n\n// src/transformations/toMaxValue/toMaxValue.ts\nfunction toMaxValue(requirement) {\n return {\n type: \"to_max_value\",\n async: false,\n requirement,\n _parse(input) {\n return actionOutput(input > this.requirement ? this.requirement : input);\n }\n };\n}\n\n// src/transformations/toMinValue/toMinValue.ts\nfunction toMinValue(requirement) {\n return {\n type: \"to_min_value\",\n async: false,\n requirement,\n _parse(input) {\n return actionOutput(input < this.requirement ? this.requirement : input);\n }\n };\n}\n\n// src/transformations/toTrimmed/toTrimmed.ts\nfunction toTrimmed() {\n return {\n type: \"to_trimmed\",\n async: false,\n _parse(input) {\n return actionOutput(input.trim());\n }\n };\n}\n\n// src/transformations/toTrimmedEnd/toTrimmedEnd.ts\nfunction toTrimmedEnd() {\n return {\n type: \"to_trimmed_end\",\n async: false,\n _parse(input) {\n return actionOutput(input.trimEnd());\n }\n };\n}\n\n// src/transformations/toTrimmedStart/toTrimmedStart.ts\nfunction toTrimmedStart() {\n return {\n type: \"to_trimmed_start\",\n async: false,\n _parse(input) {\n return actionOutput(input.trimStart());\n }\n };\n}\n\n// src/transformations/toUpperCase/toUpperCase.ts\nfunction toUpperCase() {\n return {\n type: \"to_upper_case\",\n async: false,\n _parse(input) {\n return actionOutput(input.toUpperCase());\n }\n };\n}\n\n// src/validations/bic/bic.ts\nfunction bic(message) {\n return {\n type: \"bic\",\n expects: null,\n async: false,\n message,\n requirement: BIC_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, bic, input, \"BIC\");\n }\n };\n}\n\n// src/validations/bytes/bytes.ts\nfunction bytes(requirement, message) {\n return {\n type: \"bytes\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 === this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, bytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/creditCard/creditCard.ts\nvar SANITIZE_REGEX = /[- ]+/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n /^5[1-5]\\d{2}|(222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(6[27]\\d{14}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\nfunction creditCard(message) {\n return {\n type: \"credit_card\",\n expects: null,\n async: false,\n message,\n requirement: (input) => {\n const sanitized = input.replace(SANITIZE_REGEX, \"\");\n return PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && isLuhnAlgo(sanitized);\n },\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, creditCard, input, \"credit card\");\n }\n };\n}\n\n// src/validations/cuid2/cuid2.ts\nfunction cuid2(message) {\n return {\n type: \"cuid2\",\n expects: null,\n async: false,\n message,\n requirement: CUID2_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, cuid2, input, \"Cuid2\");\n }\n };\n}\n\n// src/validations/custom/custom.ts\nfunction custom(requirement, message) {\n return {\n type: \"custom\",\n expects: null,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, custom, input, \"input\");\n }\n };\n}\n\n// src/validations/custom/customAsync.ts\nfunction customAsync(requirement, message) {\n return {\n type: \"custom\",\n expects: null,\n async: true,\n message,\n requirement,\n async _parse(input) {\n if (await this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, customAsync, input, \"input\");\n }\n };\n}\n\n// src/validations/decimal/decimal.ts\nfunction decimal(message) {\n return {\n type: \"decimal\",\n expects: null,\n async: false,\n message,\n requirement: DECIMAL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, decimal, input, \"decimal\");\n }\n };\n}\n\n// src/validations/email/email.ts\nfunction email(message) {\n return {\n type: \"email\",\n expects: null,\n async: false,\n message,\n requirement: EMAIL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, email, input, \"email\");\n }\n };\n}\n\n// src/validations/emoji/emoji.ts\nfunction emoji(message) {\n return {\n type: \"emoji\",\n expects: null,\n async: false,\n message,\n requirement: EMOJI_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, emoji, input, \"emoji\");\n }\n };\n}\n\n// src/validations/endsWith/endsWith.ts\nfunction endsWith(requirement, message) {\n return {\n type: \"ends_with\",\n expects: `\"${requirement}\"`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.endsWith(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n endsWith,\n input,\n \"end\",\n `\"${input.slice(-this.requirement.length)}\"`\n );\n }\n };\n}\n\n// src/validations/every/every.ts\nfunction every(requirement, message) {\n return {\n type: \"every\",\n expects: null,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.every(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, every, input, \"input\");\n }\n };\n}\n\n// src/validations/excludes/excludes.ts\nfunction excludes(requirement, message) {\n const received = stringify(requirement);\n return {\n type: \"excludes\",\n expects: `!${received}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (!input.includes(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, excludes, input, \"content\", received);\n }\n };\n}\n\n// src/validations/finite/finite.ts\nfunction finite(message) {\n return {\n type: \"finite\",\n expects: null,\n async: false,\n message,\n requirement: Number.isFinite,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, finite, input, \"finite\");\n }\n };\n}\n\n// src/validations/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\nfunction hash(types, message) {\n return {\n type: \"hash\",\n expects: null,\n async: false,\n message,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, hash, input, \"hash\");\n }\n };\n}\n\n// src/validations/hexadecimal/hexadecimal.ts\nfunction hexadecimal(message) {\n return {\n type: \"hexadecimal\",\n expects: null,\n async: false,\n message,\n requirement: HEXADECIMAL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, hexadecimal, input, \"hexadecimal\");\n }\n };\n}\n\n// src/validations/hexColor/hexColor.ts\nfunction hexColor(message) {\n return {\n type: \"hex_color\",\n expects: null,\n async: false,\n message,\n requirement: HEX_COLOR_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, hexColor, input, \"hex color\");\n }\n };\n}\n\n// src/validations/imei/imei.ts\nfunction imei(message) {\n return {\n type: \"imei\",\n expects: null,\n async: false,\n message,\n requirement: [IMEI_REGEX, isLuhnAlgo],\n _parse(input) {\n if (this.requirement[0].test(input) && this.requirement[1](input)) {\n return actionOutput(input);\n }\n return actionIssue(this, imei, input, \"IMEI\");\n }\n };\n}\n\n// src/validations/includes/includes.ts\nfunction includes(requirement, message) {\n const expects = stringify(requirement);\n return {\n type: \"includes\",\n expects,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.includes(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, includes, input, \"content\", `!${expects}`);\n }\n };\n}\n\n// src/validations/integer/integer.ts\nfunction integer(message) {\n return {\n type: \"integer\",\n expects: null,\n async: false,\n message,\n requirement: Number.isInteger,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, integer, input, \"integer\");\n }\n };\n}\n\n// src/validations/ip/ip.ts\nfunction ip(message) {\n return {\n type: \"ip\",\n expects: null,\n async: false,\n message,\n // TODO: It is strange that we have an OR relationship between requirements\n requirement: [IPV4_REGEX, IPV6_REGEX],\n _parse(input) {\n if (this.requirement[0].test(input) || this.requirement[1].test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ip, input, \"IP\");\n }\n };\n}\n\n// src/validations/ipv4/ipv4.ts\nfunction ipv4(message) {\n return {\n type: \"ipv4\",\n expects: null,\n async: false,\n message,\n requirement: IPV4_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ipv4, input, \"IPv4\");\n }\n };\n}\n\n// src/validations/ipv6/ipv6.ts\nfunction ipv6(message) {\n return {\n type: \"ipv6\",\n expects: null,\n async: false,\n message,\n requirement: IPV6_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ipv6, input, \"IPv6\");\n }\n };\n}\n\n// src/validations/isoDate/isoDate.ts\nfunction isoDate(message) {\n return {\n type: \"iso_date\",\n expects: null,\n async: false,\n message,\n requirement: ISO_DATE_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoDate, input, \"date\");\n }\n };\n}\n\n// src/validations/isoDateTime/isoDateTime.ts\nfunction isoDateTime(message) {\n return {\n type: \"iso_date_time\",\n expects: null,\n async: false,\n message,\n requirement: ISO_DATE_TIME_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoDateTime, input, \"date-time\");\n }\n };\n}\n\n// src/validations/isoTime/isoTime.ts\nfunction isoTime(message) {\n return {\n type: \"iso_time\",\n expects: null,\n async: false,\n message,\n requirement: ISO_TIME_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoTime, input, \"time\");\n }\n };\n}\n\n// src/validations/isoTimeSecond/isoTimeSecond.ts\nfunction isoTimeSecond(message) {\n return {\n type: \"iso_time_second\",\n expects: null,\n async: false,\n message,\n requirement: ISO_TIME_SECOND_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoTimeSecond, input, \"time second\");\n }\n };\n}\n\n// src/validations/isoTimestamp/isoTimestamp.ts\nfunction isoTimestamp(message) {\n return {\n type: \"iso_timestamp\",\n expects: null,\n async: false,\n message,\n requirement: ISO_TIMESTAMP_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoTimestamp, input, \"timestamp\");\n }\n };\n}\n\n// src/validations/isoWeek/isoWeek.ts\nfunction isoWeek(message) {\n return {\n type: \"iso_week\",\n expects: null,\n async: false,\n message,\n requirement: ISO_WEEK_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoWeek, input, \"week\");\n }\n };\n}\n\n// src/validations/length/length.ts\nfunction length(requirement, message) {\n return {\n type: \"length\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length === this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, length, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/mac/mac.ts\nfunction mac(message) {\n return {\n type: \"mac\",\n expects: null,\n async: false,\n message,\n // TODO: It is strange that we have an OR relationship between requirements\n requirement: [MAC48_REGEX, MAC64_REGEX],\n _parse(input) {\n if (this.requirement[0].test(input) || this.requirement[1].test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, mac, input, \"MAC\");\n }\n };\n}\n\n// src/validations/mac48/mac48.ts\nfunction mac48(message) {\n return {\n type: \"mac48\",\n expects: null,\n async: false,\n message,\n requirement: MAC48_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, mac48, input, \"48-bit MAC\");\n }\n };\n}\n\n// src/validations/mac64/mac64.ts\nfunction mac64(message) {\n return {\n type: \"mac64\",\n expects: null,\n async: false,\n message,\n requirement: MAC64_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, mac64, input, \"64-bit MAC\");\n }\n };\n}\n\n// src/validations/maxBytes/maxBytes.ts\nfunction maxBytes(requirement, message) {\n return {\n type: \"max_bytes\",\n expects: `<=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, maxBytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/maxLength/maxLength.ts\nfunction maxLength(requirement, message) {\n return {\n type: \"max_length\",\n expects: `<=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, maxLength, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/maxSize/maxSize.ts\nfunction maxSize(requirement, message) {\n return {\n type: \"max_size\",\n expects: `<=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, maxSize, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/maxValue/maxValue.ts\nfunction maxValue(requirement, message) {\n return {\n type: \"max_value\",\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n maxValue,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\n\n// src/validations/minBytes/minBytes.ts\nfunction minBytes(requirement, message) {\n return {\n type: \"min_bytes\",\n expects: `>=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, minBytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/mimeType/mimeType.ts\nfunction mimeType(requirement, message) {\n return {\n type: \"mime_type\",\n expects: requirement.map((option) => `\"${option}\"`).join(\" | \"),\n async: false,\n message,\n requirement,\n _parse(input) {\n if (this.requirement.includes(input.type)) {\n return actionOutput(input);\n }\n return actionIssue(this, mimeType, input, \"MIME type\");\n }\n };\n}\n\n// src/validations/minLength/minLength.ts\nfunction minLength(requirement, message) {\n return {\n type: \"min_length\",\n expects: `>=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, minLength, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/minSize/minSize.ts\nfunction minSize(requirement, message) {\n return {\n type: \"min_size\",\n expects: `>=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, minSize, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/minValue/minValue.ts\nfunction minValue(requirement, message) {\n return {\n type: \"min_value\",\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n minValue,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\n\n// src/validations/multipleOf/multipleOf.ts\nfunction multipleOf(requirement, message) {\n return {\n type: \"multiple_of\",\n expects: `%${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input % this.requirement === 0) {\n return actionOutput(input);\n }\n return actionIssue(this, multipleOf, input, \"multiple\", `${input}`);\n }\n };\n}\n\n// src/validations/notBytes/notBytes.ts\nfunction notBytes(requirement, message) {\n return {\n type: \"not_bytes\",\n expects: `!${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 !== this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, notBytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/notLength/notLength.ts\nfunction notLength(requirement, message) {\n return {\n type: \"not_length\",\n expects: `!${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length !== this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, notLength, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/notSize/notSize.ts\nfunction notSize(requirement, message) {\n return {\n type: \"not_size\",\n expects: `!${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size !== this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, notSize, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/notValue/notValue.ts\nfunction notValue(requirement, message) {\n return {\n type: \"not_value\",\n expects: `!${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input < this.requirement || input > this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n notValue,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\n\n// src/validations/octal/octal.ts\nfunction octal(message) {\n return {\n type: \"octal\",\n expects: null,\n async: false,\n message,\n requirement: OCTAL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, octal, input, \"octal\");\n }\n };\n}\n\n// src/validations/regex/regex.ts\nfunction regex(requirement, message) {\n return {\n type: \"regex\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, regex, input, \"format\");\n }\n };\n}\n\n// src/validations/safeInteger/safeInteger.ts\nfunction safeInteger(message) {\n return {\n type: \"safe_integer\",\n expects: null,\n async: false,\n message,\n requirement: Number.isSafeInteger,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, safeInteger, input, \"safe integer\");\n }\n };\n}\n\n// src/validations/size/size.ts\nfunction size(requirement, message) {\n return {\n type: \"size\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size === this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, size, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/some/some.ts\nfunction some(requirement, message) {\n return {\n type: \"some\",\n expects: null,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.some(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, some, input, \"input\");\n }\n };\n}\n\n// src/validations/startsWith/startsWith.ts\nfunction startsWith(requirement, message) {\n return {\n type: \"starts_with\",\n expects: `\"${requirement}\"`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.startsWith(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n startsWith,\n input,\n \"start\",\n `\"${input.slice(0, this.requirement.length)}\"`\n );\n }\n };\n}\n\n// src/validations/ulid/ulid.ts\nfunction ulid(message) {\n return {\n type: \"ulid\",\n expects: null,\n async: false,\n message,\n requirement: ULID_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ulid, input, \"ULID\");\n }\n };\n}\n\n// src/validations/url/url.ts\nfunction url(message) {\n return {\n type: \"url\",\n expects: null,\n async: false,\n message,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, url, input, \"URL\");\n }\n };\n}\n\n// src/validations/uuid/uuid.ts\nfunction uuid(message) {\n return {\n type: \"uuid\",\n expects: null,\n async: false,\n message,\n requirement: UUID_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, uuid, input, \"UUID\");\n }\n };\n}\n\n// src/validations/value/value.ts\nfunction value(requirement, message) {\n return {\n type: \"value\",\n expects: `${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input <= this.requirement && input >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n value,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\nexport {\n BIC_REGEX,\n BrandSymbol,\n CUID2_REGEX,\n DECIMAL_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n OCTAL_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n actionIssue,\n actionOutput,\n any,\n anyAsync,\n array,\n arrayAsync,\n bic,\n bigint,\n bigintAsync,\n blob,\n blobAsync,\n boolean,\n booleanAsync,\n brand,\n bytes,\n coerce,\n coerceAsync,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n dateAsync,\n decimal,\n defaultArgs,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n email,\n emoji,\n endsWith,\n enumAsync,\n enum_,\n every,\n excludes,\n fallback,\n fallbackAsync,\n finite,\n flatten,\n forward,\n forwardAsync,\n getDefault,\n getDefaultAsync,\n getDefaults,\n getDefaultsAsync,\n getFallback,\n getFallbackAsync,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getSchemaMessage,\n getSpecificMessage,\n hash,\n hexColor,\n hexadecimal,\n i18n,\n imei,\n includes,\n instance,\n instanceAsync,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isLuhnAlgo,\n isOfType,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n literalAsync,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n maxBytes,\n maxLength,\n maxSize,\n maxValue,\n merge,\n mergeAsync,\n mimeType,\n minBytes,\n minLength,\n minSize,\n minValue,\n multipleOf,\n nan,\n nanAsync,\n never,\n neverAsync,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n notBytes,\n notLength,\n notSize,\n notValue,\n nullAsync,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n numberAsync,\n object,\n objectAsync,\n octal,\n omit,\n omitAsync,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n partial,\n partialAsync,\n pick,\n pickAsync,\n picklist,\n picklistAsync,\n pipeResult,\n pipeResultAsync,\n record,\n recordAsync,\n regex,\n required,\n requiredAsync,\n restAndDefaultArgs,\n safeInteger,\n safeParse,\n safeParseAsync,\n schemaIssue,\n schemaResult,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n some,\n special,\n specialAsync,\n startsWith,\n string,\n stringAsync,\n stringify,\n symbol,\n symbolAsync,\n toCustom,\n toCustomAsync,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toTrimmed,\n toTrimmedEnd,\n toTrimmedStart,\n toUpperCase,\n transform,\n transformAsync,\n tuple,\n tupleAsync,\n ulid,\n undefinedAsync,\n undefined_,\n union,\n unionAsync,\n unknown,\n unknownAsync,\n unwrap,\n url,\n uuid,\n value,\n variant,\n variantAsync,\n voidAsync,\n void_\n};\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","const types : {[key: string]: string[]} = {\"application/prs.cww\":[\"cww\"],\"application/prs.xsf+xml\":[\"xsf\"],\"application/vnd.1000minds.decision-model+xml\":[\"1km\"],\"application/vnd.3gpp.pic-bw-large\":[\"plb\"],\"application/vnd.3gpp.pic-bw-small\":[\"psb\"],\"application/vnd.3gpp.pic-bw-var\":[\"pvb\"],\"application/vnd.3gpp2.tcap\":[\"tcap\"],\"application/vnd.3m.post-it-notes\":[\"pwn\"],\"application/vnd.accpac.simply.aso\":[\"aso\"],\"application/vnd.accpac.simply.imp\":[\"imp\"],\"application/vnd.acucobol\":[\"acu\"],\"application/vnd.acucorp\":[\"atc\",\"acutc\"],\"application/vnd.adobe.air-application-installer-package+zip\":[\"air\"],\"application/vnd.adobe.formscentral.fcdt\":[\"fcdt\"],\"application/vnd.adobe.fxp\":[\"fxp\",\"fxpl\"],\"application/vnd.adobe.xdp+xml\":[\"xdp\"],\"application/vnd.adobe.xfdf\":[\"*xfdf\"],\"application/vnd.age\":[\"age\"],\"application/vnd.ahead.space\":[\"ahead\"],\"application/vnd.airzip.filesecure.azf\":[\"azf\"],\"application/vnd.airzip.filesecure.azs\":[\"azs\"],\"application/vnd.amazon.ebook\":[\"azw\"],\"application/vnd.americandynamics.acc\":[\"acc\"],\"application/vnd.amiga.ami\":[\"ami\"],\"application/vnd.android.package-archive\":[\"apk\"],\"application/vnd.anser-web-certificate-issue-initiation\":[\"cii\"],\"application/vnd.anser-web-funds-transfer-initiation\":[\"fti\"],\"application/vnd.antix.game-component\":[\"atx\"],\"application/vnd.apple.installer+xml\":[\"mpkg\"],\"application/vnd.apple.keynote\":[\"key\"],\"application/vnd.apple.mpegurl\":[\"m3u8\"],\"application/vnd.apple.numbers\":[\"numbers\"],\"application/vnd.apple.pages\":[\"pages\"],\"application/vnd.apple.pkpass\":[\"pkpass\"],\"application/vnd.aristanetworks.swi\":[\"swi\"],\"application/vnd.astraea-software.iota\":[\"iota\"],\"application/vnd.audiograph\":[\"aep\"],\"application/vnd.balsamiq.bmml+xml\":[\"bmml\"],\"application/vnd.blueice.multipass\":[\"mpm\"],\"application/vnd.bmi\":[\"bmi\"],\"application/vnd.businessobjects\":[\"rep\"],\"application/vnd.chemdraw+xml\":[\"cdxml\"],\"application/vnd.chipnuts.karaoke-mmd\":[\"mmd\"],\"application/vnd.cinderella\":[\"cdy\"],\"application/vnd.citationstyles.style+xml\":[\"csl\"],\"application/vnd.claymore\":[\"cla\"],\"application/vnd.cloanto.rp9\":[\"rp9\"],\"application/vnd.clonk.c4group\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"],\"application/vnd.cluetrust.cartomobile-config\":[\"c11amc\"],\"application/vnd.cluetrust.cartomobile-config-pkg\":[\"c11amz\"],\"application/vnd.commonspace\":[\"csp\"],\"application/vnd.contact.cmsg\":[\"cdbcmsg\"],\"application/vnd.cosmocaller\":[\"cmc\"],\"application/vnd.crick.clicker\":[\"clkx\"],\"application/vnd.crick.clicker.keyboard\":[\"clkk\"],\"application/vnd.crick.clicker.palette\":[\"clkp\"],\"application/vnd.crick.clicker.template\":[\"clkt\"],\"application/vnd.crick.clicker.wordbank\":[\"clkw\"],\"application/vnd.criticaltools.wbs+xml\":[\"wbs\"],\"application/vnd.ctc-posml\":[\"pml\"],\"application/vnd.cups-ppd\":[\"ppd\"],\"application/vnd.curl.car\":[\"car\"],\"application/vnd.curl.pcurl\":[\"pcurl\"],\"application/vnd.dart\":[\"dart\"],\"application/vnd.data-vision.rdz\":[\"rdz\"],\"application/vnd.dbf\":[\"dbf\"],\"application/vnd.dece.data\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"],\"application/vnd.dece.ttml+xml\":[\"uvt\",\"uvvt\"],\"application/vnd.dece.unspecified\":[\"uvx\",\"uvvx\"],\"application/vnd.dece.zip\":[\"uvz\",\"uvvz\"],\"application/vnd.denovo.fcselayout-link\":[\"fe_launch\"],\"application/vnd.dna\":[\"dna\"],\"application/vnd.dolby.mlp\":[\"mlp\"],\"application/vnd.dpgraph\":[\"dpg\"],\"application/vnd.dreamfactory\":[\"dfac\"],\"application/vnd.ds-keypoint\":[\"kpxx\"],\"application/vnd.dvb.ait\":[\"ait\"],\"application/vnd.dvb.service\":[\"svc\"],\"application/vnd.dynageo\":[\"geo\"],\"application/vnd.ecowin.chart\":[\"mag\"],\"application/vnd.enliven\":[\"nml\"],\"application/vnd.epson.esf\":[\"esf\"],\"application/vnd.epson.msf\":[\"msf\"],\"application/vnd.epson.quickanime\":[\"qam\"],\"application/vnd.epson.salt\":[\"slt\"],\"application/vnd.epson.ssf\":[\"ssf\"],\"application/vnd.eszigno3+xml\":[\"es3\",\"et3\"],\"application/vnd.ezpix-album\":[\"ez2\"],\"application/vnd.ezpix-package\":[\"ez3\"],\"application/vnd.fdf\":[\"*fdf\"],\"application/vnd.fdsn.mseed\":[\"mseed\"],\"application/vnd.fdsn.seed\":[\"seed\",\"dataless\"],\"application/vnd.flographit\":[\"gph\"],\"application/vnd.fluxtime.clip\":[\"ftc\"],\"application/vnd.framemaker\":[\"fm\",\"frame\",\"maker\",\"book\"],\"application/vnd.frogans.fnc\":[\"fnc\"],\"application/vnd.frogans.ltf\":[\"ltf\"],\"application/vnd.fsc.weblaunch\":[\"fsc\"],\"application/vnd.fujitsu.oasys\":[\"oas\"],\"application/vnd.fujitsu.oasys2\":[\"oa2\"],\"application/vnd.fujitsu.oasys3\":[\"oa3\"],\"application/vnd.fujitsu.oasysgp\":[\"fg5\"],\"application/vnd.fujitsu.oasysprs\":[\"bh2\"],\"application/vnd.fujixerox.ddd\":[\"ddd\"],\"application/vnd.fujixerox.docuworks\":[\"xdw\"],\"application/vnd.fujixerox.docuworks.binder\":[\"xbd\"],\"application/vnd.fuzzysheet\":[\"fzs\"],\"application/vnd.genomatix.tuxedo\":[\"txd\"],\"application/vnd.geogebra.file\":[\"ggb\"],\"application/vnd.geogebra.tool\":[\"ggt\"],\"application/vnd.geometry-explorer\":[\"gex\",\"gre\"],\"application/vnd.geonext\":[\"gxt\"],\"application/vnd.geoplan\":[\"g2w\"],\"application/vnd.geospace\":[\"g3w\"],\"application/vnd.gmx\":[\"gmx\"],\"application/vnd.google-apps.document\":[\"gdoc\"],\"application/vnd.google-apps.presentation\":[\"gslides\"],\"application/vnd.google-apps.spreadsheet\":[\"gsheet\"],\"application/vnd.google-earth.kml+xml\":[\"kml\"],\"application/vnd.google-earth.kmz\":[\"kmz\"],\"application/vnd.grafeq\":[\"gqf\",\"gqs\"],\"application/vnd.groove-account\":[\"gac\"],\"application/vnd.groove-help\":[\"ghf\"],\"application/vnd.groove-identity-message\":[\"gim\"],\"application/vnd.groove-injector\":[\"grv\"],\"application/vnd.groove-tool-message\":[\"gtm\"],\"application/vnd.groove-tool-template\":[\"tpl\"],\"application/vnd.groove-vcard\":[\"vcg\"],\"application/vnd.hal+xml\":[\"hal\"],\"application/vnd.handheld-entertainment+xml\":[\"zmm\"],\"application/vnd.hbci\":[\"hbci\"],\"application/vnd.hhe.lesson-player\":[\"les\"],\"application/vnd.hp-hpgl\":[\"hpgl\"],\"application/vnd.hp-hpid\":[\"hpid\"],\"application/vnd.hp-hps\":[\"hps\"],\"application/vnd.hp-jlyt\":[\"jlt\"],\"application/vnd.hp-pcl\":[\"pcl\"],\"application/vnd.hp-pclxl\":[\"pclxl\"],\"application/vnd.hydrostatix.sof-data\":[\"sfd-hdstx\"],\"application/vnd.ibm.minipay\":[\"mpy\"],\"application/vnd.ibm.modcap\":[\"afp\",\"listafp\",\"list3820\"],\"application/vnd.ibm.rights-management\":[\"irm\"],\"application/vnd.ibm.secure-container\":[\"sc\"],\"application/vnd.iccprofile\":[\"icc\",\"icm\"],\"application/vnd.igloader\":[\"igl\"],\"application/vnd.immervision-ivp\":[\"ivp\"],\"application/vnd.immervision-ivu\":[\"ivu\"],\"application/vnd.insors.igm\":[\"igm\"],\"application/vnd.intercon.formnet\":[\"xpw\",\"xpx\"],\"application/vnd.intergeo\":[\"i2g\"],\"application/vnd.intu.qbo\":[\"qbo\"],\"application/vnd.intu.qfx\":[\"qfx\"],\"application/vnd.ipunplugged.rcprofile\":[\"rcprofile\"],\"application/vnd.irepository.package+xml\":[\"irp\"],\"application/vnd.is-xpr\":[\"xpr\"],\"application/vnd.isac.fcs\":[\"fcs\"],\"application/vnd.jam\":[\"jam\"],\"application/vnd.jcp.javame.midlet-rms\":[\"rms\"],\"application/vnd.jisp\":[\"jisp\"],\"application/vnd.joost.joda-archive\":[\"joda\"],\"application/vnd.kahootz\":[\"ktz\",\"ktr\"],\"application/vnd.kde.karbon\":[\"karbon\"],\"application/vnd.kde.kchart\":[\"chrt\"],\"application/vnd.kde.kformula\":[\"kfo\"],\"application/vnd.kde.kivio\":[\"flw\"],\"application/vnd.kde.kontour\":[\"kon\"],\"application/vnd.kde.kpresenter\":[\"kpr\",\"kpt\"],\"application/vnd.kde.kspread\":[\"ksp\"],\"application/vnd.kde.kword\":[\"kwd\",\"kwt\"],\"application/vnd.kenameaapp\":[\"htke\"],\"application/vnd.kidspiration\":[\"kia\"],\"application/vnd.kinar\":[\"kne\",\"knp\"],\"application/vnd.koan\":[\"skp\",\"skd\",\"skt\",\"skm\"],\"application/vnd.kodak-descriptor\":[\"sse\"],\"application/vnd.las.las+xml\":[\"lasxml\"],\"application/vnd.llamagraphics.life-balance.desktop\":[\"lbd\"],\"application/vnd.llamagraphics.life-balance.exchange+xml\":[\"lbe\"],\"application/vnd.lotus-1-2-3\":[\"123\"],\"application/vnd.lotus-approach\":[\"apr\"],\"application/vnd.lotus-freelance\":[\"pre\"],\"application/vnd.lotus-notes\":[\"nsf\"],\"application/vnd.lotus-organizer\":[\"org\"],\"application/vnd.lotus-screencam\":[\"scm\"],\"application/vnd.lotus-wordpro\":[\"lwp\"],\"application/vnd.macports.portpkg\":[\"portpkg\"],\"application/vnd.mapbox-vector-tile\":[\"mvt\"],\"application/vnd.mcd\":[\"mcd\"],\"application/vnd.medcalcdata\":[\"mc1\"],\"application/vnd.mediastation.cdkey\":[\"cdkey\"],\"application/vnd.mfer\":[\"mwf\"],\"application/vnd.mfmp\":[\"mfm\"],\"application/vnd.micrografx.flo\":[\"flo\"],\"application/vnd.micrografx.igx\":[\"igx\"],\"application/vnd.mif\":[\"mif\"],\"application/vnd.mobius.daf\":[\"daf\"],\"application/vnd.mobius.dis\":[\"dis\"],\"application/vnd.mobius.mbk\":[\"mbk\"],\"application/vnd.mobius.mqy\":[\"mqy\"],\"application/vnd.mobius.msl\":[\"msl\"],\"application/vnd.mobius.plc\":[\"plc\"],\"application/vnd.mobius.txf\":[\"txf\"],\"application/vnd.mophun.application\":[\"mpn\"],\"application/vnd.mophun.certificate\":[\"mpc\"],\"application/vnd.mozilla.xul+xml\":[\"xul\"],\"application/vnd.ms-artgalry\":[\"cil\"],\"application/vnd.ms-cab-compressed\":[\"cab\"],\"application/vnd.ms-excel\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"],\"application/vnd.ms-excel.addin.macroenabled.12\":[\"xlam\"],\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":[\"xlsb\"],\"application/vnd.ms-excel.sheet.macroenabled.12\":[\"xlsm\"],\"application/vnd.ms-excel.template.macroenabled.12\":[\"xltm\"],\"application/vnd.ms-fontobject\":[\"eot\"],\"application/vnd.ms-htmlhelp\":[\"chm\"],\"application/vnd.ms-ims\":[\"ims\"],\"application/vnd.ms-lrm\":[\"lrm\"],\"application/vnd.ms-officetheme\":[\"thmx\"],\"application/vnd.ms-outlook\":[\"msg\"],\"application/vnd.ms-pki.seccat\":[\"cat\"],\"application/vnd.ms-pki.stl\":[\"*stl\"],\"application/vnd.ms-powerpoint\":[\"ppt\",\"pps\",\"pot\"],\"application/vnd.ms-powerpoint.addin.macroenabled.12\":[\"ppam\"],\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":[\"pptm\"],\"application/vnd.ms-powerpoint.slide.macroenabled.12\":[\"sldm\"],\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":[\"ppsm\"],\"application/vnd.ms-powerpoint.template.macroenabled.12\":[\"potm\"],\"application/vnd.ms-project\":[\"*mpp\",\"mpt\"],\"application/vnd.ms-word.document.macroenabled.12\":[\"docm\"],\"application/vnd.ms-word.template.macroenabled.12\":[\"dotm\"],\"application/vnd.ms-works\":[\"wps\",\"wks\",\"wcm\",\"wdb\"],\"application/vnd.ms-wpl\":[\"wpl\"],\"application/vnd.ms-xpsdocument\":[\"xps\"],\"application/vnd.mseq\":[\"mseq\"],\"application/vnd.musician\":[\"mus\"],\"application/vnd.muvee.style\":[\"msty\"],\"application/vnd.mynfc\":[\"taglet\"],\"application/vnd.neurolanguage.nlu\":[\"nlu\"],\"application/vnd.nitf\":[\"ntf\",\"nitf\"],\"application/vnd.noblenet-directory\":[\"nnd\"],\"application/vnd.noblenet-sealer\":[\"nns\"],\"application/vnd.noblenet-web\":[\"nnw\"],\"application/vnd.nokia.n-gage.ac+xml\":[\"*ac\"],\"application/vnd.nokia.n-gage.data\":[\"ngdat\"],\"application/vnd.nokia.n-gage.symbian.install\":[\"n-gage\"],\"application/vnd.nokia.radio-preset\":[\"rpst\"],\"application/vnd.nokia.radio-presets\":[\"rpss\"],\"application/vnd.novadigm.edm\":[\"edm\"],\"application/vnd.novadigm.edx\":[\"edx\"],\"application/vnd.novadigm.ext\":[\"ext\"],\"application/vnd.oasis.opendocument.chart\":[\"odc\"],\"application/vnd.oasis.opendocument.chart-template\":[\"otc\"],\"application/vnd.oasis.opendocument.database\":[\"odb\"],\"application/vnd.oasis.opendocument.formula\":[\"odf\"],\"application/vnd.oasis.opendocument.formula-template\":[\"odft\"],\"application/vnd.oasis.opendocument.graphics\":[\"odg\"],\"application/vnd.oasis.opendocument.graphics-template\":[\"otg\"],\"application/vnd.oasis.opendocument.image\":[\"odi\"],\"application/vnd.oasis.opendocument.image-template\":[\"oti\"],\"application/vnd.oasis.opendocument.presentation\":[\"odp\"],\"application/vnd.oasis.opendocument.presentation-template\":[\"otp\"],\"application/vnd.oasis.opendocument.spreadsheet\":[\"ods\"],\"application/vnd.oasis.opendocument.spreadsheet-template\":[\"ots\"],\"application/vnd.oasis.opendocument.text\":[\"odt\"],\"application/vnd.oasis.opendocument.text-master\":[\"odm\"],\"application/vnd.oasis.opendocument.text-template\":[\"ott\"],\"application/vnd.oasis.opendocument.text-web\":[\"oth\"],\"application/vnd.olpc-sugar\":[\"xo\"],\"application/vnd.oma.dd2+xml\":[\"dd2\"],\"application/vnd.openblox.game+xml\":[\"obgx\"],\"application/vnd.openofficeorg.extension\":[\"oxt\"],\"application/vnd.openstreetmap.data+xml\":[\"osm\"],\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":[\"pptx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slide\":[\"sldx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":[\"ppsx\"],\"application/vnd.openxmlformats-officedocument.presentationml.template\":[\"potx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":[\"xlsx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":[\"xltx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":[\"docx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":[\"dotx\"],\"application/vnd.osgeo.mapguide.package\":[\"mgp\"],\"application/vnd.osgi.dp\":[\"dp\"],\"application/vnd.osgi.subsystem\":[\"esa\"],\"application/vnd.palm\":[\"pdb\",\"pqa\",\"oprc\"],\"application/vnd.pawaafile\":[\"paw\"],\"application/vnd.pg.format\":[\"str\"],\"application/vnd.pg.osasli\":[\"ei6\"],\"application/vnd.picsel\":[\"efif\"],\"application/vnd.pmi.widget\":[\"wg\"],\"application/vnd.pocketlearn\":[\"plf\"],\"application/vnd.powerbuilder6\":[\"pbd\"],\"application/vnd.previewsystems.box\":[\"box\"],\"application/vnd.proteus.magazine\":[\"mgz\"],\"application/vnd.publishare-delta-tree\":[\"qps\"],\"application/vnd.pvi.ptid1\":[\"ptid\"],\"application/vnd.pwg-xhtml-print+xml\":[\"xhtm\"],\"application/vnd.quark.quarkxpress\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"],\"application/vnd.rar\":[\"rar\"],\"application/vnd.realvnc.bed\":[\"bed\"],\"application/vnd.recordare.musicxml\":[\"mxl\"],\"application/vnd.recordare.musicxml+xml\":[\"musicxml\"],\"application/vnd.rig.cryptonote\":[\"cryptonote\"],\"application/vnd.rim.cod\":[\"cod\"],\"application/vnd.rn-realmedia\":[\"rm\"],\"application/vnd.rn-realmedia-vbr\":[\"rmvb\"],\"application/vnd.route66.link66+xml\":[\"link66\"],\"application/vnd.sailingtracker.track\":[\"st\"],\"application/vnd.seemail\":[\"see\"],\"application/vnd.sema\":[\"sema\"],\"application/vnd.semd\":[\"semd\"],\"application/vnd.semf\":[\"semf\"],\"application/vnd.shana.informed.formdata\":[\"ifm\"],\"application/vnd.shana.informed.formtemplate\":[\"itp\"],\"application/vnd.shana.informed.interchange\":[\"iif\"],\"application/vnd.shana.informed.package\":[\"ipk\"],\"application/vnd.simtech-mindmapper\":[\"twd\",\"twds\"],\"application/vnd.smaf\":[\"mmf\"],\"application/vnd.smart.teacher\":[\"teacher\"],\"application/vnd.software602.filler.form+xml\":[\"fo\"],\"application/vnd.solent.sdkm+xml\":[\"sdkm\",\"sdkd\"],\"application/vnd.spotfire.dxp\":[\"dxp\"],\"application/vnd.spotfire.sfs\":[\"sfs\"],\"application/vnd.stardivision.calc\":[\"sdc\"],\"application/vnd.stardivision.draw\":[\"sda\"],\"application/vnd.stardivision.impress\":[\"sdd\"],\"application/vnd.stardivision.math\":[\"smf\"],\"application/vnd.stardivision.writer\":[\"sdw\",\"vor\"],\"application/vnd.stardivision.writer-global\":[\"sgl\"],\"application/vnd.stepmania.package\":[\"smzip\"],\"application/vnd.stepmania.stepchart\":[\"sm\"],\"application/vnd.sun.wadl+xml\":[\"wadl\"],\"application/vnd.sun.xml.calc\":[\"sxc\"],\"application/vnd.sun.xml.calc.template\":[\"stc\"],\"application/vnd.sun.xml.draw\":[\"sxd\"],\"application/vnd.sun.xml.draw.template\":[\"std\"],\"application/vnd.sun.xml.impress\":[\"sxi\"],\"application/vnd.sun.xml.impress.template\":[\"sti\"],\"application/vnd.sun.xml.math\":[\"sxm\"],\"application/vnd.sun.xml.writer\":[\"sxw\"],\"application/vnd.sun.xml.writer.global\":[\"sxg\"],\"application/vnd.sun.xml.writer.template\":[\"stw\"],\"application/vnd.sus-calendar\":[\"sus\",\"susp\"],\"application/vnd.svd\":[\"svd\"],\"application/vnd.symbian.install\":[\"sis\",\"sisx\"],\"application/vnd.syncml+xml\":[\"xsm\"],\"application/vnd.syncml.dm+wbxml\":[\"bdm\"],\"application/vnd.syncml.dm+xml\":[\"xdm\"],\"application/vnd.syncml.dmddf+xml\":[\"ddf\"],\"application/vnd.tao.intent-module-archive\":[\"tao\"],\"application/vnd.tcpdump.pcap\":[\"pcap\",\"cap\",\"dmp\"],\"application/vnd.tmobile-livetv\":[\"tmo\"],\"application/vnd.trid.tpt\":[\"tpt\"],\"application/vnd.triscape.mxs\":[\"mxs\"],\"application/vnd.trueapp\":[\"tra\"],\"application/vnd.ufdl\":[\"ufd\",\"ufdl\"],\"application/vnd.uiq.theme\":[\"utz\"],\"application/vnd.umajin\":[\"umj\"],\"application/vnd.unity\":[\"unityweb\"],\"application/vnd.uoml+xml\":[\"uoml\",\"uo\"],\"application/vnd.vcx\":[\"vcx\"],\"application/vnd.visio\":[\"vsd\",\"vst\",\"vss\",\"vsw\"],\"application/vnd.visionary\":[\"vis\"],\"application/vnd.vsf\":[\"vsf\"],\"application/vnd.wap.wbxml\":[\"wbxml\"],\"application/vnd.wap.wmlc\":[\"wmlc\"],\"application/vnd.wap.wmlscriptc\":[\"wmlsc\"],\"application/vnd.webturbo\":[\"wtb\"],\"application/vnd.wolfram.player\":[\"nbp\"],\"application/vnd.wordperfect\":[\"wpd\"],\"application/vnd.wqd\":[\"wqd\"],\"application/vnd.wt.stf\":[\"stf\"],\"application/vnd.xara\":[\"xar\"],\"application/vnd.xfdl\":[\"xfdl\"],\"application/vnd.yamaha.hv-dic\":[\"hvd\"],\"application/vnd.yamaha.hv-script\":[\"hvs\"],\"application/vnd.yamaha.hv-voice\":[\"hvp\"],\"application/vnd.yamaha.openscoreformat\":[\"osf\"],\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":[\"osfpvg\"],\"application/vnd.yamaha.smaf-audio\":[\"saf\"],\"application/vnd.yamaha.smaf-phrase\":[\"spf\"],\"application/vnd.yellowriver-custom-menu\":[\"cmp\"],\"application/vnd.zul\":[\"zir\",\"zirz\"],\"application/vnd.zzazz.deck+xml\":[\"zaz\"],\"application/x-7z-compressed\":[\"7z\"],\"application/x-abiword\":[\"abw\"],\"application/x-ace-compressed\":[\"ace\"],\"application/x-apple-diskimage\":[\"*dmg\"],\"application/x-arj\":[\"arj\"],\"application/x-authorware-bin\":[\"aab\",\"x32\",\"u32\",\"vox\"],\"application/x-authorware-map\":[\"aam\"],\"application/x-authorware-seg\":[\"aas\"],\"application/x-bcpio\":[\"bcpio\"],\"application/x-bdoc\":[\"*bdoc\"],\"application/x-bittorrent\":[\"torrent\"],\"application/x-blorb\":[\"blb\",\"blorb\"],\"application/x-bzip\":[\"bz\"],\"application/x-bzip2\":[\"bz2\",\"boz\"],\"application/x-cbr\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"],\"application/x-cdlink\":[\"vcd\"],\"application/x-cfs-compressed\":[\"cfs\"],\"application/x-chat\":[\"chat\"],\"application/x-chess-pgn\":[\"pgn\"],\"application/x-chrome-extension\":[\"crx\"],\"application/x-cocoa\":[\"cco\"],\"application/x-conference\":[\"nsc\"],\"application/x-cpio\":[\"cpio\"],\"application/x-csh\":[\"csh\"],\"application/x-debian-package\":[\"*deb\",\"udeb\"],\"application/x-dgc-compressed\":[\"dgc\"],\"application/x-director\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"],\"application/x-doom\":[\"wad\"],\"application/x-dtbncx+xml\":[\"ncx\"],\"application/x-dtbook+xml\":[\"dtb\"],\"application/x-dtbresource+xml\":[\"res\"],\"application/x-dvi\":[\"dvi\"],\"application/x-envoy\":[\"evy\"],\"application/x-eva\":[\"eva\"],\"application/x-font-bdf\":[\"bdf\"],\"application/x-font-ghostscript\":[\"gsf\"],\"application/x-font-linux-psf\":[\"psf\"],\"application/x-font-pcf\":[\"pcf\"],\"application/x-font-snf\":[\"snf\"],\"application/x-font-type1\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"],\"application/x-freearc\":[\"arc\"],\"application/x-futuresplash\":[\"spl\"],\"application/x-gca-compressed\":[\"gca\"],\"application/x-glulx\":[\"ulx\"],\"application/x-gnumeric\":[\"gnumeric\"],\"application/x-gramps-xml\":[\"gramps\"],\"application/x-gtar\":[\"gtar\"],\"application/x-hdf\":[\"hdf\"],\"application/x-httpd-php\":[\"php\"],\"application/x-install-instructions\":[\"install\"],\"application/x-iso9660-image\":[\"*iso\"],\"application/x-iwork-keynote-sffkey\":[\"*key\"],\"application/x-iwork-numbers-sffnumbers\":[\"*numbers\"],\"application/x-iwork-pages-sffpages\":[\"*pages\"],\"application/x-java-archive-diff\":[\"jardiff\"],\"application/x-java-jnlp-file\":[\"jnlp\"],\"application/x-keepass2\":[\"kdbx\"],\"application/x-latex\":[\"latex\"],\"application/x-lua-bytecode\":[\"luac\"],\"application/x-lzh-compressed\":[\"lzh\",\"lha\"],\"application/x-makeself\":[\"run\"],\"application/x-mie\":[\"mie\"],\"application/x-mobipocket-ebook\":[\"*prc\",\"mobi\"],\"application/x-ms-application\":[\"application\"],\"application/x-ms-shortcut\":[\"lnk\"],\"application/x-ms-wmd\":[\"wmd\"],\"application/x-ms-wmz\":[\"wmz\"],\"application/x-ms-xbap\":[\"xbap\"],\"application/x-msaccess\":[\"mdb\"],\"application/x-msbinder\":[\"obd\"],\"application/x-mscardfile\":[\"crd\"],\"application/x-msclip\":[\"clp\"],\"application/x-msdos-program\":[\"*exe\"],\"application/x-msdownload\":[\"*exe\",\"*dll\",\"com\",\"bat\",\"*msi\"],\"application/x-msmediaview\":[\"mvb\",\"m13\",\"m14\"],\"application/x-msmetafile\":[\"*wmf\",\"*wmz\",\"*emf\",\"emz\"],\"application/x-msmoney\":[\"mny\"],\"application/x-mspublisher\":[\"pub\"],\"application/x-msschedule\":[\"scd\"],\"application/x-msterminal\":[\"trm\"],\"application/x-mswrite\":[\"wri\"],\"application/x-netcdf\":[\"nc\",\"cdf\"],\"application/x-ns-proxy-autoconfig\":[\"pac\"],\"application/x-nzb\":[\"nzb\"],\"application/x-perl\":[\"pl\",\"pm\"],\"application/x-pilot\":[\"*prc\",\"*pdb\"],\"application/x-pkcs12\":[\"p12\",\"pfx\"],\"application/x-pkcs7-certificates\":[\"p7b\",\"spc\"],\"application/x-pkcs7-certreqresp\":[\"p7r\"],\"application/x-rar-compressed\":[\"*rar\"],\"application/x-redhat-package-manager\":[\"rpm\"],\"application/x-research-info-systems\":[\"ris\"],\"application/x-sea\":[\"sea\"],\"application/x-sh\":[\"sh\"],\"application/x-shar\":[\"shar\"],\"application/x-shockwave-flash\":[\"swf\"],\"application/x-silverlight-app\":[\"xap\"],\"application/x-sql\":[\"*sql\"],\"application/x-stuffit\":[\"sit\"],\"application/x-stuffitx\":[\"sitx\"],\"application/x-subrip\":[\"srt\"],\"application/x-sv4cpio\":[\"sv4cpio\"],\"application/x-sv4crc\":[\"sv4crc\"],\"application/x-t3vm-image\":[\"t3\"],\"application/x-tads\":[\"gam\"],\"application/x-tar\":[\"tar\"],\"application/x-tcl\":[\"tcl\",\"tk\"],\"application/x-tex\":[\"tex\"],\"application/x-tex-tfm\":[\"tfm\"],\"application/x-texinfo\":[\"texinfo\",\"texi\"],\"application/x-tgif\":[\"*obj\"],\"application/x-ustar\":[\"ustar\"],\"application/x-virtualbox-hdd\":[\"hdd\"],\"application/x-virtualbox-ova\":[\"ova\"],\"application/x-virtualbox-ovf\":[\"ovf\"],\"application/x-virtualbox-vbox\":[\"vbox\"],\"application/x-virtualbox-vbox-extpack\":[\"vbox-extpack\"],\"application/x-virtualbox-vdi\":[\"vdi\"],\"application/x-virtualbox-vhd\":[\"vhd\"],\"application/x-virtualbox-vmdk\":[\"vmdk\"],\"application/x-wais-source\":[\"src\"],\"application/x-web-app-manifest+json\":[\"webapp\"],\"application/x-x509-ca-cert\":[\"der\",\"crt\",\"pem\"],\"application/x-xfig\":[\"fig\"],\"application/x-xliff+xml\":[\"*xlf\"],\"application/x-xpinstall\":[\"xpi\"],\"application/x-xz\":[\"xz\"],\"application/x-zmachine\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"],\"audio/vnd.dece.audio\":[\"uva\",\"uvva\"],\"audio/vnd.digital-winds\":[\"eol\"],\"audio/vnd.dra\":[\"dra\"],\"audio/vnd.dts\":[\"dts\"],\"audio/vnd.dts.hd\":[\"dtshd\"],\"audio/vnd.lucent.voice\":[\"lvp\"],\"audio/vnd.ms-playready.media.pya\":[\"pya\"],\"audio/vnd.nuera.ecelp4800\":[\"ecelp4800\"],\"audio/vnd.nuera.ecelp7470\":[\"ecelp7470\"],\"audio/vnd.nuera.ecelp9600\":[\"ecelp9600\"],\"audio/vnd.rip\":[\"rip\"],\"audio/x-aac\":[\"*aac\"],\"audio/x-aiff\":[\"aif\",\"aiff\",\"aifc\"],\"audio/x-caf\":[\"caf\"],\"audio/x-flac\":[\"flac\"],\"audio/x-m4a\":[\"*m4a\"],\"audio/x-matroska\":[\"mka\"],\"audio/x-mpegurl\":[\"m3u\"],\"audio/x-ms-wax\":[\"wax\"],\"audio/x-ms-wma\":[\"wma\"],\"audio/x-pn-realaudio\":[\"ram\",\"ra\"],\"audio/x-pn-realaudio-plugin\":[\"rmp\"],\"audio/x-realaudio\":[\"*ra\"],\"audio/x-wav\":[\"*wav\"],\"chemical/x-cdx\":[\"cdx\"],\"chemical/x-cif\":[\"cif\"],\"chemical/x-cmdf\":[\"cmdf\"],\"chemical/x-cml\":[\"cml\"],\"chemical/x-csml\":[\"csml\"],\"chemical/x-xyz\":[\"xyz\"],\"image/prs.btif\":[\"btif\",\"btf\"],\"image/prs.pti\":[\"pti\"],\"image/vnd.adobe.photoshop\":[\"psd\"],\"image/vnd.airzip.accelerator.azv\":[\"azv\"],\"image/vnd.dece.graphic\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"],\"image/vnd.djvu\":[\"djvu\",\"djv\"],\"image/vnd.dvb.subtitle\":[\"*sub\"],\"image/vnd.dwg\":[\"dwg\"],\"image/vnd.dxf\":[\"dxf\"],\"image/vnd.fastbidsheet\":[\"fbs\"],\"image/vnd.fpx\":[\"fpx\"],\"image/vnd.fst\":[\"fst\"],\"image/vnd.fujixerox.edmics-mmr\":[\"mmr\"],\"image/vnd.fujixerox.edmics-rlc\":[\"rlc\"],\"image/vnd.microsoft.icon\":[\"ico\"],\"image/vnd.ms-dds\":[\"dds\"],\"image/vnd.ms-modi\":[\"mdi\"],\"image/vnd.ms-photo\":[\"wdp\"],\"image/vnd.net-fpx\":[\"npx\"],\"image/vnd.pco.b16\":[\"b16\"],\"image/vnd.tencent.tap\":[\"tap\"],\"image/vnd.valve.source.texture\":[\"vtf\"],\"image/vnd.wap.wbmp\":[\"wbmp\"],\"image/vnd.xiff\":[\"xif\"],\"image/vnd.zbrush.pcx\":[\"pcx\"],\"image/x-3ds\":[\"3ds\"],\"image/x-cmu-raster\":[\"ras\"],\"image/x-cmx\":[\"cmx\"],\"image/x-freehand\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"],\"image/x-icon\":[\"*ico\"],\"image/x-jng\":[\"jng\"],\"image/x-mrsid-image\":[\"sid\"],\"image/x-ms-bmp\":[\"*bmp\"],\"image/x-pcx\":[\"*pcx\"],\"image/x-pict\":[\"pic\",\"pct\"],\"image/x-portable-anymap\":[\"pnm\"],\"image/x-portable-bitmap\":[\"pbm\"],\"image/x-portable-graymap\":[\"pgm\"],\"image/x-portable-pixmap\":[\"ppm\"],\"image/x-rgb\":[\"rgb\"],\"image/x-tga\":[\"tga\"],\"image/x-xbitmap\":[\"xbm\"],\"image/x-xpixmap\":[\"xpm\"],\"image/x-xwindowdump\":[\"xwd\"],\"message/vnd.wfa.wsc\":[\"wsc\"],\"model/vnd.cld\":[\"cld\"],\"model/vnd.collada+xml\":[\"dae\"],\"model/vnd.dwf\":[\"dwf\"],\"model/vnd.gdl\":[\"gdl\"],\"model/vnd.gtw\":[\"gtw\"],\"model/vnd.mts\":[\"mts\"],\"model/vnd.opengex\":[\"ogex\"],\"model/vnd.parasolid.transmit.binary\":[\"x_b\"],\"model/vnd.parasolid.transmit.text\":[\"x_t\"],\"model/vnd.pytha.pyox\":[\"pyo\",\"pyox\"],\"model/vnd.sap.vds\":[\"vds\"],\"model/vnd.usda\":[\"usda\"],\"model/vnd.usdz+zip\":[\"usdz\"],\"model/vnd.valve.source.compiled-map\":[\"bsp\"],\"model/vnd.vtu\":[\"vtu\"],\"text/prs.lines.tag\":[\"dsc\"],\"text/vnd.curl\":[\"curl\"],\"text/vnd.curl.dcurl\":[\"dcurl\"],\"text/vnd.curl.mcurl\":[\"mcurl\"],\"text/vnd.curl.scurl\":[\"scurl\"],\"text/vnd.dvb.subtitle\":[\"sub\"],\"text/vnd.familysearch.gedcom\":[\"ged\"],\"text/vnd.fly\":[\"fly\"],\"text/vnd.fmi.flexstor\":[\"flx\"],\"text/vnd.graphviz\":[\"gv\"],\"text/vnd.in3d.3dml\":[\"3dml\"],\"text/vnd.in3d.spot\":[\"spot\"],\"text/vnd.sun.j2me.app-descriptor\":[\"jad\"],\"text/vnd.wap.wml\":[\"wml\"],\"text/vnd.wap.wmlscript\":[\"wmls\"],\"text/x-asm\":[\"s\",\"asm\"],\"text/x-c\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"],\"text/x-component\":[\"htc\"],\"text/x-fortran\":[\"f\",\"for\",\"f77\",\"f90\"],\"text/x-handlebars-template\":[\"hbs\"],\"text/x-java-source\":[\"java\"],\"text/x-lua\":[\"lua\"],\"text/x-markdown\":[\"mkd\"],\"text/x-nfo\":[\"nfo\"],\"text/x-opml\":[\"opml\"],\"text/x-org\":[\"*org\"],\"text/x-pascal\":[\"p\",\"pas\"],\"text/x-processing\":[\"pde\"],\"text/x-sass\":[\"sass\"],\"text/x-scss\":[\"scss\"],\"text/x-setext\":[\"etx\"],\"text/x-sfv\":[\"sfv\"],\"text/x-suse-ymp\":[\"ymp\"],\"text/x-uuencode\":[\"uu\"],\"text/x-vcalendar\":[\"vcs\"],\"text/x-vcard\":[\"vcf\"],\"video/vnd.dece.hd\":[\"uvh\",\"uvvh\"],\"video/vnd.dece.mobile\":[\"uvm\",\"uvvm\"],\"video/vnd.dece.pd\":[\"uvp\",\"uvvp\"],\"video/vnd.dece.sd\":[\"uvs\",\"uvvs\"],\"video/vnd.dece.video\":[\"uvv\",\"uvvv\"],\"video/vnd.dvb.file\":[\"dvb\"],\"video/vnd.fvt\":[\"fvt\"],\"video/vnd.mpegurl\":[\"mxu\",\"m4u\"],\"video/vnd.ms-playready.media.pyv\":[\"pyv\"],\"video/vnd.uvvu.mp4\":[\"uvu\",\"uvvu\"],\"video/vnd.vivo\":[\"viv\"],\"video/x-f4v\":[\"f4v\"],\"video/x-fli\":[\"fli\"],\"video/x-flv\":[\"flv\"],\"video/x-m4v\":[\"m4v\"],\"video/x-matroska\":[\"mkv\",\"mk3d\",\"mks\"],\"video/x-mng\":[\"mng\"],\"video/x-ms-asf\":[\"asf\",\"asx\"],\"video/x-ms-vob\":[\"vob\"],\"video/x-ms-wm\":[\"wm\"],\"video/x-ms-wmv\":[\"wmv\"],\"video/x-ms-wmx\":[\"wmx\"],\"video/x-ms-wvx\":[\"wvx\"],\"video/x-msvideo\":[\"avi\"],\"video/x-sgi-movie\":[\"movie\"],\"video/x-smv\":[\"smv\"],\"x-conference/x-cooltalk\":[\"ice\"]};\nObject.freeze(types);\nexport default types;","const types : {[key: string]: string[]} = {\"application/andrew-inset\":[\"ez\"],\"application/appinstaller\":[\"appinstaller\"],\"application/applixware\":[\"aw\"],\"application/appx\":[\"appx\"],\"application/appxbundle\":[\"appxbundle\"],\"application/atom+xml\":[\"atom\"],\"application/atomcat+xml\":[\"atomcat\"],\"application/atomdeleted+xml\":[\"atomdeleted\"],\"application/atomsvc+xml\":[\"atomsvc\"],\"application/atsc-dwd+xml\":[\"dwd\"],\"application/atsc-held+xml\":[\"held\"],\"application/atsc-rsat+xml\":[\"rsat\"],\"application/automationml-aml+xml\":[\"aml\"],\"application/automationml-amlx+zip\":[\"amlx\"],\"application/bdoc\":[\"bdoc\"],\"application/calendar+xml\":[\"xcs\"],\"application/ccxml+xml\":[\"ccxml\"],\"application/cdfx+xml\":[\"cdfx\"],\"application/cdmi-capability\":[\"cdmia\"],\"application/cdmi-container\":[\"cdmic\"],\"application/cdmi-domain\":[\"cdmid\"],\"application/cdmi-object\":[\"cdmio\"],\"application/cdmi-queue\":[\"cdmiq\"],\"application/cpl+xml\":[\"cpl\"],\"application/cu-seeme\":[\"cu\"],\"application/cwl\":[\"cwl\"],\"application/dash+xml\":[\"mpd\"],\"application/dash-patch+xml\":[\"mpp\"],\"application/davmount+xml\":[\"davmount\"],\"application/docbook+xml\":[\"dbk\"],\"application/dssc+der\":[\"dssc\"],\"application/dssc+xml\":[\"xdssc\"],\"application/ecmascript\":[\"ecma\"],\"application/emma+xml\":[\"emma\"],\"application/emotionml+xml\":[\"emotionml\"],\"application/epub+zip\":[\"epub\"],\"application/exi\":[\"exi\"],\"application/express\":[\"exp\"],\"application/fdf\":[\"fdf\"],\"application/fdt+xml\":[\"fdt\"],\"application/font-tdpfr\":[\"pfr\"],\"application/geo+json\":[\"geojson\"],\"application/gml+xml\":[\"gml\"],\"application/gpx+xml\":[\"gpx\"],\"application/gxf\":[\"gxf\"],\"application/gzip\":[\"gz\"],\"application/hjson\":[\"hjson\"],\"application/hyperstudio\":[\"stk\"],\"application/inkml+xml\":[\"ink\",\"inkml\"],\"application/ipfix\":[\"ipfix\"],\"application/its+xml\":[\"its\"],\"application/java-archive\":[\"jar\",\"war\",\"ear\"],\"application/java-serialized-object\":[\"ser\"],\"application/java-vm\":[\"class\"],\"application/javascript\":[\"*js\"],\"application/json\":[\"json\",\"map\"],\"application/json5\":[\"json5\"],\"application/jsonml+json\":[\"jsonml\"],\"application/ld+json\":[\"jsonld\"],\"application/lgr+xml\":[\"lgr\"],\"application/lost+xml\":[\"lostxml\"],\"application/mac-binhex40\":[\"hqx\"],\"application/mac-compactpro\":[\"cpt\"],\"application/mads+xml\":[\"mads\"],\"application/manifest+json\":[\"webmanifest\"],\"application/marc\":[\"mrc\"],\"application/marcxml+xml\":[\"mrcx\"],\"application/mathematica\":[\"ma\",\"nb\",\"mb\"],\"application/mathml+xml\":[\"mathml\"],\"application/mbox\":[\"mbox\"],\"application/media-policy-dataset+xml\":[\"mpf\"],\"application/mediaservercontrol+xml\":[\"mscml\"],\"application/metalink+xml\":[\"metalink\"],\"application/metalink4+xml\":[\"meta4\"],\"application/mets+xml\":[\"mets\"],\"application/mmt-aei+xml\":[\"maei\"],\"application/mmt-usd+xml\":[\"musd\"],\"application/mods+xml\":[\"mods\"],\"application/mp21\":[\"m21\",\"mp21\"],\"application/mp4\":[\"*mp4\",\"*mpg4\",\"mp4s\",\"m4p\"],\"application/msix\":[\"msix\"],\"application/msixbundle\":[\"msixbundle\"],\"application/msword\":[\"doc\",\"dot\"],\"application/mxf\":[\"mxf\"],\"application/n-quads\":[\"nq\"],\"application/n-triples\":[\"nt\"],\"application/node\":[\"cjs\"],\"application/octet-stream\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"],\"application/oda\":[\"oda\"],\"application/oebps-package+xml\":[\"opf\"],\"application/ogg\":[\"ogx\"],\"application/omdoc+xml\":[\"omdoc\"],\"application/onenote\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"],\"application/oxps\":[\"oxps\"],\"application/p2p-overlay+xml\":[\"relo\"],\"application/patch-ops-error+xml\":[\"xer\"],\"application/pdf\":[\"pdf\"],\"application/pgp-encrypted\":[\"pgp\"],\"application/pgp-keys\":[\"asc\"],\"application/pgp-signature\":[\"sig\",\"*asc\"],\"application/pics-rules\":[\"prf\"],\"application/pkcs10\":[\"p10\"],\"application/pkcs7-mime\":[\"p7m\",\"p7c\"],\"application/pkcs7-signature\":[\"p7s\"],\"application/pkcs8\":[\"p8\"],\"application/pkix-attr-cert\":[\"ac\"],\"application/pkix-cert\":[\"cer\"],\"application/pkix-crl\":[\"crl\"],\"application/pkix-pkipath\":[\"pkipath\"],\"application/pkixcmp\":[\"pki\"],\"application/pls+xml\":[\"pls\"],\"application/postscript\":[\"ai\",\"eps\",\"ps\"],\"application/provenance+xml\":[\"provx\"],\"application/pskc+xml\":[\"pskcxml\"],\"application/raml+yaml\":[\"raml\"],\"application/rdf+xml\":[\"rdf\",\"owl\"],\"application/reginfo+xml\":[\"rif\"],\"application/relax-ng-compact-syntax\":[\"rnc\"],\"application/resource-lists+xml\":[\"rl\"],\"application/resource-lists-diff+xml\":[\"rld\"],\"application/rls-services+xml\":[\"rs\"],\"application/route-apd+xml\":[\"rapd\"],\"application/route-s-tsid+xml\":[\"sls\"],\"application/route-usd+xml\":[\"rusd\"],\"application/rpki-ghostbusters\":[\"gbr\"],\"application/rpki-manifest\":[\"mft\"],\"application/rpki-roa\":[\"roa\"],\"application/rsd+xml\":[\"rsd\"],\"application/rss+xml\":[\"rss\"],\"application/rtf\":[\"rtf\"],\"application/sbml+xml\":[\"sbml\"],\"application/scvp-cv-request\":[\"scq\"],\"application/scvp-cv-response\":[\"scs\"],\"application/scvp-vp-request\":[\"spq\"],\"application/scvp-vp-response\":[\"spp\"],\"application/sdp\":[\"sdp\"],\"application/senml+xml\":[\"senmlx\"],\"application/sensml+xml\":[\"sensmlx\"],\"application/set-payment-initiation\":[\"setpay\"],\"application/set-registration-initiation\":[\"setreg\"],\"application/shf+xml\":[\"shf\"],\"application/sieve\":[\"siv\",\"sieve\"],\"application/smil+xml\":[\"smi\",\"smil\"],\"application/sparql-query\":[\"rq\"],\"application/sparql-results+xml\":[\"srx\"],\"application/sql\":[\"sql\"],\"application/srgs\":[\"gram\"],\"application/srgs+xml\":[\"grxml\"],\"application/sru+xml\":[\"sru\"],\"application/ssdl+xml\":[\"ssdl\"],\"application/ssml+xml\":[\"ssml\"],\"application/swid+xml\":[\"swidtag\"],\"application/tei+xml\":[\"tei\",\"teicorpus\"],\"application/thraud+xml\":[\"tfi\"],\"application/timestamped-data\":[\"tsd\"],\"application/toml\":[\"toml\"],\"application/trig\":[\"trig\"],\"application/ttml+xml\":[\"ttml\"],\"application/ubjson\":[\"ubj\"],\"application/urc-ressheet+xml\":[\"rsheet\"],\"application/urc-targetdesc+xml\":[\"td\"],\"application/voicexml+xml\":[\"vxml\"],\"application/wasm\":[\"wasm\"],\"application/watcherinfo+xml\":[\"wif\"],\"application/widget\":[\"wgt\"],\"application/winhlp\":[\"hlp\"],\"application/wsdl+xml\":[\"wsdl\"],\"application/wspolicy+xml\":[\"wspolicy\"],\"application/xaml+xml\":[\"xaml\"],\"application/xcap-att+xml\":[\"xav\"],\"application/xcap-caps+xml\":[\"xca\"],\"application/xcap-diff+xml\":[\"xdf\"],\"application/xcap-el+xml\":[\"xel\"],\"application/xcap-ns+xml\":[\"xns\"],\"application/xenc+xml\":[\"xenc\"],\"application/xfdf\":[\"xfdf\"],\"application/xhtml+xml\":[\"xhtml\",\"xht\"],\"application/xliff+xml\":[\"xlf\"],\"application/xml\":[\"xml\",\"xsl\",\"xsd\",\"rng\"],\"application/xml-dtd\":[\"dtd\"],\"application/xop+xml\":[\"xop\"],\"application/xproc+xml\":[\"xpl\"],\"application/xslt+xml\":[\"*xsl\",\"xslt\"],\"application/xspf+xml\":[\"xspf\"],\"application/xv+xml\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"],\"application/yang\":[\"yang\"],\"application/yin+xml\":[\"yin\"],\"application/zip\":[\"zip\"],\"audio/3gpp\":[\"*3gpp\"],\"audio/aac\":[\"adts\",\"aac\"],\"audio/adpcm\":[\"adp\"],\"audio/amr\":[\"amr\"],\"audio/basic\":[\"au\",\"snd\"],\"audio/midi\":[\"mid\",\"midi\",\"kar\",\"rmi\"],\"audio/mobile-xmf\":[\"mxmf\"],\"audio/mp3\":[\"*mp3\"],\"audio/mp4\":[\"m4a\",\"mp4a\"],\"audio/mpeg\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"],\"audio/ogg\":[\"oga\",\"ogg\",\"spx\",\"opus\"],\"audio/s3m\":[\"s3m\"],\"audio/silk\":[\"sil\"],\"audio/wav\":[\"wav\"],\"audio/wave\":[\"*wav\"],\"audio/webm\":[\"weba\"],\"audio/xm\":[\"xm\"],\"font/collection\":[\"ttc\"],\"font/otf\":[\"otf\"],\"font/ttf\":[\"ttf\"],\"font/woff\":[\"woff\"],\"font/woff2\":[\"woff2\"],\"image/aces\":[\"exr\"],\"image/apng\":[\"apng\"],\"image/avci\":[\"avci\"],\"image/avcs\":[\"avcs\"],\"image/avif\":[\"avif\"],\"image/bmp\":[\"bmp\",\"dib\"],\"image/cgm\":[\"cgm\"],\"image/dicom-rle\":[\"drle\"],\"image/dpx\":[\"dpx\"],\"image/emf\":[\"emf\"],\"image/fits\":[\"fits\"],\"image/g3fax\":[\"g3\"],\"image/gif\":[\"gif\"],\"image/heic\":[\"heic\"],\"image/heic-sequence\":[\"heics\"],\"image/heif\":[\"heif\"],\"image/heif-sequence\":[\"heifs\"],\"image/hej2k\":[\"hej2\"],\"image/hsj2\":[\"hsj2\"],\"image/ief\":[\"ief\"],\"image/jls\":[\"jls\"],\"image/jp2\":[\"jp2\",\"jpg2\"],\"image/jpeg\":[\"jpeg\",\"jpg\",\"jpe\"],\"image/jph\":[\"jph\"],\"image/jphc\":[\"jhc\"],\"image/jpm\":[\"jpm\",\"jpgm\"],\"image/jpx\":[\"jpx\",\"jpf\"],\"image/jxr\":[\"jxr\"],\"image/jxra\":[\"jxra\"],\"image/jxrs\":[\"jxrs\"],\"image/jxs\":[\"jxs\"],\"image/jxsc\":[\"jxsc\"],\"image/jxsi\":[\"jxsi\"],\"image/jxss\":[\"jxss\"],\"image/ktx\":[\"ktx\"],\"image/ktx2\":[\"ktx2\"],\"image/png\":[\"png\"],\"image/sgi\":[\"sgi\"],\"image/svg+xml\":[\"svg\",\"svgz\"],\"image/t38\":[\"t38\"],\"image/tiff\":[\"tif\",\"tiff\"],\"image/tiff-fx\":[\"tfx\"],\"image/webp\":[\"webp\"],\"image/wmf\":[\"wmf\"],\"message/disposition-notification\":[\"disposition-notification\"],\"message/global\":[\"u8msg\"],\"message/global-delivery-status\":[\"u8dsn\"],\"message/global-disposition-notification\":[\"u8mdn\"],\"message/global-headers\":[\"u8hdr\"],\"message/rfc822\":[\"eml\",\"mime\"],\"model/3mf\":[\"3mf\"],\"model/gltf+json\":[\"gltf\"],\"model/gltf-binary\":[\"glb\"],\"model/iges\":[\"igs\",\"iges\"],\"model/jt\":[\"jt\"],\"model/mesh\":[\"msh\",\"mesh\",\"silo\"],\"model/mtl\":[\"mtl\"],\"model/obj\":[\"obj\"],\"model/prc\":[\"prc\"],\"model/step+xml\":[\"stpx\"],\"model/step+zip\":[\"stpz\"],\"model/step-xml+zip\":[\"stpxz\"],\"model/stl\":[\"stl\"],\"model/u3d\":[\"u3d\"],\"model/vrml\":[\"wrl\",\"vrml\"],\"model/x3d+binary\":[\"*x3db\",\"x3dbz\"],\"model/x3d+fastinfoset\":[\"x3db\"],\"model/x3d+vrml\":[\"*x3dv\",\"x3dvz\"],\"model/x3d+xml\":[\"x3d\",\"x3dz\"],\"model/x3d-vrml\":[\"x3dv\"],\"text/cache-manifest\":[\"appcache\",\"manifest\"],\"text/calendar\":[\"ics\",\"ifb\"],\"text/coffeescript\":[\"coffee\",\"litcoffee\"],\"text/css\":[\"css\"],\"text/csv\":[\"csv\"],\"text/html\":[\"html\",\"htm\",\"shtml\"],\"text/jade\":[\"jade\"],\"text/javascript\":[\"js\",\"mjs\"],\"text/jsx\":[\"jsx\"],\"text/less\":[\"less\"],\"text/markdown\":[\"md\",\"markdown\"],\"text/mathml\":[\"mml\"],\"text/mdx\":[\"mdx\"],\"text/n3\":[\"n3\"],\"text/plain\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"],\"text/richtext\":[\"rtx\"],\"text/rtf\":[\"*rtf\"],\"text/sgml\":[\"sgml\",\"sgm\"],\"text/shex\":[\"shex\"],\"text/slim\":[\"slim\",\"slm\"],\"text/spdx\":[\"spdx\"],\"text/stylus\":[\"stylus\",\"styl\"],\"text/tab-separated-values\":[\"tsv\"],\"text/troff\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"],\"text/turtle\":[\"ttl\"],\"text/uri-list\":[\"uri\",\"uris\",\"urls\"],\"text/vcard\":[\"vcard\"],\"text/vtt\":[\"vtt\"],\"text/wgsl\":[\"wgsl\"],\"text/xml\":[\"*xml\"],\"text/yaml\":[\"yaml\",\"yml\"],\"video/3gpp\":[\"3gp\",\"3gpp\"],\"video/3gpp2\":[\"3g2\"],\"video/h261\":[\"h261\"],\"video/h263\":[\"h263\"],\"video/h264\":[\"h264\"],\"video/iso.segment\":[\"m4s\"],\"video/jpeg\":[\"jpgv\"],\"video/jpm\":[\"*jpm\",\"*jpgm\"],\"video/mj2\":[\"mj2\",\"mjp2\"],\"video/mp2t\":[\"ts\"],\"video/mp4\":[\"mp4\",\"mp4v\",\"mpg4\"],\"video/mpeg\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"],\"video/ogg\":[\"ogv\"],\"video/quicktime\":[\"qt\",\"mov\"],\"video/webm\":[\"webm\"]};\nObject.freeze(types);\nexport default types;","type TypeMap = { [key: string]: string[] };\n\nexport default class Mime {\n #extensionToType = new Map<string, string>();\n #typeToExtension = new Map<string, string>();\n #typeToExtensions = new Map<string, Set<string>>();\n\n constructor(...args: TypeMap[]) {\n for (const arg of args) {\n this.define(arg);\n }\n }\n\n /**\n * Define mimetype -> extension mappings. Each key is a mime-type that maps\n * to an array of extensions associated with the type. The first extension is\n * used as the default extension for the type.\n *\n * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});\n *\n * If a mapping for an extension has already been defined an error will be\n * thrown unless the `force` argument is set to `true`.\n *\n * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']});\n */\n define(typeMap: TypeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n // Lowercase thingz\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n\n if (!this.#typeToExtensions.has(type)) {\n this.#typeToExtensions.set(type, new Set<string>());\n }\n const allExtensions = this.#typeToExtensions.get(type);\n\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n\n extension = starred ? extension.slice(1) : extension;\n\n // Add to list of extensions for the type\n allExtensions?.add(extension);\n\n if (first) {\n // Map type to default extension (first in list)\n this.#typeToExtension.set(type, extension);\n }\n first = false;\n\n // Starred types are not eligible to be the default extension\n if (starred) continue;\n\n // Map extension to type\n const currentType = this.#extensionToType.get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(\n `\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`,\n );\n }\n this.#extensionToType.set(extension, type);\n }\n }\n\n return this;\n }\n\n /**\n * Get mime type associated with an extension\n */\n getType(path: string) {\n if (typeof path !== 'string') return null;\n\n // Remove chars preceeding `/` or `\\`\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n\n // Remove chars preceeding '.'\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n\n // Extension-less file?\n if (!hasDot && hasPath) return null;\n\n return this.#extensionToType.get(ext) ?? null;\n }\n\n /**\n * Get default file extension associated with a mime type\n */\n getExtension(type: string) {\n if (typeof type !== 'string') return null;\n\n // Remove http header parameter(s) (specifically, charset)\n type = type?.split?.(';')[0];\n\n return (\n (type && this.#typeToExtension.get(type.trim().toLowerCase())) ?? null\n );\n }\n\n /**\n * Get all file extensions associated with a mime type\n */\n getAllExtensions(type: string) {\n if (typeof type !== 'string') return null;\n\n return this.#typeToExtensions.get(type.toLowerCase()) ?? null;\n }\n\n //\n // Private API, for internal use only. These APIs may change at any time\n //\n\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n\n Object.freeze(this);\n\n for (const extensions of this.#typeToExtensions.values()) {\n Object.freeze(extensions);\n }\n\n return this;\n }\n\n _getTestState() {\n return {\n types: this.#extensionToType,\n extensions: this.#typeToExtension,\n };\n }\n}\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\n\nexport { default as Mime } from './Mime.js';\n\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","import { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function isAIGeneratedActivity(activity: undefined | WebChatActivity) {\n return !!(activity && getOrgSchemaMessage(activity?.entities || [])?.keywords?.includes('AIGeneratedContent'));\n}\n","import { useMemo } from 'react';\nimport { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function useActivityAuthor(activity?: WebChatActivity | undefined) {\n return useMemo(() => {\n const entity = getOrgSchemaMessage(activity?.entities || []);\n return typeof entity?.author === 'string'\n ? {\n '@type': 'Person',\n description: undefined,\n image: undefined,\n name: entity?.author\n }\n : entity?.author;\n }, [activity]);\n}\n",":global(.webchat-fluent) .copilot-message-header {\n align-items: center;\n box-sizing: border-box;\n cursor: default;\n display: flex;\n flex-wrap: nowrap;\n gap: var(--webchat-spacingHorizontalS);\n max-width: var(--webchat__bubble--max-width);\n}\n\n:global(.webchat-fluent) .copilot-message-header__avatar {\n aspect-ratio: 1;\n background-color: var(--background-color);\n border-radius: var(--webchat-borderRadiusSmall);\n width: 20px;\n}\n\n:global(.webchat-fluent) .copilot-message-header__title {\n font-size: var(--webchat-fontSizeBase300);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightBase300);\n overflow: hidden;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n}\n\n:global(.webchat-fluent) .copilot-message-header__ai-generated-content {\n align-items: center;\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: var(--webchat-borderRadiusMedium);\n color: var(--webchat-colorNeutralForeground3);\n display: flex;\n flex: none;\n font-size: var(--webchat-fontSizeBase100);\n height: 20px;\n line-height: var(--webchat-lineHeightBase100);\n padding-inline: var(--webchat-spacingHorizontalXS);\n}\n","import { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function isPreChatMessageActivity(\n activity: undefined | WebChatActivity\n): activity is WebChatActivity & { type: 'message' } {\n return !!(activity && getOrgSchemaMessage(activity?.entities || [])?.keywords?.includes('PreChatMessage'));\n}\n","import { hooks } from 'botframework-webchat-component';\nimport { type WebChatActivity } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { memo, useMemo } from 'react';\nimport { useStyles } from '../../styles/index.js';\nimport styles from './PreChatMessageActivity.module.css';\nimport StarterPromptsToolbar from './StarterPromptsToolbar.js';\nimport { useActivityAuthor } from '../activity/index.js';\n\ntype Props = Readonly<{ activity: WebChatActivity & { type: 'message' } }>;\n\nconst { useLocalizer, useRenderMarkdownAsHTML, useUIState } = hooks;\n\nconst PreChatMessageActivity = ({ activity }: Props) => {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML();\n const localize = useLocalizer();\n\n const author = useActivityAuthor(activity);\n\n const html = useMemo(\n () => (renderMarkdownAsHTML ? { __html: renderMarkdownAsHTML(author?.description || '') } : { __html: '' }),\n [author?.description, renderMarkdownAsHTML]\n );\n\n return (\n <div className={classNames['pre-chat-message-activity']}>\n {author && (\n <div\n className={cx(\n classNames['pre-chat-message-activity__body'],\n uiState === 'blueprint' && classNames['pre-chat-message-activity__body--blueprint']\n )}\n >\n {author.image && (\n <img\n alt={localize('AVATAR_ALT', author.name)}\n className={classNames['pre-chat-message-activity__body-avatar']}\n src={author.image}\n />\n )}\n {author.name && <h2 className={classNames['pre-chat-message-activity__body-title']}>{author.name}</h2>}\n {author.description && (\n // eslint-disable-next-line react/no-danger\n <div className={classNames['pre-chat-message-activity__body-subtitle']} dangerouslySetInnerHTML={html} />\n )}\n </div>\n )}\n <StarterPromptsToolbar\n cardActions={activity.suggestedActions?.actions || []}\n className={classNames['pre-chat-message-activity__toolbar']}\n />\n </div>\n );\n};\n\nPreChatMessageActivity.displayName = 'PreChatMessageActivity';\n\nexport default memo(PreChatMessageActivity);\n",":global(.webchat-fluent) .pre-chat-message-activity {\n box-sizing: border-box;\n display: grid;\n gap: var(--webchat-spacingHorizontalXXXL);\n grid-template-areas: 'body' 'toolbar';\n grid-template-rows: auto auto;\n padding: var(--webchat-spacingHorizontalXXXL) var(--webchat-spacingHorizontalM);\n position: relative;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body {\n align-items: center;\n display: flex;\n flex-flow: column nowrap;\n font-family: var(--webchat-fontFamilyBase);\n font-size: var(--webchat-fontSizeBase300);\n font-weight: var(--webchat-fontWeightRegular);\n gap: var(--webchat-spacingVerticalXS);\n grid-area: body;\n line-height: var(--webchat-lineHeightBase300);\n text-align: center;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body--blueprint {\n opacity: 60%;\n\n .pre-chat-message-activity__body-avatar {\n filter: grayscale(1);\n }\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body-avatar {\n border-radius: var(--webchat-borderRadiusMedium);\n height: 64px;\n margin-block-end: var(--webchat-spacingVerticalM);\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body-title {\n color: var(--webchat-colorNeutralForeground1);\n font-family: inherit;\n font-size: var(--webchat-fontSizeHero700);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightHero700);\n margin: 0;\n overflow-wrap: anywhere;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body-subtitle {\n font-size: var(--webchat-fontSizeBase300);\n line-height: var(--webchat-lineHeightBase300);\n overflow-wrap: anywhere;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__toolbar {\n grid-area: toolbar;\n}\n","import { hooks } from 'botframework-webchat-api';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { Fragment, memo } from 'react';\nimport { useStyles } from '../../styles/index.js';\nimport StarterPromptsCardAction from './StarterPromptsCardAction.js';\nimport styles from './StarterPromptsToolbar.module.css';\n\nconst { useUIState } = hooks;\n\ntype Props = Readonly<{\n cardActions: readonly DirectLineCardAction[];\n className?: string | undefined;\n}>;\n\nconst StarterPromptsToolbar = ({ cardActions, className }: Props) => {\n const classNames = useStyles(styles);\n const [uiState] = useUIState();\n\n return (\n // TODO: Accessibility-wise, this should be role=\"toolbar\" with keyboard navigation.\n <div className={cx(className, classNames['pre-chat-message-activity__card-action-toolbar'])}>\n <div className={classNames['pre-chat-message-activity__card-action-toolbar-grid']}>\n {uiState === 'blueprint' ? (\n <Fragment>\n <StarterPromptsCardAction />\n <StarterPromptsCardAction />\n <StarterPromptsCardAction />\n </Fragment>\n ) : (\n cardActions\n .filter<DirectLineCardAction & { type: 'messageBack' }>(\n (card: DirectLineCardAction): card is DirectLineCardAction & { type: 'messageBack' } =>\n card.type === 'messageBack'\n )\n // There is no other usable keys in card actions.\n // eslint-disable-next-line react/no-array-index-key\n .map((cardAction, index) => <StarterPromptsCardAction key={index} messageBackAction={cardAction} />)\n )}\n </div>\n </div>\n );\n};\n\nStarterPromptsToolbar.displayName = 'StarterPromptsToolbar';\n\nexport default memo(StarterPromptsToolbar);\n","import { Components, hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useMemo } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { useStyles } from '../../styles/index.js';\nimport testIds from '../../testIds.js';\nimport styles from './StarterPromptsCardAction.module.css';\n\nconst { useFocus, useRenderMarkdownAsHTML, useSendBoxValue, useUIState } = hooks;\nconst { MonochromeImageMasker } = Components;\n\ntype Props = Readonly<{\n className?: string | undefined;\n messageBackAction?: (DirectLineCardAction & { type: 'messageBack' }) | undefined;\n}>;\n\nconst StarterPromptsCardAction = ({ className, messageBackAction }: Props) => {\n const [_, setSendBoxValue] = useSendBoxValue();\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const focus = useFocus();\n const inputTextRef = useRefFrom(messageBackAction?.displayText || messageBackAction?.text || '');\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML('message activity');\n const subtitleHTML = useMemo<{ __html: string } | undefined>(\n () => (renderMarkdownAsHTML ? { __html: renderMarkdownAsHTML(messageBackAction?.text || '') } : undefined),\n [messageBackAction?.text, renderMarkdownAsHTML]\n );\n const disabled = uiState === 'disabled';\n const title = messageBackAction && 'title' in messageBackAction && messageBackAction.title;\n\n // Every starter prompt card action must have \"title\" field.\n const shouldShowBlueprint = uiState === 'blueprint' || !title;\n\n const handleClick = useCallback(() => {\n setSendBoxValue(inputTextRef.current);\n\n // Focus on the send box after the value is \"pasted.\"\n focus('sendBox');\n }, [focus, inputTextRef, setSendBoxValue]);\n\n return shouldShowBlueprint ? (\n <div\n className={cx(className, classNames['pre-chat-message-activity__card-action-box'])}\n data-testid={testIds.preChatMessageActivityStarterPromptsCardAction}\n />\n ) : (\n <button\n aria-disabled={disabled ? true : undefined}\n className={cx(className, classNames['pre-chat-message-activity__card-action-box'])}\n data-testid={testIds.preChatMessageActivityStarterPromptsCardAction}\n onClick={disabled ? undefined : handleClick}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : undefined}\n type=\"button\"\n >\n <div className={classNames['pre-chat-message-activity__card-action-title']}>{title}</div>\n {'image' in messageBackAction && messageBackAction.image && (\n <MonochromeImageMasker\n className={classNames['pre-chat-message-activity__card-action-image']}\n src={messageBackAction.image}\n />\n )}\n <div\n className={classNames['pre-chat-message-activity__card-action-subtitle']}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={subtitleHTML}\n />\n </button>\n );\n};\n\nStarterPromptsCardAction.displayName = 'StarterPromptsCardAction';\n\nexport default memo(StarterPromptsCardAction);\n","import { useMemo, useRef } from 'react';\nimport type { RefObject } from 'react';\n\nexport default function useRefFrom<T>(value: T): RefObject<T> & { get current(): T } {\n const ref = useRef<T>();\n\n const readOnlyRef = useMemo(() => Object.create({}, { current: { get: () => ref.current } }), [ref]);\n\n ref.current = value;\n\n return readOnlyRef;\n}\n","const testIds = {\n preChatMessageActivityStarterPromptsCardAction: 'pre-chat message activity starter prompts card action',\n sendBoxContainer: 'send box container',\n sendBoxDropZone: 'send box drop zone',\n sendBoxSendButton: 'send box send button',\n sendBoxSuggestedAction: 'send box suggested action',\n sendBoxTextBox: 'send box text area',\n sendBoxTelephoneKeypadButton1: `send box telephone keypad button 1`,\n sendBoxTelephoneKeypadButton2: `send box telephone keypad button 2`,\n sendBoxTelephoneKeypadButton3: `send box telephone keypad button 3`,\n sendBoxTelephoneKeypadButton4: `send box telephone keypad button 4`,\n sendBoxTelephoneKeypadButton5: `send box telephone keypad button 5`,\n sendBoxTelephoneKeypadButton6: `send box telephone keypad button 6`,\n sendBoxTelephoneKeypadButton7: `send box telephone keypad button 7`,\n sendBoxTelephoneKeypadButton8: `send box telephone keypad button 8`,\n sendBoxTelephoneKeypadButton9: `send box telephone keypad button 9`,\n sendBoxTelephoneKeypadButton0: `send box telephone keypad button 0`,\n sendBoxTelephoneKeypadButtonStar: `send box telephone keypad button star`,\n sendBoxTelephoneKeypadButtonPound: `send box telephone keypad button pound`,\n sendBoxTelephoneKeypadToolbarButton: 'send box telephone keypad toolbar button',\n sendBoxUploadButton: 'send box upload button'\n};\n\nexport default testIds;\n",":global(.webchat-fluent) .pre-chat-message-activity__card-action-box {\n appearance: none;\n background-color: var(--webchat-colorNeutralBackground1);\n border: 0;\n border-radius: 16px;\n box-shadow: var(--webchat-shadow2);\n color: var(--webchat-colorNeutralForeground1);\n cursor: pointer;\n display: grid;\n gap: var(--webchat-spacingVerticalS);\n grid-template-areas: 'title' 'subtitle';\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr;\n overflow: hidden;\n padding: 16px 20px;\n text-align: left;\n transition: background-color var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n user-select: none;\n\n &:has(.pre-chat-message-activity__card-action-image) {\n grid-template-areas: 'image title' 'image subtitle';\n grid-template-columns: 20px 1fr;\n }\n\n &:empty {\n row-gap: 14px;\n }\n\n &[aria-disabled='true'],\n &:empty {\n cursor: default;\n }\n\n &[aria-disabled='true']:not(:empty) {\n background-color: var(--webchat-colorNeutralBackgroundDisabled);\n }\n\n &:hover:not([aria-disabled='true'], :empty) {\n background-color: var(--webchat-colorNeutralBackground1Hover);\n }\n\n &:active:not([aria-disabled='true'], :empty) {\n background-color: var(--webchat-colorNeutralBackground1Pressed);\n }\n\n &:focus-visible {\n outline: solid 2px var(--webchat-colorStrokeFocus2);\n outline-offset: -2px;\n }\n\n &:empty::after,\n &:empty::before {\n animation: blueprintAnimation 3s linear infinite;\n background-attachment: fixed;\n background-image: linear-gradient(\n -90deg,\n var(--webchat-colorNeutralStencil1) 0%,\n var(--webchat-colorNeutralStencil2) 50%,\n var(--webchat-colorNeutralStencil1) 100%\n );\n background-size: 300% 100%;\n content: '';\n display: block;\n }\n\n /* animation-* needs to position after animation shorthand. */\n @media (prefers-reduced-motion: reduce) {\n &:empty::after,\n &:empty::before {\n animation-delay: -1s;\n animation-play-state: paused;\n }\n }\n\n &:dir(rtl) {\n &:empty::after,\n &:empty::before {\n animation-direction: reverse;\n }\n }\n\n &:empty::after {\n border-radius: 16px;\n height: 16px;\n width: 100%;\n }\n\n &:empty::before {\n border-radius: 18px;\n height: 18px;\n width: 66%;\n }\n}\n\n@keyframes blueprintAnimation {\n from {\n background-position-x: 0%;\n }\n\n to {\n background-position-x: -300%;\n }\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-image {\n grid-area: image;\n height: 20px;\n width: 20px;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-subtitle {\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n font-weight: var(--webchat-fontWeightRegular);\n grid-area: subtitle;\n line-height: 20px;\n pointer-events: none; /* Links in subtitle are not clickable. */\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-title {\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n font-weight: var(--webchat-fontWeightSemibold);\n grid-area: title;\n line-height: 20px;\n}\n",":global(.webchat-fluent) .pre-chat-message-activity__card-action-toolbar {\n container-name: webchat-container;\n container-type: inline-size;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-toolbar-grid {\n display: grid;\n gap: var(--webchat-spacingHorizontalM);\n grid-template-columns: 1fr 1fr 1fr;\n padding: 0;\n}\n\n/* TODO: What is the good width to show as 3 columns? Web Chat, by default, has a bubble max width of 480px. */\n@container webchat-container (width <= 480px) {\n :global(.webchat-fluent) .pre-chat-message-activity__card-action-toolbar-grid {\n grid-template-columns: 1fr;\n }\n}\n","import { hooks, type SendBoxFocusOptions } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useRef, useState, type FormEventHandler, type MouseEventHandler } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { SendIcon } from '../../icons';\nimport { useStyles, useVariantClassName } from '../../styles';\nimport testIds from '../../testIds';\nimport { DropZone } from '../dropZone';\nimport { SuggestedActions } from '../suggestedActions';\nimport { TelephoneKeypadSurrogate, useTelephoneKeypadShown, type DTMF } from '../telephoneKeypad';\nimport AddAttachmentButton from './AddAttachmentButton';\nimport Attachments from './Attachments';\nimport ErrorMessage from './ErrorMessage';\nimport useSubmitError from './private/useSubmitError';\nimport useTranscriptNavigation from './private/useTranscriptNavigation';\nimport useUniqueId from './private/useUniqueId';\nimport styles from './SendBox.module.css';\nimport TelephoneKeypadToolbarButton from './TelephoneKeypadToolbarButton';\nimport TextArea from './TextArea';\nimport { Toolbar, ToolbarButton, ToolbarSeparator } from './Toolbar';\n\nconst {\n useFocus,\n useLocalizer,\n useMakeThumbnail,\n useRegisterFocusSendBox,\n useSendBoxAttachments,\n useSendBoxValue,\n useSendMessage,\n useStyleOptions,\n useUIState\n} = hooks;\n\ntype Props = Readonly<{\n className?: string | undefined;\n isPrimary?: boolean | undefined;\n placeholder?: string | undefined;\n}>;\n\nfunction SendBox(props: Props) {\n const [{ hideTelephoneKeypadButton, hideUploadButton, maxMessageLength }] = useStyleOptions();\n const [attachments, setAttachments] = useSendBoxAttachments();\n const [globalMessage, setGlobalMessage] = useSendBoxValue();\n const [localMessage, setLocalMessage] = useState('');\n const [telephoneKeypadShown] = useTelephoneKeypadShown();\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const variantClassName = useVariantClassName(styles);\n const errorMessageId = useUniqueId('sendbox__error-message-id');\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const localize = useLocalizer();\n const makeThumbnail = useMakeThumbnail();\n const sendMessage = useSendMessage();\n const setFocus = useFocus();\n\n const message = props.isPrimary ? globalMessage : localMessage;\n const setMessage = props.isPrimary ? setGlobalMessage : setLocalMessage;\n const isBlueprint = uiState === 'blueprint';\n\n const [errorMessage, commitLatestError] = useSubmitError({ message, attachments });\n const isMessageLengthExceeded = !!maxMessageLength && message.length > maxMessageLength;\n const shouldShowMessageLength =\n !isBlueprint && !telephoneKeypadShown && maxMessageLength && isFinite(maxMessageLength);\n const shouldShowTelephoneKeypad = !isBlueprint && telephoneKeypadShown;\n\n useRegisterFocusSendBox(\n useCallback(\n ({ noKeyboard, waitUntil }: SendBoxFocusOptions) => {\n if (!inputRef.current) {\n return;\n }\n if (noKeyboard) {\n waitUntil(\n (async () => {\n const previousReadOnly = inputRef.current?.getAttribute('readonly');\n inputRef.current?.setAttribute('readonly', 'true');\n // TODO: [P2] We should update this logic to handle quickly-successive `focusCallback`.\n // If a succeeding `focusCallback` is being called, the `setTimeout` should run immediately.\n // Or the second `focusCallback` should not set `readonly` to `true`.\n // eslint-disable-next-line no-restricted-globals\n await new Promise(resolve => setTimeout(resolve, 0));\n inputRef.current?.focus();\n if (typeof previousReadOnly !== 'string') {\n inputRef.current?.removeAttribute('readonly');\n } else {\n inputRef.current?.setAttribute('readonly', previousReadOnly);\n }\n })()\n );\n } else {\n inputRef.current?.focus();\n }\n },\n [inputRef]\n )\n );\n\n const attachmentsRef = useRefFrom(attachments);\n const messageRef = useRefFrom(message);\n\n const handleSendBoxClick = useCallback<MouseEventHandler>(\n event => {\n if ('tabIndex' in event.target && typeof event.target.tabIndex === 'number' && event.target.tabIndex >= 0) {\n return;\n }\n\n setFocus('sendBox');\n },\n [setFocus]\n );\n\n const handleMessageChange: React.FormEventHandler<HTMLTextAreaElement> = useCallback(\n event => setMessage(event.currentTarget.value),\n [setMessage]\n );\n\n const handleAddFiles = useCallback(\n async (inputFiles: File[]) => {\n const newAttachments = Object.freeze(\n await Promise.all(\n inputFiles.map(file =>\n makeThumbnail(file).then(thumbnailURL =>\n Object.freeze({\n blob: file,\n ...(thumbnailURL && { thumbnailURL })\n })\n )\n )\n )\n );\n\n setAttachments(newAttachments);\n\n // TODO: Currently in the UX, we have no way to remove attachments.\n // Keep concatenating doesn't make sense in current UX.\n // When end-user can remove attachment, we should enable the code again.\n // setAttachments(attachments => attachments.concat(newAttachments));\n },\n [makeThumbnail, setAttachments]\n );\n\n const handleFormSubmit: FormEventHandler<HTMLFormElement> = useCallback(\n event => {\n event.preventDefault();\n const error = commitLatestError();\n\n if (error !== 'empty' && !isMessageLengthExceeded) {\n sendMessage(messageRef.current, undefined, { attachments: attachmentsRef.current });\n\n setMessage('');\n setAttachments([]);\n }\n\n setFocus('sendBox');\n },\n [\n commitLatestError,\n isMessageLengthExceeded,\n setFocus,\n sendMessage,\n setMessage,\n messageRef,\n attachmentsRef,\n setAttachments\n ]\n );\n\n const handleTelephoneKeypadButtonClick = useCallback(\n // TODO: We need more official way of sending DTMF.\n (dtmf: DTMF) => sendMessage(`/DTMFKey ${dtmf}`),\n [sendMessage]\n );\n\n const handleTranscriptNavigation = useTranscriptNavigation();\n\n const aria = {\n 'aria-invalid': 'false' as const,\n ...(errorMessage && {\n 'aria-describedby': errorMessageId,\n 'aria-errormessage': errorMessageId,\n 'aria-invalid': 'true' as const\n })\n };\n\n return (\n <form\n {...aria}\n className={cx(classNames['sendbox'], variantClassName, props.className)}\n data-testid={testIds.sendBoxContainer}\n onSubmit={handleFormSubmit}\n >\n <SuggestedActions />\n <div\n className={cx(classNames['sendbox__sendbox'])}\n onClickCapture={handleSendBoxClick}\n onKeyDown={handleTranscriptNavigation}\n >\n <TextArea\n aria-label={isMessageLengthExceeded ? localize('TEXT_INPUT_LENGTH_EXCEEDED_ALT') : localize('TEXT_INPUT_ALT')}\n className={cx(classNames['sendbox__sendbox-text'], classNames['sendbox__text-area--in-grid'])}\n data-testid={testIds.sendBoxTextBox}\n hidden={shouldShowTelephoneKeypad}\n onInput={handleMessageChange}\n placeholder={props.placeholder ?? localize('TEXT_INPUT_PLACEHOLDER')}\n ref={inputRef}\n value={message}\n />\n <TelephoneKeypadSurrogate\n autoFocus={true}\n className={classNames['sendbox__telephone-keypad--in-grid']}\n isHorizontal={false}\n onButtonClick={handleTelephoneKeypadButtonClick}\n />\n <Attachments attachments={attachments} className={classNames['sendbox__attachment--in-grid']} />\n <div className={cx(classNames['sendbox__sendbox-controls'], classNames['sendbox__sendbox-controls--in-grid'])}>\n {shouldShowMessageLength && (\n <div\n className={cx(classNames['sendbox__text-counter'], {\n [classNames['sendbox__text-counter--error']]: isMessageLengthExceeded\n })}\n >\n {`${message.length}/${maxMessageLength}`}\n </div>\n )}\n <Toolbar>\n {!hideTelephoneKeypadButton && <TelephoneKeypadToolbarButton />}\n {!hideUploadButton && <AddAttachmentButton onFilesAdded={handleAddFiles} />}\n <ToolbarSeparator />\n <ToolbarButton\n aria-label={localize('TEXT_INPUT_SEND_BUTTON_ALT')}\n data-testid={testIds.sendBoxSendButton}\n disabled={isMessageLengthExceeded || shouldShowTelephoneKeypad}\n type=\"submit\"\n >\n <SendIcon />\n </ToolbarButton>\n </Toolbar>\n </div>\n <DropZone onFilesAdded={handleAddFiles} />\n <ErrorMessage error={errorMessage} id={errorMessageId} />\n </div>\n </form>\n );\n}\n\nconst PrimarySendBox = memo((props: Exclude<Props, 'primary'>) => <SendBox {...props} isPrimary={true} />);\n\nPrimarySendBox.displayName = 'PrimarySendBox';\n\nexport default memo(SendBox);\n\nexport { PrimarySendBox };\n","import React, { memo } from 'react';\n\nfunction AddDocumentIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 2a2 2 0 0 0-2 2v5.2c.32-.08.66-.15 1-.18V4a1 1 0 0 1 1-1h4v3.5c0 .83.67 1.5 1.5 1.5H15v8a1 1 0 0 1-1 1h-3.6c-.18.36-.4.7-.66 1H14a2 2 0 0 0 2-2V7.41c0-.4-.16-.78-.44-1.06l-3.91-3.91A1.5 1.5 0 0 0 10.59 2H6Zm8.8 5h-3.3a.5.5 0 0 1-.5-.5V3.2L14.8 7ZM10 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H6v-1.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(AddDocumentIcon);\n","import React, { memo } from 'react';\n\nfunction AttachmentIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m4.83 10.48 5.65-5.65a3 3 0 0 1 4.25 4.24L8 15.8a1.5 1.5 0 0 1-2.12-2.12l6-6.01a.5.5 0 1 0-.7-.71l-6 6.01a2.5 2.5 0 0 0 3.53 3.54l6.71-6.72a4 4 0 1 0-5.65-5.66L4.12 9.78a.5.5 0 0 0 .7.7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(AttachmentIcon);\n","import React, { memo } from 'react';\n\nfunction InfoSmallIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 7.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3Zm.25-2a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1ZM2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(InfoSmallIcon);\n","import React, { memo } from 'react';\n\nfunction SendIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.18 2.11a.5.5 0 0 1 .54-.06l15 7.5a.5.5 0 0 1 0 .9l-15 7.5a.5.5 0 0 1-.7-.58L3.98 10 2.02 2.63a.5.5 0 0 1 .16-.52Zm2.7 8.39-1.61 6.06L16.38 10 3.27 3.44 4.88 9.5h6.62a.5.5 0 1 1 0 1H4.88Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(SendIcon);\n","import React, { memo } from 'react';\n\nfunction TelephoneKeypadIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm0 4a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM7.25 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 16a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM14 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM15.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM14 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(TelephoneKeypadIcon);\n","import { hooks } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useEffect, useRef, useState, type DragEventHandler } from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\nimport { AddDocumentIcon } from '../../icons';\nimport testIds from '../../testIds';\nimport styles from './DropZone.module.css';\nimport { useStyles } from '../../styles';\n\nconst { useLocalizer } = hooks;\n\nconst handleDragOver: DragEventHandler<HTMLDivElement> = event => {\n // This is for preventing the browser from opening the dropped file in a new tab.\n event.preventDefault();\n};\n\n// Notes: For files dragging from outside of browser, it only tell us if it is a \"File\" instead of \"text/plain\" or \"text/uri-list\".\n// For images dragging inside of browser, it only tell us that it is \"text/plain\", \"text/uri-list\" and \"text/html\". But not \"image/*\".\n// So we cannot allowlist what is droppable.\n// We are using case-insensitive of type \"files\" so we can drag in WebDriver.\nconst isFilesTransferEvent = (event: DragEvent) =>\n !!event.dataTransfer?.types?.some(type => type.toLowerCase() === 'files');\n\nfunction isDescendantOf(target: Node, ancestor: Node): boolean {\n let current = target.parentNode;\n\n while (current) {\n if (current === ancestor) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return false;\n}\n\nconst DropZone = (props: { readonly onFilesAdded: (files: File[]) => void }) => {\n const [dropZoneState, setDropZoneState] = useState<false | 'visible' | 'droppable'>(false);\n const classNames = useStyles(styles);\n const dropZoneRef = useRef<HTMLDivElement>(null);\n const localize = useLocalizer();\n const onFilesAddedRef = useRefFrom(props.onFilesAdded);\n\n useEffect(() => {\n let entranceCounter = 0;\n\n const handleDragEnter = (event: DragEvent) => {\n entranceCounter++;\n\n if (isFilesTransferEvent(event)) {\n setDropZoneState(\n dropZoneRef.current &&\n (event.target === dropZoneRef.current ||\n (event.target instanceof HTMLElement && isDescendantOf(event.target, dropZoneRef.current)))\n ? 'droppable'\n : 'visible'\n );\n }\n };\n\n const handleDragLeave = () => --entranceCounter <= 0 && setDropZoneState(false);\n\n const handleDragEnd = () => {\n entranceCounter = 0;\n setDropZoneState(false);\n };\n\n document.addEventListener('dragenter', handleDragEnter, false);\n document.addEventListener('dragleave', handleDragLeave, false);\n document.addEventListener('dragend', handleDragEnd, false);\n\n return () => {\n document.removeEventListener('dragenter', handleDragEnter);\n document.removeEventListener('dragleave', handleDragLeave);\n document.removeEventListener('dragend', handleDragEnd);\n };\n }, [setDropZoneState]);\n\n const handleDrop = useCallback<DragEventHandler<HTMLDivElement>>(\n event => {\n event.preventDefault();\n\n setDropZoneState(false);\n\n if (!isFilesTransferEvent(event.nativeEvent)) {\n return;\n }\n\n onFilesAddedRef.current([...event.dataTransfer.files]);\n },\n [onFilesAddedRef, setDropZoneState]\n );\n\n return dropZoneState ? (\n <div\n className={cx(classNames['sendbox__attachment-drop-zone'], {\n [classNames['sendbox__attachment-drop-zone--droppable']]: dropZoneState === 'droppable'\n })}\n data-testid={testIds.sendBoxDropZone}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n ref={dropZoneRef}\n >\n <AddDocumentIcon className={classNames['sendbox__attachment-drop-zone-icon']} />\n {localize('TEXT_INPUT_DROP_ZONE')}\n </div>\n ) : null;\n};\n\nDropZone.displayName = 'DropZone';\n\nexport default memo(DropZone);\n",":global(.webchat-fluent) .sendbox__attachment-drop-zone {\n background-color: var(--webchat-colorNeutralBackground4);\n border-radius: inherit;\n cursor: copy;\n display: grid;\n gap: 8px;\n inset: 0;\n place-content: center;\n place-items: center;\n position: absolute;\n transition: all var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n}\n\n:global(.webchat-fluent) .sendbox__attachment-drop-zone--droppable {\n background-color: var(--webchat-colorBrandBackground2Hover);\n}\n\n:global(.webchat-fluent) .sendbox__attachment-drop-zone-icon {\n height: 36px;\n /* Set \"pointer-events: none\" to ignore dragging over the icon. Otherwise, when dragging over the icon; it would disable the \"--droppable\" modifier.*/\n pointer-events: none;\n width: 36px;\n}\n","import { hooks } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, type ReactNode } from 'react';\nimport { useStyles } from '../../styles';\nimport { isPreChatMessageActivity } from '../preChatActivity';\nimport computeSuggestedActionText from './private/computeSuggestedActionText';\nimport RovingFocusProvider from './private/rovingFocus';\nimport SuggestedAction from './SuggestedAction';\nimport styles from './SuggestedActions.module.css';\n\nconst { useFocus, useLocalizer, useStyleOptions, useStyleSet, useSuggestedActions, useUIState } = hooks;\n\nfunction SuggestedActionStackedOrFlowContainer(\n props: Readonly<{\n 'aria-label'?: string | undefined;\n children?: ReactNode | undefined;\n className?: string | undefined;\n }>\n) {\n const [{ suggestedActionLayout }] = useStyleOptions();\n const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet();\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n\n return (\n <div\n aria-label={props['aria-label']}\n aria-orientation=\"vertical\"\n className={cx(\n classNames['suggested-actions'],\n suggestedActionsStyleSet + '',\n {\n [classNames['suggested-actions--flow']]: suggestedActionLayout === 'flow',\n [classNames['suggested-actions--stacked']]: suggestedActionLayout !== 'flow'\n },\n props.className\n )}\n role=\"toolbar\"\n >\n {uiState !== 'blueprint' && props.children}\n </div>\n );\n}\n\nfunction SuggestedActions() {\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const [suggestedActions, _, { activity }] = useSuggestedActions();\n const focus = useFocus();\n\n const handleEscapeKey = useCallback(() => {\n focus('sendBox');\n }, [focus]);\n\n const children = isPreChatMessageActivity(activity)\n ? [] // Do not show suggested actions for pre-chat message, suggested actions has already shown inlined.\n : suggestedActions.map((cardAction, index) => {\n const { displayText, image, imageAltText, text, type, value } = cardAction as {\n displayText?: string;\n image?: string;\n imageAltText?: string;\n text?: string;\n type:\n | 'call'\n | 'downloadFile'\n | 'imBack'\n | 'messageBack'\n | 'openUrl'\n | 'playAudio'\n | 'playVideo'\n | 'postBack'\n | 'showImage'\n | 'signin';\n value?: { [key: string]: any } | string;\n };\n\n if (!suggestedActions?.length) {\n return null;\n }\n\n return (\n <SuggestedAction\n buttonText={computeSuggestedActionText(cardAction)}\n displayText={displayText}\n image={image}\n // Image alt text should use `imageAltText` field and fallback to `text` field.\n // https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#image-alt-text\n imageAlt={image && (imageAltText || text)}\n itemIndex={index}\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n text={text}\n type={type}\n value={value}\n />\n );\n });\n\n return (\n <RovingFocusProvider onEscapeKey={handleEscapeKey}>\n <SuggestedActionStackedOrFlowContainer\n aria-label={localize('SUGGESTED_ACTIONS_LABEL_ALT')}\n className={classNames['suggested-actions']}\n >\n {children}\n </SuggestedActionStackedOrFlowContainer>\n </RovingFocusProvider>\n );\n}\n\nexport default memo(SuggestedActions);\n","import type { DirectLineCardAction } from 'botframework-webchat-core';\n\n// Please refer to this article to find out how to compute the \"button text\" for suggested action.\n// https://github.com/Microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#card-action\nexport default function computeSuggestedActionText(cardAction: DirectLineCardAction) {\n // \"CardAction\" must contains at least image or title.\n const { title } = cardAction as { title?: string };\n const { type, value } = cardAction;\n\n if (type === 'messageBack') {\n return title || cardAction.displayText;\n } else if (title) {\n return title;\n } else if (typeof value === 'string') {\n return value;\n }\n\n return JSON.stringify(value);\n}\n\n// TODO: [P1] This is copied from botframework-webchat-component. Think about what we should do to eliminate duplications.\n","/* eslint-disable no-magic-numbers */\nimport React, {\n type MutableRefObject,\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef\n} from 'react';\n\ntype ItemRef = MutableRefObject<HTMLElement | undefined>;\n\ntype RovingFocusContextType = {\n itemEffector: <T extends HTMLElement>(ref: MutableRefObject<T | null>, index: number) => () => void;\n};\n\nconst RovingFocusContext = createContext<RovingFocusContextType>({\n itemEffector: () => {\n // This will be implemented when using in <RovingFocusProvider>.\n throw new Error('botframework-webchat-fluent-theme rovingFocus: no provider for RovingFocusContext.');\n }\n});\n\nfunction RovingFocusProvider(\n props: Readonly<{\n children?: React.ReactNode | undefined;\n direction?: 'vertical' | 'horizontal' | undefined;\n onEscapeKey?: () => void;\n }>\n) {\n const activeItemIndexRef = useRef(0);\n const itemRefsRef = useRef<ItemRef[]>([]);\n\n const updateItemTabIndex = useCallback(\n ({ current }: ItemRef, index: number) =>\n current && (current.tabIndex = activeItemIndexRef.current === index ? 0 : -1),\n [activeItemIndexRef]\n );\n\n const setActiveItemIndex = useCallback(\n (valueOrFunction: number | ((value: number) => number)) => {\n // All calls to this function is expected to be under event handlers (post-rendering).\n let nextActiveItemIndex;\n\n if (typeof valueOrFunction === 'number') {\n nextActiveItemIndex = valueOrFunction;\n } else {\n nextActiveItemIndex = valueOrFunction(activeItemIndexRef.current);\n }\n\n // If the index points to no item, fallback to the first item.\n // This makes sure at least one of the item in the container is selected.\n if (nextActiveItemIndex && !itemRefsRef.current.at(nextActiveItemIndex)?.current) {\n nextActiveItemIndex = 0;\n }\n\n if (activeItemIndexRef.current !== nextActiveItemIndex) {\n activeItemIndexRef.current = nextActiveItemIndex;\n\n itemRefsRef.current.forEach((ref, index) => updateItemTabIndex(ref, index));\n itemRefsRef.current.at(nextActiveItemIndex)?.current?.focus();\n }\n },\n [updateItemTabIndex, itemRefsRef, activeItemIndexRef]\n );\n\n const handleFocus = useCallback(\n event => {\n const { target } = event;\n\n const index = itemRefsRef.current.findIndex(({ current }) => current === target);\n\n // prevent focusing the last element, if we didn't found the element focused\n if (index !== -1) {\n setActiveItemIndex(index);\n }\n },\n [itemRefsRef, setActiveItemIndex]\n );\n\n const handleSetNextActive = useCallback(\n (key: string) =>\n (currentIndex: number): number => {\n const isUnidirectional = !props.direction;\n const isVerticalMove = /up|down/iu.test(key) && props.direction === 'vertical';\n const isHorizontalMove = /left|right/iu.test(key) && props.direction === 'horizontal';\n const isForwardMove = /right|down/iu.test(key);\n const direction = isUnidirectional || isVerticalMove || isHorizontalMove ? (isForwardMove ? 1 : -1) : 0;\n // The `itemRefsRef` array could be a sparse array.\n // Thus, the next item may not be immediately next to the current one.\n const itemIndices = itemRefsRef.current.map((_, index) => index);\n const nextIndex = itemIndices.indexOf(currentIndex) + direction;\n\n return itemIndices.at(nextIndex) ?? 0;\n },\n [props.direction]\n );\n\n const handleKeyDown = useCallback<(event: KeyboardEvent) => void>(\n event => {\n const { key } = event;\n\n switch (key) {\n case 'Up':\n case 'ArrowUp':\n case 'Left':\n case 'ArrowLeft':\n case 'Down':\n case 'ArrowDown':\n case 'Right':\n case 'ArrowRight':\n setActiveItemIndex(handleSetNextActive(key));\n break;\n\n case 'Home':\n setActiveItemIndex(0);\n break;\n\n case 'End':\n setActiveItemIndex(-1);\n break;\n\n case 'Escape':\n props.onEscapeKey?.();\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n },\n [setActiveItemIndex, handleSetNextActive, props]\n );\n\n const itemEffector = useCallback(\n (ref, index) => {\n const { current } = ref;\n\n itemRefsRef.current[Number(index)] = ref;\n\n current.addEventListener('focus', handleFocus);\n current.addEventListener('keydown', handleKeyDown);\n\n updateItemTabIndex(ref, index);\n\n return () => {\n current.removeEventListener('focus', handleFocus);\n current.removeEventListener('keydown', handleKeyDown);\n\n delete itemRefsRef.current[Number(index)];\n };\n },\n [handleFocus, handleKeyDown, updateItemTabIndex, itemRefsRef]\n );\n\n const value = useMemo<RovingFocusContextType>(\n () => ({\n itemEffector\n }),\n [itemEffector]\n );\n\n return <RovingFocusContext.Provider value={value}>{props.children}</RovingFocusContext.Provider>;\n}\n\nexport function useRovingFocusItemRef<T extends HTMLElement>(itemIndex: number): MutableRefObject<T | null> {\n const ref = useRef<T>(null);\n\n const { itemEffector } = useContext(RovingFocusContext);\n\n useEffect(() => itemEffector(ref, itemIndex));\n\n return ref;\n}\n\nexport default memo(RovingFocusProvider);\n","import { hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { MouseEventHandler, memo, useCallback } from 'react';\n\nimport { useStyles } from '../../styles';\nimport testIds from '../../testIds';\nimport AccessibleButton from './AccessibleButton';\nimport { useRovingFocusItemRef } from './private/rovingFocus';\nimport styles from './SuggestedAction.module.css';\n\nconst { useFocus, usePerformCardAction, useScrollToEnd, useStyleSet, useSuggestedActions, useUIState } = hooks;\n\ntype SuggestedActionProps = Readonly<{\n buttonText: string | undefined;\n className?: string | undefined;\n displayText?: string | undefined;\n image?: string | undefined;\n imageAlt?: string | undefined;\n itemIndex: number;\n text?: string | undefined;\n type?:\n | 'call'\n | 'downloadFile'\n | 'imBack'\n | 'messageBack'\n | 'openUrl'\n | 'playAudio'\n | 'playVideo'\n | 'postBack'\n | 'showImage'\n | 'signin';\n value?: any;\n}>;\n\nfunction SuggestedAction({\n buttonText,\n className,\n displayText,\n image,\n imageAlt,\n itemIndex,\n text,\n type,\n value\n}: SuggestedActionProps) {\n const [_, setSuggestedActions] = useSuggestedActions();\n const [{ suggestedAction: suggestedActionStyleSet }] = useStyleSet();\n const [uiState] = useUIState();\n const focus = useFocus();\n const focusRef = useRovingFocusItemRef<HTMLButtonElement>(itemIndex);\n const performCardAction = usePerformCardAction();\n const classNames = useStyles(styles);\n const scrollToEnd = useScrollToEnd();\n\n const handleClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n ({ target }) => {\n (async function () {\n // We need to focus to the send box before we are performing this card action.\n // The will make sure the focus is always on Web Chat.\n // Otherwise, the focus may momentarily send to `document.body` and screen reader will be confused.\n await focus('sendBoxWithoutKeyboard');\n\n // TODO: [P3] #XXX We should not destruct DirectLineCardAction into React props and pass them in. It makes typings difficult.\n // Instead, we should pass a \"cardAction\" props.\n performCardAction({ displayText, text, type, value } as DirectLineCardAction, { target });\n\n // Since \"openUrl\" action do not submit, the suggested action buttons do not hide after click.\n type === 'openUrl' && setSuggestedActions([]);\n\n scrollToEnd();\n })();\n },\n [displayText, focus, performCardAction, scrollToEnd, setSuggestedActions, text, type, value]\n );\n\n return (\n <AccessibleButton\n className={cx(classNames['suggested-action'], suggestedActionStyleSet + '', (className || '') + '')}\n data-testid={testIds.sendBoxSuggestedAction}\n disabled={uiState === 'disabled'}\n onClick={handleClick}\n ref={focusRef}\n type=\"button\"\n >\n {image && <img alt={imageAlt} className={classNames['suggested-action__image']} src={image} />}\n <span>{buttonText}</span>\n </AccessibleButton>\n );\n}\n\nexport default memo(SuggestedAction);\n","import React, { MouseEventHandler, ReactNode, forwardRef, memo, useRef } from 'react';\n\nconst preventDefaultHandler: MouseEventHandler<HTMLButtonElement> = event => event.preventDefault();\n\ntype AccessibleButtonProps = Readonly<{\n 'aria-hidden'?: boolean | undefined;\n 'data-testid'?: string | undefined;\n children?: ReactNode | undefined;\n className?: string | undefined;\n disabled?: boolean | undefined;\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n tabIndex?: number | undefined;\n type: 'button';\n}>;\n\n// Differences between <button> and <AccessibleButton>:\n// - Disable behavior\n// - When the widget is disabled\n// - Set \"aria-disabled\" attribute to \"true\"\n// - Set \"readonly\" attribute\n// - Set \"tabIndex\" to -1\n// - Remove \"onClick\" handler\n// - Why this is needed\n// - Browser compatibility: when the widget is disabled, different browser send focus to different places\n// - When the widget become disabled, it's reasonable to keep the focus on the same widget for an extended period of time\n// - When the user presses TAB after the current widget is disabled, it should jump to the next non-disabled widget\n\n// Developers using this accessible widget will need to:\n// - Style the disabled widget themselves, using CSS query `:disabled, [aria-disabled=\"true\"] {}`\n// - Modify all code that check disabled through \"disabled\" attribute to use aria-disabled=\"true\" instead\n// - aria-disabled=\"true\" is the source of truth\n// - If the widget is contained by a <form>, the developer need to filter out some `onSubmit` event caused by this widget\n\nconst AccessibleButton = forwardRef<HTMLButtonElement, AccessibleButtonProps>(\n (\n { 'aria-hidden': ariaHidden, children, className, 'data-testid': dataTestId, disabled, onClick, tabIndex },\n forwardedRef\n ) => {\n const targetRef = useRef<HTMLButtonElement>(null);\n\n const ref = forwardedRef || targetRef;\n\n return (\n <button\n aria-disabled={disabled ? 'true' : undefined}\n aria-hidden={ariaHidden}\n className={className}\n data-testid={dataTestId}\n onClick={disabled ? preventDefaultHandler : onClick}\n ref={ref}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : tabIndex}\n type=\"button\"\n >\n {children}\n </button>\n );\n }\n);\n\nexport default memo(AccessibleButton);\n",":global(.webchat-fluent) .suggested-action {\n align-items: center;\n background: transparent;\n border-radius: var(--webchat-borderRadiusXLarge);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorBrandStroke2);\n color: currentColor;\n cursor: pointer;\n display: flex;\n font-family: var(--webchat__font--primary);\n font-size: var(--webchat-fontSizeBase200);\n gap: var(--webchat-spacingHorizontalXS);\n padding: var(--webchat-spacingVerticalXS) var(--webchat-spacingHorizontalS);\n text-align: start;\n transition: all var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n\n @media (hover: hover) {\n &:not([aria-disabled='true']):hover {\n background-color: var(--webchat-colorBrandBackground2Hover);\n color: var(--webchat-colorBrandForeground2Hover);\n }\n }\n &:not([aria-disabled='true']):active {\n background-color: var(--webchat-colorBrandBackground2Pressed);\n color: var(--webchat-colorBrandForeground2Pressed);\n }\n &[aria-disabled='true'] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n cursor: not-allowed;\n }\n}\n\n:global(.webchat-fluent) .suggested-action__image {\n font-size: var(--webchat-fontSizeBase200);\n height: 1em;\n width: 1em;\n}\n",":global(.webchat-fluent) .suggested-actions {\n align-items: flex-end;\n align-self: flex-end;\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:not(:empty) {\n padding-block-end: 8px;\n padding-inline-start: 4px;\n }\n\n &.suggested-actions--flow {\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n }\n\n &.suggested-actions--stacked {\n flex-direction: column;\n }\n}\n","import React, { memo, useMemo, useState, type ReactNode } from 'react';\n\nimport Context from './private/Context';\n\ntype Props = Readonly<{ children?: ReactNode | undefined }>;\n\nconst Provider = memo(({ children }: Props) => {\n const [shown, setShown] = useState(false);\n\n const context = useMemo(\n () =>\n Object.freeze({\n setShown,\n shown\n }),\n [setShown, shown]\n );\n\n return <Context.Provider value={context}>{children}</Context.Provider>;\n});\n\nexport default Provider;\n","import { createContext, type Dispatch, type SetStateAction } from 'react';\n\ntype ContextType = Readonly<{\n setShown: Dispatch<SetStateAction<boolean>>;\n shown: boolean;\n}>;\n\nconst Context = createContext<ContextType>(\n new Proxy({} as ContextType, {\n get() {\n throw new Error('botframework-webchat: This hook can only used under its corresponding <Provider>.');\n }\n })\n);\n\nContext.displayName = 'TelephoneKeypad.Context';\n\nexport default Context;\n","import React, { memo } from 'react';\n\nimport type { PropsOf } from '../../types';\nimport TelephoneKeypad from './private/TelephoneKeypad';\nimport useShown from './useShown';\n\ntype Props = PropsOf<typeof TelephoneKeypad>;\n\nconst TelephoneKeypadSurrogate = memo((props: Props) => (useShown()[0] ? <TelephoneKeypad {...props} /> : null));\n\nTelephoneKeypadSurrogate.displayName = 'TelephoneKeypad.Surrogate';\n\nexport default TelephoneKeypadSurrogate;\n","import { Components } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useEffect, useRef, type KeyboardEventHandler, type ReactNode } from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\nimport Button from './Button';\n// import HorizontalDialPadController from './HorizontalDialPadController';\nimport testIds from '../../../testIds';\nimport { type DTMF } from '../types';\nimport useShown from '../useShown';\nimport styles from './TelephoneKeypad.module.css';\nimport { useStyles } from '../../../styles';\nimport { InfoSmallIcon } from '../../../icons';\n\nconst { LocalizedString } = Components;\n\ntype Props = Readonly<{\n autoFocus?: boolean | undefined;\n className?: string | undefined;\n isHorizontal: boolean;\n onButtonClick: (button: DTMF) => void;\n}>;\n\nconst Orientation = memo(\n ({ children, isHorizontal }: Readonly<{ children?: ReactNode | undefined; isHorizontal: boolean }>) => {\n const classNames = useStyles(styles);\n\n return isHorizontal ? null : ( // <HorizontalDialPadController>{children}</HorizontalDialPadController>\n <div className={classNames['telephone-keypad__box']}>{children}</div>\n );\n }\n);\n\nOrientation.displayName = 'TelephoneKeypad:Orientation';\n\nconst TelephoneKeypad = memo(({ autoFocus, className, onButtonClick, isHorizontal }: Props) => {\n const autoFocusRef = useRefFrom(autoFocus);\n const classNames = useStyles(styles);\n const firstButtonRef = useRef<HTMLButtonElement>(null);\n const onButtonClickRef = useRefFrom(onButtonClick);\n const [, setShown] = useShown();\n\n const handleButton1Click = useCallback(() => onButtonClickRef.current?.('1'), [onButtonClickRef]);\n const handleButton2Click = useCallback(() => onButtonClickRef.current?.('2'), [onButtonClickRef]);\n const handleButton3Click = useCallback(() => onButtonClickRef.current?.('3'), [onButtonClickRef]);\n const handleButton4Click = useCallback(() => onButtonClickRef.current?.('4'), [onButtonClickRef]);\n const handleButton5Click = useCallback(() => onButtonClickRef.current?.('5'), [onButtonClickRef]);\n const handleButton6Click = useCallback(() => onButtonClickRef.current?.('6'), [onButtonClickRef]);\n const handleButton7Click = useCallback(() => onButtonClickRef.current?.('7'), [onButtonClickRef]);\n const handleButton8Click = useCallback(() => onButtonClickRef.current?.('8'), [onButtonClickRef]);\n const handleButton9Click = useCallback(() => onButtonClickRef.current?.('9'), [onButtonClickRef]);\n const handleButton0Click = useCallback(() => onButtonClickRef.current?.('0'), [onButtonClickRef]);\n const handleButtonStarClick = useCallback(() => onButtonClickRef.current?.('*'), [onButtonClickRef]);\n const handleButtonPoundClick = useCallback(() => onButtonClickRef.current?.('#'), [onButtonClickRef]);\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n event => {\n if (event.key === 'Escape') {\n // TODO: Should send focus to the send box.\n setShown(false);\n }\n },\n [setShown]\n );\n\n useEffect(() => {\n autoFocusRef.current && firstButtonRef.current?.focus();\n }, [autoFocusRef, firstButtonRef]);\n\n return (\n <div className={cx(classNames['telephone-keypad'], className)} onKeyDown={handleKeyDown}>\n <Orientation isHorizontal={isHorizontal}>\n <Button\n button=\"1\"\n data-testid={testIds.sendBoxTelephoneKeypadButton1}\n onClick={handleButton1Click}\n ref={firstButtonRef}\n />\n <Button\n button=\"2\"\n data-testid={testIds.sendBoxTelephoneKeypadButton2}\n onClick={handleButton2Click}\n ruby=\"ABC\"\n />\n <Button\n button=\"3\"\n data-testid={testIds.sendBoxTelephoneKeypadButton3}\n onClick={handleButton3Click}\n ruby=\"DEF\"\n />\n <Button\n button=\"4\"\n data-testid={testIds.sendBoxTelephoneKeypadButton4}\n onClick={handleButton4Click}\n ruby=\"GHI\"\n />\n <Button\n button=\"5\"\n data-testid={testIds.sendBoxTelephoneKeypadButton5}\n onClick={handleButton5Click}\n ruby=\"JKL\"\n />\n <Button\n button=\"6\"\n data-testid={testIds.sendBoxTelephoneKeypadButton6}\n onClick={handleButton6Click}\n ruby=\"MNO\"\n />\n <Button\n button=\"7\"\n data-testid={testIds.sendBoxTelephoneKeypadButton7}\n onClick={handleButton7Click}\n ruby=\"PQRS\"\n />\n <Button\n button=\"8\"\n data-testid={testIds.sendBoxTelephoneKeypadButton8}\n onClick={handleButton8Click}\n ruby=\"TUV\"\n />\n <Button\n button=\"9\"\n data-testid={testIds.sendBoxTelephoneKeypadButton9}\n onClick={handleButton9Click}\n ruby=\"WXYZ\"\n />\n <Button button=\"*\" data-testid={testIds.sendBoxTelephoneKeypadButtonStar} onClick={handleButtonStarClick} />\n <Button button=\"0\" data-testid={testIds.sendBoxTelephoneKeypadButton0} onClick={handleButton0Click} ruby=\"+\" />\n <Button button=\"#\" data-testid={testIds.sendBoxTelephoneKeypadButtonPound} onClick={handleButtonPoundClick} />\n </Orientation>\n <div className={classNames['telephone-keypad__info-message']}>\n <InfoSmallIcon />\n <LocalizedString\n linkClassName={classNames['telephone-keypad__info-message-link']}\n stringIds=\"TELEPHONE_KEYPAD_INPUT_MESSAGE\"\n />\n </div>\n </div>\n );\n});\n\nTelephoneKeypad.displayName = 'TelephoneKeypad';\n\nexport default TelephoneKeypad;\n","import React, { forwardRef, memo, useCallback, type Ref } from 'react';\n\nimport { useRefFrom } from 'use-ref-from';\n\nimport { type DTMF } from '../types';\n\nimport styles from './Button.module.css';\nimport { useStyles } from '../../../styles';\n\ntype Props = Readonly<{\n button: DTMF;\n ['data-testid']?: string | undefined;\n onClick?: (() => void) | undefined;\n ruby?: string | undefined;\n}>;\n\nconst Button = memo(\n forwardRef(({ button, 'data-testid': dataTestId, onClick, ruby }: Props, ref: Ref<HTMLButtonElement>) => {\n const classNames = useStyles(styles);\n const onClickRef = useRefFrom(onClick);\n\n const handleClick = useCallback(() => onClickRef.current?.(), [onClickRef]);\n\n return (\n <button\n className={classNames['telephone-keypad__button']}\n data-testid={dataTestId}\n onClick={handleClick}\n ref={ref}\n type=\"button\"\n >\n <span className={classNames['telephone-keypad__button__text']}>{button === '*' ? '\\u2217' : button}</span>\n {!!ruby && <ruby className={classNames['telephone-keypad__button__ruby']}>{ruby}</ruby>}\n </button>\n );\n })\n);\n\nButton.displayName = 'TelephoneKeypad.Button';\n\nexport default Button;\n",":global(.webchat-fluent) .telephone-keypad__button {\n -webkit-user-select: none;\n align-items: center;\n appearance: none;\n /* backgroundColor: isDarkTheme() || isHighContrastTheme() ? black : white, */\n background-color: White;\n border-radius: 100%;\n\n /* Whitelabel styles */\n /* border: `solid 1px ${isHighContrastTheme() ? white : isDarkTheme() ? gray160 : gray40}`, */\n /* color: inherit; */\n\n border: solid 1px var(--webchat-colorNeutralStroke1);\n color: var(--webchat-colorGray200);\n font-weight: var(--webchat-fontWeightSemibold);\n\n cursor: pointer;\n display: flex;\n flex-direction: column;\n height: 60px;\n opacity: 0.7;\n padding: 0;\n position: relative;\n touch-action: none;\n user-select: none;\n width: 60px;\n\n &:hover {\n /* backgroundColor: isHighContrastTheme() ? gray210 : isDarkTheme() ? gray150 : gray30 */\n background-color: var(--webchat-colorGray30);\n }\n}\n\n:global(.webchat-fluent) .telephone-keypad__button__ruby {\n /* color: isHighContrastTheme() ? white : isDarkTheme() ? gray40 : gray160, */\n color: var(--webchat-colorGray190);\n font-size: 10px;\n}\n\n:global(.webchat-fluent) .telephone-keypad__button__text {\n font-size: 24px;\n margin-top: 8px;\n}\n\n:global(.webchat-fluent) .telephone-keypad--horizontal {\n & .telephone-keypad__button {\n height: 32px;\n justify-content: center;\n margin: 8px 4px;\n width: 32px;\n }\n\n .telephone-keypad__button__ruby {\n display: none;\n }\n\n & .telephone-keypad__button__text {\n font-size: 20px;\n margin-top: 0;\n }\n}\n","import { useContext, useMemo, type Dispatch, type SetStateAction } from 'react';\n\nimport Context from './private/Context';\n\nexport default function useShown(): readonly [boolean, Dispatch<SetStateAction<boolean>>] {\n const { setShown, shown } = useContext(Context);\n\n return useMemo(() => Object.freeze([shown, setShown]), [shown, setShown]);\n}\n",":global(.webchat-fluent) .telephone-keypad {\n /* Commented out whitelabel styles for now. */\n /* background: getHighContrastDarkThemeColor(highContrastColor: black, darkThemeColor: gray190, string, defaultColor: gray10), */\n /* borderRadius: '8px 8px 0px 0px; */\n /* boxShadow: '-3px 0px 7px 0px rgba(0, 0, 0, 0.13), -0.6px 0px 1.8px 0px rgba(0, 0, 0, 0.10)', */\n\n align-items: center;\n background: var(--webchat-colorNeutralBackground1);\n /* border: isHighContrastTheme() ? `1px solid ${white}` : none; */\n border: none;\n border-radius: var(--webchat-borderRadiusXLarge);\n /* boxShadow: var(--shadow16); */\n display: flex;\n flex-direction: column;\n font-family: var(--webchat-fontFamilyBase);\n justify-content: center;\n /* margin: var(--spacingHorizontalMNudge)' */\n}\n\n:global(.webchat-fluent) .telephone-keypad__box {\n box-sizing: border-box;\n display: grid;\n gap: 16px;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(4, 1fr);\n justify-items: center;\n padding: 16px;\n width: 100%;\n}\n\n:global(.webchat-fluent) .telephone-keypad__info-message {\n align-items: center;\n color: var(--webchat-colorNeutralForeground4);\n display: flex;\n font-size: 12px;\n gap: 6px;\n margin-block-end: 6px;\n}\n\n:global(.webchat-fluent) .telephone-keypad__info-message-link {\n color: var(--webchat-colorBrandForegroundLink);\n text-decoration-color: transparent;\n\n &:target {\n color: var(--webchat-colorBrandForegroundLinkSelected);\n }\n &:hover {\n color: var(--webchat-colorBrandForegroundLinkHover);\n text-decoration: underline 1px currentColor;\n }\n &:active {\n color: var(--webchat-colorBrandForegroundLinkPressed);\n }\n &:focus-visible {\n outline: none;\n text-decoration: underline 1px double var(--webchat-colorStrokeFocus2);\n }\n}\n","import { hooks } from 'botframework-webchat-component';\nimport React, { useCallback, useRef, type ChangeEventHandler, memo } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { AttachmentIcon } from '../../icons';\nimport testIds from '../../testIds';\nimport { ToolbarButton } from './Toolbar';\nimport styles from './AddAttachmentButton.module.css';\nimport { useStyles } from '../../styles';\n\nconst { useLocalizer, useStyleOptions } = hooks;\n\nfunction AddAttachmentButton(\n props: Readonly<{\n disabled?: boolean | undefined;\n onFilesAdded: ((files: File[]) => void) | undefined;\n }>\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const [{ uploadAccept, uploadMultiple }] = useStyleOptions();\n const onFilesAddedRef = useRefFrom(props.onFilesAdded);\n\n const handleClick = useCallback(() => inputRef.current?.click(), [inputRef]);\n\n const handleFileChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n ({ target: { files } }) => {\n if (files) {\n onFilesAddedRef.current?.([...files]);\n\n if (inputRef.current) {\n inputRef.current.value = '';\n }\n }\n },\n [inputRef, onFilesAddedRef]\n );\n\n return (\n <div className={classNames['sendbox__add-attachment']}>\n <input\n accept={uploadAccept}\n aria-disabled={props.disabled}\n aria-hidden=\"true\"\n className={classNames['sendbox__add-attachment-input']}\n multiple={uploadMultiple}\n onInput={props.disabled ? undefined : handleFileChange}\n readOnly={props.disabled}\n ref={inputRef}\n role=\"button\"\n tabIndex={-1}\n type=\"file\"\n />\n <ToolbarButton\n aria-label={localize('TEXT_INPUT_UPLOAD_BUTTON_ALT')}\n data-testid={testIds.sendBoxUploadButton}\n onClick={handleClick}\n >\n <AttachmentIcon />\n </ToolbarButton>\n </div>\n );\n}\n\nexport default memo(AddAttachmentButton);\n","import { hooks } from 'botframework-webchat-api';\nimport cx from 'classnames';\nimport React, { memo, type MouseEventHandler, type ReactNode } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './Toolbar.module.css';\n\nconst { useUIState } = hooks;\n\nconst preventDefaultHandler: MouseEventHandler<HTMLButtonElement> = event => event.preventDefault();\n\nexport const ToolbarButton = memo(\n (\n props: Readonly<{\n 'aria-label'?: string | undefined;\n children?: ReactNode | undefined;\n className?: string | undefined;\n 'data-testid'?: string | undefined;\n disabled?: boolean | undefined;\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n selected?: boolean | undefined;\n type?: 'button' | 'submit' | undefined;\n }>\n ) => {\n const classNames = useStyles(styles);\n const [uiState] = useUIState();\n\n const disabled = props.disabled || uiState === 'disabled';\n\n return (\n <button\n aria-disabled={disabled ? 'true' : undefined}\n aria-label={props['aria-label']}\n className={cx(classNames['sendbox__toolbar-button'], props.className, {\n [classNames['sendbox__toolbar-button--selected']]: props.selected\n })}\n data-testid={props['data-testid']}\n onClick={disabled ? preventDefaultHandler : props.onClick}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : undefined}\n type={props.type === 'submit' ? 'submit' : 'button'}\n >\n {props.children}\n </button>\n );\n }\n);\n\nToolbarButton.displayName = 'ToolbarButton';\n\nexport const Toolbar = memo((props: Readonly<{ children?: ReactNode | undefined; className?: string | undefined }>) => {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n\n return (\n <div className={cx(classNames['sendbox__toolbar'], props.className)}>\n {uiState !== 'blueprint' && props.children}\n </div>\n );\n});\n\nToolbar.displayName = 'Toolbar';\n\nexport const ToolbarSeparator = memo(\n (props: Readonly<{ children?: ReactNode | undefined; className?: string | undefined }>) => {\n const classNames = useStyles(styles);\n\n return (\n <div\n aria-orientation=\"vertical\"\n className={cx(classNames['sendbox__toolbar-separator'], props.className)}\n role=\"separator\"\n />\n );\n }\n);\n\nToolbarSeparator.displayName = 'ToolbarSeparator';\n",":global(.webchat-fluent) .sendbox__toolbar {\n --webchat__sendbox-button-height: 32px;\n\n display: flex;\n gap: 4px;\n height: var(--webchat__sendbox-button-height);\n margin-inline-start: auto;\n}\n\n:global(.webchat-fluent) .sendbox__toolbar-button {\n align-items: center;\n appearance: none;\n aspect-ratio: 1;\n background: transparent;\n border-radius: var(--webchat-borderRadiusSmall);\n border: none;\n color: currentColor;\n cursor: pointer;\n display: flex;\n height: var(--webchat__sendbox-button-height);\n justify-content: center;\n padding: 3px;\n\n > svg {\n font-size: 20px;\n pointer-events: none;\n }\n\n &.sendbox__toolbar-button--selected {\n color: var(--webchat-colorNeutralForeground2BrandSelected);\n }\n\n @media (hover: hover) {\n &:not([aria-disabled='true']):hover {\n color: var(--webchat-colorNeutralForeground2BrandHover);\n }\n }\n\n &:not([aria-disabled='true']):active {\n color: var(--webchat-colorNeutralForeground2BrandPressed);\n }\n\n &[aria-disabled='true'] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n cursor: not-allowed;\n }\n}\n\n:global(.webchat-fluent) .sendbox__toolbar-separator {\n align-self: center;\n border-inline-end: 1px solid var(--webchat-colorNeutralStroke2);\n height: 28px;\n\n &:first-child,\n &:last-child,\n &:only-child {\n display: none;\n }\n}\n",":global(.webchat-fluent) .sendbox__add-attachment {\n display: grid;\n}\n\n:global(.webchat-fluent) .sendbox__add-attachment-input {\n font-size: 0;\n height: 0;\n opacity: 0;\n width: 1px; /* iOS Safari does not honor 0px for the width. */\n}\n","import { hooks } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './Attachments.module.css';\n\nconst { useLocalizer, useUIState } = hooks;\n\nconst attachmentsPluralStringIds = {\n one: 'TEXT_INPUT_ATTACHMENTS_ONE',\n two: 'TEXT_INPUT_ATTACHMENTS_TWO',\n few: 'TEXT_INPUT_ATTACHMENTS_FEW',\n many: 'TEXT_INPUT_ATTACHMENTS_MANY',\n other: 'TEXT_INPUT_ATTACHMENTS_OTHER'\n};\n\nfunction Attachments({\n attachments,\n className\n}: Readonly<{\n readonly attachments: readonly Readonly<{ blob: Blob | File; thumbnailURL?: URL | undefined }>[];\n readonly className?: string | undefined;\n}>) {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const localizeWithPlural = useLocalizer({ plural: true });\n\n return uiState !== 'blueprint' && attachments.length ? (\n <div className={cx(classNames['sendbox__attachment'], className)}>\n {localizeWithPlural(attachmentsPluralStringIds, attachments.length)}\n </div>\n ) : null;\n}\n\nexport default memo(Attachments);\n",":global(.webchat-fluent) .sendbox__attachment {\n border-radius: var(--webchat-borderRadiusLarge);\n border: 1px solid var(--webchat-colorNeutralStroke1);\n cursor: default;\n padding: 6px 8px;\n width: fit-content;\n}\n","import { useLiveRegion } from 'botframework-webchat-component/internal';\nimport React, { memo } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './ErrorMessage.module.css';\n\ntype ErrorMessageProps = Readonly<{\n error?: string | undefined;\n id: string;\n}>;\n\nfunction ErrorMessage({ error, id }: ErrorMessageProps) {\n const classNames = useStyles(styles);\n\n useLiveRegion(() => error && <div className=\"sendbox__error-message__status\">{error}</div>, [error]);\n\n return (\n // eslint-disable-next-line react/forbid-dom-props\n <span className={classNames['sendbox__error-message']} id={id}>\n {error}\n </span>\n );\n}\n\nErrorMessage.displayName = 'ErrorMessage';\n\nexport default memo(ErrorMessage);\n",":global(.webchat-fluent) .sendbox__error-message {\n color: transparent;\n font-size: 0;\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n width: 0;\n}\n","import { hooks } from 'botframework-webchat-component';\nimport { useCallback, useMemo, useState } from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\nconst { useConnectivityStatus, useLocalizer } = hooks;\n\ntype ErrorMessageStringMap = ReadonlyMap<SendError, string>;\n\ntype SendError = 'empty' | 'offline';\n\nconst useSubmitError = ({\n attachments,\n message\n}: Readonly<{\n attachments: readonly Readonly<{ blob: Blob | File; thumbnailURL?: URL | undefined }>[];\n message: string;\n}>) => {\n const [connectivityStatus] = useConnectivityStatus();\n const [error, setError] = useState<SendError | undefined>();\n const localize = useLocalizer();\n\n const submitErrorRef = useRefFrom<'empty' | 'offline' | undefined>(\n connectivityStatus !== 'connected' && connectivityStatus !== 'reconnected'\n ? 'offline'\n : !message && !attachments.length\n ? 'empty'\n : undefined\n );\n\n const errorMessageStringMap = useMemo<ErrorMessageStringMap>(\n () =>\n Object.freeze(\n new Map<SendError, string>()\n .set('empty', localize('SEND_BOX_IS_EMPTY_TOOLTIP_ALT'))\n // TODO: [P0] We should add a new string for \"Cannot send message while offline.\"\n .set('offline', localize('CONNECTIVITY_STATUS_ALT_FATAL'))\n ),\n [localize]\n );\n\n // TODO: we may want to improve this later e.g. to avoid re-render\n // Reset visible error if there is a value\n const hasValue = !!message?.trim();\n if (error === 'empty' && hasValue) {\n setError(undefined);\n }\n\n const commitLatestError = useCallback(() => {\n setError(submitErrorRef.current);\n return submitErrorRef.current;\n }, [submitErrorRef]);\n\n return useMemo<Readonly<[string | undefined, () => typeof submitErrorRef.current]>>(\n () => Object.freeze([error && errorMessageStringMap.get(error), commitLatestError]),\n [error, errorMessageStringMap, commitLatestError]\n );\n};\n\nexport default useSubmitError;\n","import { useCallback, type KeyboardEvent } from 'react';\nimport { hooks } from 'botframework-webchat-component';\n\nconst { useScrollDown, useScrollUp } = hooks;\n\nexport default function useTranscriptNavigation() {\n const scrollDown = useScrollDown();\n const scrollUp = useScrollUp();\n\n return useCallback(\n (event: KeyboardEvent<unknown>) => {\n if (event.target instanceof HTMLTextAreaElement && event.target.value) {\n return;\n }\n\n const { ctrlKey, metaKey, shiftKey } = event;\n\n if (ctrlKey || metaKey || shiftKey) {\n return;\n }\n\n let handled = true;\n\n switch (event.key) {\n case 'End':\n scrollDown({ displacement: Infinity });\n break;\n\n case 'Home':\n scrollUp({ displacement: Infinity });\n break;\n\n case 'PageDown':\n scrollDown();\n break;\n\n case 'PageUp':\n scrollUp();\n break;\n\n default:\n handled = false;\n break;\n }\n\n if (handled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [scrollDown, scrollUp]\n );\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport { useMemo } from 'react';\n// TODO: fix math-random fails to import crypto\n// import random from 'math-random';\n\nexport default function useUniqueId(prefix?: string): string {\n const id = useMemo(() => Math.random().toString(36).substr(2, 5), []);\n\n prefix = prefix ? `${prefix}--` : '';\n\n return `${prefix}${id}`;\n}\n",":global(.webchat-fluent) .sendbox {\n --webchat__sendbox--padding: var(--webchat__padding--sendbox);\n\n color: var(--webchat-colorNeutralForeground1);\n font-family: var(--webchat-fontFamilyBase);\n padding: var(--webchat__sendbox--padding);\n text-rendering: optimizeLegibility;\n\n --webchat-sendbox-attachment-area-active: ;\n --webchat-sendbox-border-radius: var(--webchat-borderRadiusLarge);\n}\n\n/* Copilot variant */\n:global(.webchat-fluent) .sendbox.variant-copilot {\n .sendbox__text-counter:not(.sendbox__text-counter--error) {\n visibility: hidden;\n }\n}\n\n:global(.webchat-fluent) .sendbox__sendbox {\n background-color: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-sendbox-border-radius);\n border: 1px solid var(--webchat-colorNeutralStroke1);\n display: grid;\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n gap: 6px;\n grid-template:\n [telephone-keypad-start] 'text-area' [telephone-keypad-end]\n var(--webchat-sendbox-attachment-area-active)\n 'controls' / [telephone-keypad] 1fr;\n line-height: 20px;\n padding: 8px;\n position: relative;\n\n &:has(.sendbox__attachment--in-grid) {\n --webchat-sendbox-attachment-area-active: 'attachment';\n }\n\n &:focus-within {\n border-color: var(--webchat-colorNeutralStroke1Selected);\n }\n\n &::after {\n border-bottom-left-radius: var(--webchat-sendbox-border-radius);\n border-bottom-right-radius: var(--webchat-sendbox-border-radius);\n border-bottom: var(--webchat-strokeWidthThicker) solid var(--webchat-colorCompoundBrandForeground1Hover);\n bottom: -1px;\n clip-path: inset(calc(100% - var(--webchat-strokeWidthThicker)) 50% 0 50%);\n content: '';\n height: var(--webchat-sendbox-border-radius);\n left: -1px;\n position: absolute;\n right: -1px;\n transition: clip-path var(--webchat-durationUltraFast) var(--webchat-curveAccelerateMid);\n }\n\n &:focus-within::after {\n clip-path: inset(calc(100% - var(--webchat-strokeWidthThicker)) 0 0 0);\n transition: clip-path var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n }\n\n > .sendbox__text-area--in-grid {\n grid-area: text-area;\n }\n\n > .sendbox__attachment--in-grid {\n grid-area: attachment;\n }\n\n > .sendbox__sendbox-controls--in-grid {\n grid-area: controls;\n }\n\n > .sendbox__telephone-keypad--in-grid {\n grid-area: telephone-keypad;\n }\n}\n\n:global(.webchat-fluent) .sendbox__sendbox-text {\n background-color: transparent;\n border: none;\n flex: auto;\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n line-height: 20px;\n outline: none;\n padding: 4px 4px 0;\n resize: none;\n\n /* Prevent zoom on focus on iOS */\n @media only screen and (hover: none) and (pointer: coarse) {\n &:focus-within {\n font-size: 16px;\n }\n }\n}\n\n:global(.webchat-fluent) .sendbox__sendbox-controls {\n align-items: center;\n display: flex;\n padding-inline-start: 4px;\n}\n\n:global(.webchat-fluent) .sendbox__text-counter {\n color: var(--webchat-colorNeutralForeground4);\n cursor: default;\n font-family: var(--webchat-fontFamilyNumeric);\n font-size: 10px;\n line-height: 14px;\n margin-inline-end: 4px;\n}\n\n:global(.webchat-fluent) .sendbox__text-counter--error {\n color: var(--webchat-colorStatusDangerForeground1);\n}\n","import React, { memo, useCallback } from 'react';\n\nimport { hooks } from 'botframework-webchat-component';\nimport { TelephoneKeypadIcon } from '../../icons';\nimport testIds from '../../testIds';\nimport { useTelephoneKeypadShown } from '../telephoneKeypad';\nimport { ToolbarButton } from './Toolbar';\n\nconst { useLocalizer } = hooks;\n\nconst TelephoneKeypadToolbarButton = memo(() => {\n const [telephoneKeypadShown, setTelephoneKeypadShown] = useTelephoneKeypadShown();\n const localize = useLocalizer();\n\n const handleClick = useCallback(() => setTelephoneKeypadShown(shown => !shown), [setTelephoneKeypadShown]);\n\n return (\n <ToolbarButton\n aria-label={localize('TEXT_INPUT_TELEPHONE_KEYPAD_BUTTON_ALT')}\n data-testid={testIds.sendBoxTelephoneKeypadToolbarButton}\n onClick={handleClick}\n selected={telephoneKeypadShown}\n >\n <TelephoneKeypadIcon />\n </ToolbarButton>\n );\n});\n\nTelephoneKeypadToolbarButton.displayName = 'SendBox.TelephoneKeypadToolbarButton';\n\nexport default TelephoneKeypadToolbarButton;\n","import { hooks } from 'botframework-webchat-api';\nimport cx from 'classnames';\nimport React, { forwardRef, Fragment, useCallback, type FormEventHandler, type KeyboardEventHandler } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './TextArea.module.css';\n\nconst { useUIState } = hooks;\n\nconst TextArea = forwardRef<\n HTMLTextAreaElement,\n Readonly<{\n 'aria-label'?: string | undefined;\n className?: string | undefined;\n 'data-testid'?: string | undefined;\n\n /**\n * `true`, if the text area should be hidden but stay in the DOM, otherwise, `false`.\n *\n * Keeping the element in the DOM while making it invisible to users and PWDs is useful in these scenarios:\n *\n * - When the DTMF keypad is going away, we need to send focus to the text area before we unmount DTMF keypad,\n * This ensures the flow of focus did not sent to document body\n */\n hidden?: boolean | undefined;\n onInput?: FormEventHandler<HTMLTextAreaElement> | undefined;\n placeholder?: string | undefined;\n startRows?: number | undefined;\n value?: string | undefined;\n }>\n>((props, ref) => {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n\n const disabled = uiState === 'disabled';\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLTextAreaElement>>(event => {\n // Shift+Enter adds a new line\n // Enter requests related form submission\n if (!event.shiftKey && event.key === 'Enter') {\n event.preventDefault();\n\n if ('form' in event.target && event.target.form instanceof HTMLFormElement) {\n event.target?.form?.requestSubmit();\n }\n }\n }, []);\n\n return (\n <div\n className={cx(\n classNames['sendbox__text-area'],\n { [classNames['sendbox__text-area--hidden']]: props.hidden },\n props.className\n )}\n role={props.hidden ? 'hidden' : undefined}\n >\n {uiState === 'blueprint' ? (\n <div\n className={cx(\n classNames['sendbox__text-area-doppelganger'],\n classNames['sendbox__text-area-input--scroll'],\n classNames['sendbox__text-area-shared']\n )}\n >\n {' '}\n </div>\n ) : (\n <Fragment>\n <div\n className={cx(\n classNames['sendbox__text-area-doppelganger'],\n classNames['sendbox__text-area-input--scroll'],\n classNames['sendbox__text-area-shared']\n )}\n >\n {props.value || props.placeholder}{' '}\n </div>\n <textarea\n aria-disabled={disabled}\n aria-label={props['aria-label']}\n className={cx(\n classNames['sendbox__text-area-input'],\n classNames['sendbox__text-area-input--scroll'],\n classNames['sendbox__text-area-shared']\n )}\n data-testid={props['data-testid']}\n onInput={props.onInput}\n onKeyDown={handleKeyDown}\n placeholder={props.placeholder}\n readOnly={disabled}\n ref={ref}\n rows={props.startRows ?? 1}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={props.hidden ? -1 : undefined}\n value={props.value}\n />\n </Fragment>\n )}\n </div>\n );\n});\n\nTextArea.displayName = 'TextArea';\n\nexport default TextArea;\n",":global(.webchat-fluent) .sendbox__text-area {\n display: grid;\n grid-template-areas: 'main';\n max-height: 200px;\n overflow: hidden;\n}\n\n:global(.webchat-fluent) .sendbox__text-area--hidden {\n /* TODO: Not perfect way of hiding the text box. */\n height: 0;\n visibility: collapse;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-shared {\n border: none;\n font: inherit;\n grid-area: main;\n outline: inherit;\n overflow-wrap: anywhere;\n resize: inherit;\n scrollbar-gutter: stable;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-doppelganger {\n overflow: hidden;\n visibility: hidden;\n white-space: pre-wrap;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-input {\n background-color: inherit;\n color: currentColor;\n height: 100%;\n padding: 0;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-input--scroll {\n /* Edge uses -webkit-scrollbar if scrollbar-* is not set */\n scrollbar-color: unset;\n scrollbar-width: unset;\n /* Firefox */\n -moz-scrollbar-color: var(--webchat-colorNeutralBackground5) var(--webchat-colorNeutralForeground2);\n -moz-scrollbar-width: thin;\n\n /* Chrome, Edge, and Safari */\n &::-webkit-scrollbar {\n width: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: 16px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: var(--webchat-colorNeutralForeground2);\n border-radius: 16px;\n }\n\n &::-webkit-scrollbar-corner {\n background-color: var(--webchat-colorNeutralBackground5);\n }\n}\n","import React, { type ReactNode } from 'react';\nimport cx from 'classnames';\nimport styles from './Theme.module.css';\nimport { useStyles, useVariantClassName } from '../../styles';\n\nexport const rootClassName = 'webchat-fluent';\n\nexport default function Theme(props: Readonly<{ readonly children: ReactNode | undefined }>) {\n const classNames = useStyles(styles);\n const variantClassName = useVariantClassName(styles);\n return <div className={cx(rootClassName, classNames['theme'], variantClassName)}>{props.children}</div>;\n}\n",":global {\n /* biome-ignore format: do not print each class on the new line */\n .a, .b, .c, .d, .e, .f, .g, .h, .i, .j, .k, .l, .m, .n, .o, .p, .q, .r, .s, .t, .v, .w, .u, .x, .y, .z,\n .A, .B, .C, .D, .E, .F, .G, .H, .I, .J, .K, .L, .M, .N, .O, .P, .Q, .R, .S, .T, .V, .W, .U, .X, .Y, .Z {\n /* esbuild considers empty global classes as used and removes them due to lack of rules */\n }\n}\n\n:global(.webchat-fluent).theme {\n display: contents;\n\n --webchat-colorNeutralForegroundDisabled: var(--colorNeutralForegroundDisabled, #bdbdbd);\n --webchat-colorNeutralForeground1: var(--colorNeutralForeground1, #242424);\n --webchat-colorNeutralForeground1Hover: var(--colorNeutralForeground1Hover, #242424);\n --webchat-colorNeutralForeground1Pressed: var(--colorNeutralForeground1Pressed, #242424);\n --webchat-colorNeutralForeground2: var(--colorNeutralForeground2, #424242);\n --webchat-colorNeutralForeground2BrandHover: var(--colorNeutralForeground2BrandHover, #02729c);\n --webchat-colorNeutralForeground2BrandPressed: var(--colorNeutralForeground2BrandPressed, #01678c);\n --webchat-colorNeutralForeground2BrandSelected: var(--colorNeutralForeground2BrandSelected, #067191);\n --webchat-colorNeutralForeground3: var(--colorNeutralForeground3, #616161);\n --webchat-colorNeutralForeground4: var(--colorNeutralForeground4, #707070);\n --webchat-colorNeutralForeground5: var(--colorNeutralForeground5, #7e7e7e);\n\n --webchat-colorNeutralBackgroundDisabled: var(--colorNeutralBackgroundDisabled, #f0f0f0);\n --webchat-colorNeutralBackground1: var(--colorNeutralBackground1, #ffffff);\n --webchat-colorNeutralBackground1Hover: var(--colorNeutralBackground1Hover, #f5f5f5);\n --webchat-colorNeutralBackground1Pressed: var(--colorNeutralBackground1Pressed, #e0e0e0);\n --webchat-colorNeutralBackground3: var(--colorNeutralBackground3, #f5f5f5);\n --webchat-colorNeutralBackground4: var(--colorNeutralBackground4, #f0f0f0);\n --webchat-colorNeutralBackground5: var(--colorNeutralBackground5, #ebebeb);\n --webchat-colorNeutralBackground6: var(--colorNeutralBackground6, #e6e6e6);\n\n --webchat-colorNeutralStencil1: var(--colorNeutralStencil1, #e6e6e6); /* #575757 for dark mode */\n --webchat-colorNeutralStencil2: var(--colorNeutralStencil2, #fafafa); /* #333333 for dark mode */\n\n --webchat-colorNeutralShadowAmbient: var(--colorNeutralShadowAmbient, rgba(0, 0, 0, 0.12));\n --webchat-colorNeutralShadowKey: var(--colorNeutralShadowKey, rgba(0, 0, 0, 0.14));\n\n --webchat-colorTransparentBackground: var(--colorTransparentBackground, rgba(0, 0, 0, 0.4));\n\n --webchat-colorNeutralStrokeDisabled: var(--colorNeutralStrokeDisabled, #e0e0e0);\n --webchat-colorNeutralStroke1: var(--colorNeutralStroke1, #d1d1d1);\n --webchat-colorNeutralStroke1Hover: var(--colorNeutralStroke1Hover, #c7c7c7);\n --webchat-colorNeutralStroke1Pressed: var(--colorNeutralStroke1Pressed, #b3b3b3);\n --webchat-colorNeutralStroke1Selected: var(--colorNeutralStroke1Selected, #bdbdbd);\n --webchat-colorNeutralStroke2: var(--colorNeutralStroke2, #e0e0e0);\n\n --webchat-colorStrokeFocus2: var(--colorStrokeFocus2, #000000);\n\n --webchat-colorBrandStroke2: var(--colorBrandStroke2, #9edcf7);\n --webchat-colorBrandStroke2Pressed: var(--colorBrandStroke2Pressed, #01384d);\n\n --webchat-colorTransparentStroke: var(--colorTransparentStroke, transparent);\n\n --webchat-colorBrandForeground1: var(--colorBrandForeground1, #01678c);\n --webchat-colorBrandForeground2Hover: var(--colorBrandForeground2Hover, #015a7a);\n --webchat-colorBrandForeground2Pressed: var(--colorBrandForeground2Pressed, #01384d);\n\n --webchat-colorBrandForegroundLink: var(--colorBrandForegroundLink, #01678c);\n --webchat-colorBrandForegroundLinkHover: var(--colorBrandForegroundLinkHover, #015a7a);\n --webchat-colorBrandForegroundLinkPressed: var(--colorBrandForegroundLinkPressed, #014259);\n --webchat-colorBrandForegroundLinkSelected: var(--colorBrandForegroundLinkSelected, #01678c);\n\n --webchat-colorBrandBackground2: var(--colorBrandBackground2, #def2fc);\n --webchat-colorBrandBackground2Hover: var(--colorBrandBackground2Hover, #bee7fa);\n --webchat-colorBrandBackground2Pressed: var(--colorBrandBackground2Pressed, #7fd2f5);\n\n --webchat-colorCompoundBrandForeground1Hover: var(--colorCompoundBrandForeground1Hover, #02729c);\n\n --webchat-colorStatusDangerForeground1: var(--colorStatusDangerForeground1, #b10e1c);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/colors.ts */\n --webchat-colorGray30: var(--colorGray30, #edebe9);\n --webchat-colorGray160: var(--colorGray160, #323130);\n --webchat-colorGray190: var(--colorGray190, #201f1e);\n --webchat-colorGray200: var(--colorGray200, #1b1a19);\n\n /* New greys from the link above not exposed by Fluent */\n --webchat-colorGrey8: #141414;\n --webchat-colorGrey14: #242424;\n --webchat-colorGrey92: #ebebeb;\n --webchat-colorGrey98: #fafafa;\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/utils/shadows.ts */\n --webchat-shadow2: var(--shadow2, 0 0 2px rgba(0, 0, 0, 12%), 0 1px 2px rgba(0, 0, 0, 14%));\n --webchat-shadow4: var(--shadow4, 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14));\n --webchat-shadow16: var(--shadow16, 0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108));\n --webchat-shadow64: var(--shadow64, 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14));\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/spacings.ts */\n --webchat-spacingHorizontalNone: var(--spacingHorizontalNone, 0);\n --webchat-spacingHorizontalXXS: var(--spacingHorizontalXXS, 2px);\n --webchat-spacingHorizontalXS: var(--spacingHorizontalXS, 4px);\n --webchat-spacingHorizontalSNudge: var(--spacingHorizontalSNudge, 6px);\n --webchat-spacingHorizontalS: var(--spacingHorizontalS, 8px);\n --webchat-spacingHorizontalMNudge: var(--spacingHorizontalMNudge, 10px);\n --webchat-spacingHorizontalM: var(--spacingHorizontalM, 12px);\n --webchat-spacingHorizontalL: var(--spacingHorizontalL, 16px);\n --webchat-spacingHorizontalXL: var(--spacingHorizontalXL, 20px);\n --webchat-spacingHorizontalXXL: var(--spacingHorizontalXXL, 24px);\n --webchat-spacingHorizontalXXXL: var(--spacingHorizontalXXXL, 32px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/spacings.ts */\n --webchat-spacingVerticalNone: var(--spacingVerticalNone, 0);\n --webchat-spacingVerticalXXS: var(--spacingVerticalXXS, 2px);\n --webchat-spacingVerticalXS: var(--spacingVerticalXS, 4px);\n --webchat-spacingVerticalSNudge: var(--spacingVerticalSNudge, 6px);\n --webchat-spacingVerticalS: var(--spacingVerticalS, 8px);\n --webchat-spacingVerticalMNudge: var(--spacingVerticalMNudge, 10px);\n --webchat-spacingVerticalM: var(--spacingVerticalM, 12px);\n --webchat-spacingVerticalL: var(--spacingVerticalL, 16px);\n --webchat-spacingVerticalXL: var(--spacingVerticalXL, 20px);\n --webchat-spacingVerticalXXL: var(--spacingVerticalXXL, 24px);\n --webchat-spacingVerticalXXXL: var(--spacingVerticalXXXL, 32px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts */\n --webchat-fontFamilyBase: var(\n --fontFamilyBase,\n 'Segoe UI',\n 'Segoe UI Web (West European)',\n -apple-system,\n BlinkMacSystemFont,\n Roboto,\n 'Helvetica Neue',\n sans-serif\n );\n --webchat-fontFamilyMonospace: var(--fontFamilyMonospace, Consolas, 'Courier New', Courier, monospace);\n --webchat-fontFamilyNumeric: var(\n --fontFamilyNumeric,\n Bahnschrift,\n 'Segoe UI',\n 'Segoe UI Web (West European)',\n -apple-system,\n BlinkMacSystemFont,\n Roboto,\n 'Helvetica Neue',\n sans-serif\n );\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts */\n --webchat-fontWeightRegular: var(--fontWeightRegular, 400);\n --webchat-fontWeightSemibold: var(--fontWeightSemibold, 600);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts */\n --webchat-fontSizeBase100: var(--fontSizeBase100, 10px);\n --webchat-fontSizeBase200: var(--fontSizeBase200, 12px);\n --webchat-fontSizeBase300: var(--fontSizeBase300, 14px);\n --webchat-fontSizeBase400: var(--fontSizeBase400, 16px);\n --webchat-fontSizeBase500: var(--fontSizeBase500, 20px);\n --webchat-fontSizeBase600: var(--fontSizeBase600, 24px);\n --webchat-fontSizeHero700: var(--fontSizeHero700, 28px);\n --webchat-fontSizeHero800: var(--fontSizeHero800, 32px);\n --webchat-fontSizeHero900: var(--fontSizeHero900, 40px);\n\n --webchat-lineHeightBase100: var(--lineHeightBase100, 14px);\n --webchat-lineHeightBase200: var(--lineHeightBase200, 16px);\n --webchat-lineHeightBase300: var(--lineHeightBase300, 20px);\n --webchat-lineHeightBase400: var(--lineHeightBase400, 22px);\n --webchat-lineHeightBase500: var(--lineHeightBase500, 28px);\n --webchat-lineHeightBase600: var(--lineHeightBase600, 32px);\n --webchat-lineHeightHero700: var(--lineHeightHero700, 36px);\n --webchat-lineHeightHero800: var(--lineHeightHero800, 40px);\n --webchat-lineHeightHero900: var(--lineHeightHero900, 52px);\n --webchat-lineHeightHero1000: var(--lineHeightHero1000, 92px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/borderRadius.ts */\n --webchat-borderRadiusSmall: var(--borderRadiusSmall, 2px);\n --webchat-borderRadiusMedium: var(--borderRadiusMedium, 4px);\n --webchat-borderRadiusLarge: var(--borderRadiusLarge, 6px);\n --webchat-borderRadiusXLarge: var(--borderRadiusXLarge, 8px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/strokeWidths.ts */\n --webchat-strokeWidthThin: var(--strokeWidthThin, 1px);\n --webchat-strokeWidthThick: var(--strokeWidthThick, 2px);\n --webchat-strokeWidthThicker: var(--strokeWidthThicker, 3px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/durations.ts */\n --webchat-durationUltraFast: var(--durationUltraFast, 0);\n --webchat-durationNormal: var(--durationNormal, 200ms);\n --webchat-durationUltraSlow: var(--durationUltraSlow, 500ms);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/curves.ts */\n --webchat-curveAccelerateMid: var(--curveAccelerateMid, cubic-bezier(1, 0, 1, 1));\n --webchat-curveDecelerateMid: var(--curveDecelerateMid, cubic-bezier(0, 0, 0, 1));\n}\n\n@media (prefers-reduced-motion) {\n :global(.webchat-fluent).theme {\n --webchat-durationUltraFast: 0.01ms;\n --webchat-durationNormal: 0.01ms;\n }\n}\n\n/* Style Options override */\n:global(.webchat-fluent).theme :global(.webchat__css-custom-properties) {\n --webchat__color--accent: var(--webchat-colorBrandForeground1);\n --webchat__color--subtle: var(--webchat-colorNeutralForeground2);\n --webchat__color--timestamp: var(--webchat-colorNeutralForeground3);\n --webchat__font--primary: var(--webchat-fontFamilyBase);\n --webchat__font-size--small: var(--webchat-fontSizeBase200);\n --webchat__font-size--medium: var(--webchat-fontSizeBase300);\n --webchat__line-height--small: var(--webchat-lineHeightBase200);\n --webchat__line-height--medium: var(--webchat-lineHeightBase300);\n --webchat__max-width--bubble: var(--webchat-bubble-maxWidth);\n --webchat__min-height--bubble: var(--webchat-bubble-minHeight);\n --webchat__padding--regular: var(--webchat-spacingVerticalS);\n --webchat__padding--sendbox: var(--webchat-spacingVerticalNone) var(--webchat-spacingHorizontalMNudge)\n var(--webchat-spacingHorizontalMNudge);\n\n --webchat__border-animation--color-1: #464feb;\n --webchat__border-animation--color-2: #47cffa;\n --webchat__border-animation--color-3: #b47cf8;\n}\n\n:global(.webchat-fluent).theme.variant-copilot :global(.webchat__css-custom-properties) {\n --webchat__padding--sendbox: var(--webchat-spacingVerticalNone) var(--webchat-spacingHorizontalXL)\n var(--webchat-spacingVerticalMNudge) var(--webchat-spacingHorizontalMNudge);\n}\n\n/* Transcript surface */\n:global(.webchat-fluent).theme :global(.webchat__surface) {\n background-color: var(--webchat__color--surface);\n}\n\n:global(.webchat-fluent).theme.variant-copilot :global(.webchat__surface) {\n box-sizing: border-box;\n padding-inline-start: var(--webchat-spacingHorizontalMNudge);\n}\n\n/* Scrollbars */\n:global(.webchat-fluent).theme :global(.webchat__basic-transcript .webchat__basic-transcript__scrollable),\n:global(.webchat-fluent).theme :global(.webchat__view-code-dialog__code-body),\n:global(.webchat-fluent).theme :global(.webchat__render-markdown [data-math-type='block']),\n:global(.webchat-fluent).theme :global(.webchat__view-code-dialog__body) {\n /* Edge uses -webkit-scrollbar if scrollbar-* is not set */\n scrollbar-color: unset;\n scrollbar-width: unset;\n /* Firefox */\n -moz-scrollbar-color: var(--webchat-colorNeutralForeground5) transparent;\n -moz-scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n height: var(--webchat-spacingVerticalMNudge);\n width: var(--webchat-spacingVerticalMNudge);\n visibility: hidden;\n }\n\n &::-webkit-scrollbar-corner {\n background: transparent;\n }\n\n &:hover::-webkit-scrollbar {\n height: var(--webchat-spacingVerticalMNudge);\n width: var(--webchat-spacingVerticalMNudge);\n }\n\n &:hover::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--webchat-colorNeutralForeground5);\n border-radius: 10px;\n border-right: 4px solid transparent;\n border: 3px solid transparent;\n }\n\n &:hover::-webkit-scrollbar-thumb:hover {\n background-clip: padding-box;\n background-color: var(--webchat-colorNeutralForeground5);\n border-radius: 10px;\n border-right: 2px solid transparent;\n border: 1px solid transparent;\n }\n}\n\n:global(.webchat-fluent).theme.variant-copilot\n :global(.webchat__basic-transcript .webchat__basic-transcript__scrollable) {\n scrollbar-gutter: stable;\n}\n\n/* Transcript focus indicator color when in focus-visible state */\n:global(.webchat-fluent).theme\n :global(\n .webchat__basic-transcript\n .webchat__basic-transcript__terminator:focus-visible\n + .webchat__basic-transcript__focus-indicator\n ) {\n border-color: var(--webchat-colorStrokeFocus2);\n}\n\n/* Transcript Activity indicator without focus-visible state */\n:global(.webchat-fluent).theme\n :global(.webchat__basic-transcript:not(:focus-visible) .webchat__basic-transcript__activity-indicator--focus) {\n /* Hide activity focus when no focus-visible state */\n display: none;\n}\n\n/* Transcript Focus indicator when activity focused */\n:global(.webchat-fluent).theme\n :global(.webchat__basic-transcript:focus-visible:has(.webchat__basic-transcript__activity-indicator--focus)) {\n :global(.webchat__basic-transcript__focus-indicator) {\n /* Hide transcript focus when an activity is focused */\n display: none;\n }\n}\n\n/* Transcript focused activity */\n:global(.webchat-fluent).theme\n :global(\n .webchat__basic-transcript:focus-visible\n .webchat__basic-transcript__activity:has(.webchat__basic-transcript__activity-indicator--focus)\n ) {\n :global(.webchat__basic-transcript__activity-indicator--focus) {\n /* Hide transcript activity focus when the activity is focused */\n display: none;\n }\n\n :global(.webchat__bubble)::after,\n :global(.pre-chat-message-activity)::after {\n border-radius: var(--webchat__bubble--border-radius);\n content: '';\n inset: 0;\n outline-offset: 0;\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n pointer-events: none;\n position: absolute;\n }\n\n :global(.pre-chat-message-activity)::after {\n border-radius: var(--webchat-borderRadiusMedium);\n outline-offset: -3px;\n }\n\n :global(.liner-message-activity__text) {\n border-radius: 20px;\n outline-offset: 4px;\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n }\n}\n\n/* Transcript filer in copilot variant */\n:global(.webchat-fluent).theme.variant-copilot :global(.webchat__basic-transcript .webchat__basic-transcript__filler) {\n /* No filler unless pre-chat activity, see next rule */\n flex-grow: 0;\n}\n\n/* Transcript with a single pre-chat activity */\n:global(.webchat-fluent).theme\n :global(\n .webchat__basic-transcript:has(.webchat__basic-transcript__activity:only-child):has(.pre-chat-message-activity)\n .webchat__basic-transcript__filler\n ) {\n /* limit grow to half of the size to center the activity */\n flex-grow: 0.5;\n}\n\n/* Modal */\n:global(.webchat-fluent).theme :global(.webchat__modal-dialog) {\n height: 100%;\n display: grid;\n place-items: center;\n\n &::backdrop {\n background-color: var(--webchat-colorTransparentBackground);\n }\n\n :global(.webchat__modal-dialog__box) {\n background-color: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-borderRadiusXLarge);\n position: relative;\n color: var(--webchat-colorNeutralForeground1);\n box-shadow: var(--webchat-shadow64);\n }\n\n :global(.webchat__modal-dialog__close-button) {\n color: var(--webchat-colorNeutralForeground1);\n transition: background-color var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n }\n\n /* TODO: align with original fluent modal styles in WebChat as they don't match v9 anymore */\n :global(.webchat__modal-dialog__close-button):not(:active):hover {\n background-color: var(--webchat-colorNeutralBackground3);\n }\n\n :global(.webchat__modal-dialog__close-button):focus:active {\n background-color: var(--webchat-colorNeutralBackground4);\n }\n\n :global(.webchat__modal-dialog__close-button):not(:focus-visible) {\n border: none;\n }\n\n :global(.webchat__modal-dialog__close-button):focus {\n border-color: var(--webchat-colorStrokeFocus2);\n }\n\n :global(.webchat__modal-dialog__close-button-image) {\n fill: currentColor;\n }\n}\n\n/* Code block */\n:global(.webchat-fluent).theme :global(.webchat__code-block) {\n border: none;\n font-family: var(--webchat-fontFamilyMonospace);\n font-size: var(--webchat-fontSizeBase300);\n\n --webchat__code-block__copy-button--color: var(--webchat-colorNeutralForeground1);\n --webchat__code-block__copy-button--background: var(--webchat-colorNeutralBackground3);\n\n :global(.webchat__code-block-copy-button) {\n background: transparent;\n border: none;\n color: var(--webchat__code-block__copy-button--color);\n height: 20px;\n margin-inline-start: var(--webchat-spacingHorizontalS);\n padding: 0;\n width: 20px;\n transition: background-color var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n\n :global(.webchat__code-block-copy-button__icon) {\n background-color: currentColor;\n }\n\n &:hover {\n background: var(--webchat__code-block__copy-button--background);\n color: var(--webchat__code-block__copy-button--color);\n }\n\n &:active {\n background: var(--webchat__code-block__copy-button--background);\n color: var(--webchat__code-block__copy-button--color);\n }\n\n &:focus {\n color: var(--webchat__code-block__copy-button--color);\n outline-color: currentColor;\n }\n }\n\n &:global(:has(.webchat__code-block__body:focus-visible)):focus-within {\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n outline-offset: calc(var(--webchat-strokeWidthThick) * -1);\n\n :global(.webchat__code-block__body) {\n outline: none;\n }\n }\n\n &:global(:has(> .webchat__code-block__theme--github-dark-default)) {\n --webchat__background--code-block: var(--codeBlockBackground, var(--webchat-colorGrey8));\n --webchat__code-block__copy-button--background: var(\n --codeBlockCopyButtonBackgroundPressed,\n var(--webchat-colorGrey14)\n );\n --webchat__code-block__copy-button--color: var(--codeBlockCopyButtonForeground, var(--webchat__color--code-block));\n --webchat__color--code-block: var(--codeBlockForeground, var(--webchat-colorGrey98));\n }\n\n &:global(:has(> .webchat__code-block__theme--github-light-default)) {\n --webchat__background--code-block: var(--codeBlockBackground, var(--webchat-colorGrey98));\n --webchat__code-block__copy-button--background: var(--codeBlockBackgroundPressed, var(--webchat-colorGrey92));\n --webchat__code-block__copy-button--color: var(--codeBlockCopyButtonForeground, var(--webchat__color--code-block));\n --webchat__color--code-block: var(--codeBlockForeground, var(--webchat-colorGrey8));\n }\n}\n\n/* View Code dialog */\n:global(.webchat-fluent).theme :global(.webchat__modal-dialog.webchat__view-code-dialog) {\n :global(.webchat__modal-dialog__close-button-layout) {\n display: flex;\n padding: var(--webchat-spacingVerticalS) var(--webchat-spacingHorizontalS);\n }\n\n :global(.webchat__modal-dialog__close-button) {\n align-items: center;\n aspect-ratio: 1;\n display: flex;\n height: var(--webchat-lineHeightBase300);\n justify-content: center;\n padding: 0;\n width: unset;\n }\n\n :global(.webchat__code-block-copy-button) {\n --webchat__code-block__copy-button--color: var(--webchat-colorNeutralForeground1);\n --webchat__code-block__copy-button--background: var(--webchat-colorNeutralBackground3);\n\n margin-block-start: var(--webchat-spacingVerticalS);\n position: absolute;\n right: 32px;\n top: 0;\n }\n\n :global(.webchat__modal-dialog__box) {\n width: fit-content;\n }\n\n :global(.webchat__modal-dialog__body) {\n margin: 0;\n padding: var(--webchat-spacingVerticalS) var(--webchat-spacingHorizontalM);\n }\n\n :global(.webchat__view-code-dialog__title) {\n font-size: var(--webchat-fontSizeBase300);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightBase300);\n }\n\n :global(.webchat__view-code-dialog__body) {\n font-family: var(--webchat-fontFamilyMonospace);\n font-size: var(--webchat-fontSizeBase300);\n margin: 0 calc(var(--webchat-spacingHorizontalM) * -1);\n padding: 0 var(--webchat-spacingHorizontalM);\n }\n\n :global(.webchat__view-code-dialog__footer) {\n color: var(--webchat-colorNeutralForeground4);\n font-size: var(--webchat-fontSizeBase100);\n line-height: var(--webchat-lineHeightBase100);\n }\n\n :global(.webchat__view-code-dialog__link) {\n color: var(--webchat-colorBrandForegroundLink);\n text-decoration-color: transparent;\n\n &:target {\n color: var(--webchat-colorBrandForegroundLinkSelected);\n }\n &:hover {\n color: var(--webchat-colorBrandForegroundLinkHover);\n text-decoration: underline 1px currentColor;\n }\n &:active {\n color: var(--webchat-colorBrandForegroundLinkPressed);\n }\n &:focus-visible {\n outline: none;\n text-decoration: underline 1px double var(--webchat-colorStrokeFocus2);\n }\n }\n}\n\n/* Activity button */\n:global(.webchat-fluent).theme :global(.webchat__activity-button) {\n background: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-borderRadiusMedium);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke1);\n color: var(--webchat-colorNeutralForeground1);\n gap: var(--webchat-spacingHorizontalXS);\n padding: 5px var(--webchat-spacingHorizontalM);\n\n &:hover {\n background: var(--webchat-colorNeutralBackground1Hover);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke1Hover);\n color: var(--webchat-colorNeutralForeground1Hover);\n }\n\n &:active {\n background: var(--webchat-colorNeutralBackground1Pressed);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke1Pressed);\n color: var(--webchat-colorNeutralForeground1Pressed);\n }\n\n &:focus-visible {\n background: var(--webchat-colorNeutralBackground1);\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n outline-offset: calc(var(--webchat-strokeWidthThick) * -1);\n }\n\n &[aria-disabled='true'] {\n background: var(--webchat-colorNeutralBackgroundDisabled);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStrokeDisabled);\n color: var(--webchat-colorNeutralForegroundDisabled);\n }\n\n :global(.webchat__activity-button__icon) {\n height: 20px;\n width: 20px;\n }\n}\n\n/* Copy button */\n:global(.webchat-fluent).theme :global(.webchat__activity-copy-button) {\n :global(.webchat__activity-copy-button__copied-text) {\n background-color: var(--webchat-colorNeutralBackground1);\n }\n\n &:global(.webchat__activity-copy-button--copied) :global(.webchat__activity-copy-button__copied-text) {\n animation-duration: var(--webchat-durationUltraSlow);\n }\n}\n\n/* Monochrome image masker */\n:global(.webchat-fluent).theme :global(.webchat__monochrome-image-masker) {\n background-color: var(--webchat-colorNeutralForeground4);\n}\n\n/* Feedback button */\n:global(.webchat-fluent).theme :global(.webchat__thumb-button) {\n color: var(--webchat-colorNeutralForeground1);\n\n &:focus-visible {\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n }\n\n &[aria-disabled='true'] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n }\n}\n\n/* Tooltip */\n:global(.webchat-fluent).theme :global(.webchat__tooltip) {\n --webchat__tooltip-background: var(--tooltip-background, var(--webchat-colorNeutralBackground1));\n\n color: var(--webchat-colorNeutralForeground1);\n filter: drop-shadow(0 0 2px var(--webchat-colorNeutralShadowAmbient))\n drop-shadow(0 4px 8px var(--webchat-colorNeutralShadowKey));\n font-family: var(--webchat-fontFamilyBase);\n font-size: var(--webchat-fontSizeBase200);\n font-weight: var(--webchat-fontWeightRegular);\n line-height: var(--webchat-lineHeightBase200);\n padding: var(--webchat-spacingVerticalSNudge) var(--webchat-spacingHorizontalM);\n transition: opacity var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function isLinerMessageActivity(\n activity: undefined | WebChatActivity\n): activity is WebChatActivity & { type: 'message'; from: { role: 'channel' } } {\n return !!(activity && activity.from.role === 'channel' && activity.type === 'message' && 'text' in activity);\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport React, { memo } from 'react';\nimport { useStyles } from '../../../styles/index.js';\nimport styles from './LinerMessageActivity.module.css';\n\ntype Props = Readonly<{ activity: WebChatActivity & { type: 'message' } }>;\n\nconst LinerMessageActivity = ({ activity }: Props) => {\n const classNames = useStyles(styles);\n\n return (\n <div className={classNames['liner-message-activity']} role=\"separator\">\n <span className={classNames['liner-message-activity__text']}>{activity.text}</span>\n </div>\n );\n};\n\nLinerMessageActivity.displayName = 'LinerMessageActivity';\n\nexport default memo(LinerMessageActivity);\n",":global(.webchat-fluent) .liner-message-activity {\n align-items: center;\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground3);\n display: flex;\n flex-direction: row;\n font-family: var(--webchat__font--primary);\n font-size: var(--webchat-fontSizeBase200);\n font-weight: var(--webchat-fontWeightRegular);\n gap: var(--webchat-spacingHorizontalM);\n line-height: var(--webchat-lineHeightBase200);\n padding: var(--webchat-spacingVerticalSNudge) var(--webchat-spacingHorizontalM);\n text-align: center;\n width: 100%;\n\n &::before,\n &::after {\n border-top: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n content: '';\n display: flex;\n flex: auto;\n min-width: 8px;\n }\n}\n\n:global(.webchat-fluent) .liner-message-activity__text {\n text-align: center;\n}\n","import { injectMetaTag } from 'inject-meta-tag';\n\nimport FluentThemeProvider from './private/FluentThemeProvider';\nimport testIds from './testIds';\n\nconst buildTool = process.env['build_tool'];\nconst moduleFormat = process.env['module_format'];\nconst version = process.env['npm_package_version'];\n\nconst buildInfo = { buildTool, moduleFormat, version };\n\ninjectMetaTag(\n 'botframework-webchat:fluent-theme',\n `version=${process.env['npm_package_version']}; build-tool=${process.env['build_tool']}; module-format=${process.env['module_format']}`\n);\n\nexport { FluentThemeProvider, buildInfo, testIds };\n","import { FluentThemeProvider, testIds } from './index';\n\n(globalThis as any).WebChat = {\n ...(globalThis as any).WebChat,\n FluentThemeProvider,\n testIds: {\n ...(globalThis as any).WebChat?.testIds,\n ...testIds\n }\n};\n"],"mappings":"2iBAAA,IAAAA,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CACf,WAAa,WAAmB,QAAQ,WACxC,MAAQ,WAAmB,QAAQ,KACrC,ICHA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAW,WAAmB,QAAQ,YCA7C,IAAAC,EAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAW,WAAmB,QCArC,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,EAOC,UAAY,CACZ,aAEA,IAAIC,EAAS,CAAC,EAAE,eAEhB,SAASC,GAAc,CAGtB,QAFIC,EAAU,GAELC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAC1C,IAAIC,EAAM,UAAUD,CAAC,EACjBC,IACHF,EAAUG,EAAYH,EAASI,EAAWF,CAAG,CAAC,EAEhD,CAEA,OAAOF,CACR,CAEA,SAASI,EAAYF,EAAK,CACzB,GAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,SAC7C,OAAOA,EAGR,GAAI,OAAOA,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOH,EAAW,MAAM,KAAMG,CAAG,EAGlC,GAAIA,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAS,EAAE,SAAS,eAAe,EAClG,OAAOA,EAAI,SAAS,EAGrB,IAAIF,EAAU,GAEd,QAASK,KAAOH,EACXJ,EAAO,KAAKI,EAAKG,CAAG,GAAKH,EAAIG,CAAG,IACnCL,EAAUG,EAAYH,EAASK,CAAG,GAIpC,OAAOL,CACR,CAEA,SAASG,EAAaG,EAAOC,EAAU,CACtC,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQT,CAEI,OAAOT,GAAW,KAAeA,GAAO,SAC3CE,EAAW,QAAUA,EACrBF,GAAO,QAAUE,GACP,OAAO,QAAW,YAAc,OAAO,OAAO,KAAQ,UAAY,OAAO,IAEnF,OAAO,aAAc,CAAC,EAAG,UAAY,CACpC,OAAOA,CACR,CAAC,EAED,OAAO,WAAaA,CAEtB,GAAE,IC5EF,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,GAAS,OAAO,OAAW,IAAc,OAAS,KACtDD,GAAO,QAAUC,GAAO,QAAUA,GAAO,WCDzC,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAW,SAAUC,EAAQ,CAClC,GAAI,CAACA,EAAQ,OAAO,KAAK,OAEzB,IAAIC,EAAM,KAAK,IAAI,EAAG,EAAE,EACpBC,EAAM,IAAI,YAAY,CAAC,EAE3B,OAAO,UAAmB,CACxB,OAAOF,EAAO,gBAAgBE,CAAG,EAAE,CAAC,EAAID,CAC1C,CACF,EAAG,IAAmB,ICTtB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,EAAC,SAASC,EAAEC,EAAE,CAAW,OAAOH,IAAjB,UAAuC,OAAOC,GAApB,IAA2BA,GAAO,QAAQE,EAAE,EAAc,OAAO,QAAnB,YAA2B,OAAO,IAAI,OAAOA,CAAC,GAAGD,EAAEA,GAAG,MAAM,eAAeC,EAAE,CAAC,GAAEH,GAAK,UAAU,CAAC,aAAa,SAASI,EAAEF,EAAE,CAAC,OAAOE,EAAc,OAAO,QAAnB,YAAqC,OAAO,OAAO,UAAxB,SAAiC,SAASF,EAAE,CAAC,OAAO,OAAOA,CAAC,EAAE,SAASA,EAAE,CAAC,OAAOA,GAAe,OAAO,QAAnB,YAA2BA,EAAE,cAAc,QAAQA,IAAI,OAAO,UAAU,SAAS,OAAOA,CAAC,GAAGA,CAAC,CAAC,CAAC,SAASG,EAAEH,EAAEC,EAAEG,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,CAAC,GAAG,CAAC,IAAIC,EAAET,EAAEO,CAAC,EAAEC,CAAC,EAAEL,EAAEM,EAAE,KAAK,OAAOT,EAAE,CAAC,OAAO,KAAKI,EAAEJ,CAAC,CAAC,CAACS,EAAE,KAAKR,EAAEE,CAAC,EAAE,QAAQ,QAAQA,CAAC,EAAE,KAAKE,EAAEC,CAAC,CAAC,CAAC,SAASN,EAAES,EAAE,CAAC,OAAO,UAAU,CAAC,IAAIT,EAAE,KAAKQ,EAAE,UAAU,OAAO,IAAI,QAAQ,SAASP,EAAEG,EAAE,CAAC,IAAIC,EAAEI,EAAE,MAAMT,EAAEQ,CAAC,EAAE,SAASF,EAAEN,EAAE,CAACG,EAAEE,EAAEJ,EAAEG,EAAEE,EAAEC,EAAE,OAAOP,CAAC,CAAC,CAAC,SAASO,EAAEP,EAAE,CAACG,EAAEE,EAAEJ,EAAEG,EAAEE,EAAEC,EAAE,QAAQP,CAAC,CAAC,CAACM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAASI,EAAEV,EAAEC,EAAEG,EAAE,CAAC,OAAOH,KAAKD,EAAE,OAAO,eAAeA,EAAEC,EAAE,CAAC,MAAMG,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,EAAE,CAAC,EAAEJ,EAAEC,CAAC,EAAEG,EAAEJ,CAAC,CAAC,SAAS,EAAEC,EAAED,EAAE,CAAC,IAAII,EAAEC,EAAE,OAAO,KAAKJ,CAAC,EAAE,OAAO,OAAO,wBAAwBG,EAAE,OAAO,sBAAsBH,CAAC,EAAED,IAAII,EAAEA,EAAE,OAAO,SAASJ,EAAE,CAAC,OAAO,OAAO,yBAAyBC,EAAED,CAAC,EAAE,UAAU,CAAC,GAAGK,EAAE,KAAK,MAAMA,EAAED,CAAC,GAAGC,CAAC,CAAC,SAASM,EAAEV,EAAE,CAAC,QAAQD,EAAE,EAAEA,EAAE,UAAU,OAAOA,IAAI,CAAC,IAAII,EAAQ,UAAUJ,CAAC,GAAjB,KAAmB,UAAUA,CAAC,EAAE,CAAC,EAAEA,EAAE,EAAE,EAAE,OAAOI,CAAC,EAAE,EAAE,EAAE,QAAQ,SAASJ,EAAE,CAACU,EAAET,EAAED,EAAEI,EAAEJ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,0BAA0B,OAAO,iBAAiBC,EAAE,OAAO,0BAA0BG,CAAC,CAAC,EAAE,EAAE,OAAOA,CAAC,CAAC,EAAE,QAAQ,SAASJ,EAAE,CAAC,OAAO,eAAeC,EAAED,EAAE,OAAO,yBAAyBI,EAAEJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOC,CAAC,CAAC,SAASW,EAAEZ,EAAE,CAAC,OAAO,SAASA,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,EAAE,OAAOA,CAAC,EAAEA,CAAC,GAAGC,EAAED,CAAC,GAAG,EAAEA,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU;AAAA,mFAA2I,CAAC,EAAE,CAAC,CAAC,SAASa,EAAEb,EAAE,CAAC,OAAO,SAASA,EAAE,CAAC,GAAG,MAAM,QAAQA,CAAC,EAAE,OAAOM,EAAEN,CAAC,CAAC,EAAEA,CAAC,GAAGC,EAAED,CAAC,GAAG,EAAEA,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU;AAAA,mFAAsI,CAAC,EAAE,CAAC,CAAC,SAASC,EAAED,EAAE,CAAC,GAAgB,OAAO,OAApB,KAA4B,OAAO,YAAY,OAAOA,CAAC,EAAE,OAAO,MAAM,KAAKA,CAAC,CAAC,CAAC,SAAS,EAAEA,EAAEC,EAAE,CAAC,GAAGD,EAAE,CAAC,GAAa,OAAOA,GAAjB,SAAmB,OAAOM,EAAEN,EAAEC,CAAC,EAAE,IAAIG,EAAE,OAAO,UAAU,SAAS,KAAKJ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAiBI,IAAX,UAAcJ,EAAE,cAAcI,EAAEJ,EAAE,YAAY,MAAcI,IAAR,OAAmBA,IAAR,MAAU,MAAM,KAAKJ,CAAC,EAAgBI,IAAd,aAAiB,2CAA2C,KAAKA,CAAC,EAAEE,EAAEN,EAAEC,CAAC,EAAE,MAAM,CAAC,CAAC,SAASK,EAAEN,EAAEC,EAAE,EAAQA,GAAN,MAASA,EAAED,EAAE,UAAUC,EAAED,EAAE,QAAQ,QAAQI,EAAE,EAAEC,EAAE,IAAI,MAAMJ,CAAC,EAAEG,EAAEH,EAAEG,IAAIC,EAAED,CAAC,EAAEJ,EAAEI,CAAC,EAAE,OAAOC,CAAC,CAAC,SAASS,EAAEd,EAAE,CAAC,GAAgB,OAAO,OAApB,KAAkCA,EAAE,OAAO,QAAQ,GAAvB,KAAyB,CAAC,GAAG,MAAM,QAAQA,CAAC,IAAIA,EAAE,EAAEA,CAAC,GAAG,CAAC,IAAIC,EAAE,EAAEG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,EAAEA,EAAE,EAAE,UAAU,CAAC,OAAOH,GAAGD,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAMA,EAAEC,GAAG,CAAC,CAAC,EAAE,EAAE,SAASD,EAAE,CAAC,MAAMA,CAAC,EAAE,EAAEI,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU;AAAA,mFAAuI,CAAC,CAAC,IAAIC,EAAEC,EAAEC,EAAE,GAAGC,EAAE,GAAG,MAAM,CAAC,EAAE,UAAU,CAACH,EAAEL,EAAE,OAAO,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,IAAIA,EAAEK,EAAE,KAAK,EAAE,OAAOE,EAAEP,EAAE,KAAKA,CAAC,EAAE,EAAE,SAASA,EAAE,CAACQ,EAAE,GAAGF,EAAEN,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAACO,GAASF,EAAE,QAAR,MAAgBA,EAAE,OAAO,CAAC,QAAC,CAAQ,GAAGG,EAAE,MAAMF,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIS,EAAE,OAAO,IAAI,SAASf,EAAEC,EAAE,CAAC,OAAOD,IAAIC,EAAMD,IAAJ,GAAO,EAAEA,GAAG,EAAEC,EAAED,GAAGA,GAAGC,GAAGA,CAAC,EAAE,SAASG,EAAEJ,EAAEC,EAAEG,EAAE,CAACY,EAAEf,CAAC,EAAE,IAAII,EAAEC,EAAEQ,EAAE,SAASd,EAAEC,EAAEG,EAAE,CAAC,GAAIA,EAAE,OAAc,KAAIC,EAAEO,EAAER,CAAC,EAAEE,EAAED,EAAE,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,EAAE,GAAe,OAAOC,GAAnB,WAAqB,CAAC,IAAIE,EAAE,CAAC,EAAE,GAAG,MAAM,QAAQP,CAAC,EAAE,QAAQQ,GAAE,EAAEN,GAAEF,EAAE,OAAOQ,GAAEN,GAAEM,KAAIH,EAAE,KAAKL,EAAEA,EAAEQ,EAAC,EAAEA,EAAC,GAAGD,EAAE,KAAK,MAAMA,EAAEK,EAAEb,EAAEC,EAAE,CAACQ,EAAC,EAAE,OAAOI,EAAEN,CAAC,CAAC,CAAC,CAAC,CAAC,MAAO,SAAQO,MAAKb,GAAG,CAAC,EAAEK,EAAE,KAAKL,EAAEA,EAAEa,EAAC,EAAEA,EAAC,GAAGN,EAAE,KAAK,MAAMA,EAAEK,EAAEb,EAAEC,EAAE,CAACa,EAAC,EAAE,OAAOD,EAAEN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAOC,CAAC,CAAC,IAAIQ,EAAEhB,EAAWC,IAAT,QAAYA,EAAEK,CAAC,EAAEC,CAAC,EAAE,OAAOS,EAAEA,EAAE,IAAI,SAAShB,GAAE,CAAC,MAAM,CAACM,CAAC,EAAE,OAAOO,EAAEb,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAACM,CAAC,CAAC,EAAC,EAAEN,EAAEC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAIK,EAAE,EAAE,EAAE,EAAED,EAAEC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAIC,EAAEF,EAAE,MAAML,EAAEiB,EAAEjB,EAAEO,EAAEH,EAAEA,EAAEc,EAAElB,EAAEO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAOP,EAAE,CAACM,EAAE,EAAEN,CAAC,CAAC,QAAC,CAAQM,EAAE,EAAE,CAAC,CAAC,OAAON,CAAC,CAAC,SAASO,GAAG,CAAC,OAAOA,EAAEP,EAAE,mBAAmB,KAAK,SAASA,EAAEC,EAAEG,EAAEC,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAEC,EAAE,OAAO,mBAAmB,KAAK,SAAST,EAAE,CAAC,OAAO,OAAOA,EAAE,KAAKA,EAAE,KAAK,CAAC,IAAK,GAAE,OAAOgB,EAAEZ,CAAC,EAAEJ,EAAE,KAAK,EAAEmB,EAAElB,EAAEG,CAAC,EAAE,IAAK,GAAEE,EAAEN,EAAE,KAAKO,EAAEO,EAAER,CAAC,EAAEN,EAAE,KAAK,EAAEO,EAAE,EAAE,EAAE,IAAK,GAAE,IAAIC,EAAED,EAAE,EAAE,GAAG,KAAK,CAACP,EAAE,KAAK,GAAG,KAAK,CAAC,GAAGS,EAAED,EAAE,MAAMR,EAAE,GAAGiB,EAAEjB,EAAE,GAAGC,EAAED,EAAE,GAAGS,EAAEJ,EAAE,OAAOL,EAAE,KAAK,GAAGK,EAAEa,EAAEjB,EAAEQ,CAAC,CAAC,EAAET,EAAE,KAAK,GAAG,MAAM,IAAK,IAAGA,EAAE,GAAGA,EAAE,KAAKA,EAAE,KAAK,GAAG,MAAM,IAAK,IAAGA,EAAE,GAAG,OAAO,IAAK,IAAGA,EAAE,GAAGA,EAAE,GAAGC,KAAKD,EAAE,IAAIA,EAAE,GAAGA,EAAE,GAAGA,EAAE,EAAE,EAAE,IAAK,IAAGA,EAAE,KAAK,EAAE,MAAM,IAAK,IAAGA,EAAE,KAAK,GAAG,MAAM,IAAK,IAAGA,EAAE,KAAK,GAAGA,EAAE,GAAGA,EAAE,MAAM,CAAC,EAAEO,EAAE,EAAEP,EAAE,EAAE,EAAE,IAAK,IAAG,OAAOA,EAAE,KAAK,GAAGO,EAAE,EAAE,EAAEP,EAAE,OAAO,EAAE,EAAE,IAAK,IAAG,OAAOA,EAAE,OAAO,SAASC,CAAC,EAAE,IAAK,IAAG,IAAI,MAAM,OAAOD,EAAE,KAAK,CAAC,CAAC,EAAEA,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,SAASgB,EAAEhB,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,EAAE,MAAM,IAAI,MAAM,uBAAuB,CAAC,CAACI,EAAE,cAAc,SAASJ,EAAEC,EAAEG,EAAE,CAAC,OAAOG,EAAE,MAAM,KAAK,SAAS,CAAC,EAAE,IAAIa,EAAE,CAAC,YAAY,cAAc,WAAW,EAAE,SAASD,GAAG,CAAC,OAAOX,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,SAASA,GAAG,CAAC,OAAOA,EAAER,EAAE,mBAAmB,KAAK,SAASA,EAAEC,EAAEG,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEN,EAAEW,EAAEE,EAAE,OAAO,mBAAmB,KAAK,SAAShB,EAAE,CAAC,OAAO,OAAOA,EAAE,KAAKA,EAAE,KAAK,CAAC,IAAK,GAAE,GAAGI,EAAE,OAAO,CAACJ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAOA,EAAE,OAAO,QAAQ,EAAE,IAAK,GAAE,GAAGK,EAAEO,EAAER,CAAC,EAAEE,EAAED,EAAE,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,EAAc,OAAOC,GAAnB,WAAqB,CAACN,EAAE,KAAK,GAAG,KAAK,CAAC,GAAGQ,EAAE,CAAC,EAAE,CAAC,MAAM,QAAQP,CAAC,EAAE,CAACD,EAAE,KAAK,GAAG,KAAK,CAACS,EAAE,EAAEN,EAAEF,EAAE,OAAO,IAAK,GAAE,GAAGQ,EAAEN,EAAE,OAAOH,EAAE,KAAK,GAAGM,EAAE,KAAKL,EAAEA,EAAEQ,CAAC,EAAEA,CAAC,EAAET,EAAE,KAAK,GAAG,MAAM,IAAK,IAAG,GAAGA,EAAE,GAAGA,EAAE,KAAKA,EAAE,GAAG,OAAOA,EAAE,GAAGQ,EAAE,KAAKR,EAAE,GAAGQ,EAAER,EAAE,GAAGa,EAAEb,EAAE,KAAK,GAAGmB,EAAElB,EAAE,CAACQ,CAAC,EAAE,OAAOI,EAAEN,CAAC,CAAC,CAAC,EAAEP,EAAE,KAAK,GAAG,MAAM,IAAK,IAAGA,EAAE,GAAGA,EAAE,KAAKA,EAAE,MAAMA,EAAE,IAAIA,EAAE,EAAE,EAAEA,EAAE,GAAG,MAAM,KAAKA,EAAE,GAAGA,EAAE,GAAGA,EAAE,EAAE,EAAE,IAAK,IAAGS,IAAIT,EAAE,KAAK,EAAE,MAAM,IAAK,IAAGA,EAAE,KAAK,GAAG,MAAM,IAAK,IAAGA,EAAE,GAAG,mBAAmB,KAAKC,GAAG,CAAC,CAAC,EAAE,IAAK,IAAG,IAAID,EAAE,GAAGA,EAAE,GAAG,GAAG,KAAK,CAACA,EAAE,KAAK,GAAG,KAAK,CAAC,OAAOc,EAAEd,EAAE,GAAG,MAAMA,EAAE,KAAK,GAAGM,EAAE,KAAKL,EAAEA,EAAEa,CAAC,EAAEA,CAAC,EAAE,IAAK,IAAG,GAAGd,EAAE,GAAGA,EAAE,KAAKA,EAAE,GAAG,OAAOA,EAAE,GAAGQ,EAAE,KAAKR,EAAE,IAAIQ,EAAER,EAAE,IAAIa,EAAEb,EAAE,KAAK,GAAGmB,EAAElB,EAAE,CAACa,CAAC,EAAE,OAAOD,EAAEN,CAAC,CAAC,CAAC,EAAEP,EAAE,KAAK,GAAG,MAAM,IAAK,IAAGA,EAAE,IAAIA,EAAE,KAAKA,EAAE,OAAOA,EAAE,KAAKA,EAAE,GAAG,EAAEA,EAAE,GAAG,MAAM,KAAKA,EAAE,GAAGA,EAAE,IAAIA,EAAE,GAAG,EAAE,IAAK,IAAGA,EAAE,KAAK,GAAG,MAAM,IAAK,IAAG,OAAOA,EAAE,OAAO,SAASQ,CAAC,EAAE,IAAK,IAAG,OAAOR,EAAE,KAAK,GAAGmB,EAAWlB,IAAT,QAAYA,EAAEK,CAAC,EAAEC,CAAC,EAAE,IAAK,IAAG,OAAOS,EAAEhB,EAAE,KAAKA,EAAE,OAAO,SAASgB,EAAEA,EAAE,IAAI,SAAShB,EAAE,CAAC,MAAM,CAACM,CAAC,EAAE,OAAOO,EAAEb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAACM,CAAC,CAAC,CAAC,EAAE,IAAK,IAAG,IAAI,MAAM,OAAON,EAAE,KAAK,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,SAASkB,EAAElB,EAAEC,EAAE,CAAC,OAAOA,EAAE,OAAO,SAASD,EAAEC,EAAE,CAAC,OAAOD,GAAGA,EAAEC,CAAC,CAAC,EAAED,CAAC,CAAC,CAAC,SAASiB,EAAEjB,EAAEC,EAAEG,EAAE,CAAC,GAAG,CAACH,EAAE,OAAO,OAAOG,EAAE,IAAIC,EAAEC,EAAEM,EAAEX,CAAC,EAAEM,EAAED,EAAE,CAAC,EAAEE,EAAEF,EAAE,MAAM,CAAC,EAAEG,EAAWT,IAAT,QAAYA,EAAEO,CAAC,EAAEJ,EAAEH,EAAE,GAAGK,EAAEE,EAAEa,EAAE,SAASf,CAAC,EAAE,OAAOL,EAAE,GAAa,OAAOO,GAAjB,UAA+BL,EAAEC,CAAC,IAAd,UAAiB,CAAC,MAAM,QAAQA,CAAC,EAAY,OAAOI,GAAjB,UAAoB,MAAM,QAAQJ,CAAC,IAAIA,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAY,OAAOI,GAAjB,SAAmB,CAAC,IAAIO,EAAEG,EAAER,EAAED,EAAEJ,CAAC,EAAE,OAAgBU,IAAT,OAAoBd,IAAT,OAAWA,GAAGO,KAAKJ,IAAIA,EAAEU,EAAEV,CAAC,GAAG,OAAOI,EAAE,CAAC,EAAEJ,GAAGY,EAAED,EAAEL,CAAC,EAAET,IAAIG,EAAEU,EAAEV,CAAC,GAAGI,CAAC,EAAEO,EAAEX,EAAE,CAAC,IAAIa,EAAEC,EAAER,EAAED,EAAEJ,CAAC,EAAE,OAAgBY,IAAT,OAAoBhB,IAAT,OAAWA,GAAGO,KAAKJ,GAAG,OAAOA,EAAEQ,EAAE,CAAC,EAAER,CAAC,GAAGI,CAAC,EAAEJ,GAAGY,EAAEC,EAAEP,CAAC,EAAET,EAAEW,EAAEA,EAAE,CAAC,EAAER,CAAC,EAAE,CAAC,EAAEO,EAAE,CAAC,EAAEH,EAAES,CAAC,CAAC,CAAC,CAAC,OAAOZ,CAAC,CAAC,ICApsM,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,CACf,MAAQ,WAAmB,QAAQ,KACrC,ICFA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAQ,SAAUC,EAAI,CACxB,OAAOA,GAAMA,EAAG,OAAS,MAAQA,CACnC,EAGAF,GAAO,QAELC,GAAM,OAAO,YAAc,UAAY,UAAU,GACjDA,GAAM,OAAO,QAAU,UAAY,MAAM,GAEzCA,GAAM,OAAO,MAAQ,UAAY,IAAI,GACrCA,GAAM,OAAO,QAAU,UAAY,MAAM,GACzCA,GAAM,OAAOF,IAAQ,UAAYA,EAAI,GAEpC,UAAY,CAAE,OAAO,IAAM,EAAG,GAAK,SAAS,aAAa,EAAE,ICf9D,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAU,SAAUC,EAAM,CAC/B,GAAI,CACF,MAAO,CAAC,CAACA,EAAK,CAChB,MAAgB,CACd,MAAO,EACT,CACF,ICPA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAQ,KAEZD,GAAO,QAAU,CAACC,GAAM,UAAY,CAElC,IAAIC,GAAQ,UAAY,CAAc,GAAG,KAAK,EAE9C,OAAO,OAAOA,GAAQ,YAAcA,EAAK,eAAe,WAAW,CACrE,CAAC,ICRD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KAEdC,GAAoB,SAAS,UAC7BC,GAAQD,GAAkB,MAC1BE,GAAOF,GAAkB,KAG7BF,GAAO,QAAU,OAAO,SAAW,UAAY,QAAQ,QAAUC,GAAcG,GAAK,KAAKD,EAAK,EAAI,UAAY,CAC5G,OAAOC,GAAK,MAAMD,GAAO,SAAS,CACpC,KCVA,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KAEdC,GAAoB,SAAS,UAC7BC,GAAOD,GAAkB,KACzBE,GAAsBH,IAAeC,GAAkB,KAAK,KAAKC,GAAMA,EAAI,EAE/EH,GAAO,QAAUC,GAAcG,GAAsB,SAAUC,EAAI,CACjE,OAAO,UAAY,CACjB,OAAOF,GAAK,MAAME,EAAI,SAAS,CACjC,CACF,ICXA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KAEdC,GAAWD,GAAY,CAAC,EAAE,QAAQ,EAClCE,GAAcF,GAAY,GAAG,KAAK,EAEtCD,GAAO,QAAU,SAAUI,EAAI,CAC7B,OAAOD,GAAYD,GAASE,CAAE,EAAG,EAAG,EAAE,CACxC,ICRA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAc,KAElBF,GAAO,QAAU,SAAUG,EAAI,CAI7B,GAAIF,GAAWE,CAAE,IAAM,WAAY,OAAOD,GAAYC,CAAE,CAC1D,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAIC,GAAc,OAAO,UAAY,UAAY,SAAS,IAK1DD,GAAO,QAAU,OAAOC,GAAe,KAAeA,KAAgB,OAAY,SAAUC,EAAU,CACpG,OAAO,OAAOA,GAAY,YAAcA,IAAaD,EACvD,EAAI,SAAUC,EAAU,CACtB,OAAO,OAAOA,GAAY,UAC5B,ICXA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAQ,KAGZD,GAAO,QAAU,CAACC,GAAM,UAAY,CAElC,OAAO,OAAO,eAAe,CAAC,EAAG,EAAG,CAAE,IAAK,UAAY,CAAE,MAAO,EAAG,CAAE,CAAC,EAAE,CAAC,IAAM,CACjF,CAAC,ICPD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KAEdC,GAAO,SAAS,UAAU,KAE9BF,GAAO,QAAUC,GAAcC,GAAK,KAAKA,EAAI,EAAI,UAAY,CAC3D,OAAOA,GAAK,MAAMA,GAAM,SAAS,CACnC,ICPA,IAAAC,GAAAC,EAAAC,IAAA,cACA,IAAIC,GAAwB,CAAC,EAAE,qBAE3BC,GAA2B,OAAO,yBAGlCC,GAAcD,IAA4B,CAACD,GAAsB,KAAK,CAAE,EAAG,CAAE,EAAG,CAAC,EAIrFD,GAAQ,EAAIG,GAAc,SAA8BC,EAAG,CACzD,IAAIC,EAAaH,GAAyB,KAAME,CAAC,EACjD,MAAO,CAAC,CAACC,GAAcA,EAAW,UACpC,EAAIJ,KCbJ,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAU,SAAUC,EAAQC,EAAO,CACxC,MAAO,CACL,WAAY,EAAED,EAAS,GACvB,aAAc,EAAEA,EAAS,GACzB,SAAU,EAAEA,EAAS,GACrB,MAAOC,CACT,CACF,ICRA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAQ,KACRC,GAAU,KAEVC,GAAU,OACVC,GAAQJ,GAAY,GAAG,KAAK,EAGhCD,GAAO,QAAUE,GAAM,UAAY,CAGjC,MAAO,CAACE,GAAQ,GAAG,EAAE,qBAAqB,CAAC,CAC7C,CAAC,EAAI,SAAUE,EAAI,CACjB,OAAOH,GAAQG,CAAE,IAAM,SAAWD,GAAMC,EAAI,EAAE,EAAIF,GAAQE,CAAE,CAC9D,EAAIF,KCfJ,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAGAA,GAAO,QAAU,SAAUC,EAAI,CAC7B,OAAOA,GAAO,IAChB,ICLA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAoB,KAEpBC,GAAa,UAIjBF,GAAO,QAAU,SAAUG,EAAI,CAC7B,GAAIF,GAAkBE,CAAE,EAAG,MAAM,IAAID,GAAW,wBAA0BC,CAAE,EAC5E,OAAOA,CACT,ICVA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAIC,GAAgB,KAChBC,GAAyB,KAE7BF,GAAO,QAAU,SAAUG,EAAI,CAC7B,OAAOF,GAAcC,GAAuBC,CAAE,CAAC,CACjD,ICPA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KAEjBD,GAAO,QAAU,SAAUE,EAAI,CAC7B,OAAO,OAAOA,GAAM,SAAWA,IAAO,KAAOD,GAAWC,CAAE,CAC5D,ICLA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAU,CAAC,ICDlB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAO,KACPC,GAAa,KACbC,GAAa,KAEbC,GAAY,SAAUC,EAAU,CAClC,OAAOF,GAAWE,CAAQ,EAAIA,EAAW,MAC3C,EAEAL,GAAO,QAAU,SAAUM,EAAWC,EAAQ,CAC5C,OAAO,UAAU,OAAS,EAAIH,GAAUH,GAAKK,CAAS,CAAC,GAAKF,GAAUF,GAAWI,CAAS,CAAC,EACvFL,GAAKK,CAAS,GAAKL,GAAKK,CAAS,EAAEC,CAAM,GAAKL,GAAWI,CAAS,GAAKJ,GAAWI,CAAS,EAAEC,CAAM,CACzG,ICZA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KAElBD,GAAO,QAAUC,GAAY,CAAC,EAAE,aAAa,ICH7C,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KAEbC,GAAYD,GAAW,UACvBE,GAAYD,IAAaA,GAAU,UAEvCF,GAAO,QAAUG,GAAY,OAAOA,EAAS,EAAI,KCNjD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAY,KAEZC,GAAUF,GAAW,QACrBG,GAAOH,GAAW,KAClBI,GAAWF,IAAWA,GAAQ,UAAYC,IAAQA,GAAK,QACvDE,GAAKD,IAAYA,GAAS,GAC1BE,GAAOC,GAEPF,KACFC,GAAQD,GAAG,MAAM,GAAG,EAGpBE,GAAUD,GAAM,CAAC,EAAI,GAAKA,GAAM,CAAC,EAAI,EAAI,EAAI,EAAEA,GAAM,CAAC,EAAIA,GAAM,CAAC,IAK/D,CAACC,IAAWN,KACdK,GAAQL,GAAU,MAAM,aAAa,GACjC,CAACK,IAASA,GAAM,CAAC,GAAK,MACxBA,GAAQL,GAAU,MAAM,eAAe,EACnCK,KAAOC,GAAU,CAACD,GAAM,CAAC,KAIjCP,GAAO,QAAUQ,KC3BjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAIC,GAAa,KACbC,GAAQ,KACRC,GAAa,KAEbC,GAAUD,GAAW,OAGzBH,GAAO,QAAU,CAAC,CAAC,OAAO,uBAAyB,CAACE,GAAM,UAAY,CACpE,IAAIG,EAAS,OAAO,kBAAkB,EAKtC,MAAO,CAACD,GAAQC,CAAM,GAAK,EAAE,OAAOA,CAAM,YAAa,SAErD,CAAC,OAAO,MAAQJ,IAAcA,GAAa,EAC/C,CAAC,IClBD,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAIC,GAAgB,KAEpBD,GAAO,QAAUC,IACZ,CAAC,OAAO,MACR,OAAO,OAAO,UAAY,WCN/B,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAa,KACbC,GAAgB,KAChBC,GAAoB,KAEpBC,GAAU,OAEdL,GAAO,QAAUI,GAAoB,SAAUE,EAAI,CACjD,OAAO,OAAOA,GAAM,QACtB,EAAI,SAAUA,EAAI,CAChB,IAAIC,EAAUN,GAAW,QAAQ,EACjC,OAAOC,GAAWK,CAAO,GAAKJ,GAAcI,EAAQ,UAAWF,GAAQC,CAAE,CAAC,CAC5E,ICbA,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAU,OAEdD,GAAO,QAAU,SAAUE,EAAU,CACnC,GAAI,CACF,OAAOD,GAAQC,CAAQ,CACzB,MAAgB,CACd,MAAO,QACT,CACF,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAc,KAEdC,GAAa,UAGjBH,GAAO,QAAU,SAAUI,EAAU,CACnC,GAAIH,GAAWG,CAAQ,EAAG,OAAOA,EACjC,MAAM,IAAID,GAAWD,GAAYE,CAAQ,EAAI,oBAAoB,CACnE,ICVA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAY,KACZC,GAAoB,KAIxBF,GAAO,QAAU,SAAUG,EAAGC,EAAG,CAC/B,IAAIC,EAAOF,EAAEC,CAAC,EACd,OAAOF,GAAkBG,CAAI,EAAI,OAAYJ,GAAUI,CAAI,CAC7D,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAO,KACPC,GAAa,KACbC,GAAW,KAEXC,GAAa,UAIjBJ,GAAO,QAAU,SAAUK,EAAOC,EAAM,CACtC,IAAIC,EAAIC,EAGR,GAFIF,IAAS,UAAYJ,GAAWK,EAAKF,EAAM,QAAQ,GAAK,CAACF,GAASK,EAAMP,GAAKM,EAAIF,CAAK,CAAC,GACvFH,GAAWK,EAAKF,EAAM,OAAO,GAAK,CAACF,GAASK,EAAMP,GAAKM,EAAIF,CAAK,CAAC,GACjEC,IAAS,UAAYJ,GAAWK,EAAKF,EAAM,QAAQ,GAAK,CAACF,GAASK,EAAMP,GAAKM,EAAIF,CAAK,CAAC,EAAG,OAAOG,EACrG,MAAM,IAAIJ,GAAW,yCAAyC,CAChE,ICfA,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAU,KCDjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KAGbC,GAAiB,OAAO,eAE5BF,GAAO,QAAU,SAAUG,EAAKC,EAAO,CACrC,GAAI,CACFF,GAAeD,GAAYE,EAAK,CAAE,MAAOC,EAAO,aAAc,GAAM,SAAU,EAAK,CAAC,CACtF,MAAgB,CACdH,GAAWE,CAAG,EAAIC,CACpB,CAAE,OAAOA,CACX,ICZA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAU,KACVC,GAAa,KACbC,GAAuB,KAEvBC,GAAS,qBACTC,GAAQL,GAAO,QAAUE,GAAWE,EAAM,GAAKD,GAAqBC,GAAQ,CAAC,CAAC,GAEjFC,GAAM,WAAaA,GAAM,SAAW,CAAC,IAAI,KAAK,CAC7C,QAAS,SACT,KAAMJ,GAAU,OAAS,SACzB,UAAW,+CACX,QAAS,2DACT,OAAQ,qCACV,CAAC,ICdD,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAQ,KAEZD,GAAO,QAAU,SAAUE,EAAKC,EAAO,CACrC,OAAOF,GAAMC,CAAG,IAAMD,GAAMC,CAAG,EAAIC,GAAS,CAAC,EAC/C,ICLA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAyB,KAEzBC,GAAU,OAIdF,GAAO,QAAU,SAAUG,EAAU,CACnC,OAAOD,GAAQD,GAAuBE,CAAQ,CAAC,CACjD,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAW,KAEXC,GAAiBF,GAAY,CAAC,EAAE,cAAc,EAKlDD,GAAO,QAAU,OAAO,QAAU,SAAgBI,EAAIC,EAAK,CACzD,OAAOF,GAAeD,GAASE,CAAE,EAAGC,CAAG,CACzC,ICXA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KAEdC,GAAK,EACLC,GAAU,KAAK,OAAO,EACtBC,GAAWH,GAAY,GAAI,QAAQ,EAEvCD,GAAO,QAAU,SAAUK,EAAK,CAC9B,MAAO,WAAaA,IAAQ,OAAY,GAAKA,GAAO,KAAOD,GAAS,EAAEF,GAAKC,GAAS,EAAE,CACxF,ICTA,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAS,KACTC,GAAS,KACTC,GAAM,KACNC,GAAgB,KAChBC,GAAoB,KAEpBC,GAASN,GAAW,OACpBO,GAAwBN,GAAO,KAAK,EACpCO,GAAwBH,GAAoBC,GAAO,KAAUA,GAASA,IAAUA,GAAO,eAAiBH,GAE5GJ,GAAO,QAAU,SAAUU,EAAM,CAC/B,OAAKP,GAAOK,GAAuBE,CAAI,IACrCF,GAAsBE,CAAI,EAAIL,IAAiBF,GAAOI,GAAQG,CAAI,EAC9DH,GAAOG,CAAI,EACXD,GAAsB,UAAYC,CAAI,GACnCF,GAAsBE,CAAI,CACrC,IClBA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAO,KACPC,GAAW,KACXC,GAAW,KACXC,GAAY,KACZC,GAAsB,KACtBC,GAAkB,KAElBC,GAAa,UACbC,GAAeF,GAAgB,aAAa,EAIhDN,GAAO,QAAU,SAAUS,EAAOC,EAAM,CACtC,GAAI,CAACR,GAASO,CAAK,GAAKN,GAASM,CAAK,EAAG,OAAOA,EAChD,IAAIE,EAAeP,GAAUK,EAAOD,EAAY,EAC5CI,EACJ,GAAID,EAAc,CAGhB,GAFID,IAAS,SAAWA,EAAO,WAC/BE,EAASX,GAAKU,EAAcF,EAAOC,CAAI,EACnC,CAACR,GAASU,CAAM,GAAKT,GAASS,CAAM,EAAG,OAAOA,EAClD,MAAM,IAAIL,GAAW,yCAAyC,CAChE,CACA,OAAIG,IAAS,SAAWA,EAAO,UACxBL,GAAoBI,EAAOC,CAAI,CACxC,ICzBA,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAW,KAIfF,GAAO,QAAU,SAAUG,EAAU,CACnC,IAAIC,EAAMH,GAAYE,EAAU,QAAQ,EACxC,OAAOD,GAASE,CAAG,EAAIA,EAAMA,EAAM,EACrC,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAW,KAEXC,GAAWF,GAAW,SAEtBG,GAASF,GAASC,EAAQ,GAAKD,GAASC,GAAS,aAAa,EAElEH,GAAO,QAAU,SAAUK,EAAI,CAC7B,OAAOD,GAASD,GAAS,cAAcE,CAAE,EAAI,CAAC,CAChD,ICVA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAQ,KACRC,GAAgB,KAGpBH,GAAO,QAAU,CAACC,IAAe,CAACC,GAAM,UAAY,CAElD,OAAO,OAAO,eAAeC,GAAc,KAAK,EAAG,IAAK,CACtD,IAAK,UAAY,CAAE,MAAO,EAAG,CAC/B,CAAC,EAAE,IAAM,CACX,CAAC,ICXD,IAAAC,GAAAC,EAAAC,IAAA,cACA,IAAIC,GAAc,KACdC,GAAO,KACPC,GAA6B,KAC7BC,GAA2B,KAC3BC,GAAkB,KAClBC,GAAgB,KAChBC,GAAS,KACTC,GAAiB,KAGjBC,GAA4B,OAAO,yBAIvCT,GAAQ,EAAIC,GAAcQ,GAA4B,SAAkCC,EAAGC,EAAG,CAG5F,GAFAD,EAAIL,GAAgBK,CAAC,EACrBC,EAAIL,GAAcK,CAAC,EACfH,GAAgB,GAAI,CACtB,OAAOC,GAA0BC,EAAGC,CAAC,CACvC,MAAgB,CAAc,CAC9B,GAAIJ,GAAOG,EAAGC,CAAC,EAAG,OAAOP,GAAyB,CAACF,GAAKC,GAA2B,EAAGO,EAAGC,CAAC,EAAGD,EAAEC,CAAC,CAAC,CACnG,ICtBA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAQ,KACRC,GAAa,KAEbC,GAAc,kBAEdC,GAAW,SAAUC,EAASC,EAAW,CAC3C,IAAIC,EAAQC,GAAKC,GAAUJ,CAAO,CAAC,EACnC,OAAOE,IAAUG,GAAW,GACxBH,IAAUI,GAAS,GACnBT,GAAWI,CAAS,EAAIL,GAAMK,CAAS,EACvC,CAAC,CAACA,CACR,EAEIG,GAAYL,GAAS,UAAY,SAAUQ,EAAQ,CACrD,OAAO,OAAOA,CAAM,EAAE,QAAQT,GAAa,GAAG,EAAE,YAAY,CAC9D,EAEIK,GAAOJ,GAAS,KAAO,CAAC,EACxBO,GAASP,GAAS,OAAS,IAC3BM,GAAWN,GAAS,SAAW,IAEnCJ,GAAO,QAAUI,KCtBjB,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAY,KACZC,GAAc,KAEdC,GAAOH,GAAYA,GAAY,IAAI,EAGvCD,GAAO,QAAU,SAAUK,EAAIC,EAAM,CACnC,OAAAJ,GAAUG,CAAE,EACLC,IAAS,OAAYD,EAAKF,GAAcC,GAAKC,EAAIC,CAAI,EAAI,UAAyB,CACvF,OAAOD,EAAG,MAAMC,EAAM,SAAS,CACjC,CACF,ICbA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAQ,KAIZF,GAAO,QAAUC,IAAeC,GAAM,UAAY,CAEhD,OAAO,OAAO,eAAe,UAAY,CAAc,EAAG,YAAa,CACrE,MAAO,GACP,SAAU,EACZ,CAAC,EAAE,YAAc,EACnB,CAAC,ICZD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAW,KAEXC,GAAU,OACVC,GAAa,UAGjBH,GAAO,QAAU,SAAUI,EAAU,CACnC,GAAIH,GAASG,CAAQ,EAAG,OAAOA,EAC/B,MAAM,IAAID,GAAWD,GAAQE,CAAQ,EAAI,mBAAmB,CAC9D,ICVA,IAAAC,GAAAC,EAAAC,IAAA,cACA,IAAIC,GAAc,KACdC,GAAiB,KACjBC,GAA0B,KAC1BC,GAAW,KACXC,GAAgB,KAEhBC,GAAa,UAEbC,GAAkB,OAAO,eAEzBC,GAA4B,OAAO,yBACnCC,GAAa,aACbC,GAAe,eACfC,GAAW,WAIfX,GAAQ,EAAIC,GAAcE,GAA0B,SAAwBS,EAAGC,EAAGC,EAAY,CAI5F,GAHAV,GAASQ,CAAC,EACVC,EAAIR,GAAcQ,CAAC,EACnBT,GAASU,CAAU,EACf,OAAOF,GAAM,YAAcC,IAAM,aAAe,UAAWC,GAAcH,MAAYG,GAAc,CAACA,EAAWH,EAAQ,EAAG,CAC5H,IAAII,EAAUP,GAA0BI,EAAGC,CAAC,EACxCE,GAAWA,EAAQJ,EAAQ,IAC7BC,EAAEC,CAAC,EAAIC,EAAW,MAClBA,EAAa,CACX,aAAcJ,MAAgBI,EAAaA,EAAWJ,EAAY,EAAIK,EAAQL,EAAY,EAC1F,WAAYD,MAAcK,EAAaA,EAAWL,EAAU,EAAIM,EAAQN,EAAU,EAClF,SAAU,EACZ,EAEJ,CAAE,OAAOF,GAAgBK,EAAGC,EAAGC,CAAU,CAC3C,EAAIP,GAAkB,SAAwBK,EAAGC,EAAGC,EAAY,CAI9D,GAHAV,GAASQ,CAAC,EACVC,EAAIR,GAAcQ,CAAC,EACnBT,GAASU,CAAU,EACfZ,GAAgB,GAAI,CACtB,OAAOK,GAAgBK,EAAGC,EAAGC,CAAU,CACzC,MAAgB,CAAc,CAC9B,GAAI,QAASA,GAAc,QAASA,EAAY,MAAM,IAAIR,GAAW,yBAAyB,EAC9F,MAAI,UAAWQ,IAAYF,EAAEC,CAAC,EAAIC,EAAW,OACtCF,CACT,IC3CA,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAuB,KACvBC,GAA2B,KAE/BH,GAAO,QAAUC,GAAc,SAAUG,EAAQC,EAAKC,EAAO,CAC3D,OAAOJ,GAAqB,EAAEE,EAAQC,EAAKF,GAAyB,EAAGG,CAAK,CAAC,CAC/E,EAAI,SAAUF,EAAQC,EAAKC,EAAO,CAChC,OAAAF,EAAOC,CAAG,EAAIC,EACPF,CACT,ICVA,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KACbC,GAAQ,KACRC,GAAc,KACdC,GAAa,KACbC,GAA2B,KAA2D,EACtFC,GAAW,KACXC,GAAO,KACPC,GAAO,KACPC,GAA8B,KAC9BC,GAAS,KAEb,KAEA,IAAIC,GAAkB,SAAUC,EAAmB,CACjD,IAAIC,EAAU,SAAU,EAAGC,EAAGC,EAAG,CAC/B,GAAI,gBAAgBF,EAAS,CAC3B,OAAQ,UAAU,OAAQ,CACxB,IAAK,GAAG,OAAO,IAAID,EACnB,IAAK,GAAG,OAAO,IAAIA,EAAkB,CAAC,EACtC,IAAK,GAAG,OAAO,IAAIA,EAAkB,EAAGE,CAAC,CAC3C,CAAE,OAAO,IAAIF,EAAkB,EAAGE,EAAGC,CAAC,CACxC,CAAE,OAAOb,GAAMU,EAAmB,KAAM,SAAS,CACnD,EACA,OAAAC,EAAQ,UAAYD,EAAkB,UAC/BC,CACT,EAiBAb,GAAO,QAAU,SAAUgB,EAASC,EAAQ,CAC1C,IAAIC,EAASF,EAAQ,OACjBG,EAASH,EAAQ,OACjBI,EAASJ,EAAQ,KACjBK,EAAQL,EAAQ,MAEhBM,EAAeH,EAASlB,GAAamB,EAASnB,GAAWiB,CAAM,EAAIjB,GAAWiB,CAAM,GAAKjB,GAAWiB,CAAM,EAAE,UAE5GK,EAASJ,EAASZ,GAAOA,GAAKW,CAAM,GAAKT,GAA4BF,GAAMW,EAAQ,CAAC,CAAC,EAAEA,CAAM,EAC7FM,EAAkBD,EAAO,UAEzBE,EAAQC,EAAYC,EACpBC,EAAKC,EAAgBC,EAAgBC,EAAgBC,EAAgBC,EAEzE,IAAKL,KAAOX,EACVQ,EAASnB,GAASa,EAASS,EAAMV,GAAUE,EAAS,IAAM,KAAOQ,EAAKZ,EAAQ,MAAM,EAEpFU,EAAa,CAACD,GAAUH,GAAgBZ,GAAOY,EAAcM,CAAG,EAEhEE,EAAiBP,EAAOK,CAAG,EAEvBF,IAAgBV,EAAQ,gBAC1BiB,EAAa5B,GAAyBiB,EAAcM,CAAG,EACvDG,EAAiBE,GAAcA,EAAW,OACrCF,EAAiBT,EAAaM,CAAG,GAGxCC,EAAkBH,GAAcK,EAAkBA,EAAiBd,EAAOW,CAAG,EAEzE,GAACH,GAAU,CAACJ,GAAS,OAAOS,GAAkB,OAAOD,KAGrDb,EAAQ,MAAQU,EAAYM,EAAiBxB,GAAKqB,EAAgB5B,EAAU,EAEvEe,EAAQ,MAAQU,EAAYM,EAAiBrB,GAAgBkB,CAAc,EAE3ER,GAASjB,GAAWyB,CAAc,EAAGG,EAAiB7B,GAAY0B,CAAc,EAEpFG,EAAiBH,GAGlBb,EAAQ,MAASa,GAAkBA,EAAe,MAAUC,GAAkBA,EAAe,OAC/FrB,GAA4BuB,EAAgB,OAAQ,EAAI,EAG1DvB,GAA4Bc,EAAQK,EAAKI,CAAc,EAEnDX,IACFM,EAAoBT,EAAS,YACxBR,GAAOH,GAAMoB,CAAiB,GACjClB,GAA4BF,GAAMoB,EAAmB,CAAC,CAAC,EAGzDlB,GAA4BF,GAAKoB,CAAiB,EAAGC,EAAKC,CAAc,EAEpEb,EAAQ,MAAQQ,IAAoBC,GAAU,CAACD,EAAgBI,CAAG,IACpEnB,GAA4Be,EAAiBI,EAAKC,CAAc,GAIxE,ICvGA,IAAAK,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAO,KAAK,KACZC,GAAQ,KAAK,MAKjBF,GAAO,QAAU,KAAK,OAAS,SAAeG,EAAG,CAC/C,IAAIC,EAAI,CAACD,EACT,OAAQC,EAAI,EAAIF,GAAQD,IAAMG,CAAC,CACjC,ICVA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAQ,KAIZD,GAAO,QAAU,SAAUE,EAAU,CACnC,IAAIC,EAAS,CAACD,EAEd,OAAOC,IAAWA,GAAUA,IAAW,EAAI,EAAIF,GAAME,CAAM,CAC7D,ICTA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAsB,KAEtBC,GAAM,KAAK,IACXC,GAAM,KAAK,IAKfH,GAAO,QAAU,SAAUI,EAAOC,EAAQ,CACxC,IAAIC,EAAUL,GAAoBG,CAAK,EACvC,OAAOE,EAAU,EAAIJ,GAAII,EAAUD,EAAQ,CAAC,EAAIF,GAAIG,EAASD,CAAM,CACrE,ICZA,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAsB,KAEtBC,GAAM,KAAK,IAIfF,GAAO,QAAU,SAAUG,EAAU,CACnC,IAAIC,EAAMH,GAAoBE,CAAQ,EACtC,OAAOC,EAAM,EAAIF,GAAIE,EAAK,gBAAgB,EAAI,CAChD,ICVA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAW,KAIfD,GAAO,QAAU,SAAUE,EAAK,CAC9B,OAAOD,GAASC,EAAI,MAAM,CAC5B,ICPA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAkB,KAClBC,GAAkB,KAClBC,GAAoB,KAGpBC,GAAe,SAAUC,EAAa,CACxC,OAAO,SAAUC,EAAOC,EAAIC,EAAW,CACrC,IAAIC,EAAIR,GAAgBK,CAAK,EACzBI,EAASP,GAAkBM,CAAC,EAChC,GAAIC,IAAW,EAAG,MAAO,CAACL,GAAe,GACzC,IAAIM,EAAQT,GAAgBM,EAAWE,CAAM,EACzCE,EAGJ,GAAIP,GAAeE,IAAOA,GAAI,KAAOG,EAASC,GAG5C,GAFAC,EAAQH,EAAEE,GAAO,EAEbC,IAAUA,EAAO,MAAO,OAEvB,MAAMF,EAASC,EAAOA,IAC3B,IAAKN,GAAeM,KAASF,IAAMA,EAAEE,CAAK,IAAMJ,EAAI,OAAOF,GAAeM,GAAS,EACnF,MAAO,CAACN,GAAe,EAC3B,CACF,EAEAL,GAAO,QAAU,CAGf,SAAUI,GAAa,EAAI,EAG3B,QAASA,GAAa,EAAK,CAC7B,ICjCA,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACAA,GAAO,QAAU,CAAC,ICDlB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAc,KACdC,GAAS,KACTC,GAAkB,KAClBC,GAAU,KAAuC,QACjDC,GAAa,KAEbC,GAAOL,GAAY,CAAC,EAAE,IAAI,EAE9BD,GAAO,QAAU,SAAUO,EAAQC,EAAO,CACxC,IAAIC,EAAIN,GAAgBI,CAAM,EAC1BG,EAAI,EACJC,EAAS,CAAC,EACVC,EACJ,IAAKA,KAAOH,EAAG,CAACP,GAAOG,GAAYO,CAAG,GAAKV,GAAOO,EAAGG,CAAG,GAAKN,GAAKK,EAAQC,CAAG,EAE7E,KAAOJ,EAAM,OAASE,GAAOR,GAAOO,EAAGG,EAAMJ,EAAME,GAAG,CAAC,IACrD,CAACN,GAAQO,EAAQC,CAAG,GAAKN,GAAKK,EAAQC,CAAG,GAE3C,OAAOD,CACT,ICpBA,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEAA,GAAO,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,SACF,ICVA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAqB,KACrBC,GAAc,KAKlBF,GAAO,QAAU,OAAO,MAAQ,SAAcG,EAAG,CAC/C,OAAOF,GAAmBE,EAAGD,EAAW,CAC1C,ICTA,IAAAE,GAAAC,EAAAC,IAAA,cACA,IAAIC,GAAc,KACdC,GAA0B,KAC1BC,GAAuB,KACvBC,GAAW,KACXC,GAAkB,KAClBC,GAAa,KAKjBN,GAAQ,EAAIC,IAAe,CAACC,GAA0B,OAAO,iBAAmB,SAA0BK,EAAGC,EAAY,CACvHJ,GAASG,CAAC,EAMV,QALIE,EAAQJ,GAAgBG,CAAU,EAClCE,EAAOJ,GAAWE,CAAU,EAC5BG,EAASD,EAAK,OACdE,EAAQ,EACRC,EACGF,EAASC,GAAOT,GAAqB,EAAEI,EAAGM,EAAMH,EAAKE,GAAO,EAAGH,EAAMI,CAAG,CAAC,EAChF,OAAON,CACT,ICpBA,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAa,KAEjBD,GAAO,QAAUC,GAAW,WAAY,iBAAiB,ICHzD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAS,KACTC,GAAM,KAENC,GAAOF,GAAO,MAAM,EAExBD,GAAO,QAAU,SAAUI,EAAK,CAC9B,OAAOD,GAAKC,CAAG,IAAMD,GAAKC,CAAG,EAAIF,GAAIE,CAAG,EAC1C,ICRA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cAEA,IAAIC,GAAW,KACXC,GAAyB,KACzBC,GAAc,KACdC,GAAa,KACbC,GAAO,KACPC,GAAwB,KACxBC,GAAY,KAEZC,GAAK,IACLC,GAAK,IACLC,GAAY,YACZC,GAAS,SACTC,GAAWL,GAAU,UAAU,EAE/BM,GAAmB,UAAY,CAAc,EAE7CC,GAAY,SAAUC,EAAS,CACjC,OAAON,GAAKE,GAASH,GAAKO,EAAUN,GAAK,IAAME,GAASH,EAC1D,EAGIQ,GAA4B,SAAUC,EAAiB,CACzDA,EAAgB,MAAMH,GAAU,EAAE,CAAC,EACnCG,EAAgB,MAAM,EACtB,IAAIC,EAAOD,EAAgB,aAAa,OAExC,OAAAA,EAAkB,KACXC,CACT,EAGIC,GAA2B,UAAY,CAEzC,IAAIC,EAASd,GAAsB,QAAQ,EACvCe,EAAK,OAASV,GAAS,IACvBW,EACJ,OAAAF,EAAO,MAAM,QAAU,OACvBf,GAAK,YAAYe,CAAM,EAEvBA,EAAO,IAAM,OAAOC,CAAE,EACtBC,EAAiBF,EAAO,cAAc,SACtCE,EAAe,KAAK,EACpBA,EAAe,MAAMR,GAAU,mBAAmB,CAAC,EACnDQ,EAAe,MAAM,EACdA,EAAe,CACxB,EAOIL,GACAM,GAAkB,UAAY,CAChC,GAAI,CACFN,GAAkB,IAAI,cAAc,UAAU,CAChD,MAAgB,CAAe,CAC/BM,GAAkB,OAAO,SAAY,IACjC,SAAS,QAAUN,GACjBD,GAA0BC,EAAe,EACzCE,GAAyB,EAC3BH,GAA0BC,EAAe,EAE7C,QADIO,EAASrB,GAAY,OAClBqB,KAAU,OAAOD,GAAgBb,EAAS,EAAEP,GAAYqB,CAAM,CAAC,EACtE,OAAOD,GAAgB,CACzB,EAEAnB,GAAWQ,EAAQ,EAAI,GAKvBZ,GAAO,QAAU,OAAO,QAAU,SAAgByB,EAAGC,EAAY,CAC/D,IAAIC,EACJ,OAAIF,IAAM,MACRZ,GAAiBH,EAAS,EAAIT,GAASwB,CAAC,EACxCE,EAAS,IAAId,GACbA,GAAiBH,EAAS,EAAI,KAE9BiB,EAAOf,EAAQ,EAAIa,GACdE,EAASJ,GAAgB,EACzBG,IAAe,OAAYC,EAASzB,GAAuB,EAAEyB,EAAQD,CAAU,CACxF,ICpFA,IAAAE,GAAAC,EAAA,kBAEA,IAAIC,GAAI,KACJC,GAAc,KACdC,GAAS,KAIbF,GAAE,CAAE,OAAQ,SAAU,KAAM,GAAM,KAAM,CAACC,EAAY,EAAG,CACtD,OAAQC,EACV,CAAC,ICVD,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,KACA,IAAIC,GAAO,KAEPC,GAASD,GAAK,OAElBD,GAAO,QAAU,SAAgBG,EAAGC,EAAG,CACrC,OAAOF,GAAO,OAAOC,EAAGC,CAAC,CAC3B,ICRA,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,cACA,IAAIC,GAAS,KAEbD,GAAO,QAAUC,KCHjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAU,OCAjB,IAAAC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAAAA,GAAO,QAAW,WAAmB,QAAQ,WCI9B,SAAfC,GAAmCC,EAAcC,EAAwB,CACvE,GAAI,CACF,GAAI,OAAOC,SAAa,IACtB,OAGF,IAAMC,EAAcD,SAASE,cAAc,MAAM,EAEjDD,EAAYE,aAAa,OAAQL,CAAI,EACrCC,GAAWE,EAAYE,aAAa,UAAWJ,CAAO,EAEtDC,SAASI,KAAKC,YAAYJ,CAAW,CACvC,OAASK,EAAO,CACdC,QAAQD,MAAK,iDAAAE,OAAkDV,EAAI,SAAA,EAAWQ,CAAK,CACrF,CACF,CClBA,IAAAG,GAA2B,QAC3BC,GAAiC,QACjCC,GAA4C,OCF5C,IAAAC,GAAe,QACfC,GAAuC,OCFvC,IAAAC,GAAoC,OCApC,IAAAC,GAA8B,OCA9B,IAAAC,GAAmE,OAEpD,SAARC,GAGL,CAAE,SAAAC,CAAS,EAAe,CAAE,SAAAC,EAAU,YAAAC,CAAY,EAA6D,CAC/G,IAAMC,EAAW,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAM,IAAmB,CACxD,IAAMC,KAAQ,YAAQ,IAAM,OAAO,OAAO,CAAE,GAAGL,EAAU,GAAGI,CAAM,CAAC,EAAG,CAACA,CAAK,CAAC,EAE7E,OAAO,GAAAE,QAAA,cAACP,EAAA,CAAS,MAAOM,GAAQF,CAAS,CAC3C,EAEA,OAAAD,EAAS,YAAcD,KAEhB,SAAKC,CAAQ,CACtB,CDHO,IAAMK,MAAiB,kBAC5B,IAAI,MACF,CAAC,EACD,CACE,KAAM,CACJ,MAAM,IAAI,MAAM,sDAAsD,CACxE,CACF,CACF,CACF,EAEMC,GAAkBC,GAAmCF,GAAgB,CACzE,SAAU,CAAE,QAAS,EAAG,EACxB,YAAa,iBACf,CAAC,EAEMG,GAAQF,GDzBA,SAARG,IAA+B,CACpC,GAAM,CAAE,QAAAC,CAAQ,KAAI,eAAWC,EAAc,EAC7C,SAAO,YAAQ,IAAMD,EAAQ,MAAM,GAAG,EAAG,CAACA,CAAO,CAAC,CACpD,CGNA,SAASE,GAAYC,EAAiB,CACpC,IAAMC,EAAQ,SAAS,cAAc,OAAO,EAE5C,OAAAA,EAAM,OAAO,SAAS,eAAeD,CAAO,CAAC,EAEtCC,CACT,CAEe,SAARC,MAAqCC,EAAoB,CAC9D,OAAO,UAAwB,CAC7B,GAAI,CAAC,WAAW,SACd,MAAM,IAAI,MAAM,kDAAkD,EAGpE,OAAOA,EAAS,IAAIH,GAAWD,GAAYC,CAAO,CAAC,CACrD,CACF,CCdO,IAAMI,GAAqB,8BAE3BC,GAAQC,GAAiBF,EAAkB,ECJlD,IAAAG,GAAwB,SAExB,SAASC,GAAsCC,EAAc,CAE3D,SAAOC,GAAAA,SACL,IACE,OAAO,OACL,OAAO,YACL,OAAO,QAAQD,CAAM,EAAE,IAAI,CAAC,CAACE,EAAeC,CAAe,IAAM,CAC/DD,EACA,GAAGA,CAAa,IAAIC,CAAe,EACrC,CAAC,CACH,CACF,EACF,CAACH,CAAM,CACT,CACF,CAEA,IAAOI,EAAQL,GClBf,IAAAM,GAAwB,OAIT,SAARC,GAAiEC,EAAmB,CACzF,IAAMC,EAAaC,EAAUF,CAAM,EAC7BG,EAAWC,GAAY,EAC7B,SAAO,YACL,IACED,EACG,IAAIE,GAAWJ,EAAW,WAAWI,CAAO,EAAE,CAAC,EAC/C,OAAOC,GAASA,CAAK,EACrB,KAAK,GAAG,EACb,CAACL,EAAYE,CAAQ,CACvB,CACF,CCfA,IAAAI,GAAA,CAA0B,qBAAAC,KA6BmB,iBAAAC,KAOA,kBAAAC,MCpC7C,IAAAC,GAAyD,OACzDC,GAAuC,QCDvC,IAAAC,GAAwB,OACxBC,GAA4C,QAGtC,CAAE,gBAAAC,EAAgB,EAAI,SAEb,SAARC,GAAyCC,EAAwC,CACtF,GAAM,CAACC,CAAY,EAAIH,GAAgB,EACvC,SAAO,YACL,IACE,OAAO,OAAO,CACZ,CACE,GAAGG,EACH,GAAGD,GAAU,aAAa,SAAS,YACrC,CACF,CAAC,EACH,CAACA,GAAU,aAAa,SAAS,aAAcC,CAAY,CAC7D,CACF,CkIhBA,IAAAC,GAAmB,UsGFnB,IAAIC,GAAe,SAAsBC,EAAM,CAC7C,MAAO,gBAAkBA,CAC3B,EAEIC,GAEJF,GAAa,gBAAgB,EACzBG,GAEJH,GAAa,aAAa,EACtBI,GAEJJ,GAAa,IAAI,EAUjB,IAAIK,GAEJC,GAAa,mBAAmB,EAC5BC,GAEJD,GAAa,MAAM,EACfE,GAEJF,GAAa,aAAa,EACtBG,GAEJH,GAAa,WAAW,EACpBI,GAEJJ,GAAa,UAAU,ECpCvB,SAASK,IAAW,CAClB,OAAOA,GAAW,OAAO,OAAS,OAAO,OAAO,KAAK,EAAI,SAAUC,EAAG,CACpE,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAI,UAAUD,CAAC,EACnB,QAAS,KAAKC,GAAI,CAAC,GAAG,eAAe,KAAKA,EAAG,CAAC,IAAMF,EAAE,CAAC,EAAIE,EAAE,CAAC,EAChE,CACA,OAAOF,CACT,EAAGD,GAAS,MAAM,KAAM,SAAS,CACnC,CCNA,IAAII,GAAQ,SAAeC,EAAG,CAC5B,OAAOA,GAAM,IACf,EACIC,GAAW,SAAkBD,EAAG,CAClC,OAAOA,GAAM,IACf,EACIE,GAAO,SAAcC,EAAG,CAC1B,OAAO,OAAOA,GAAM,UACtB,EAIA,IAAIC,GAAS,SAAgBC,EAAG,CAC9B,OAAO,OAAOA,GAAM,QACtB,EACIC,GAAQ,MAAM,QAIlB,IAAIC,GAAU,SAAiBC,EAAG,CAChC,OAAOA,GAAKC,GAAKD,EAAE,IAAI,CACzB,EACIE,GAAW,SAAkBC,EAAI,CACnC,OAAOA,GAAMF,GAAKE,EAAG,IAAI,GAAKF,GAAKE,EAAG,KAAK,CAC7C,EAsBA,IAAIC,GAAiB,SAAwBC,EAAG,CAC9C,OAAOC,GAAKD,CAAC,GAAKA,EAAE,eAAe,UAAU,CAC/C,EACIE,GAAS,SAAgBC,EAAK,CAChC,MAAO,EAAQA,GAAQ,OAAO,QAAW,YAAcA,EAAI,cAAgB,QAAUA,IAAQ,OAAO,SACtG,EChDA,IAAIC,GAAQ,SAAeC,EAAG,CAC5B,OAAO,UAAY,CACjB,OAAOA,CACT,CACF,EACIC,GAEJF,GAAM,EAAI,EAENG,GAAO,UAAgB,CAAC,EAqB5B,IAAIC,GAAoB,SAA2BC,EAAQC,EAAQ,CACjEC,GAASF,EAAQC,CAAM,EAEnB,OAAO,uBACT,OAAO,sBAAsBA,CAAM,EAAE,QAAQ,SAAUE,EAAG,CACxDH,EAAOG,CAAC,EAAIF,EAAOE,CAAC,CACtB,CAAC,CAEL,EACIC,GAAU,SAAiBC,EAAQC,EAAK,CAC1C,IAAIC,EAEJ,OAAQA,EAAO,CAAC,GAAG,OAAO,MAAMA,EAAMD,EAAI,IAAID,CAAM,CAAC,CACvD,EACA,SAASG,GAAOC,EAAOC,EAAM,CAC3B,IAAIC,EAAQF,EAAM,QAAQC,CAAI,EAE1BC,GAAS,GACXF,EAAM,OAAOE,EAAO,CAAC,CAEzB,CAaA,IAAIC,GAAS,SAAgBC,EAAK,CAChC,MAAMA,CACR,EAEIC,GAAU,SAAiBC,EAAO,CACpC,MAAO,CACL,MAAOA,EACP,KAAM,EACR,CACF,EAEA,SAASC,GAAaC,EAAMC,EAAMC,EAAM,CAClCD,IAAS,SACXA,EAAON,IAGLO,IAAS,SACXA,EAAO,YAGT,IAAIC,EAAW,CACb,KAAM,CACJ,KAAMD,CACR,EACA,KAAMF,EACN,MAAOC,EACP,OAAQJ,GACR,eAAgB,EAClB,EAEA,OAAI,OAAO,OAAW,MACpBM,EAAS,OAAO,QAAQ,EAAI,UAAY,CACtC,OAAOA,CACT,GAGKA,CACT,CAQA,IAAIC,GAAc,SAAqBC,EAAK,CAC1C,OAAO,IAAI,MAAM;AAAA;AAAA;AAAA,WAAsMA,EAAM;AAAA,CAAI,CACnO,EAMA,IAAIC,GAAmB,SAA0BC,EAAG,CAClD,OAAO,MAAM,MAAM,KAAM,IAAI,MAAMA,CAAC,CAAC,CACvC,EAcA,IAAIC,GAAkB,SAAyBC,EAAK,CAClD,OAAOA,IAAQC,EACjB,EACIC,GAAe,SAAsBF,EAAK,CAC5C,OAAOA,IAAQG,EACjB,EACIC,GAAiB,SAAwBJ,EAAK,CAChD,OAAOD,GAAgBC,CAAG,GAAKE,GAAaF,CAAG,CACjD,EACA,SAASK,GAA6BC,EAAOC,EAAgB,CAC3D,IAAIC,EAAO,OAAO,KAAKF,CAAK,EACxBG,EAAaD,EAAK,OAQlBE,EAAiB,EACjBC,EACAC,EAAUC,GAAMP,CAAK,EAAIQ,GAAiBL,CAAU,EAAI,CAAC,EACzDM,EAAiB,CAAC,EAEtB,SAASC,GAAW,CACdN,IAAmBD,IACrBE,EAAY,GACZJ,EAAeK,CAAO,EAE1B,CAEA,OAAAJ,EAAK,QAAQ,SAAUS,EAAK,CAC1B,IAAIC,EAAY,SAAmBlB,EAAKmB,EAAO,CACzCR,IAIAQ,GAASf,GAAeJ,CAAG,GAC7BO,EAAe,OAAO,EACtBA,EAAeP,EAAKmB,CAAK,IAEzBP,EAAQK,CAAG,EAAIjB,EACfU,IACAM,EAAS,GAEb,EAEAE,EAAU,OAASE,GACnBL,EAAeE,CAAG,EAAIC,CACxB,CAAC,EAEDX,EAAe,OAAS,UAAY,CAC7BI,IACHA,EAAY,GACZH,EAAK,QAAQ,SAAUS,EAAK,CAC1B,OAAOF,EAAeE,CAAG,EAAE,OAAO,CACpC,CAAC,EAEL,EAEOF,CACT,CACA,SAASM,GAAYC,EAAI,CACvB,MAAO,CACL,KAAMA,EAAG,MAAQ,YACjB,SAAUC,GAAYD,CAAE,CAC1B,CACF,CACA,SAASC,GAAYC,EAAc,CACjC,OAAOA,EAAaC,EAAa,CACnC,CAuBA,IAAIC,GAAkB,6BAClBC,GAAoB,EAExB,IAAIC,GAAoB,EACpBC,GAAqB,EAOzB,SAASC,GAAWC,EAAOC,EAAgB,CACrCD,IAAU,SACZA,EAAQ,IAGV,IAAIE,EAAM,IAAI,MAAMF,CAAK,EACrBG,EAAS,EACTC,EAAY,EACZC,EAAW,EAEXC,EAAO,SAAcC,EAAI,CAC3BL,EAAIE,CAAS,EAAIG,EACjBH,GAAaA,EAAY,GAAKJ,EAC9BG,GACF,EAEIK,EAAO,UAAgB,CACzB,GAAIL,GAAU,EAAG,CACf,IAAII,EAAKL,EAAIG,CAAQ,EACrB,OAAAH,EAAIG,CAAQ,EAAI,KAChBF,IACAE,GAAYA,EAAW,GAAKL,EACrBO,CACT,CACF,EAEIE,EAAQ,UAAiB,CAG3B,QAFIC,EAAQ,CAAC,EAENP,GACLO,EAAM,KAAKF,EAAK,CAAC,EAGnB,OAAOE,CACT,EAEA,MAAO,CACL,QAAS,UAAmB,CAC1B,OAAOP,GAAU,CACnB,EACA,IAAK,SAAaI,EAAI,CACpB,GAAIJ,EAASH,EACXM,EAAKC,CAAE,MACF,CACL,IAAII,EAEJ,OAAQV,EAAgB,CACtB,KAAKW,GACH,MAAM,IAAI,MAAMC,EAAe,EAEjC,KAAKC,GACHZ,EAAIE,CAAS,EAAIG,EACjBH,GAAaA,EAAY,GAAKJ,EAC9BK,EAAWD,EACX,MAEF,KAAKW,GACHJ,EAAe,EAAIX,EACnBE,EAAMO,EAAM,EACZN,EAASD,EAAI,OACbE,EAAYF,EAAI,OAChBG,EAAW,EACXH,EAAI,OAASS,EACbX,EAAQW,EACRL,EAAKC,CAAE,EACP,MAEF,QAEF,CACF,CACF,EACA,KAAMC,EACN,MAAOC,CACT,CACF,CAcA,IAAIO,GAAY,SAAmBC,EAAa,CAC9C,OAAOC,GAAWD,EAAaE,EAAkB,CACnD,EAWA,IAAIC,GAAO,OACPC,GAAM,MACNC,GAAM,MACNC,GAAO,OACPC,GAAO,OACPC,GAAM,MACNC,GAAO,OACPC,GAAO,OACPC,GAAS,SACTC,GAAS,SACTC,GAAiB,iBACjBC,GAAY,YACZC,GAAQ,QACRC,GAAc,cACdC,GAAc,cCrWlB,SAASC,IAAW,CAClB,IAAIC,EAAM,CAAC,EACX,OAAAA,EAAI,QAAU,IAAI,QAAQ,SAAUC,EAASC,EAAQ,CACnDF,EAAI,QAAUC,EACdD,EAAI,OAASE,CACf,CAAC,EACMF,CACT,CAWA,IAAOG,GAAQC,GCRf,IAAIC,GAAQ,CAAC,EASTC,GAAY,EAOhB,SAASC,GAAKC,EAAM,CAClB,GAAI,CACFC,GAAQ,EACRD,EAAK,CACP,QAAE,CACAE,GAAQ,CACV,CACF,CAMA,SAASC,GAAKH,EAAM,CAClBH,GAAM,KAAKG,CAAI,EAEVF,KACHG,GAAQ,EACRG,GAAM,EAEV,CAKA,SAASC,GAAYL,EAAM,CACzB,GAAI,CACF,OAAAC,GAAQ,EACDD,EAAK,CACd,QAAE,CACAI,GAAM,CACR,CACF,CAMA,SAASH,IAAU,CACjBH,IACF,CAMA,SAASI,IAAU,CACjBJ,IACF,CAMA,SAASM,IAAQ,CACfF,GAAQ,EAGR,QAFIF,EAEG,CAACF,KAAcE,EAAOH,GAAM,MAAM,KAAO,QAC9CE,GAAKC,CAAI,CAEb,CAEA,IAAIM,GAAQ,SAAeC,EAAU,CACnC,OAAO,SAAUC,EAAO,CACtB,OAAOD,EAAS,KAAK,SAAUE,EAAG,CAChC,OAAOC,GAAQD,CAAC,EAAED,CAAK,CACzB,CAAC,CACH,CACF,EACIG,GAAY,SAAmBC,EAAY,CAC7C,OAAO,SAAUJ,EAAO,CACtB,OAAOI,EAAWJ,CAAK,CACzB,CACF,EACIK,GAAS,SAAgBC,EAAS,CACpC,OAAO,SAAUN,EAAO,CACtB,OAAOA,EAAM,OAAS,OAAOM,CAAO,CACtC,CACF,EACIC,GAAS,SAAgBD,EAAS,CACpC,OAAO,SAAUN,EAAO,CACtB,OAAOA,EAAM,OAASM,CACxB,CACF,EACIE,GAAW,UAAoB,CACjC,OAAOC,EACT,EACA,SAASP,GAAQI,EAAS,CAExB,IAAII,EAAiBJ,IAAY,IAAME,GAAWH,GAASC,CAAO,EAAID,GAASP,GAAQQ,CAAO,EAAIR,GAAQa,GAAeL,CAAO,EAAID,GAASO,GAAKN,CAAO,EAAIH,GAAYI,GAASD,CAAO,EAAIC,GAAS,KAEtM,GAAIG,IAAmB,KACrB,MAAM,IAAI,MAAM,oBAAsBJ,CAAO,EAG/C,OAAOI,EAAeJ,CAAO,CAC/B,CAEA,IAAIO,GAAM,CACR,KAAMC,EACR,EACIC,GAAQ,SAAeC,EAAG,CAC5B,OAAOA,GAAKA,EAAE,OAASF,EACzB,EACIG,GAA6B,mDAGjC,SAASC,GAAQC,EAAU,CACrBA,IAAa,SACfA,EAAWC,GAAU,GAGvB,IAAIC,EAAS,GACTC,EAAS,CAAC,EAMd,SAASC,GAAuB,CAC9B,GAAIF,GAAUC,EAAO,OACnB,MAAME,GAAYC,EAA0B,EAG9C,GAAIH,EAAO,QAAU,CAACH,EAAS,QAAQ,EACrC,MAAMK,GAAY,kDAAkD,CAExE,CAEA,SAASE,EAAIC,EAAO,CAMlB,GAAI,CAAAN,EAIJ,IAAIC,EAAO,SAAW,EACpB,OAAOH,EAAS,IAAIQ,CAAK,EAG3B,IAAIC,EAAKN,EAAO,MAAM,EACtBM,EAAGD,CAAK,EACV,CAEA,SAASE,EAAKD,EAAI,CAMZP,GAAUF,EAAS,QAAQ,EAC7BS,EAAGE,EAAG,EACIX,EAAS,QAAQ,GAG3BG,EAAO,KAAKM,CAAE,EAEdA,EAAG,OAAS,UAAY,CACtBG,GAAOT,EAAQM,CAAE,CACnB,GANAA,EAAGT,EAAS,KAAK,CAAC,CAQtB,CAEA,SAASa,EAAMJ,EAAI,CAMjB,GAAIP,GAAUF,EAAS,QAAQ,EAAG,CAChCS,EAAGE,EAAG,EACN,MACF,CAEAF,EAAGT,EAAS,MAAM,CAAC,CACrB,CAEA,SAASc,GAAQ,CAKf,GAAI,CAAAZ,EAIJ,CAAAA,EAAS,GACT,IAAIa,EAAMZ,EACVA,EAAS,CAAC,EAEV,QAASa,EAAI,EAAGC,EAAMF,EAAI,OAAQC,EAAIC,EAAKD,IAAK,CAC9C,IAAIE,EAAQH,EAAIC,CAAC,EACjBE,EAAMP,EAAG,CACX,EACF,CAEA,MAAO,CACL,KAAMD,EACN,IAAKH,EACL,MAAOM,EACP,MAAOC,CACT,CACF,CAqJA,IAAIK,GAAU,EACVC,GAAY,EACZC,GAAU,EACVC,GAAO,EAEX,SAASC,GAAeC,EAASC,EAAI,CACnC,IAAIC,EAAgBF,EAAQG,EAAM,EAE9BC,GAAKF,CAAa,IACpBD,EAAG,OAASC,GAGdF,EAAQ,KAAKC,EAAI,SAAUI,EAAO,CAChCJ,EAAGI,EAAO,EAAI,CAChB,CAAC,CACH,CAEA,IAAIC,GAAU,EACVC,GAAc,UAAY,CAC5B,MAAO,EAAED,EACX,EAEIE,GAEJ,SAASC,GAAoBC,EAAUC,EAAI,CACzC,OAAID,EAAS,eACJ,CACL,KAAMA,EAAS,KAAK,IACtB,EAGKE,GAAYD,CAAE,CACvB,CAEA,SAASE,GAAmBC,EAAM,CAChC,IAAIC,EAAUD,EAAK,QACfH,EAAKG,EAAK,GACVE,EAAOF,EAAK,KAGhB,GAAI,CACF,IAAIG,EAASN,EAAG,MAAMI,EAASC,CAAI,EAEnC,GAAIN,GAASO,CAAM,EACjB,OAAOA,EAGT,IAAIC,EAAW,GAEXC,EAAO,SAAcC,EAAK,CAC5B,OAAKF,EAQI,CACL,MAAOE,EACP,KAAM,EACR,GAVAF,EAAW,GAEJ,CACL,MAAOD,EACP,KAAM,CAACjB,GAAQiB,CAAM,CACvB,EAOJ,EAEA,OAAOI,GAAaF,CAAI,CAC1B,OAASG,EAAK,CAGZ,OAAOD,GAAa,UAAY,CAC9B,MAAMC,CACR,CAAC,CACH,CACF,CAEA,SAASC,GAAaC,EAAKC,EAAOxB,EAAI,CACpC,IAAIyB,EAAUD,EAAM,QAChBE,EAASF,EAAM,OACfG,EAAUH,EAAM,QAOpBI,GAAK,UAAY,CACf,IAAIZ,EAEJ,GAAI,CACFA,GAAUS,EAAUA,EAAQ,IAAMF,EAAI,UAAUG,CAAM,CACxD,OAAStB,EAAO,CACdJ,EAAGI,EAAO,EAAI,EACd,MACF,CAEIuB,GAAW5B,GAAQiB,CAAM,EAC3BlB,GAAekB,EAAQhB,CAAE,EAEzBA,EAAGgB,CAAM,CAEb,CAAC,CACH,CAEA,SAASa,GAAcN,EAAKO,EAAO9B,EAAI,CACrC,IAAI+B,EAAgBD,EAAM,QACtBL,EAAUM,IAAkB,OAASR,EAAI,QAAUQ,EACnDC,EAAUF,EAAM,QAChBG,EAAQH,EAAM,MAEdI,EAAS,SAAgBC,EAAO,CAClC,GAAIA,aAAiB,MAAO,CAC1BnC,EAAGmC,EAAO,EAAI,EACd,MACF,CAEA,GAAIC,GAAMD,CAAK,GAAK,CAACF,EAAO,CAC1BjC,EAAGqC,EAAS,EACZ,MACF,CAEArC,EAAGmC,CAAK,CACV,EAEA,GAAI,CACFV,EAAQ,KAAKS,EAAQI,GAASN,CAAO,EAAIO,GAAQP,CAAO,EAAI,IAAI,CAClE,OAASX,EAAK,CACZrB,EAAGqB,EAAK,EAAI,EACZ,MACF,CAEArB,EAAG,OAASkC,EAAO,MACrB,CAEA,SAASM,GAAcjB,EAAKkB,EAAOzC,EAAI0C,EAAO,CAC5C,IAAI5B,EAAU2B,EAAM,QAChB/B,EAAK+B,EAAM,GACX1B,EAAO0B,EAAM,KACbE,EAAOD,EAAM,KAGjB,GAAI,CACF,IAAI1B,EAASN,EAAG,MAAMI,EAASC,CAAI,EAEnC,GAAIhB,GAAQiB,CAAM,EAAG,CACnBlB,GAAekB,EAAQhB,CAAE,EACzB,MACF,CAEA,GAAIS,GAASO,CAAM,EAAG,CAEpB4B,GAAKrB,EAAKP,EAAQ2B,EAAK,QAAStC,GAASM,GAAYD,CAAE,EAEvD,GAAOV,CAAE,EACT,MACF,CAEAA,EAAGgB,CAAM,CACX,OAASZ,EAAO,CACdJ,EAAGI,EAAO,EAAI,CAChB,CACF,CAEA,SAASyC,GAAatB,EAAKuB,EAAO9C,EAAI,CACpC,IAAIc,EAAUgC,EAAM,QAChBpC,EAAKoC,EAAM,GACX/B,EAAO+B,EAAM,KAKjB,GAAI,CACF,IAAIC,EAAQ,SAAe1B,EAAK2B,EAAK,CAC/BC,GAAM5B,CAAG,EACXrB,EAAGgD,CAAG,EAENhD,EAAGqB,EAAK,EAAI,CAEhB,EAEAX,EAAG,MAAMI,EAASC,EAAK,OAAOgC,CAAK,CAAC,EAEhCA,EAAM,SACR/C,EAAG,OAAS+C,EAAM,OAEtB,OAAS3C,EAAO,CACdJ,EAAGI,EAAO,EAAI,CAChB,CACF,CAEA,SAAS8C,GAAc3B,EAAK4B,EAAOnD,EAAIoD,EAAO,CAC5C,IAAItC,EAAUqC,EAAM,QAChBzC,EAAKyC,EAAM,GACXpC,EAAOoC,EAAM,KACbE,EAAWF,EAAM,SACjBG,EAASF,EAAM,KACfG,EAAe3C,GAAmB,CACpC,QAASE,EACT,GAAIJ,EACJ,KAAMK,CACR,CAAC,EACGyC,EAAOhD,GAAoB+C,EAAc7C,CAAE,EAC/C+C,GAAY,UAAY,CACtB,IAAIC,EAAQd,GAAKrB,EAAKgC,EAAcD,EAAO,QAASjD,GAASmD,EAAMH,EAAU,MAAS,EAElFA,EACFrD,EAAG0D,CAAK,EAEJA,EAAM,UAAU,GAClBJ,EAAO,MAAM,QAAQI,CAAK,EAC1B1D,EAAG0D,CAAK,GACCA,EAAM,UAAU,EACzBJ,EAAO,MAAM,MAAMI,EAAM,MAAM,CAAC,EAEhC1D,EAAG0D,CAAK,CAGd,CAAC,CACH,CAEA,SAASC,GAAcpC,EAAKqC,EAAa5D,EAAI6D,EAAO,CAClD,IAAIlB,EAAOkB,EAAM,KAEbC,EAAiB,SAAwBC,EAAY/D,EAAI,CAC3D,GAAI+D,EAAW,UAAU,EAAG,CAC1B,IAAIC,EAAS,CACX,KAAMrB,EACN,GAAI3C,CACN,EAEAA,EAAG,OAAS,UAAY,CAClB+D,EAAW,UAAU,GAAGE,GAAOF,EAAW,QAASC,CAAM,CAC/D,EAEAD,EAAW,QAAQ,KAAKC,CAAM,CAChC,MACMD,EAAW,UAAU,EACvB/D,EAAG+D,EAAW,MAAM,EAAG,EAAI,EAE3B/D,EAAG+D,EAAW,OAAO,CAAC,CAG5B,EAEA,GAAIG,GAAQN,CAAW,EAAG,CACxB,GAAIA,EAAY,SAAW,EAAG,CAC5B5D,EAAG,CAAC,CAAC,EACL,MACF,CAEA,IAAImE,EAAiBC,GAA6BR,EAAa5D,CAAE,EACjE4D,EAAY,QAAQ,SAAUS,EAAGC,EAAG,CAClCR,EAAeO,EAAGF,EAAeG,CAAC,CAAC,CACrC,CAAC,CACH,MACER,EAAeF,EAAa5D,CAAE,CAElC,CAEA,SAASuE,GAAiBC,EAAc,CAClCA,EAAa,UAAU,GACzBA,EAAa,OAAO,CAExB,CAEA,SAASC,GAAgBlD,EAAKqC,EAAa5D,EAAI0E,EAAQ,CACrD,IAAI/B,EAAO+B,EAAO,KAEdd,IAAgBe,GAClBJ,GAAiB5B,CAAI,EACZuB,GAAQN,CAAW,EAC5BA,EAAY,QAAQW,EAAgB,EAEpCA,GAAiBX,CAAW,EAG9B5D,EAAG,CACL,CAEA,SAAS4E,GAAarD,EAAKsD,EAAS7E,EAAI8E,EAAQ,CAC9C,IAAIC,EAAeD,EAAO,aACtBE,EAAW3E,GACX4E,EAAO,OAAO,KAAKJ,CAAO,EAE9B,GAAII,EAAK,SAAW,EAAG,CACrBjF,EAAGkE,GAAQW,CAAO,EAAI,CAAC,EAAI,CAAC,CAAC,EAC7B,MACF,CAEA,IAAIV,EAAiBC,GAA6BS,EAAS7E,CAAE,EAC7DiF,EAAK,QAAQ,SAAUC,EAAK,CAC1BH,EAAaF,EAAQK,CAAG,EAAGF,EAAUb,EAAee,CAAG,EAAGA,CAAG,CAC/D,CAAC,CACH,CAEA,SAASC,GAAc5D,EAAKsD,EAAS7E,EAAIoF,EAAQ,CAC/C,IAAIL,EAAeK,EAAO,aACtBJ,EAAW3E,GACX4E,EAAO,OAAO,KAAKJ,CAAO,EAC1BQ,EAAWnB,GAAQW,CAAO,EAAIS,GAAiBL,EAAK,MAAM,EAAI,CAAC,EAC/DM,EAAW,CAAC,EACZC,EAAY,GAChBP,EAAK,QAAQ,SAAUC,EAAK,CAC1B,IAAIO,EAAY,SAAmBzC,EAAK0C,EAAO,CACzCF,IAIAE,GAASC,GAAe3C,CAAG,GAE7BhD,EAAG,OAAO,EACVA,EAAGgD,EAAK0C,CAAK,IAEb1F,EAAG,OAAO,EACVwF,EAAY,GACZH,EAASH,CAAG,EAAIlC,EAChBhD,EAAGqF,CAAQ,GAEf,EAEAI,EAAU,OAASG,GACnBL,EAASL,CAAG,EAAIO,CAClB,CAAC,EAEDzF,EAAG,OAAS,UAAY,CAEjBwF,IACHA,EAAY,GACZP,EAAK,QAAQ,SAAUC,EAAK,CAC1B,OAAOK,EAASL,CAAG,EAAE,OAAO,CAC9B,CAAC,EAEL,EAEAD,EAAK,QAAQ,SAAUC,EAAK,CACtBM,GAIJT,EAAaF,EAAQK,CAAG,EAAGF,EAAUO,EAASL,CAAG,EAAGA,CAAG,CACzD,CAAC,CACH,CAEA,SAASW,GAAgBtE,EAAKuE,EAAQ9F,EAAI,CACxC,IAAI+F,EAAWD,EAAO,SAClB/E,EAAO+E,EAAO,KAElB,GAAI,CACF,IAAIE,EAAQD,EAAS,MAAM,OAAQ,CAACxE,EAAI,SAAS,CAAC,EAAE,OAAOR,CAAI,CAAC,EAChEf,EAAGgG,CAAK,CACV,OAAS5F,EAAO,CACdJ,EAAGI,EAAO,EAAI,CAChB,CACF,CAEA,SAAS6F,GAAiB1E,EAAK2E,EAAQlG,EAAI,CACzC,IAAIgC,EAAUkE,EAAO,QACjBC,EAASD,EAAO,OAChBE,EAAO3E,GAAQ0E,CAAM,EACrBE,EAAQ9D,GAAQP,CAAO,EAEvBsE,EAAQ,SAASA,EAAM5E,EAAQ,CAC5BU,GAAMV,CAAM,GACfH,EAAI,QAAQ,KAAK+E,EAAOD,CAAK,EAG/BD,EAAK,IAAI1E,CAAM,CACjB,EAEI6E,EAAQH,EAAK,MAEjBA,EAAK,MAAQ,UAAY,CACvBE,EAAM,OAAO,EACbC,EAAM,CACR,EAEAhF,EAAI,QAAQ,KAAK+E,EAAOD,CAAK,EAC7BrG,EAAGoG,CAAI,CACT,CAEA,SAASI,GAAmBjF,EAAKkF,EAAMzG,EAAI0G,EAAQ,CACjD,IAAI/D,EAAO+D,EAAO,KAClB1G,EAAG2C,EAAK,YAAY,CAAC,CACvB,CAEA,SAASgE,GAAepF,EAAKE,EAASzB,EAAI,CACxCyB,EAAQ,MAAMzB,CAAE,CAClB,CAEA,SAAS4G,GAAoBrF,EAAKsF,EAAM7G,EAAI8G,EAAQ,CAClD,IAAInE,EAAOmE,EAAO,KAClB9G,EAAG2C,EAAK,QAAQkE,CAAI,CAAC,CACvB,CAEA,SAASE,GAAoBxF,EAAKyF,EAAOhH,EAAIiH,EAAQ,CACnD,IAAItE,EAAOsE,EAAO,KAClBC,GAAkBvE,EAAK,QAASqE,CAAK,EACrChH,EAAG,CACL,CAEA,IAAImH,IAAmB5G,GAAmB,CAAC,EAAGA,GAAiB6G,EAAI,EAAIvF,GAAetB,GAAiB8G,EAAG,EAAI/F,GAAcf,GAAiB+G,EAAG,EAAI1C,GAAcrE,GAAiBgH,EAAI,EAAIpC,GAAe5E,GAAiBiH,EAAI,EAAIhF,GAAejC,GAAiBkH,EAAG,EAAI5E,GAActC,GAAiBmH,EAAI,EAAIxE,GAAe3C,GAAiBoH,EAAI,EAAIhE,GAAepD,GAAiBL,EAAQ,EAAIuE,GAAiBlE,GAAiBqH,EAAM,EAAI/B,GAAiBtF,GAAiBsH,EAAc,EAAI5B,GAAkB1F,GAAiBZ,EAAW,EAAI6G,GAAoBjG,GAAiBuH,EAAK,EAAInB,GAAgBpG,GAAiBwH,EAAW,EAAInB,GAAqBrG,GAAiByH,EAAW,EAAIjB,GAAqBxG,IAkB/rB,SAAS0H,GAAUC,EAAUC,EAASC,EAAM,CAC1C,IAAIC,EAAQ,CAAC,EACTrH,EACAwE,EAAY,GAChB8C,EAAQJ,CAAQ,EAEhB,IAAIK,EAAW,UAAoB,CACjC,OAAOF,CACT,EAEA,SAASG,EAAMnH,EAAK,CAClB8G,EAAQ,EACRM,EAAU,EACVL,EAAK/G,EAAK,EAAI,CAChB,CAEA,SAASiH,EAAQ3F,EAAM,CACrB0F,EAAM,KAAK1F,CAAI,EAEfA,EAAK,KAAO,SAAUK,EAAK0C,EAAO,CAC5BF,IAIJvB,GAAOoE,EAAO1F,CAAI,EAClBA,EAAK,KAAOiD,GAERF,EACF8C,EAAMxF,CAAG,GAELL,IAASuF,IACXlH,EAASgC,GAGNqF,EAAM,SACT7C,EAAY,GACZ4C,EAAKpH,CAAM,IAGjB,CACF,CAEA,SAASyH,GAAY,CACfjD,IAIJA,EAAY,GACZ6C,EAAM,QAAQ,SAAUhE,EAAG,CACzBA,EAAE,KAAOuB,GACTvB,EAAE,OAAO,CACX,CAAC,EACDgE,EAAQ,CAAC,EACX,CAEA,MAAO,CACL,QAASC,EACT,UAAWG,EACX,MAAOD,EACP,SAAUD,CACZ,CACF,CAIA,SAASG,GAAeC,EAAUC,EAAY,CAC5C,OAAOD,EAAW,IAAMC,CAC1B,CAEA,SAASC,GAAuBC,EAAQ,CACtC,IAAIC,EAAWC,GAAYF,CAAM,EAEjC,GAAIC,EAAU,CACZ,IAAIE,EAAOF,EAAS,KAChBJ,EAAWI,EAAS,SACpBH,EAAaG,EAAS,WACtBG,EAASD,EAAO,KAAOP,GAAeC,EAAUC,CAAU,EAC9D,OAAOM,CACT,CAEA,MAAO,EACT,CAEA,SAASC,GAAqBC,EAAU,CACtC,IAAIC,EAAOD,EAAS,KAChBL,EAAWK,EAAS,SAExB,OAAIL,EACKM,EAAO,KAAOX,GAAeK,EAAS,SAAUA,EAAS,UAAU,EAGrEM,CACT,CAEA,SAASC,GAAuBC,EAAW,CACzC,IAAIC,EAAiBC,GAAQ,SAAUnF,EAAG,CACxC,OAAOA,EAAE,cACX,EAAGiF,CAAS,EAEZ,OAAKC,EAAe,OAIb,CAAC,+BAA+B,EAAE,OAAOA,CAAc,EAAE,KAAK;AAAA,CAAI,EAHhE,EAIX,CAEA,IAAIE,GAAgB,KAChBH,GAAY,CAAC,EACbI,GAAe,SAAsBC,EAAO,CAC9CA,EAAM,cAAgBF,GACtBH,GAAU,KAAKK,CAAK,CACtB,EACIC,GAAQ,UAAiB,CAC3BH,GAAgB,KAChBH,GAAU,OAAS,CACrB,EAIIO,GAAmB,SAA0BhB,EAAQ,CACvDY,GAAgBZ,CAClB,EAWIiB,GAAW,UAAoB,CACjC,IAAIC,EAAYT,GAAU,CAAC,EACvBU,EAAaV,GAAU,MAAM,CAAC,EAC9BW,EAAwBF,EAAU,cAAgBnB,GAAuBmB,EAAU,aAAa,EAAI,KACpGG,EAAe,oCAAsChB,GAAqBa,EAAU,IAAI,GAAKE,EAAwB;AAAA,yBAA+BA,EAAwB,IAChL,MAAO,CAACC,CAAY,EAAE,OAAOF,EAAW,IAAI,SAAUG,EAAG,CACvD,MAAO,kBAAoBjB,GAAqBiB,EAAE,IAAI,CACxD,CAAC,EAAG,CAACd,GAAuBC,EAAS,CAAC,CAAC,EAAE,KAAK;AAAA,CAAI,CACpD,EAEA,SAASc,GAAQ9I,EAAK2G,EAAUoC,EAAeC,EAAgB/G,EAAMgH,EAAQpC,EAAM,CACjF,IAAIqC,EAEArC,IAAS,SACXA,EAAOxC,IAGT,IAAI8E,EAAShL,GACTiL,EACAC,EACAC,EAAc,KACdC,EAA2B,CAAC,EAC5BhK,EAAU,OAAO,OAAOwJ,CAAa,EACrCS,EAAQ9C,GAAUC,EAAU,UAAmB,CACjD4C,EAAyB,KAAK,MAAMA,EAA0BC,EAAM,SAAS,EAAE,IAAI,SAAU1G,EAAG,CAC9F,OAAOA,EAAE,KAAK,IAChB,CAAC,CAAC,CACJ,EAAG2G,CAAG,EASN,SAASC,GAAS,CACZP,IAAWhL,KAGbgL,EAAS/K,GACToL,EAAM,UAAU,EAEhBC,EAAIE,GAAa,EAAK,EAE1B,CAEA,SAASF,EAAIhK,EAAQ0E,EAAO,CAC1B,GAAI,CAACA,EAGC1E,IAAWkK,GACbR,EAAS/K,GACA+K,IAAW/K,KACpB+K,EAAS7K,IAGX8K,EAAa3J,EACb6J,GAAeA,EAAY,QAAQ7J,CAAM,MACpC,CAOL,GANA0J,EAAS9K,GACT+J,GAAa,CACX,KAAMnG,EACN,eAAgBsH,CAClB,CAAC,EAEGnI,EAAK,OAAQ,CACf,IAAI4G,EAAYQ,GAAS,EAGzBF,GAAM,EACNtI,EAAI,QAAQP,EAAQ,CAClB,UAAWuI,CACb,CAAC,CACH,CAEAqB,EAAY5J,EACZ6J,GAAeA,EAAY,OAAO7J,CAAM,CAC1C,CAEA2B,EAAK,KAAK3B,EAAQ0E,CAAK,EACvB/C,EAAK,QAAQ,QAAQ,SAAUqB,EAAQ,CACrCA,EAAO,GAAGhD,EAAQ0E,CAAK,CACzB,CAAC,EACD/C,EAAK,QAAU,IACjB,CAEA,SAASwI,EAAWnE,EAAO,CAKzBE,GAAkBpG,EAASkG,CAAK,CAClC,CAEA,SAASoE,GAAY,CACnB,OAAIP,IAIJA,EAAcQ,GAAS,EAEnBX,IAAW9K,GACbiL,EAAY,OAAOD,CAAS,EACnBF,IAAWhL,IACpBmL,EAAY,QAAQF,CAAU,GAGzBE,EAAY,OACrB,CAEA,IAAIlI,GAAQ8H,EAAQ,CAAC,EAAGA,EAAMa,EAAI,EAAI,GAAMb,EAAM,GAAKF,EAAgBE,EAAM,KAAOjH,EAAMiH,EAAM,OAASD,EAAQC,EAAM,QAAU3J,EAAS2J,EAAM,QAAU,CAAC,EAAGA,EAAM,MAAQM,EAAON,EAAM,OAASQ,EAAQR,EAAM,KAAOrC,EAAMqC,EAAM,IAAMO,EAAKP,EAAM,WAAaU,EAAYV,EAAM,UAAYW,EAAWX,EAAM,UAAY,UAAqB,CAC/U,OAAOC,IAAWhL,EACpB,EAAG+K,EAAM,YAAc,UAAuB,CAC5C,OAAOC,IAAW/K,IAAa+K,IAAWhL,IAAWwI,EAAS,SAAWvI,EAC3E,EAAG8K,EAAM,UAAY,UAAqB,CACxC,OAAOC,IAAW9K,EACpB,EAAG6K,EAAM,OAAS,UAAkB,CAClC,OAAOE,CACT,EAAGF,EAAM,MAAQ,UAAiB,CAChC,OAAOG,CACT,EAAGH,GACH,OAAO9H,CACT,CAEA,SAASC,GAAKrB,EAAKgK,EAAYjB,EAAeC,EAAgB/G,EAAMgH,EAAQpC,EAAM,CAKhF,IAAIoD,EAAiBjK,EAAI,kBAAkBkK,CAAS,EAOpDvK,EAAK,OAAS0E,GAGd,IAAIsC,EAAW,CACb,KAAM1E,EACN,OAAQkI,EACR,OAAQhM,EACV,EAMIiD,EAAO0H,GAAQ9I,EAAK2G,EAAUoC,EAAeC,EAAgB/G,EAAMgH,EAAQpC,CAAI,EAC/EuD,EAAmB,CACrB,KAAMhJ,EACN,aAAcoC,CAChB,EAKA,SAAS2G,GAAa,CAChBxD,EAAS,SAAWxI,KACtBwI,EAAS,OAASvI,GAClBuB,EAAKgK,EAAW,EAEpB,CAOA,OAAI9C,IACFA,EAAK,OAASzF,EAAK,QAIrBzB,EAAK,EAEEyB,EAWP,SAASzB,EAAKC,EAAKuE,EAAO,CACxB,GAAI,CACF,IAAI1E,EAEA0E,GACF1E,EAASuK,EAAW,MAAMpK,CAAG,EAE7B0I,GAAM,GACG+B,GAAazK,CAAG,GAOzB+G,EAAS,OAASvI,GAKlBuB,EAAK,OAAO,EAMZF,EAASb,GAAKoL,EAAW,MAAM,EAAIA,EAAW,OAAOL,EAAW,EAAI,CAClE,KAAM,GACN,MAAOA,EACT,GACSW,GAAgB1K,CAAG,EAE5BH,EAASb,GAAKoL,EAAW,MAAM,EAAIA,EAAW,OAAO,EAAI,CACvD,KAAM,EACR,EAEAvK,EAASuK,EAAW,KAAKpK,CAAG,EAGzBH,EAAO,MAMNkH,EAAS,SAAWvI,KACtBuI,EAAS,OAASrI,IAGpBqI,EAAS,KAAKlH,EAAO,KAAK,GAT1B+D,EAAa/D,EAAO,MAAOuJ,EAAgBrJ,CAAI,CAWnD,OAASd,EAAO,CACd,GAAI8H,EAAS,SAAWvI,GACtB,MAAMS,EAGR8H,EAAS,OAAStI,GAClBsI,EAAS,KAAK9H,EAAO,EAAI,CAC3B,CACF,CAEA,SAASqL,EAAU3C,EAAQ9D,EAAU8G,EAAQ,CAa3C,GAAI/L,GAAQ+I,CAAM,EAChBhJ,GAAegJ,EAAQgD,CAAM,UACpBrL,GAASqI,CAAM,EAExBlG,GAAKrB,EAAKuH,EAAQnG,EAAK,QAASqC,EAAUxB,EAE1C,GAAOsI,CAAM,UACJhD,GAAUA,EAAOiD,EAAE,EAAG,CAC/B,IAAIC,EAAe7E,GAAgB2B,EAAO,IAAI,EAC9CkD,EAAazK,EAAKuH,EAAO,QAASgD,EAAQH,CAAgB,CAC5D,MAEEG,EAAOhD,CAAM,CAEjB,CAEA,SAAS/D,EAAa+D,EAAQyB,EAAgBvK,EAAIiM,EAAO,CACnDA,IAAU,SACZA,EAAQ,IAGV,IAAIjH,EAAW1E,GAAW,EAC1BiB,EAAI,aAAeA,EAAI,YAAY,gBAAgB,CACjD,SAAUyD,EACV,eAAgBuF,EAChB,MAAO0B,EACP,OAAQnD,CACV,CAAC,EAOD,IAAIoD,EAEJ,SAASJ,EAAO9I,EAAK0C,EAAO,CACtBwG,IAIJA,EAAgB,GAChBlM,EAAG,OAAS4F,GAERrE,EAAI,cACFmE,EACFnE,EAAI,YAAY,eAAeyD,EAAUhC,CAAG,EAE5CzB,EAAI,YAAY,eAAeyD,EAAUhC,CAAG,GAI5C0C,GACFoE,GAAiBhB,CAAM,EAGzB9I,EAAGgD,EAAK0C,CAAK,EACf,CAGAoG,EAAO,OAASlG,GAEhB5F,EAAG,OAAS,UAAY,CAElBkM,IAIJA,EAAgB,GAChBJ,EAAO,OAAO,EAEdA,EAAO,OAASlG,GAEhBrE,EAAI,aAAeA,EAAI,YAAY,gBAAgByD,CAAQ,EAC7D,EAEAwG,EAAe1C,EAAQ9D,EAAU8G,CAAM,CACzC,CACF,CAEA,IAAIK,GAAqB,kCACrBC,GAAoBD,GAAqB,gDzFxvC7C,IAAAE,GAAqB,U0F2BrB,IAAIC,GAAY,cAAc,KAAM,CAClC,OAMA,YAAYC,EAAQ,CAClB,MAAMA,EAAO,CAAC,EAAE,OAAO,EACvB,KAAK,KAAO,YACZ,KAAK,OAASA,CAChB,CACF,EAGIC,GAAc,OAAO,OAAO,EA0BhC,SAASC,GAAYC,EAASC,EAAWC,EAAOC,EAAOC,EAAU,CAC/D,MAAO,CACL,OAAQ,CAAC,CAAE,QAAAJ,EAAS,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,SAAAC,CAAS,CAAC,CACzD,CACF,CAGA,SAASC,GAAaC,EAAQ,CAC5B,MAAO,CAAE,OAAAA,CAAO,CAClB,CAGA,SAASC,GAAYC,EAAMC,EAAM,CAC/B,OAAO,MAAM,QAAQD,CAAI,EAAI,CAAC,OAAQA,CAAI,EAAI,CAACA,EAAMC,CAAI,CAC3D,CAGA,IAAIC,GAIJ,SAASC,GAAgBC,EAAQ,CAC/B,MAAO,CACL,KAAMA,GAAQ,MAAQC,IAAO,KAC7B,QAASD,GAAQ,QACjB,WAAYA,GAAQ,YAAcC,IAAO,WACzC,eAAgBD,GAAQ,gBAAkBC,IAAO,eACjD,SAAUD,GAAQ,UAAYC,IAAO,QACvC,CACF,CAMA,IAAIC,GAMJ,SAASC,GAAiBC,EAAM,CAC9B,OAAOC,IAAQ,IAAID,CAAI,CACzB,CAMA,IAAIE,GAMJ,SAASC,GAAiBC,EAAM,CAC9B,OAAOC,IAAQ,IAAID,CAAI,CACzB,CAMA,IAAIE,GAQJ,SAASC,GAAmBC,EAAWC,EAAM,CAC3C,OAAOC,IAAQ,IAAIF,CAAS,GAAG,IAAIC,CAAI,CACzC,CAMA,SAASE,GAAKC,EAAQC,EAASC,EAAWC,EAAQC,EAAO,CACvD,IAAMC,EAAUJ,EAAQ,SAAWK,GAAmBJ,EAAWE,EAAM,IAAI,IAAMJ,EAASO,GAAiBH,EAAM,IAAI,EAAI,OAASD,GAAQ,SAAWK,GAAiBJ,EAAM,IAAI,GAAKA,EAAM,QAC3L,OAAO,OAAOC,GAAY,WAAaA,EAAQD,CAAK,EAAIC,CAC1D,CAuBA,SAASI,GAAaC,EAAOC,EAAQC,EAAQ,CAC3C,MAAO,CAAE,MAAAF,EAAO,OAAAC,EAAQ,OAAAC,CAAO,CACjC,CAGA,SAASC,GAAUC,EAAO,CACxB,IAAIC,EAAO,OAAOD,EAClB,OAAIC,IAAS,WACXA,EAAOD,EAAQ,OAAO,eAAeA,CAAK,EAAE,YAAY,KAAO,QAE1DC,IAAS,SAAW,IAAID,CAAK,IAAMC,IAAS,UAAYA,IAAS,UAAYA,IAAS,UAAY,GAAGD,CAAK,GAAKC,CACxH,CAGA,SAASC,GAAUC,EAASC,EAAQC,EAAO,CACzC,IAAMC,EAAWD,EAAM,UAAYN,GAAUM,EAAM,KAAK,EAClDE,EAAe,CACnB,OAAQJ,EAAQ,KAChB,QAASE,EAAM,QAAQ,KACvB,SAAUA,EAAM,QAAQ,QACxB,SAAAC,EACA,QAAS,WAAWD,EAAM,KAAK,KAAKA,EAAM,QAAQ,QAAU,YAAYA,EAAM,QAAQ,OAAO,SAAW,GAAG,WAAWC,CAAQ,GAC9H,MAAOD,EAAM,MACb,YAAaA,EAAM,QAAQ,YAC3B,KAAMA,EAAM,KACZ,KAAMD,GAAQ,KACd,WAAYA,GAAQ,WACpB,eAAgBA,GAAQ,eACxB,SAAUA,GAAQ,QACpB,EACA,OAAAG,EAAa,QAAUC,GACrB,GACAH,EAAM,QACNA,EAAM,UACND,EACAG,CACF,EACOA,CACT,CAGA,SAASE,GAAWN,EAASH,EAAOI,EAAQN,EAAQ,CAClD,GAAIK,EAAQ,MAAQ,CAACC,GAAQ,SAC3B,QAAWM,KAAUP,EAAQ,KAAM,CACjC,IAAMQ,EAASD,EAAO,OAAOV,CAAK,EAClC,GAAIW,EAAO,OAAQ,CACjB,QAAWC,KAAgBD,EAAO,OAAQ,CACxC,IAAMJ,EAAeL,GAAUC,EAASC,EAAQQ,CAAY,EAC5Dd,EAASA,EAAO,KAAKS,CAAY,EAAIT,EAAS,CAACS,CAAY,CAC7D,CACA,GAAIH,GAAQ,YAAcA,GAAQ,eAChC,KAEJ,MACEJ,EAAQW,EAAO,MAEnB,CAEF,OAAOhB,GAAa,GAAMK,EAAOF,CAAM,CACzC,CAwBA,SAASe,GAAmBC,EAAMC,EAAMC,EAAM,CAC5C,GAAI,CAACF,GAAQ,OAAOA,GAAS,UAAY,CAAC,MAAM,QAAQA,CAAI,EAAG,CAC7D,GAAM,CAACG,EAAQC,CAAK,EAAIC,GAAYJ,EAAMC,CAAI,EAC9C,MAAO,CAACF,EAAMG,EAAQC,CAAK,CAC7B,CACA,GAAM,CAACE,EAAOC,CAAI,EAAIF,GACpBL,EACAC,CACF,EACA,MAAO,CAAC,OAAQK,EAAOC,CAAI,CAC7B,CAGA,SAASC,GAAYC,EAASC,EAAWC,EAAOC,EAAQC,EAAO,CAC7D,IAAMC,EAAWC,GAAUJ,CAAK,EAC1BK,EAAWH,GAAO,UAAYJ,EAAQ,QACtCQ,EAAQ,CACZ,OAAQJ,GAAO,QAAU,OACzB,QAASJ,EAAQ,KACjB,SAAAO,EACA,SAAAF,EACA,QAAS,0BAA0BE,CAAQ,iBAAiBF,CAAQ,GACpE,MAAAH,EACA,KAAME,GAAO,KACb,OAAQA,GAAO,OACf,KAAMD,GAAQ,KACd,WAAYA,GAAQ,WACpB,eAAgBA,GAAQ,eACxB,SAAUA,GAAQ,QACpB,EACA,OAAAK,EAAM,QAAUC,GAAK,GAAMT,EAASC,EAAWE,EAAQK,CAAK,EACrD,CAAE,MAAO,GAAO,OAAQN,EAAO,OAAQ,CAACM,CAAK,CAAE,CACxD,CAGA,SAASE,GAAYC,EAAQC,EAAM,CACjC,OAAO,OAAOD,EAAO,UAAa,WAAaA,EAAO,SAASC,CAAI,EAAID,EAAO,QAChF,CAQA,SAASE,GAASC,EAAQC,EAAW,CACnC,MAAO,CACL,GAAGD,EACH,SAAUC,EACV,OAAOC,EAAOC,EAAQ,CACpB,IAAMC,EAASJ,EAAO,OAAOE,EAAOC,CAAM,EAC1C,OAAOC,EAAO,OAASC,GACrB,GACAC,GAAY,KAAM,CAAE,MAAAJ,EAAO,OAAQE,EAAO,MAAO,CAAC,CACpD,EAAIA,CACN,CACF,CACF,CAkFA,SAASG,GAAWC,EAAQ,CAC1B,OAAO,OAAOA,EAAO,SAAY,WAAaA,EAAO,QAAQ,EAAIA,EAAO,OAC1E,CA8HA,SAASC,GAAMC,EAAMC,EAAMC,EAAM,CAC/B,GAAM,CAACC,EAASC,CAAI,EAAIC,GAAYJ,EAAMC,CAAI,EAC9C,MAAO,CACL,KAAM,QACN,QAAS,QACT,MAAO,GACP,KAAAF,EACA,QAAAG,EACA,KAAAC,EACA,OAAOE,EAAOC,EAAQ,CACpB,GAAI,MAAM,QAAQD,CAAK,EAAG,CACxB,IAAIE,EAAQ,GACRC,EACEC,EAAS,CAAC,EAChB,QAASC,EAAM,EAAGA,EAAML,EAAM,OAAQK,IAAO,CAC3C,IAAMC,EAASN,EAAMK,CAAG,EAClBE,EAAS,KAAK,KAAK,OAAOD,EAAQL,CAAM,EAC9C,GAAIM,EAAO,OAAQ,CACjB,IAAMC,EAAW,CACf,KAAM,QACN,OAAQ,QACR,MAAAR,EACA,IAAAK,EACA,MAAOC,CACT,EACA,QAAWG,KAASF,EAAO,OACrBE,EAAM,KACRA,EAAM,KAAK,QAAQD,CAAQ,EAE3BC,EAAM,KAAO,CAACD,CAAQ,EAExBL,GAAQ,KAAKM,CAAK,EAKpB,GAHKN,IACHA,EAASI,EAAO,QAEdN,GAAQ,WAAY,CACtBC,EAAQ,GACR,KACF,CACF,CACKK,EAAO,QACVL,EAAQ,IAEVE,EAAO,KAAKG,EAAO,MAAM,CAC3B,CACA,OAAIL,EACKQ,GAAW,KAAMN,EAAQH,EAAQE,CAAM,EAEzCQ,GAAa,GAAOP,EAAQD,CAAM,CAC3C,CACA,OAAOS,GAAY,KAAMnB,GAAOO,EAAOC,CAAM,CAC/C,CACF,CACF,CAibA,SAASY,GAAKC,EAAQ,CACpB,MAAO,CACL,KAAM,OACN,QAAS,UACT,MAAO,GACP,OAAAA,EACA,OAAOC,EAAOC,EAAQ,CACpB,OAAO,KAAK,OAAOD,CAAK,EAAE,OAAOA,EAAOC,CAAM,CAChD,CACF,CACF,CAgBA,SAASC,GAAQC,EAAUC,EAAS,CAClC,MAAO,CACL,KAAM,UACN,QAASC,GAAUF,CAAQ,EAC3B,MAAO,GACP,QAASA,EACT,QAAAC,EACA,OAAOE,EAAOC,EAAQ,CACpB,OAAID,IAAU,KAAK,QACVE,GAAa,GAAMF,CAAK,EAE1BG,GAAY,KAAMP,GAASI,EAAOC,CAAM,CACjD,CACF,CACF,CAocA,SAASG,GAAOC,EAAMC,EAAM,CAC1B,GAAM,CAACC,EAASC,CAAI,EAAIC,GAAYJ,EAAMC,CAAI,EAC9C,MAAO,CACL,KAAM,SACN,QAAS,SACT,MAAO,GACP,QAAAC,EACA,KAAAC,EACA,OAAOE,EAAOC,EAAQ,CACpB,OAAI,OAAOD,GAAU,UAAY,CAAC,MAAMA,CAAK,EACpCE,GAAW,KAAMF,EAAOC,CAAM,EAEhCE,GAAY,KAAMT,GAAQM,EAAOC,CAAM,CAChD,CACF,CACF,CAqBA,SAASG,GAAOC,EAASC,EAAMC,EAAMC,EAAM,CACzC,GAAM,CAACC,EAAMC,EAASC,CAAI,EAAIC,GAAmBN,EAAMC,EAAMC,CAAI,EAC7DK,EACJ,MAAO,CACL,KAAM,SACN,QAAS,SACT,MAAO,GACP,QAAAR,EACA,KAAAI,EACA,QAAAC,EACA,KAAAC,EACA,OAAOG,EAAOC,EAAQ,CACpB,GAAID,GAAS,OAAOA,GAAU,SAAU,CACtCD,EAAgBA,GAAiB,OAAO,QAAQ,KAAK,OAAO,EAC5D,IAAIG,EAAQ,GACRC,EACEC,EAAS,CAAC,EAChB,OAAW,CAACC,EAAKC,CAAM,IAAKP,EAAe,CACzC,IAAMQ,EAASP,EAAMK,CAAG,EAClBG,EAASF,EAAO,OAAOC,EAAQN,CAAM,EAC3C,GAAIO,EAAO,OAAQ,CACjB,IAAMC,EAAW,CACf,KAAM,SACN,OAAQ,QACR,MAAAT,EACA,IAAAK,EACA,MAAOE,CACT,EACA,QAAWG,KAASF,EAAO,OACrBE,EAAM,KACRA,EAAM,KAAK,QAAQD,CAAQ,EAE3BC,EAAM,KAAO,CAACD,CAAQ,EAExBN,GAAQ,KAAKO,CAAK,EAKpB,GAHKP,IACHA,EAASK,EAAO,QAEdP,GAAQ,WAAY,CACtBC,EAAQ,GACR,KACF,CACF,CACKM,EAAO,QACVN,EAAQ,KAENM,EAAO,SAAW,QAAUH,KAAOL,KACrCI,EAAOC,CAAG,EAAIG,EAAO,OAEzB,CACA,GAAI,KAAK,MAAQ,EAAEP,GAAQ,YAAcE,IACvC,QAAWE,KAAOL,EAChB,GAAI,EAAEK,KAAO,KAAK,SAAU,CAC1B,IAAME,EAASP,EAAMK,CAAG,EAClBG,EAAS,KAAK,KAAK,OAAOD,EAAQN,CAAM,EAC9C,GAAIO,EAAO,OAAQ,CACjB,IAAMC,EAAW,CACf,KAAM,SACN,OAAQ,QACR,MAAAT,EACA,IAAAK,EACA,MAAOE,CACT,EACA,QAAWG,KAASF,EAAO,OACrBE,EAAM,KACRA,EAAM,KAAK,QAAQD,CAAQ,EAE3BC,EAAM,KAAO,CAACD,CAAQ,EAExBN,GAAQ,KAAKO,CAAK,EAKpB,GAHKP,IACHA,EAASK,EAAO,QAEdP,GAAQ,WAAY,CACtBC,EAAQ,GACR,KACF,CACF,CACKM,EAAO,QACVN,EAAQ,IAEVE,EAAOC,CAAG,EAAIG,EAAO,MACvB,EAGJ,OAAIN,EACKS,GACL,KACAP,EACAH,EACAE,CACF,EAEKS,GAAa,GAAOR,EAAQD,CAAM,CAC3C,CACA,OAAOU,GAAY,KAAMvB,GAAQU,EAAOC,CAAM,CAChD,CACF,CACF,CAqHA,SAASa,GAASC,EAASC,EAAU,CACnC,MAAO,CACL,KAAM,WACN,QAAS,GAAGD,EAAQ,OAAO,eAC3B,MAAO,GACP,QAAAA,EACA,QAASC,EACT,OAAOC,EAAOC,EAAQ,CACpB,GAAID,IAAU,OAAQ,CACpB,IAAME,EAAWC,GAAW,IAAI,EAChC,GAAID,IAAa,OACf,OAAOE,GAAa,GAAMJ,CAAK,EAEjCA,EAAQE,CACV,CACA,OAAO,KAAK,QAAQ,OAAOF,EAAOC,CAAM,CAC1C,CACF,CACF,CA0DA,SAASI,EAAOC,EAAMC,EAAM,CAC1B,GAAM,CAACC,EAASC,CAAI,EAAIC,GAAYJ,EAAMC,CAAI,EAC9C,MAAO,CACL,KAAM,SACN,QAAS,SACT,MAAO,GACP,QAAAC,EACA,KAAAC,EACA,OAAOE,EAAOC,EAAQ,CACpB,OAAI,OAAOD,GAAU,SACZE,GAAW,KAAMF,EAAOC,CAAM,EAEhCE,GAAY,KAAMT,EAAQM,EAAOC,CAAM,CAChD,CACF,CACF,CA4nBA,SAASG,GAAUC,EAAS,CAC1B,IAAIC,EACJ,GAAID,EACF,QAAWE,KAAUF,EACnB,GAAIC,EACF,QAAWE,KAASD,EAAO,OACzBD,EAAO,KAAKE,CAAK,OAGnBF,EAASC,EAAO,OAItB,OAAOD,CACT,CAGA,SAASG,GAAMC,EAASC,EAAMC,EAAM,CAClC,GAAM,CAACC,EAASC,CAAI,EAAIC,GAAYJ,EAAMC,CAAI,EAC9C,MAAO,CACL,KAAM,QACN,QAAS,CAAC,GAAG,IAAI,IAAIF,EAAQ,IAAKM,GAAWA,EAAO,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,EACzE,MAAO,GACP,QAAAN,EACA,QAAAG,EACA,KAAAC,EACA,OAAOG,EAAOC,EAAQ,CACpB,IAAIC,EACAC,EACAC,EACJ,QAAWC,KAAU,KAAK,QAAS,CACjC,IAAMf,EAASe,EAAO,OAAOL,EAAOC,CAAM,EAC1C,GAAIX,EAAO,MACT,GAAKA,EAAO,OAIVc,EAAeA,EAAa,KAAKd,CAAM,EAAIc,EAAe,CAACd,CAAM,MAJ/C,CAClBY,EAAcZ,EACd,KACF,MAIAa,EAAiBA,EAAe,KAAKb,CAAM,EAAIa,EAAiB,CAACb,CAAM,CAE3E,CACA,GAAIY,EACF,OAAOI,GAAW,KAAMJ,EAAY,OAAQD,CAAM,EAEpD,GAAIG,GAAc,OAAQ,CACxB,IAAMG,EAAcH,EAAa,CAAC,EAClC,OAAOE,GACL,KACAC,EAAY,OACZN,EAIAG,EAAa,SAAW,EAAIG,EAAY,OAASC,GAAY,KAAMhB,GAAOQ,EAAOC,EAAQ,CACvF,OAAQ,QACR,OAAQd,GAAUiB,CAAY,CAChC,CAAC,EAAE,MACL,CACF,CACA,OAAID,GAAgB,SAAW,EACtBA,EAAe,CAAC,EAElBK,GAAY,KAAMhB,GAAOQ,EAAOC,EAAQ,CAC7C,OAAQd,GAAUgB,CAAc,CAClC,CAAC,CACH,CACF,CACF,CA0DA,SAASM,GAAQC,EAAM,CACrB,MAAO,CACL,KAAM,UACN,QAAS,UACT,MAAO,GACP,KAAAA,EACA,OAAOC,EAAOC,EAAQ,CACpB,OAAOC,GAAW,KAAMF,EAAOC,CAAM,CACvC,CACF,CACF,CA6QA,SAASE,GAAMC,EAAQC,EAAOC,EAAQ,CACpC,IAAMC,EAASH,EAAO,OAAOC,EAAOG,GAAgBF,CAAM,CAAC,EAC3D,GAAIC,EAAO,OACT,MAAM,IAAIE,GAAUF,EAAO,MAAM,EAEnC,OAAOA,EAAO,MAChB,CAkIA,SAASG,GAAUC,EAAQC,EAAQC,EAAM,CACvC,MAAO,CACL,GAAGF,EACH,OAAOG,EAAOC,EAAQ,CACpB,IAAMC,EAASL,EAAO,OAAOG,EAAOC,CAAM,EAC1C,GAAIC,EAAO,OACTA,EAAO,MAAQ,WAEfA,EAAO,OAASJ,EAAOI,EAAO,OAAQ,CAAE,OAAQA,EAAO,MAAO,CAAC,EAC3DH,EACF,OAAI,MAAM,QAAQA,CAAI,EACbI,GACL,CAAE,KAAM,OAAOD,EAAO,OAAQ,KAAMH,CAAK,EACzCG,EAAO,OACPD,CACF,EAEKF,EAAK,OAAOG,EAAO,OAAQD,CAAM,EAG5C,OAAOC,CACT,CACF,CACF,CAogBA,SAASE,GAAQC,EAAS,CACxB,MAAO,CACL,KAAM,UACN,QAAS,KACT,MAAO,GACP,QAAAA,EACA,YAAa,OAAO,UACpB,OAAOC,EAAO,CACZ,OAAI,KAAK,YAAYA,CAAK,EACjBC,GAAaD,CAAK,EAEpBE,GAAY,KAAMJ,GAASE,EAAO,SAAS,CACpD,CACF,CACF,CAkXA,SAASG,GAASC,EAAaC,EAAS,CACtC,MAAO,CACL,KAAM,YACN,QAAS,KAAKD,aAAuB,KAAOA,EAAY,OAAO,EAAIE,GAAUF,CAAW,CAAC,GACzF,MAAO,GACP,QAAAC,EACA,YAAAD,EACA,OAAOG,EAAO,CACZ,OAAIA,GAAS,KAAK,YACTC,GAAaD,CAAK,EAEpBE,GACL,KACAN,GACAI,EACA,QACAA,aAAiB,KAAOA,EAAM,OAAO,EAAID,GAAUC,CAAK,CAC1D,CACF,CACF,CACF,CAqQA,SAASG,GAAMC,EAAaC,EAAS,CACnC,MAAO,CACL,KAAM,QACN,QAAS,GAAGD,aAAuB,KAAOA,EAAY,OAAO,EAAIE,GAAUF,CAAW,CAAC,GACvF,MAAO,GACP,QAAAC,EACA,YAAAD,EACA,OAAOG,EAAO,CACZ,OAAIA,GAAS,KAAK,aAAeA,GAAS,KAAK,YACtCC,GAAaD,CAAK,EAEpBE,GACL,KACAN,GACAI,EACA,QACAA,aAAiB,KAAOA,EAAM,OAAO,EAAID,GAAUC,CAAK,CAC1D,CACF,CACF,CACF,CnF1pIA,IAAAG,GAAqB,UEGrBA,GAAqB,UkFHd,IAAMC,GAAN,cAAgC,KAAM,CAC7C,EACAA,GAAkB,UAAU,KAAO,oBlDDnC,IAAAC,GAAqB,UmDDrB,IAAMC,GAAoC,CAAC,sBAAsB,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,+CAA+C,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,6BAA6B,CAAC,MAAM,EAAE,mCAAmC,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,CAAC,MAAM,OAAO,EAAE,8DAA8D,CAAC,KAAK,EAAE,0CAA0C,CAAC,MAAM,EAAE,4BAA4B,CAAC,MAAM,MAAM,EAAE,gCAAgC,CAAC,KAAK,EAAE,6BAA6B,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,8BAA8B,CAAC,OAAO,EAAE,wCAAwC,CAAC,KAAK,EAAE,wCAAwC,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,uCAAuC,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,0CAA0C,CAAC,KAAK,EAAE,yDAAyD,CAAC,KAAK,EAAE,sDAAsD,CAAC,KAAK,EAAE,uCAAuC,CAAC,KAAK,EAAE,sCAAsC,CAAC,MAAM,EAAE,gCAAgC,CAAC,KAAK,EAAE,gCAAgC,CAAC,MAAM,EAAE,gCAAgC,CAAC,SAAS,EAAE,8BAA8B,CAAC,OAAO,EAAE,+BAA+B,CAAC,QAAQ,EAAE,qCAAqC,CAAC,KAAK,EAAE,wCAAwC,CAAC,MAAM,EAAE,6BAA6B,CAAC,KAAK,EAAE,oCAAoC,CAAC,MAAM,EAAE,oCAAoC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,+BAA+B,CAAC,OAAO,EAAE,uCAAuC,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,2CAA2C,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,gCAAgC,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,+CAA+C,CAAC,QAAQ,EAAE,mDAAmD,CAAC,QAAQ,EAAE,8BAA8B,CAAC,KAAK,EAAE,+BAA+B,CAAC,SAAS,EAAE,8BAA8B,CAAC,KAAK,EAAE,gCAAgC,CAAC,MAAM,EAAE,yCAAyC,CAAC,MAAM,EAAE,wCAAwC,CAAC,MAAM,EAAE,yCAAyC,CAAC,MAAM,EAAE,yCAAyC,CAAC,MAAM,EAAE,wCAAwC,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,6BAA6B,CAAC,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,kCAAkC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,4BAA4B,CAAC,MAAM,OAAO,MAAM,MAAM,EAAE,gCAAgC,CAAC,MAAM,MAAM,EAAE,mCAAmC,CAAC,MAAM,MAAM,EAAE,2BAA2B,CAAC,MAAM,MAAM,EAAE,yCAAyC,CAAC,WAAW,EAAE,sBAAsB,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,CAAC,MAAM,EAAE,8BAA8B,CAAC,MAAM,EAAE,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,+BAA+B,CAAC,MAAM,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,EAAE,6BAA6B,CAAC,OAAO,EAAE,4BAA4B,CAAC,OAAO,UAAU,EAAE,6BAA6B,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,QAAQ,QAAQ,MAAM,EAAE,8BAA8B,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,sCAAsC,CAAC,KAAK,EAAE,6CAA6C,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,oCAAoC,CAAC,MAAM,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,uCAAuC,CAAC,MAAM,EAAE,2CAA2C,CAAC,SAAS,EAAE,0CAA0C,CAAC,QAAQ,EAAE,uCAAuC,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,0CAA0C,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,sCAAsC,CAAC,KAAK,EAAE,uCAAuC,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,6CAA6C,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,CAAC,KAAK,EAAE,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,CAAC,MAAM,EAAE,yBAAyB,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,2BAA2B,CAAC,OAAO,EAAE,uCAAuC,CAAC,WAAW,EAAE,8BAA8B,CAAC,KAAK,EAAE,6BAA6B,CAAC,MAAM,UAAU,UAAU,EAAE,wCAAwC,CAAC,KAAK,EAAE,uCAAuC,CAAC,IAAI,EAAE,6BAA6B,CAAC,MAAM,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,mCAAmC,CAAC,MAAM,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,wCAAwC,CAAC,WAAW,EAAE,0CAA0C,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,wCAAwC,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,qCAAqC,CAAC,MAAM,EAAE,0BAA0B,CAAC,MAAM,KAAK,EAAE,6BAA6B,CAAC,QAAQ,EAAE,6BAA6B,CAAC,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,iCAAiC,CAAC,MAAM,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,4BAA4B,CAAC,MAAM,KAAK,EAAE,6BAA6B,CAAC,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,wBAAwB,CAAC,MAAM,KAAK,EAAE,uBAAuB,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,8BAA8B,CAAC,QAAQ,EAAE,qDAAqD,CAAC,KAAK,EAAE,0DAA0D,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,mCAAmC,CAAC,SAAS,EAAE,qCAAqC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,qCAAqC,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,qCAAqC,CAAC,KAAK,EAAE,qCAAqC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,2BAA2B,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,iDAAiD,CAAC,MAAM,EAAE,wDAAwD,CAAC,MAAM,EAAE,iDAAiD,CAAC,MAAM,EAAE,oDAAoD,CAAC,MAAM,EAAE,gCAAgC,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,iCAAiC,CAAC,MAAM,EAAE,6BAA6B,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,6BAA6B,CAAC,MAAM,EAAE,gCAAgC,CAAC,MAAM,MAAM,KAAK,EAAE,sDAAsD,CAAC,MAAM,EAAE,6DAA6D,CAAC,MAAM,EAAE,sDAAsD,CAAC,MAAM,EAAE,0DAA0D,CAAC,MAAM,EAAE,yDAAyD,CAAC,MAAM,EAAE,6BAA6B,CAAC,OAAO,KAAK,EAAE,mDAAmD,CAAC,MAAM,EAAE,mDAAmD,CAAC,MAAM,EAAE,2BAA2B,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,EAAE,8BAA8B,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,EAAE,oCAAoC,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,MAAM,EAAE,qCAAqC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,sCAAsC,CAAC,KAAK,EAAE,oCAAoC,CAAC,OAAO,EAAE,+CAA+C,CAAC,QAAQ,EAAE,qCAAqC,CAAC,MAAM,EAAE,sCAAsC,CAAC,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,2CAA2C,CAAC,KAAK,EAAE,oDAAoD,CAAC,KAAK,EAAE,8CAA8C,CAAC,KAAK,EAAE,6CAA6C,CAAC,KAAK,EAAE,sDAAsD,CAAC,MAAM,EAAE,8CAA8C,CAAC,KAAK,EAAE,uDAAuD,CAAC,KAAK,EAAE,2CAA2C,CAAC,KAAK,EAAE,oDAAoD,CAAC,KAAK,EAAE,kDAAkD,CAAC,KAAK,EAAE,2DAA2D,CAAC,KAAK,EAAE,iDAAiD,CAAC,KAAK,EAAE,0DAA0D,CAAC,KAAK,EAAE,0CAA0C,CAAC,KAAK,EAAE,iDAAiD,CAAC,KAAK,EAAE,mDAAmD,CAAC,KAAK,EAAE,8CAA8C,CAAC,KAAK,EAAE,6BAA6B,CAAC,IAAI,EAAE,8BAA8B,CAAC,KAAK,EAAE,oCAAoC,CAAC,MAAM,EAAE,0CAA0C,CAAC,KAAK,EAAE,yCAAyC,CAAC,KAAK,EAAE,4EAA4E,CAAC,MAAM,EAAE,qEAAqE,CAAC,MAAM,EAAE,yEAAyE,CAAC,MAAM,EAAE,wEAAwE,CAAC,MAAM,EAAE,oEAAoE,CAAC,MAAM,EAAE,uEAAuE,CAAC,MAAM,EAAE,0EAA0E,CAAC,MAAM,EAAE,0EAA0E,CAAC,MAAM,EAAE,yCAAyC,CAAC,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE,iCAAiC,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,MAAM,MAAM,EAAE,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,EAAE,6BAA6B,CAAC,IAAI,EAAE,8BAA8B,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,qCAAqC,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,wCAAwC,CAAC,KAAK,EAAE,4BAA4B,CAAC,MAAM,EAAE,sCAAsC,CAAC,MAAM,EAAE,oCAAoC,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,o3kDAAqC,CAAC,KAAK,EAAE,yCAAyC,CAAC,UAAU,EAAE,iCAAiC,CAAC,YAAY,EAAE,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,EAAE,mCAAmC,CAAC,MAAM,EAAE,qCAAqC,CAAC,QAAQ,EAAE,uCAAuC,CAAC,IAAI,EAAE,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,0CAA0C,CAAC,KAAK,EAAE,8CAA8C,CAAC,KAAK,EAAE,6CAA6C,CAAC,KAAK,EAAE,yCAAyC,CAAC,KAAK,EAAE,qCAAqC,CAAC,MAAM,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,gCAAgC,CAAC,SAAS,EAAE,8CAA8C,CAAC,IAAI,EAAE,kCAAkC,CAAC,OAAO,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,uCAAuC,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,sCAAsC,CAAC,MAAM,KAAK,EAAE,6CAA6C,CAAC,KAAK,EAAE,oCAAoC,CAAC,OAAO,EAAE,sCAAsC,CAAC,IAAI,EAAE,+BAA+B,CAAC,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,wCAAwC,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,wCAAwC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,2CAA2C,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,wCAAwC,CAAC,KAAK,EAAE,0CAA0C,CAAC,KAAK,EAAE,+BAA+B,CAAC,MAAM,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,kCAAkC,CAAC,MAAM,MAAM,EAAE,6BAA6B,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,4CAA4C,CAAC,KAAK,EAAE,+BAA+B,CAAC,OAAO,MAAM,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,MAAM,EAAE,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,CAAC,UAAU,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,4BAA4B,CAAC,OAAO,EAAE,2BAA2B,CAAC,MAAM,EAAE,iCAAiC,CAAC,OAAO,EAAE,2BAA2B,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,gCAAgC,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,yCAAyC,CAAC,KAAK,EAAE,oDAAoD,CAAC,QAAQ,EAAE,oCAAoC,CAAC,KAAK,EAAE,qCAAqC,CAAC,KAAK,EAAE,0CAA0C,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,MAAM,EAAE,iCAAiC,CAAC,KAAK,EAAE,8BAA8B,CAAC,IAAI,EAAE,wBAAwB,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,gCAAgC,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,+BAA+B,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,2BAA2B,CAAC,SAAS,EAAE,sBAAsB,CAAC,MAAM,OAAO,EAAE,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,CAAC,MAAM,KAAK,EAAE,oBAAoB,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,0BAA0B,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,+BAA+B,CAAC,OAAO,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,2BAA2B,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,UAAU,EAAE,2BAA2B,CAAC,QAAQ,EAAE,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,qCAAqC,CAAC,SAAS,EAAE,8BAA8B,CAAC,MAAM,EAAE,qCAAqC,CAAC,MAAM,EAAE,yCAAyC,CAAC,UAAU,EAAE,qCAAqC,CAAC,QAAQ,EAAE,kCAAkC,CAAC,SAAS,EAAE,+BAA+B,CAAC,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,CAAC,MAAM,EAAE,+BAA+B,CAAC,MAAM,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,iCAAiC,CAAC,OAAO,MAAM,EAAE,+BAA+B,CAAC,aAAa,EAAE,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,CAAC,MAAM,EAAE,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,8BAA8B,CAAC,MAAM,EAAE,2BAA2B,CAAC,OAAO,OAAO,MAAM,MAAM,MAAM,EAAE,4BAA4B,CAAC,MAAM,MAAM,KAAK,EAAE,2BAA2B,CAAC,OAAO,OAAO,OAAO,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,IAAI,EAAE,sBAAsB,CAAC,OAAO,MAAM,EAAE,uBAAuB,CAAC,MAAM,KAAK,EAAE,mCAAmC,CAAC,MAAM,KAAK,EAAE,kCAAkC,CAAC,KAAK,EAAE,+BAA+B,CAAC,MAAM,EAAE,uCAAuC,CAAC,KAAK,EAAE,sCAAsC,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,gCAAgC,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,CAAC,QAAQ,EAAE,2BAA2B,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,wBAAwB,CAAC,UAAU,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,gCAAgC,CAAC,MAAM,EAAE,wCAAwC,CAAC,cAAc,EAAE,+BAA+B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,gCAAgC,CAAC,MAAM,EAAE,4BAA4B,CAAC,KAAK,EAAE,sCAAsC,CAAC,QAAQ,EAAE,6BAA6B,CAAC,MAAM,MAAM,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,EAAE,yBAAyB,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,uBAAuB,CAAC,MAAM,MAAM,EAAE,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,4BAA4B,CAAC,WAAW,EAAE,4BAA4B,CAAC,WAAW,EAAE,4BAA4B,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,OAAO,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,IAAI,EAAE,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,OAAO,MAAM,MAAM,EAAE,iBAAiB,CAAC,OAAO,KAAK,EAAE,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,iCAAiC,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,MAAM,MAAM,MAAM,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,EAAE,sCAAsC,CAAC,KAAK,EAAE,oCAAoC,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,sCAAsC,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,mCAAmC,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,KAAK,EAAE,WAAW,CAAC,IAAI,KAAK,MAAM,MAAM,IAAI,KAAK,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,MAAM,MAAM,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,KAAK,EAAE,oBAAoB,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,MAAM,EAAE,wBAAwB,CAAC,MAAM,MAAM,EAAE,oBAAoB,CAAC,MAAM,MAAM,EAAE,oBAAoB,CAAC,MAAM,MAAM,EAAE,uBAAuB,CAAC,MAAM,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,KAAK,EAAE,mCAAmC,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,OAAO,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC,EAC5jzB,OAAO,OAAOA,EAAK,EACnB,IAAAC,GAAeD,GCFf,IAAME,GAAoC,CAAC,2BAA2B,CAAC,IAAI,EAAE,2BAA2B,CAAC,cAAc,EAAE,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,CAAC,YAAY,EAAE,uBAAuB,CAAC,MAAM,EAAE,0BAA0B,CAAC,SAAS,EAAE,8BAA8B,CAAC,aAAa,EAAE,0BAA0B,CAAC,SAAS,EAAE,2BAA2B,CAAC,KAAK,EAAE,4BAA4B,CAAC,MAAM,EAAE,4BAA4B,CAAC,MAAM,EAAE,mCAAmC,CAAC,KAAK,EAAE,oCAAoC,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,8BAA8B,CAAC,OAAO,EAAE,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,CAAC,OAAO,EAAE,0BAA0B,CAAC,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,2BAA2B,CAAC,UAAU,EAAE,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,4BAA4B,CAAC,WAAW,EAAE,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,EAAE,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,CAAC,OAAO,EAAE,0BAA0B,CAAC,KAAK,EAAE,wBAAwB,CAAC,MAAM,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,CAAC,MAAM,MAAM,KAAK,EAAE,qCAAqC,CAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,0BAA0B,CAAC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,CAAC,SAAS,EAAE,2BAA2B,CAAC,KAAK,EAAE,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,4BAA4B,CAAC,aAAa,EAAE,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,CAAC,KAAK,KAAK,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,EAAE,uCAAuC,CAAC,KAAK,EAAE,qCAAqC,CAAC,OAAO,EAAE,2BAA2B,CAAC,UAAU,EAAE,4BAA4B,CAAC,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,0BAA0B,CAAC,MAAM,EAAE,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,MAAM,EAAE,kBAAkB,CAAC,OAAO,QAAQ,OAAO,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,CAAC,YAAY,EAAE,qBAAqB,CAAC,MAAM,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,EAAE,2BAA2B,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,OAAO,QAAQ,MAAM,MAAM,OAAO,MAAM,SAAS,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAE,gCAAgC,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,CAAC,SAAS,UAAU,SAAS,QAAQ,EAAE,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,MAAM,EAAE,kCAAkC,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,CAAC,MAAM,MAAM,EAAE,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,yBAAyB,CAAC,MAAM,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,6BAA6B,CAAC,IAAI,EAAE,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,2BAA2B,CAAC,SAAS,EAAE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,yBAAyB,CAAC,KAAK,MAAM,IAAI,EAAE,6BAA6B,CAAC,OAAO,EAAE,uBAAuB,CAAC,SAAS,EAAE,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,sCAAsC,CAAC,KAAK,EAAE,iCAAiC,CAAC,IAAI,EAAE,sCAAsC,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,EAAE,4BAA4B,CAAC,MAAM,EAAE,+BAA+B,CAAC,KAAK,EAAE,4BAA4B,CAAC,MAAM,EAAE,gCAAgC,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,8BAA8B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,SAAS,EAAE,qCAAqC,CAAC,QAAQ,EAAE,0CAA0C,CAAC,QAAQ,EAAE,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,OAAO,EAAE,uBAAuB,CAAC,MAAM,MAAM,EAAE,2BAA2B,CAAC,IAAI,EAAE,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,CAAC,MAAM,WAAW,EAAE,yBAAyB,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,+BAA+B,CAAC,QAAQ,EAAE,iCAAiC,CAAC,IAAI,EAAE,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,2BAA2B,CAAC,UAAU,EAAE,uBAAuB,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,MAAM,MAAM,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,QAAQ,OAAO,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,KAAK,EAAE,aAAa,CAAC,MAAM,OAAO,MAAM,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,MAAM,EAAE,aAAa,CAAC,OAAO,MAAM,OAAO,MAAM,MAAM,KAAK,EAAE,YAAY,CAAC,MAAM,MAAM,MAAM,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,MAAM,EAAE,aAAa,CAAC,OAAO,MAAM,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,MAAM,EAAE,YAAY,CAAC,MAAM,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,mCAAmC,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,OAAO,EAAE,iCAAiC,CAAC,OAAO,EAAE,0CAA0C,CAAC,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,OAAO,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,MAAM,EAAE,mBAAmB,CAAC,QAAQ,OAAO,EAAE,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,OAAO,EAAE,gBAAgB,CAAC,MAAM,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,UAAU,EAAE,gBAAgB,CAAC,MAAM,KAAK,EAAE,oBAAoB,CAAC,SAAS,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,MAAM,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,UAAU,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,OAAO,OAAO,MAAM,OAAO,MAAM,KAAK,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,MAAM,EAAE,4BAA4B,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,KAAK,OAAO,MAAM,KAAK,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,OAAO,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,KAAK,EAAE,aAAa,CAAC,MAAM,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,OAAO,EAAE,YAAY,CAAC,MAAM,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,OAAO,MAAM,EAAE,aAAa,CAAC,OAAO,MAAM,MAAM,MAAM,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3lU,OAAO,OAAOA,EAAK,EACnB,IAAAC,GAAeD,4TCAME,GAArB,KAAyB,CAKvB,eAAeC,EAAe,CAJ9BC,GAAA,IAAA,KAAmB,IAAI,GAAqB,EAC5CC,GAAA,IAAA,KAAmB,IAAI,GAAqB,EAC5CC,GAAA,IAAA,KAAoB,IAAI,GAA0B,EAGhD,QAAWC,KAAOJ,EAChB,KAAK,OAAOI,CAAG,CAEnB,CAcA,OAAOC,EAAkBC,EAAQ,GAAK,CACpC,OAAS,CAACC,EAAMC,CAAU,IAAK,OAAO,QAAQH,CAAO,EAAG,CAEtDE,EAAOA,EAAK,YAAW,EACvBC,EAAaA,EAAW,IAAKC,GAAQA,EAAI,YAAW,CAAE,EAEjDC,GAAA,KAAIP,GAAA,GAAA,EAAmB,IAAII,CAAI,GAClCG,GAAA,KAAIP,GAAA,GAAA,EAAmB,IAAII,EAAM,IAAI,GAAa,EAEpD,IAAMI,EAAgBD,GAAA,KAAIP,GAAA,GAAA,EAAmB,IAAII,CAAI,EAEjDK,EAAQ,GACZ,QAASC,KAAaL,EAAY,CAChC,IAAMM,EAAUD,EAAU,WAAW,GAAG,EAcxC,GAZAA,EAAYC,EAAUD,EAAU,MAAM,CAAC,EAAIA,EAG3CF,GAAe,IAAIE,CAAS,EAExBD,GAEFF,GAAA,KAAIR,GAAA,GAAA,EAAkB,IAAIK,EAAMM,CAAS,EAE3CD,EAAQ,GAGJE,EAAS,SAGb,IAAMC,EAAcL,GAAA,KAAIT,GAAA,GAAA,EAAkB,IAAIY,CAAS,EACvD,GAAIE,GAAeA,GAAeR,GAAQ,CAACD,EACzC,MAAM,IAAI,MACR,IAAIC,CAAI,OAAOM,CAAS,qBAAqBE,CAAW,OAAOF,CAAS,qDAAqD,EAGjIH,GAAA,KAAIT,GAAA,GAAA,EAAkB,IAAIY,EAAWN,CAAI,GAI7C,OAAO,IACT,CAKA,QAAQS,EAAY,CAClB,GAAI,OAAOA,GAAS,SAAU,OAAO,KAGrC,IAAMC,EAAOD,EAAK,QAAQ,WAAY,EAAE,EAAE,YAAW,EAG/CP,EAAMQ,EAAK,QAAQ,QAAS,EAAE,EAAE,YAAW,EAE3CC,EAAUD,EAAK,OAASD,EAAK,OAInC,MAAI,EAHWP,EAAI,OAASQ,EAAK,OAAS,IAG3BC,EAAgB,KAExBR,GAAA,KAAIT,GAAA,GAAA,EAAkB,IAAIQ,CAAG,GAAK,IAC3C,CAKA,aAAaF,EAAY,CACvB,OAAI,OAAOA,GAAS,SAAiB,MAGrCA,EAAOA,GAAM,QAAQ,GAAG,EAAE,CAAC,GAGxBA,GAAQG,GAAA,KAAIR,GAAA,GAAA,EAAkB,IAAIK,EAAK,KAAI,EAAG,YAAW,CAAE,IAAM,KAEtE,CAKA,iBAAiBA,EAAY,CAC3B,OAAI,OAAOA,GAAS,SAAiB,KAE9BG,GAAA,KAAIP,GAAA,GAAA,EAAmB,IAAII,EAAK,YAAW,CAAE,GAAK,IAC3D,CAMA,SAAO,CACL,KAAK,OAAS,IAAK,CACjB,MAAM,IAAI,MAAM,8HAA8H,CAChJ,EAEA,OAAO,OAAO,IAAI,EAElB,QAAWC,KAAcE,GAAA,KAAIP,GAAA,GAAA,EAAmB,OAAM,EACpD,OAAO,OAAOK,CAAU,EAG1B,OAAO,IACT,CAEA,eAAa,CACX,MAAO,CACL,MAAOE,GAAA,KAAIT,GAAA,GAAA,EACX,WAAYS,GAAA,KAAIR,GAAA,GAAA,EAEpB,uDArImBH,GCIrB,IAAAoB,GAAe,IAAIC,GAAKC,GAAeC,EAAU,EAAE,QAAO,olBlPN1DC,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIC,EAAQ,SAAUC,EAAI,CACxB,OAAOA,GAAMA,EAAG,OAAS,MAAQA,CACnC,EAGAF,EAAO,QAELC,EAAM,OAAO,YAAc,UAAY,UAAU,GACjDA,EAAM,OAAO,QAAU,UAAY,MAAM,GAEzCA,EAAM,OAAO,MAAQ,UAAY,IAAI,GACrCA,EAAM,OAAO,QAAU,UAAY,MAAM,GACzCA,EAAM,OAAOF,GAAQ,UAAYA,CAAI,GAEpC,UAAY,CAAE,OAAO,IAAM,EAAG,GAAK,SAAS,aAAa,EAAE,CAAA,CAAA,ECf9DI,GAAAL,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,SAAUI,EAAM,CAC/B,GAAI,CACF,MAAO,CAAC,CAACA,EAAK,CAChB,MAAgB,CACd,MAAO,EACT,CACF,CAAA,CAAA,ECPAC,GAAAP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIM,EAAQC,GAAA,EAEZP,EAAO,QAAU,CAACM,EAAM,UAAY,CAElC,IAAIE,GAAQ,UAAY,CAAc,GAAG,KAAK,EAE9C,OAAO,OAAOA,GAAQ,YAAcA,EAAK,eAAe,WAAW,CACrE,CAAC,CAAA,CAAA,ECRDC,GAAAX,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIU,EAAcC,GAAA,EAEdC,EAAoB,SAAS,UAC7BC,EAAQD,EAAkB,MAC1BE,EAAOF,EAAkB,KAG7BZ,EAAO,QAAU,OAAO,SAAW,UAAY,QAAQ,QAAUU,EAAcI,EAAK,KAAKD,CAAK,EAAI,UAAY,CAC5G,OAAOC,EAAK,MAAMD,EAAO,SAAS,CACpC,EAAA,CAAA,ECVAE,GAAAjB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIU,EAAcC,GAAA,EAEdC,EAAoB,SAAS,UAC7BE,EAAOF,EAAkB,KACzBI,EAAsBN,GAAeE,EAAkB,KAAK,KAAKE,EAAMA,CAAI,EAE/Ed,EAAO,QAAUU,EAAcM,EAAsB,SAAUC,EAAI,CACjE,OAAO,UAAY,CACjB,OAAOH,EAAK,MAAMG,EAAI,SAAS,CACjC,CACF,CAAA,CAAA,ECXAC,GAAApB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EAEdC,EAAWF,EAAY,CAAC,EAAE,QAAQ,EAClCG,EAAcH,EAAY,GAAG,KAAK,EAEtCnB,EAAO,QAAU,SAAUE,EAAI,CAC7B,OAAOoB,EAAYD,EAASnB,CAAE,EAAG,EAAG,EAAE,CACxC,CAAA,CAAA,ECRAqB,GAAAzB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIwB,EAAaC,GAAA,EACbN,EAAcC,GAAA,EAElBpB,EAAO,QAAU,SAAUiB,EAAI,CAI7B,GAAIO,EAAWP,CAAE,IAAM,WAAY,OAAOE,EAAYF,CAAE,CAC1D,CAAA,CAAA,ECTAS,GAAA5B,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAEA,IAAI2B,EAAc,OAAO,UAAY,UAAY,SAAS,IAK1D3B,EAAO,QAAU,OAAO2B,EAAe,KAAeA,IAAgB,OAAY,SAAUC,EAAU,CACpG,OAAO,OAAOA,GAAY,YAAcA,IAAaD,CACvD,EAAI,SAAUC,EAAU,CACtB,OAAO,OAAOA,GAAY,UAC5B,CAAA,CAAA,ECXAC,GAAA/B,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIM,EAAQC,GAAA,EAGZP,EAAO,QAAU,CAACM,EAAM,UAAY,CAElC,OAAO,OAAO,eAAe,CAAC,EAAG,EAAG,CAAE,IAAK,UAAY,CAAE,MAAO,EAAG,CAAE,CAAC,EAAE,CAAC,IAAM,CACjF,CAAC,CAAA,CAAA,ECPDwB,GAAAhC,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIU,EAAcC,GAAA,EAEdG,EAAO,SAAS,UAAU,KAE9Bd,EAAO,QAAUU,EAAcI,EAAK,KAAKA,CAAI,EAAI,UAAY,CAC3D,OAAOA,EAAK,MAAMA,EAAM,SAAS,CACnC,CAAA,CAAA,ECPAiB,GAAAjC,EAAAC,GAAA,CAAA,aACA,IAAIiC,EAAwB,CAAC,EAAE,qBAE3BC,EAA2B,OAAO,yBAGlCC,EAAcD,GAA4B,CAACD,EAAsB,KAAK,CAAE,EAAG,CAAE,EAAG,CAAC,EAIrFjC,EAAQ,EAAImC,EAAc,SAA8BC,EAAG,CACzD,IAAIC,EAAaH,EAAyB,KAAME,CAAC,EACjD,MAAO,CAAC,CAACC,GAAcA,EAAW,UACpC,EAAIJ,CAAAA,CAAAA,ECbJK,GAAAvC,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,SAAUsC,EAAQC,EAAO,CACxC,MAAO,CACL,WAAY,EAAED,EAAS,GACvB,aAAc,EAAEA,EAAS,GACzB,SAAU,EAAEA,EAAS,GACrB,MAAOC,CACT,CACF,CAAA,CAAA,ECRAC,GAAA1C,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EACdd,EAAQC,GAAA,EACRkC,EAAUhB,GAAA,EAEViB,EAAU,OACVC,EAAQxB,EAAY,GAAG,KAAK,EAGhCnB,EAAO,QAAUM,EAAM,UAAY,CAGjC,MAAO,CAACoC,EAAQ,GAAG,EAAE,qBAAqB,CAAC,CAC7C,CAAC,EAAI,SAAUxC,EAAI,CACjB,OAAOuC,EAAQvC,CAAE,IAAM,SAAWyC,EAAMzC,EAAI,EAAE,EAAIwC,EAAQxC,CAAE,CAC9D,EAAIwC,CAAAA,CAAAA,ECfJE,GAAA9C,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAGAA,EAAO,QAAU,SAAUE,EAAI,CAC7B,OAAOA,GAAO,IAChB,CAAA,CAAA,ECLA2C,GAAA/C,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI8C,EAAoBC,GAAA,EAEpBC,EAAa,UAIjBhD,EAAO,QAAU,SAAUE,EAAI,CAC7B,GAAI4C,EAAkB5C,CAAE,EAAG,MAAM,IAAI8C,EAAW,wBAA0B9C,CAAE,EAC5E,OAAOA,CACT,CAAA,CAAA,ECVA+C,GAAAnD,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAEA,IAAIkD,EAAgBC,GAAA,EAChBC,EAAyBC,GAAA,EAE7BrD,EAAO,QAAU,SAAUE,EAAI,CAC7B,OAAOgD,EAAcE,EAAuBlD,CAAE,CAAC,CACjD,CAAA,CAAA,ECPAoD,GAAAxD,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIuD,EAAaC,GAAA,EAEjBxD,EAAO,QAAU,SAAUE,EAAI,CAC7B,OAAO,OAAOA,GAAM,SAAWA,IAAO,KAAOqD,EAAWrD,CAAE,CAC5D,CAAA,CAAA,ECLAuD,GAAA3D,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,CAAC,CAAA,CAAA,ECDlB0D,GAAA5D,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI2D,EAAOC,GAAA,EACPC,EAAaC,EAAA,EACbP,EAAaC,GAAA,EAEbO,EAAY,SAAUC,EAAU,CAClC,OAAOT,EAAWS,CAAQ,EAAIA,EAAW,MAC3C,EAEAhE,EAAO,QAAU,SAAUiE,EAAWC,EAAQ,CAC5C,OAAO,UAAU,OAAS,EAAIH,EAAUJ,EAAKM,CAAS,CAAC,GAAKF,EAAUF,EAAWI,CAAS,CAAC,EACvFN,EAAKM,CAAS,GAAKN,EAAKM,CAAS,EAAEC,CAAM,GAAKL,EAAWI,CAAS,GAAKJ,EAAWI,CAAS,EAAEC,CAAM,CACzG,CAAA,CAAA,ECZAC,GAAArE,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EAElBpB,EAAO,QAAUmB,EAAY,CAAC,EAAE,aAAa,CAAA,CAAA,ECH7CiD,GAAAtE,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EAEbO,EAAYR,EAAW,UACvBS,EAAYD,GAAaA,EAAU,UAEvCrE,EAAO,QAAUsE,EAAY,OAAOA,CAAS,EAAI,EAAA,CAAA,ECNjDC,GAAAzE,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACbQ,EAAYE,GAAA,EAEZC,EAAUZ,EAAW,QACrBa,EAAOb,EAAW,KAClBc,EAAWF,GAAWA,EAAQ,UAAYC,GAAQA,EAAK,QACvDE,EAAKD,GAAYA,EAAS,GAC1BE,EAAOC,EAEPF,IACFC,EAAQD,EAAG,MAAM,GAAG,EAGpBE,EAAUD,EAAM,CAAC,EAAI,GAAKA,EAAM,CAAC,EAAI,EAAI,EAAI,EAAEA,EAAM,CAAC,EAAIA,EAAM,CAAC,IAK/D,CAACC,GAAWR,IACdO,EAAQP,EAAU,MAAM,aAAa,GACjC,CAACO,GAASA,EAAM,CAAC,GAAK,MACxBA,EAAQP,EAAU,MAAM,eAAe,EACnCO,IAAOC,EAAU,CAACD,EAAM,CAAC,KAIjC7E,EAAO,QAAU8E,CAAAA,CAAAA,EC3BjBC,GAAAjF,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAEA,IAAIgF,EAAaC,GAAA,EACb3E,EAAQC,GAAA,EACRsD,EAAaC,EAAA,EAEboB,EAAUrB,EAAW,OAGzB7D,EAAO,QAAU,CAAC,CAAC,OAAO,uBAAyB,CAACM,EAAM,UAAY,CACpE,IAAI6E,EAAS,OAAO,kBAAkB,EAKtC,MAAO,CAACD,EAAQC,CAAM,GAAK,EAAE,OAAOA,CAAM,YAAa,SAErD,CAAC,OAAO,MAAQH,GAAcA,EAAa,EAC/C,CAAC,CAAA,CAAA,EClBDI,GAAAtF,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAEA,IAAIqF,EAAgBC,GAAA,EAEpBtF,EAAO,QAAUqF,GACZ,CAAC,OAAO,MACR,OAAO,OAAO,UAAY,QAAA,CAAA,ECN/BE,GAAAzF,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIwF,EAAaC,GAAA,EACblC,EAAaC,GAAA,EACbkC,EAAgBC,GAAA,EAChBC,EAAoBC,GAAA,EAEpBnD,EAAU,OAEd1C,EAAO,QAAU4F,EAAoB,SAAU1F,EAAI,CACjD,OAAO,OAAOA,GAAM,QACtB,EAAI,SAAUA,EAAI,CAChB,IAAI4F,EAAUN,EAAW,QAAQ,EACjC,OAAOjC,EAAWuC,CAAO,GAAKJ,EAAcI,EAAQ,UAAWpD,EAAQxC,CAAE,CAAC,CAC5E,CAAA,CAAA,ECbA6F,GAAAjG,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkF,EAAU,OAEdlF,EAAO,QAAU,SAAU4B,EAAU,CACnC,GAAI,CACF,OAAOsD,EAAQtD,CAAQ,CACzB,MAAgB,CACd,MAAO,QACT,CACF,CAAA,CAAA,ECTAoE,GAAAlG,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIuD,EAAaC,GAAA,EACbyC,EAAcC,GAAA,EAEdlD,EAAa,UAGjBhD,EAAO,QAAU,SAAU4B,EAAU,CACnC,GAAI2B,EAAW3B,CAAQ,EAAG,OAAOA,EACjC,MAAM,IAAIoB,EAAWiD,EAAYrE,CAAQ,EAAI,oBAAoB,CACnE,CAAA,CAAA,ECVAuE,GAAArG,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIoG,EAAYC,GAAA,EACZvD,EAAoBC,GAAA,EAIxB/C,EAAO,QAAU,SAAUmC,EAAGmE,EAAG,CAC/B,IAAIC,EAAOpE,EAAEmE,CAAC,EACd,OAAOxD,EAAkByD,CAAI,EAAI,OAAYH,EAAUG,CAAI,CAC7D,CAAA,CAAA,ECTAC,GAAA1G,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIc,EAAO2F,GAAA,EACPlD,EAAaC,GAAA,EACbkD,EAAWC,GAAA,EAEX3D,EAAa,UAIjBhD,EAAO,QAAU,SAAU4G,EAAOC,EAAM,CACtC,IAAI5F,EAAI6F,EAGR,GAFID,IAAS,UAAYtD,EAAWtC,EAAK2F,EAAM,QAAQ,GAAK,CAACF,EAASI,EAAMhG,EAAKG,EAAI2F,CAAK,CAAC,GACvFrD,EAAWtC,EAAK2F,EAAM,OAAO,GAAK,CAACF,EAASI,EAAMhG,EAAKG,EAAI2F,CAAK,CAAC,GACjEC,IAAS,UAAYtD,EAAWtC,EAAK2F,EAAM,QAAQ,GAAK,CAACF,EAASI,EAAMhG,EAAKG,EAAI2F,CAAK,CAAC,EAAG,OAAOE,EACrG,MAAM,IAAI9D,EAAW,yCAAyC,CAChE,CAAA,CAAA,ECfA+D,GAAAjH,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,EAAA,CAAA,ECDjBgH,GAAAlH,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EAGbmD,EAAiB,OAAO,eAE5BjH,EAAO,QAAU,SAAUkH,EAAK3E,EAAO,CACrC,GAAI,CACF0E,EAAepD,EAAYqD,EAAK,CAAE,MAAO3E,EAAO,aAAc,GAAM,SAAU,EAAK,CAAC,CACtF,MAAgB,CACdsB,EAAWqD,CAAG,EAAI3E,CACpB,CAAE,OAAOA,CACX,CAAA,CAAA,ECZA4E,GAAArH,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIoH,EAAUC,GAAA,EACVxD,EAAaC,EAAA,EACbwD,EAAuBC,GAAA,EAEvBC,EAAS,qBACTC,EAAQzH,EAAO,QAAU6D,EAAW2D,CAAM,GAAKF,EAAqBE,EAAQ,CAAC,CAAC,GAEjFC,EAAM,WAAaA,EAAM,SAAW,CAAC,IAAI,KAAK,CAC7C,QAAS,SACT,KAAML,EAAU,OAAS,SACzB,UAAW,+CACX,QAAS,2DACT,OAAQ,qCACV,CAAC,CAAA,CAAA,ECdDM,GAAA5H,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIyH,EAAQE,GAAA,EAEZ3H,EAAO,QAAU,SAAUkH,EAAK3E,EAAO,CACrC,OAAOkF,EAAMP,CAAG,IAAMO,EAAMP,CAAG,EAAI3E,GAAS,CAAC,EAC/C,CAAA,CAAA,ECLAqF,GAAA9H,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIoD,EAAyBC,GAAA,EAEzBX,EAAU,OAId1C,EAAO,QAAU,SAAU4B,EAAU,CACnC,OAAOc,EAAQU,EAAuBxB,CAAQ,CAAC,CACjD,CAAA,CAAA,ECTAiG,GAAA/H,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EACd0G,EAAWC,GAAA,EAEXC,EAAiB7G,EAAY,CAAC,EAAE,cAAc,EAKlDnB,EAAO,QAAU,OAAO,QAAU,SAAgBE,EAAIgH,EAAK,CACzD,OAAOc,EAAeF,EAAS5H,CAAE,EAAGgH,CAAG,CACzC,CAAA,CAAA,ECXAe,GAAAnI,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EAEd8G,EAAK,EACLC,EAAU,KAAK,OAAO,EACtB9G,EAAWF,EAAY,GAAI,QAAQ,EAEvCnB,EAAO,QAAU,SAAUkH,EAAK,CAC9B,MAAO,WAAaA,IAAQ,OAAY,GAAKA,GAAO,KAAO7F,EAAS,EAAE6G,EAAKC,EAAS,EAAE,CACxF,CAAA,CAAA,ECTAC,GAAAtI,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACbuE,EAASC,GAAA,EACTC,EAASC,GAAA,EACTC,EAAMC,GAAA,EACNrD,EAAgBC,GAAA,EAChBM,EAAoBC,GAAA,EAEpB8C,EAAS9E,EAAW,OACpB+E,EAAwBP,EAAO,KAAK,EACpCQ,EAAwBjD,EAAoB+C,EAAO,KAAUA,EAASA,GAAUA,EAAO,eAAiBF,EAE5GzI,EAAO,QAAU,SAAU8I,EAAM,CAC/B,OAAKP,EAAOK,EAAuBE,CAAI,IACrCF,EAAsBE,CAAI,EAAIzD,GAAiBkD,EAAOI,EAAQG,CAAI,EAC9DH,EAAOG,CAAI,EACXD,EAAsB,UAAYC,CAAI,GACnCF,EAAsBE,CAAI,CACrC,CAAA,CAAA,EClBAC,GAAAjJ,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIc,EAAO2F,GAAA,EACPC,EAAWC,GAAA,EACXqC,EAAWC,GAAA,EACXC,EAAYC,GAAA,EACZC,EAAsBC,GAAA,EACtBC,EAAkBC,GAAA,EAElBvG,EAAa,UACbwG,EAAeF,EAAgB,aAAa,EAIhDtJ,EAAO,QAAU,SAAU4G,EAAOC,EAAM,CACtC,GAAI,CAACH,EAASE,CAAK,GAAKoC,EAASpC,CAAK,EAAG,OAAOA,EAChD,IAAI6C,EAAeP,EAAUtC,EAAO4C,CAAY,EAC5CE,EACJ,GAAID,EAAc,CAGhB,GAFI5C,IAAS,SAAWA,EAAO,WAC/B6C,EAAS5I,EAAK2I,EAAc7C,EAAOC,CAAI,EACnC,CAACH,EAASgD,CAAM,GAAKV,EAASU,CAAM,EAAG,OAAOA,EAClD,MAAM,IAAI1G,EAAW,yCAAyC,CAChE,CACA,OAAI6D,IAAS,SAAWA,EAAO,UACxBuC,EAAoBxC,EAAOC,CAAI,CACxC,CAAA,CAAA,ECzBA8C,GAAA7J,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI4J,EAAcC,GAAA,EACdb,EAAWC,GAAA,EAIfjJ,EAAO,QAAU,SAAU4B,EAAU,CACnC,IAAIsF,EAAM0C,EAAYhI,EAAU,QAAQ,EACxC,OAAOoH,EAAS9B,CAAG,EAAIA,EAAMA,EAAM,EACrC,CAAA,CAAA,ECTA4C,GAAAhK,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACb4C,EAAWC,GAAA,EAEXoD,EAAWlG,EAAW,SAEtBmG,EAAStD,EAASqD,CAAQ,GAAKrD,EAASqD,EAAS,aAAa,EAElE/J,EAAO,QAAU,SAAUE,EAAI,CAC7B,OAAO8J,EAASD,EAAS,cAAc7J,CAAE,EAAI,CAAC,CAChD,CAAA,CAAA,ECVA+J,GAAAnK,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkK,EAAcC,GAAA,EACd7J,EAAQC,GAAA,EACR6J,EAAgBC,GAAA,EAGpBrK,EAAO,QAAU,CAACkK,GAAe,CAAC5J,EAAM,UAAY,CAElD,OAAO,OAAO,eAAe8J,EAAc,KAAK,EAAG,IAAK,CACtD,IAAK,UAAY,CAAE,MAAO,EAAG,CAC/B,CAAC,EAAE,IAAM,CACX,CAAC,CAAA,CAAA,ECXDE,GAAAxK,EAAAC,GAAA,CAAA,aACA,IAAImK,EAAcC,GAAA,EACdrJ,EAAO2F,GAAA,EACP8D,EAA6BC,GAAA,EAC7BC,EAA2BC,GAAA,EAC3BC,EAAkBC,GAAA,EAClBC,EAAgBC,GAAA,EAChBvC,EAASC,GAAA,EACTuC,EAAiBC,GAAA,EAGjBC,EAA4B,OAAO,yBAIvClL,EAAQ,EAAImK,EAAce,EAA4B,SAAkCxE,EAAGH,EAAG,CAG5F,GAFAG,EAAIkE,EAAgBlE,CAAC,EACrBH,EAAIuE,EAAcvE,CAAC,EACfyE,EAAgB,GAAI,CACtB,OAAOE,EAA0BxE,EAAGH,CAAC,CACvC,MAAgB,CAAc,CAC9B,GAAIiC,EAAO9B,EAAGH,CAAC,EAAG,OAAOmE,EAAyB,CAAC3J,EAAKyJ,EAA2B,EAAG9D,EAAGH,CAAC,EAAGG,EAAEH,CAAC,CAAC,CACnG,CAAA,CAAA,ECtBA4E,GAAApL,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIM,EAAQC,GAAA,EACRgD,EAAaC,GAAA,EAEb2H,EAAc,kBAEdC,EAAW,SAAUC,EAASC,EAAW,CAC3C,IAAI/I,EAAQgJ,EAAKC,EAAUH,CAAO,CAAC,EACnC,OAAO9I,IAAUkJ,EAAW,GACxBlJ,IAAUmJ,EAAS,GACnBnI,EAAW+H,CAAS,EAAIhL,EAAMgL,CAAS,EACvC,CAAC,CAACA,CACR,EAEIE,EAAYJ,EAAS,UAAY,SAAUO,EAAQ,CACrD,OAAO,OAAOA,CAAM,EAAE,QAAQR,EAAa,GAAG,EAAE,YAAY,CAC9D,EAEII,EAAOH,EAAS,KAAO,CAAC,EACxBM,EAASN,EAAS,OAAS,IAC3BK,EAAWL,EAAS,SAAW,IAEnCpL,EAAO,QAAUoL,CAAAA,CAAAA,ECtBjBQ,GAAA9L,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAc0K,GAAA,EACdzF,EAAYC,GAAA,EACZ3F,EAAcC,GAAA,EAEdmL,EAAO3K,EAAYA,EAAY,IAAI,EAGvCnB,EAAO,QAAU,SAAUiB,EAAI8K,EAAM,CACnC,OAAA3F,EAAUnF,CAAE,EACL8K,IAAS,OAAY9K,EAAKP,EAAcoL,EAAK7K,EAAI8K,CAAI,EAAI,UAAyB,CACvF,OAAO9K,EAAG,MAAM8K,EAAM,SAAS,CACjC,CACF,CAAA,CAAA,ECbAC,GAAAlM,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkK,EAAcC,GAAA,EACd7J,EAAQC,GAAA,EAIZP,EAAO,QAAUkK,GAAe5J,EAAM,UAAY,CAEhD,OAAO,OAAO,eAAe,UAAY,CAAc,EAAG,YAAa,CACrE,MAAO,GACP,SAAU,EACZ,CAAC,EAAE,YAAc,EACnB,CAAC,CAAA,CAAA,ECZD2L,GAAAnM,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI0G,EAAWC,GAAA,EAEXzB,EAAU,OACVlC,EAAa,UAGjBhD,EAAO,QAAU,SAAU4B,EAAU,CACnC,GAAI8E,EAAS9E,CAAQ,EAAG,OAAOA,EAC/B,MAAM,IAAIoB,EAAWkC,EAAQtD,CAAQ,EAAI,mBAAmB,CAC9D,CAAA,CAAA,ECVAsK,GAAApM,EAAAC,GAAA,CAAA,aACA,IAAImK,EAAcC,GAAA,EACdY,EAAiBC,GAAA,EACjBmB,EAA0BC,GAAA,EAC1BC,EAAWC,GAAA,EACXzB,EAAgBC,GAAA,EAEhB9H,EAAa,UAEbuJ,EAAkB,OAAO,eAEzBtB,EAA4B,OAAO,yBACnCuB,EAAa,aACbC,EAAe,eACfC,EAAW,WAIf3M,EAAQ,EAAImK,EAAciC,EAA0B,SAAwB1F,EAAGH,EAAGqG,EAAY,CAI5F,GAHAN,EAAS5F,CAAC,EACVH,EAAIuE,EAAcvE,CAAC,EACnB+F,EAASM,CAAU,EACf,OAAOlG,GAAM,YAAcH,IAAM,aAAe,UAAWqG,GAAcD,KAAYC,GAAc,CAACA,EAAWD,CAAQ,EAAG,CAC5H,IAAIE,EAAU3B,EAA0BxE,EAAGH,CAAC,EACxCsG,GAAWA,EAAQF,CAAQ,IAC7BjG,EAAEH,CAAC,EAAIqG,EAAW,MAClBA,EAAa,CACX,aAAcF,KAAgBE,EAAaA,EAAWF,CAAY,EAAIG,EAAQH,CAAY,EAC1F,WAAYD,KAAcG,EAAaA,EAAWH,CAAU,EAAII,EAAQJ,CAAU,EAClF,SAAU,EACZ,EAEJ,CAAE,OAAOD,EAAgB9F,EAAGH,EAAGqG,CAAU,CAC3C,EAAIJ,EAAkB,SAAwB9F,EAAGH,EAAGqG,EAAY,CAI9D,GAHAN,EAAS5F,CAAC,EACVH,EAAIuE,EAAcvE,CAAC,EACnB+F,EAASM,CAAU,EACf5B,EAAgB,GAAI,CACtB,OAAOwB,EAAgB9F,EAAGH,EAAGqG,CAAU,CACzC,MAAgB,CAAc,CAC9B,GAAI,QAASA,GAAc,QAASA,EAAY,MAAM,IAAI3J,EAAW,yBAAyB,EAC9F,MAAI,UAAW2J,IAAYlG,EAAEH,CAAC,EAAIqG,EAAW,OACtClG,CACT,CAAA,CAAA,EC3CAoG,GAAA/M,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkK,EAAcC,GAAA,EACd2C,EAAuBC,GAAA,EACvBtC,EAA2BC,GAAA,EAE/B1K,EAAO,QAAUkK,EAAc,SAAU8C,EAAQ9F,EAAK3E,EAAO,CAC3D,OAAOuK,EAAqB,EAAEE,EAAQ9F,EAAKuD,EAAyB,EAAGlI,CAAK,CAAC,CAC/E,EAAI,SAAUyK,EAAQ9F,EAAK3E,EAAO,CAChC,OAAAyK,EAAO9F,CAAG,EAAI3E,EACPyK,CACT,CAAA,CAAA,ECVAC,GAAAnN,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACbjD,EAAQqM,GAAA,EACR/L,EAAc0K,GAAA,EACdtI,EAAaC,GAAA,EACbvB,EAA2BkL,GAAA,EAA2D,EACtF/B,EAAWgC,GAAA,EACXzJ,EAAOC,GAAA,EACPkI,EAAOuB,GAAA,EACPC,EAA8BC,GAAA,EAC9BhF,EAASC,GAAA,EAEbb,GAAA,EAEA,IAAI6F,EAAkB,SAAUC,EAAmB,CACjD,IAAIC,EAAU,SAAUC,EAAGpE,EAAGzF,EAAG,CAC/B,GAAI,gBAAgB4J,EAAS,CAC3B,OAAQ,UAAU,OAAQ,CACxB,IAAK,GAAG,OAAO,IAAID,EACnB,IAAK,GAAG,OAAO,IAAIA,EAAkBE,CAAC,EACtC,IAAK,GAAG,OAAO,IAAIF,EAAkBE,EAAGpE,CAAC,CAC3C,CAAE,OAAO,IAAIkE,EAAkBE,EAAGpE,EAAGzF,CAAC,CACxC,CAAE,OAAOjD,EAAM4M,EAAmB,KAAM,SAAS,CACnD,EACA,OAAAC,EAAQ,UAAYD,EAAkB,UAC/BC,CACT,EAiBA1N,EAAO,QAAU,SAAU4N,EAASC,EAAQ,CAC1C,IAAIC,EAASF,EAAQ,OACjBG,EAASH,EAAQ,OACjBI,EAASJ,EAAQ,KACjBK,EAAQL,EAAQ,MAEhBM,EAAeH,EAASlK,EAAamK,EAASnK,EAAWiK,CAAM,EAAIjK,EAAWiK,CAAM,GAAKjK,EAAWiK,CAAM,EAAE,UAE5GK,EAASJ,EAASpK,EAAOA,EAAKmK,CAAM,GAAKR,EAA4B3J,EAAMmK,EAAQ,CAAC,CAAC,EAAEA,CAAM,EAC7FM,EAAkBD,EAAO,UAEzBE,EAAQC,EAAYC,EACpBrH,EAAKsH,EAAgBC,EAAgBC,EAAgBC,EAAgBvM,EAEzE,IAAK8E,KAAO2G,EACVQ,EAASjD,EAAS2C,EAAS7G,EAAM4G,GAAUE,EAAS,IAAM,KAAO9G,EAAK0G,EAAQ,MAAM,EAEpFU,EAAa,CAACD,GAAUH,GAAgB3F,EAAO2F,EAAchH,CAAG,EAEhEuH,EAAiBN,EAAOjH,CAAG,EAEvBoH,IAAgBV,EAAQ,gBAC1BxL,EAAaH,EAAyBiM,EAAchH,CAAG,EACvDwH,EAAiBtM,GAAcA,EAAW,OACrCsM,EAAiBR,EAAahH,CAAG,GAGxCsH,EAAkBF,GAAcI,EAAkBA,EAAiBb,EAAO3G,CAAG,EAEzE,EAAA,CAACmH,GAAU,CAACJ,GAAS,OAAOQ,GAAkB,OAAOD,KAGrDZ,EAAQ,MAAQU,EAAYK,EAAiB7C,EAAK0C,EAAgB3K,CAAU,EAEvE+J,EAAQ,MAAQU,EAAYK,EAAiBnB,EAAgBgB,CAAc,EAE3EP,GAAS1K,EAAWiL,CAAc,EAAGG,EAAiBxN,EAAYqN,CAAc,EAEpFG,EAAiBH,GAGlBZ,EAAQ,MAASY,GAAkBA,EAAe,MAAUC,GAAkBA,EAAe,OAC/FnB,EAA4BqB,EAAgB,OAAQ,EAAI,EAG1DrB,EAA4Ba,EAAQjH,EAAKyH,CAAc,EAEnDV,IACFM,EAAoBT,EAAS,YACxBvF,EAAO5E,EAAM4K,CAAiB,GACjCjB,EAA4B3J,EAAM4K,EAAmB,CAAC,CAAC,EAGzDjB,EAA4B3J,EAAK4K,CAAiB,EAAGrH,EAAKsH,CAAc,EAEpEZ,EAAQ,MAAQQ,IAAoBC,GAAU,CAACD,EAAgBlH,CAAG,IACpEoG,EAA4Bc,EAAiBlH,EAAKsH,CAAc,GAIxE,CAAA,CAAA,ECvGAI,GAAA9O,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAEA,IAAI6D,EAAaC,EAAA,EACbQ,EAAYE,GAAA,EACZ/B,EAAUhB,GAAA,EAEVoN,EAAsB,SAAUlD,EAAQ,CAC1C,OAAOrH,EAAU,MAAM,EAAGqH,EAAO,MAAM,IAAMA,CAC/C,EAEA3L,EAAO,QAAW,UAAY,CAC5B,OAAI6O,EAAoB,MAAM,EAAU,MACpCA,EAAoB,oBAAoB,EAAU,aAClDA,EAAoB,OAAO,EAAU,OACrCA,EAAoB,UAAU,EAAU,OACxChL,EAAW,KAAO,OAAO,IAAI,SAAW,SAAiB,MACzDA,EAAW,MAAQ,OAAO,KAAK,SAAW,SAAiB,OAC3DpB,EAAQoB,EAAW,OAAO,IAAM,UAAkB,OAClDA,EAAW,QAAUA,EAAW,SAAiB,UAC9C,MACT,EAAG,CAAA,CAAA,ECpBHiL,GAAAhP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI+O,EAAcC,GAAA,EAElBhP,EAAO,QAAU+O,IAAgB,MAAA,CAAA,ECHjCE,GAAAnP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsN,EAA8BC,GAAA,EAElCvN,EAAO,QAAU,SAAUmO,EAAQjH,EAAK3E,EAAOqL,EAAS,CACtD,OAAIA,GAAWA,EAAQ,WAAYO,EAAOjH,CAAG,EAAI3E,EAC5C+K,EAA4Ba,EAAQjH,EAAK3E,CAAK,EAC5C4L,CACT,CAAA,CAAA,ECPAe,GAAApP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EACdgF,EAAYC,GAAA,EAEhBrG,EAAO,QAAU,SAAUgN,EAAQ9F,EAAKhD,EAAQ,CAC9C,GAAI,CAEF,OAAO/C,EAAYiF,EAAU,OAAO,yBAAyB4G,EAAQ9F,CAAG,EAAEhD,CAAM,CAAC,CAAC,CACpF,MAAgB,CAAc,CAChC,CAAA,CAAA,ECTAiL,GAAArP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI0G,EAAWC,GAAA,EAEf3G,EAAO,QAAU,SAAU4B,EAAU,CACnC,OAAO8E,EAAS9E,CAAQ,GAAKA,IAAa,IAC5C,CAAA,CAAA,ECLAwN,GAAAtP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIqP,EAAsBC,GAAA,EAEtBpK,EAAU,OACVlC,EAAa,UAEjBhD,EAAO,QAAU,SAAU4B,EAAU,CACnC,GAAIyN,EAAoBzN,CAAQ,EAAG,OAAOA,EAC1C,MAAM,IAAIoB,EAAW,aAAekC,EAAQtD,CAAQ,EAAI,iBAAiB,CAC3E,CAAA,CAAA,ECTA2N,GAAAzP,EAAA,CAAAC,EAAAC,IAAA,CAAA,aAEA,IAAIwP,EAAsBC,GAAA,EACtB/I,EAAWC,GAAA,EACXvD,EAAyBC,GAAA,EACzBqM,EAAqBC,GAAA,EAMzB3P,EAAO,QAAU,OAAO,iBAAmB,aAAe,CAAC,EAAI,UAAY,CACzE,IAAI4P,EAAiB,GACjBpP,EAAO,CAAC,EACRqP,EACJ,GAAI,CACFA,EAASL,EAAoB,OAAO,UAAW,YAAa,KAAK,EACjEK,EAAOrP,EAAM,CAAC,CAAC,EACfoP,EAAiBpP,aAAgB,KACnC,MAAgB,CAAc,CAC9B,OAAO,SAAwBiG,EAAGqJ,EAAO,CAGvC,OAFA1M,EAAuBqD,CAAC,EACxBiJ,EAAmBI,CAAK,EACnBpJ,EAASD,CAAC,IACXmJ,EAAgBC,EAAOpJ,EAAGqJ,CAAK,EAC9BrJ,EAAE,UAAYqJ,GACZrJ,CACT,CACF,EAAE,EAAI,OAAA,CAAA,EC5BNsJ,GAAAjQ,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsJ,EAAkBC,GAAA,EAElByG,EAAgB1G,EAAgB,aAAa,EAC7C9I,EAAO,CAAC,EAEZA,EAAKwP,CAAa,EAAI,IAEtBhQ,EAAO,QAAU,OAAOQ,CAAI,IAAM,YAAA,CAAA,ECRlCyP,GAAAnQ,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkQ,EAAwBC,GAAA,EACxB5M,EAAaC,GAAA,EACbhC,EAAaC,GAAA,EACb6H,EAAkBC,GAAA,EAElByG,EAAgB1G,EAAgB,aAAa,EAC7C5G,EAAU,OAGV0N,EAAoB5O,EAAW,UAAY,CAAE,OAAO,SAAW,EAAE,CAAC,IAAM,YAGxE6O,EAAS,SAAUnQ,EAAIgH,EAAK,CAC9B,GAAI,CACF,OAAOhH,EAAGgH,CAAG,CACf,MAAgB,CAAc,CAChC,EAGAlH,EAAO,QAAUkQ,EAAwB1O,EAAa,SAAUtB,EAAI,CAClE,IAAIuG,EAAG6J,EAAK5G,EACZ,OAAOxJ,IAAO,OAAY,YAAcA,IAAO,KAAO,OAElD,OAAQoQ,EAAMD,EAAO5J,EAAI/D,EAAQxC,CAAE,EAAG8P,CAAa,IAAM,SAAWM,EAEpEF,EAAoB5O,EAAWiF,CAAC,GAE/BiD,EAASlI,EAAWiF,CAAC,KAAO,UAAYlD,EAAWkD,EAAE,MAAM,EAAI,YAAciD,CACpF,CAAA,CAAA,EC7BA6G,GAAAzQ,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkQ,EAAwBC,GAAA,EACxB1N,EAAU+N,GAAA,EAIdxQ,EAAO,QAAUkQ,EAAwB,CAAC,EAAE,SAAW,UAAoB,CACzE,MAAO,WAAazN,EAAQ,IAAI,EAAI,GACtC,CAAA,CAAA,ECRAgO,GAAA3Q,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIkQ,EAAwBC,GAAA,EACxBlJ,EAAiB8F,GAAA,EAA+C,EAChEO,EAA8BC,GAAA,EAC9BhF,EAASC,GAAA,EACTnH,EAAWqP,GAAA,EACXpH,EAAkBC,GAAA,EAElByG,EAAgB1G,EAAgB,aAAa,EAEjDtJ,EAAO,QAAU,SAAUE,EAAIyQ,EAAK3C,EAAQ4C,EAAY,CACtD,IAAIzC,EAASH,EAAS9N,EAAKA,GAAMA,EAAG,UAChCiO,IACG5F,EAAO4F,EAAQ6B,CAAa,GAC/B/I,EAAekH,EAAQ6B,EAAe,CAAE,aAAc,GAAM,MAAOW,CAAI,CAAC,EAEtEC,GAAc,CAACV,GACjB5C,EAA4Ba,EAAQ,WAAY9M,CAAQ,EAG9D,CAAA,CAAA,ECpBAwP,GAAA/Q,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIiH,EAAiB8F,GAAA,EAErB/M,EAAO,QAAU,SAAUmO,EAAQrF,EAAM1G,EAAY,CACnD,OAAO6E,EAAe,EAAEkH,EAAQrF,EAAM1G,CAAU,CAClD,CAAA,CAAA,ECLA0O,GAAAhR,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIwF,EAAaC,GAAA,EACbsL,EAAwBC,GAAA,EACxB1H,EAAkBC,GAAA,EAClBW,EAAcC,GAAA,EAEd8G,EAAU3H,EAAgB,SAAS,EAEvCtJ,EAAO,QAAU,SAAUkR,EAAkB,CAC3C,IAAIC,EAAc3L,EAAW0L,CAAgB,EAEzChH,GAAeiH,GAAe,CAACA,EAAYF,CAAO,GACpDF,EAAsBI,EAAaF,EAAS,CAC1C,aAAc,GACd,IAAK,UAAY,CAAE,OAAO,IAAM,CAClC,CAAC,CAEL,CAAA,CAAA,ECjBAG,GAAAtR,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI0F,EAAgBC,GAAA,EAEhB3C,EAAa,UAEjBhD,EAAO,QAAU,SAAUE,EAAImR,EAAW,CACxC,GAAI3L,EAAc2L,EAAWnR,CAAE,EAAG,OAAOA,EACzC,MAAM,IAAI8C,EAAW,sBAAsB,CAC7C,CAAA,CAAA,ECRAsO,GAAAxR,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EACdmC,EAAaC,GAAA,EACbiE,EAAQE,GAAA,EAER4J,EAAmBpQ,EAAY,SAAS,QAAQ,EAG/CoC,EAAWkE,EAAM,aAAa,IACjCA,EAAM,cAAgB,SAAUvH,EAAI,CAClC,OAAOqR,EAAiBrR,CAAE,CAC5B,GAGFF,EAAO,QAAUyH,EAAM,aAAA,CAAA,ECdvB+J,GAAA1R,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EACdd,EAAQC,GAAA,EACRgD,EAAaC,GAAA,EACbf,EAAU+N,GAAA,EACVhL,EAAaC,GAAA,EACbgM,EAAgBC,GAAA,EAEhBC,EAAO,UAAY,CAAc,EACjCC,EAAYpM,EAAW,UAAW,WAAW,EAC7CqM,EAAoB,2BACpBzR,EAAOe,EAAY0Q,EAAkB,IAAI,EACzCC,EAAsB,CAACD,EAAkB,KAAKF,CAAI,EAElDI,EAAsB,SAAuBnQ,EAAU,CACzD,GAAI,CAAC2B,EAAW3B,CAAQ,EAAG,MAAO,GAClC,GAAI,CACF,OAAAgQ,EAAUD,EAAM,CAAC,EAAG/P,CAAQ,EACrB,EACT,MAAgB,CACd,MAAO,EACT,CACF,EAEIoQ,EAAsB,SAAuBpQ,EAAU,CACzD,GAAI,CAAC2B,EAAW3B,CAAQ,EAAG,MAAO,GAClC,OAAQa,EAAQb,CAAQ,EAAG,CACzB,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,MAAO,EACxC,CACA,GAAI,CAIF,OAAOkQ,GAAuB,CAAC,CAAC1R,EAAKyR,EAAmBJ,EAAc7P,CAAQ,CAAC,CACjF,MAAgB,CACd,MAAO,EACT,CACF,EAEAoQ,EAAoB,KAAO,GAI3BhS,EAAO,QAAU,CAAC4R,GAAatR,EAAM,UAAY,CAC/C,IAAI2R,EACJ,OAAOF,EAAoBA,EAAoB,IAAI,GAC9C,CAACA,EAAoB,MAAM,GAC3B,CAACA,EAAoB,UAAY,CAAEE,EAAS,EAAM,CAAC,GACnDA,CACP,CAAC,EAAID,EAAsBD,CAAAA,CAAAA,ECnD3BG,GAAApS,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImS,EAAgBC,GAAA,EAChBnM,EAAcC,GAAA,EAEdlD,EAAa,UAGjBhD,EAAO,QAAU,SAAU4B,EAAU,CACnC,GAAIuQ,EAAcvQ,CAAQ,EAAG,OAAOA,EACpC,MAAM,IAAIoB,EAAWiD,EAAYrE,CAAQ,EAAI,uBAAuB,CACtE,CAAA,CAAA,ECVAyQ,GAAAvS,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIqM,EAAWC,GAAA,EACXgG,EAAeC,GAAA,EACfzP,EAAoBC,GAAA,EACpBuG,EAAkBC,GAAA,EAElB0H,EAAU3H,EAAgB,SAAS,EAIvCtJ,EAAO,QAAU,SAAUyG,EAAG+L,EAAoB,CAChD,IAAIrI,EAAIkC,EAAS5F,CAAC,EAAE,YAChBgM,EACJ,OAAOtI,IAAM,QAAarH,EAAkB2P,EAAIpG,EAASlC,CAAC,EAAE8G,CAAO,CAAC,EAAIuB,EAAqBF,EAAaG,CAAC,CAC7G,CAAA,CAAA,ECdAC,GAAA5S,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIwF,EAAaC,GAAA,EAEjBzF,EAAO,QAAUwF,EAAW,WAAY,iBAAiB,CAAA,CAAA,ECHzDmN,GAAA7S,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAImB,EAAcC,GAAA,EAElBpB,EAAO,QAAUmB,EAAY,CAAC,EAAE,KAAK,CAAA,CAAA,ECHrCyR,GAAA9S,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIgD,EAAa,UAEjBhD,EAAO,QAAU,SAAU6S,EAAQC,EAAU,CAC3C,GAAID,EAASC,EAAU,MAAM,IAAI9P,EAAW,sBAAsB,EAClE,OAAO6P,CACT,CAAA,CAAA,ECNAE,GAAAjT,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsE,EAAYE,GAAA,EAGhBxE,EAAO,QAAU,qCAAqC,KAAKsE,CAAS,CAAA,CAAA,ECJpE0O,GAAAlT,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACbjD,EAAQqM,GAAA,EACRpB,EAAOuB,GAAA,EACP9J,EAAaC,GAAA,EACb+E,EAASC,GAAA,EACTlI,EAAQC,GAAA,EACR0S,EAAOC,GAAA,EACPC,EAAaC,GAAA,EACbhJ,EAAgBC,GAAA,EAChBgJ,EAA0BC,GAAA,EAC1BC,EAASC,GAAA,EACTC,EAAUC,GAAA,EAEVC,EAAM9P,EAAW,aACjB+P,EAAQ/P,EAAW,eACnBY,EAAUZ,EAAW,QACrBgQ,EAAWhQ,EAAW,SACtBiQ,EAAWjQ,EAAW,SACtBkQ,EAAiBlQ,EAAW,eAC5BmQ,EAASnQ,EAAW,OACpBoQ,EAAU,EACVC,EAAQ,CAAC,EACTC,EAAqB,qBACrBC,EAAWC,EAAOC,EAASC,EAE/BjU,EAAM,UAAY,CAEhB8T,EAAYvQ,EAAW,QACzB,CAAC,EAED,IAAI2Q,EAAM,SAAUtM,EAAI,CACtB,GAAIK,EAAO2L,EAAOhM,CAAE,EAAG,CACrB,IAAIjH,EAAKiT,EAAMhM,CAAE,EACjB,OAAOgM,EAAMhM,CAAE,EACfjH,EAAG,CACL,CACF,EAEIwT,EAAS,SAAUvM,EAAI,CACzB,OAAO,UAAY,CACjBsM,EAAItM,CAAE,CACR,CACF,EAEIwM,EAAgB,SAAUC,EAAO,CACnCH,EAAIG,EAAM,IAAI,CAChB,EAEIC,EAAyB,SAAU1M,EAAI,CAEzCrE,EAAW,YAAYmQ,EAAO9L,CAAE,EAAGkM,EAAU,SAAW,KAAOA,EAAU,IAAI,CAC/E,GAGI,CAACT,GAAO,CAACC,KACXD,EAAM,SAAsBkB,EAAS,CACnCxB,EAAwB,UAAU,OAAQ,CAAC,EAC3C,IAAIpS,EAAKsC,EAAWsR,CAAO,EAAIA,EAAUf,EAASe,CAAO,EACrDC,GAAO3B,EAAW,UAAW,CAAC,EAClC,OAAAe,EAAM,EAAED,CAAO,EAAI,UAAY,CAC7BpT,EAAMI,EAAI,OAAW6T,EAAI,CAC3B,EACAT,EAAMJ,CAAO,EACNA,CACT,EACAL,EAAQ,SAAwB1L,EAAI,CAClC,OAAOgM,EAAMhM,CAAE,CACjB,EAEIuL,EACFY,EAAQ,SAAUnM,EAAI,CACpBzD,EAAQ,SAASgQ,EAAOvM,CAAE,CAAC,CAC7B,EAES2L,GAAYA,EAAS,IAC9BQ,EAAQ,SAAUnM,EAAI,CACpB2L,EAAS,IAAIY,EAAOvM,CAAE,CAAC,CACzB,EAGS6L,GAAkB,CAACR,GAC5Be,EAAU,IAAIP,EACdQ,EAAOD,EAAQ,MACfA,EAAQ,MAAM,UAAYI,EAC1BL,EAAQvI,EAAKyI,EAAK,YAAaA,CAAI,GAInC1Q,EAAW,kBACXN,EAAWM,EAAW,WAAW,GACjC,CAACA,EAAW,eACZuQ,GAAaA,EAAU,WAAa,SACpC,CAAC9T,EAAMsU,CAAsB,GAE7BP,EAAQO,EACR/Q,EAAW,iBAAiB,UAAW6Q,EAAe,EAAK,GAElDP,KAAsB/J,EAAc,QAAQ,EACrDiK,EAAQ,SAAUnM,EAAI,CACpB+K,EAAK,YAAY7I,EAAc,QAAQ,CAAC,EAAE+J,CAAkB,EAAI,UAAY,CAC1ElB,EAAK,YAAY,IAAI,EACrBuB,EAAItM,CAAE,CACR,CACF,EAGAmM,EAAQ,SAAUnM,EAAI,CACpB,WAAWuM,EAAOvM,CAAE,EAAG,CAAC,CAC1B,GAIJlI,EAAO,QAAU,CACf,IAAK2T,EACL,MAAOC,CACT,CAAA,CAAA,ECpHAmB,GAAAjV,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACboG,EAAcC,GAAA,EAGdlI,EAA2B,OAAO,yBAGtCjC,EAAO,QAAU,SAAU8I,EAAM,CAC/B,GAAI,CAACoB,EAAa,OAAOrG,EAAWiF,CAAI,EACxC,IAAI1G,EAAaH,EAAyB4B,EAAYiF,CAAI,EAC1D,OAAO1G,GAAcA,EAAW,KAClC,CAAA,CAAA,ECZA4S,GAAAlV,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIiV,EAAQ,UAAY,CACtB,KAAK,KAAO,KACZ,KAAK,KAAO,IACd,EAEAA,EAAM,UAAY,CAChB,IAAK,SAAUC,EAAM,CACnB,IAAIC,EAAQ,CAAE,KAAMD,EAAM,KAAM,IAAK,EACjCE,EAAO,KAAK,KACZA,EAAMA,EAAK,KAAOD,EACjB,KAAK,KAAOA,EACjB,KAAK,KAAOA,CACd,EACA,IAAK,UAAY,CACf,IAAIA,EAAQ,KAAK,KACjB,GAAIA,EAAO,CACT,IAAIE,EAAO,KAAK,KAAOF,EAAM,KAC7B,OAAIE,IAAS,OAAM,KAAK,KAAO,MACxBF,EAAM,IACf,CACF,CACF,EAEAnV,EAAO,QAAUiV,CAAAA,CAAAA,ECxBjBK,GAAAxV,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsE,EAAYE,GAAA,EAEhBxE,EAAO,QAAU,oBAAoB,KAAKsE,CAAS,GAAK,OAAO,OAAU,GAAA,CAAA,ECHzEiR,GAAAzV,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsE,EAAYE,GAAA,EAEhBxE,EAAO,QAAU,qBAAqB,KAAKsE,CAAS,CAAA,CAAA,ECHpDkR,GAAA1V,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACb2R,EAAiBC,GAAA,EACjB5J,EAAOuB,GAAA,EACPsI,EAAYC,GAAA,EAA6B,IACzCX,EAAQY,GAAA,EACRtC,EAASC,GAAA,EACTsC,EAAgBC,GAAA,EAChBC,EAAkBC,GAAA,EAClBxC,EAAUC,GAAA,EAEVwC,EAAmBrS,EAAW,kBAAoBA,EAAW,uBAC7DkG,EAAWlG,EAAW,SACtBY,EAAUZ,EAAW,QACrBsS,EAAUtS,EAAW,QACrBuS,EAAYX,EAAe,gBAAgB,EAC3CY,EAAQC,EAAQC,EAAMC,EAASC,EAG9BL,IACClC,EAAQ,IAAIe,EAEZyB,EAAQ,UAAY,CACtB,IAAIC,EAAQ1V,EAEZ,IADIwS,IAAYkD,EAASlS,EAAQ,SAASkS,EAAO,KAAK,EAC/C1V,EAAKiT,EAAM,IAAI,GAAG,GAAI,CAC3BjT,EAAG,CACL,OAAS2V,EAAO,CACd,MAAI1C,EAAM,MAAMmC,EAAO,EACjBO,CACR,CACID,GAAQA,EAAO,MAAM,CAC3B,EAII,CAACpD,GAAU,CAACE,GAAW,CAACuC,GAAmBE,GAAoBnM,GACjEuM,EAAS,GACTC,EAAOxM,EAAS,eAAe,EAAE,EACjC,IAAImM,EAAiBQ,CAAK,EAAE,QAAQH,EAAM,CAAE,cAAe,EAAK,CAAC,EACjEF,EAAS,UAAY,CACnBE,EAAK,KAAOD,EAAS,CAACA,CACxB,GAES,CAACR,GAAiBK,GAAWA,EAAQ,SAE9CK,EAAUL,EAAQ,QAAQ,MAAS,EAEnCK,EAAQ,YAAcL,EACtBM,EAAO3K,EAAK0K,EAAQ,KAAMA,CAAO,EACjCH,EAAS,UAAY,CACnBI,EAAKC,CAAK,CACZ,GAESjD,EACT4C,EAAS,UAAY,CACnB5R,EAAQ,SAASiS,CAAK,CACxB,GASAf,EAAY7J,EAAK6J,EAAW9R,CAAU,EACtCwS,EAAS,UAAY,CACnBV,EAAUe,CAAK,CACjB,GAGFN,EAAY,SAAUnV,EAAI,CACnBiT,EAAM,MAAMmC,EAAO,EACxBnC,EAAM,IAAIjT,CAAE,CACd,GAvDI,IAAAiT,EAEAwC,EAwDN1W,EAAO,QAAUoW,CAAAA,CAAAA,EC9EjBS,GAAA/W,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,SAAU2N,EAAGpE,EAAG,CAC/B,GAAI,CAEF,UAAU,SAAW,EAAI,QAAQ,MAAMoE,CAAC,EAAI,QAAQ,MAAMA,EAAGpE,CAAC,CAChE,MAAgB,CAAc,CAChC,CAAA,CAAA,ECNAuN,GAAAhX,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,SAAUI,EAAM,CAC/B,GAAI,CACF,MAAO,CAAE,MAAO,GAAO,MAAOA,EAAK,CAAE,CACvC,OAASwW,EAAO,CACd,MAAO,CAAE,MAAO,GAAM,MAAOA,CAAM,CACrC,CACF,CAAA,CAAA,ECPAG,GAAAjX,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACbP,EAAaC,GAAA,EAEbwT,EAAUnT,EAAW,QAEzB7D,EAAO,QAAUuD,EAAWyT,CAAO,GAAK,cAAc,KAAK,OAAOA,CAAO,CAAC,CAAA,CAAA,ECN1EC,GAAAnX,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIqI,EAASC,GAAA,EACTG,EAAMC,GAAA,EAENwO,EAAO7O,EAAO,MAAM,EAExBrI,EAAO,QAAU,SAAUkH,EAAK,CAC9B,OAAOgQ,EAAKhQ,CAAG,IAAMgQ,EAAKhQ,CAAG,EAAIuB,EAAIvB,CAAG,EAC1C,CAAA,CAAA,ECRAiQ,GAAArX,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,CAAC,CAAA,CAAA,ECDlBoX,GAAAtX,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIqX,EAAkBC,GAAA,EAClBzT,EAAaC,EAAA,EACb4C,EAAWC,GAAA,EACX2G,EAA8BC,GAAA,EAC9BhF,EAASC,GAAA,EACTH,EAASV,GAAA,EACT4P,EAAYC,GAAA,EACZC,EAAaC,GAAA,EAEbC,EAA6B,6BAC7BC,EAAY/T,EAAW,UACvBmT,EAAUnT,EAAW,QACrB8P,EAAKkE,EAAKC,EAEVC,EAAU,SAAU7X,EAAI,CAC1B,OAAO4X,EAAI5X,CAAE,EAAI2X,EAAI3X,CAAE,EAAIyT,EAAIzT,EAAI,CAAC,CAAC,CACvC,EAEI8X,EAAY,SAAUC,EAAM,CAC9B,OAAO,SAAU/X,EAAI,CACnB,IAAIgY,EACJ,GAAI,CAACxR,EAASxG,CAAE,IAAMgY,EAAQL,EAAI3X,CAAE,GAAG,OAAS+X,EAC9C,MAAM,IAAIL,EAAU,0BAA4BK,EAAO,WAAW,EAClE,OAAOC,CACX,CACF,EAEIb,GAAmBhP,EAAO,OACxBZ,EAAQY,EAAO,QAAUA,EAAO,MAAQ,IAAI2O,GAEhDvP,EAAM,IAAMA,EAAM,IAClBA,EAAM,IAAMA,EAAM,IAClBA,EAAM,IAAMA,EAAM,IAElBkM,EAAM,SAAUzT,EAAIiY,EAAU,CAC5B,GAAI1Q,EAAM,IAAIvH,CAAE,EAAG,MAAM,IAAI0X,EAAUD,CAA0B,EACjE,OAAAQ,EAAS,OAASjY,EAClBuH,EAAM,IAAIvH,EAAIiY,CAAQ,EACfA,CACT,EACAN,EAAM,SAAU3X,EAAI,CAClB,OAAOuH,EAAM,IAAIvH,CAAE,GAAK,CAAC,CAC3B,EACA4X,EAAM,SAAU5X,EAAI,CAClB,OAAOuH,EAAM,IAAIvH,CAAE,CACrB,IAEIkY,EAAQb,EAAU,OAAO,EAC7BE,EAAWW,CAAK,EAAI,GACpBzE,EAAM,SAAUzT,EAAIiY,EAAU,CAC5B,GAAI5P,EAAOrI,EAAIkY,CAAK,EAAG,MAAM,IAAIR,EAAUD,CAA0B,EACrE,OAAAQ,EAAS,OAASjY,EAClBoN,EAA4BpN,EAAIkY,EAAOD,CAAQ,EACxCA,CACT,EACAN,EAAM,SAAU3X,EAAI,CAClB,OAAOqI,EAAOrI,EAAIkY,CAAK,EAAIlY,EAAGkY,CAAK,EAAI,CAAC,CAC1C,EACAN,EAAM,SAAU5X,EAAI,CAClB,OAAOqI,EAAOrI,EAAIkY,CAAK,CACzB,GAhCI,IAAA3Q,EAmBA2Q,EAgBNpY,EAAO,QAAU,CACf,IAAK2T,EACL,IAAKkE,EACL,IAAKC,EACL,QAASC,EACT,UAAWC,CACb,CAAA,CAAA,ECtEAK,GAAAvY,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EAEjB9D,EAAO,QAAU6D,EAAW,OAAA,CAAA,ECH5ByU,GAAAxY,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI6D,EAAaC,EAAA,EACbyU,EAA2BC,GAAA,EAC3BjV,EAAaC,GAAA,EACb4H,EAAWgC,GAAA,EACXqE,EAAgBC,GAAA,EAChBpI,EAAkBC,GAAA,EAClBwF,EAAcC,GAAA,EACd5H,EAAUC,GAAA,EACVrC,EAAaC,GAAA,EAEbwT,EAAyBF,GAA4BA,EAAyB,UAC9EtH,EAAU3H,EAAgB,SAAS,EACnCoP,EAAc,GACdC,EAAiCpV,EAAWM,EAAW,qBAAqB,EAE5E+U,EAA6BxN,EAAS,UAAW,UAAY,CAC/D,IAAIyN,EAA6BpH,EAAc8G,CAAwB,EACnEO,EAAyBD,IAA+B,OAAON,CAAwB,EAM3F,GAFI,CAACO,GAA0B9T,IAAe,IAE1CoC,GAAW,EAAEqR,EAAuB,OAAYA,EAAuB,SAAa,MAAO,GAI/F,GAAI,CAACzT,GAAcA,EAAa,IAAM,CAAC,cAAc,KAAK6T,CAA0B,EAAG,CAErF,IAAIrC,EAAU,IAAI+B,EAAyB,SAAUQ,EAAS,CAAEA,EAAQ,CAAC,CAAG,CAAC,EACzEC,EAAc,SAAU5Y,EAAM,CAChCA,EAAK,UAAY,CAAc,EAAG,UAAY,CAAc,CAAC,CAC/D,EACI6Y,EAAczC,EAAQ,YAAc,CAAC,EAGzC,GAFAyC,EAAYhI,CAAO,EAAI+H,EACvBN,EAAclC,EAAQ,KAAK,UAAY,CAAc,CAAC,YAAawC,EAC/D,CAACN,EAAa,MAAO,EAE3B,CAAE,MAAO,CAACI,IAA2B/J,IAAgB,WAAaA,IAAgB,SAAW,CAAC4J,CAChG,CAAC,EAED3Y,EAAO,QAAU,CACf,YAAa4Y,EACb,gBAAiBD,EACjB,YAAaD,CACf,CAAA,CAAA,EC9CAQ,GAAApZ,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIoG,EAAYC,GAAA,EAEZrD,EAAa,UAEbmW,EAAoB,SAAUhP,EAAG,CACnC,IAAI4O,EAASK,EACb,KAAK,QAAU,IAAIjP,EAAE,SAAUkP,EAAWC,EAAU,CAClD,GAAIP,IAAY,QAAaK,IAAW,OAAW,MAAM,IAAIpW,EAAW,yBAAyB,EACjG+V,EAAUM,EACVD,EAASE,CACX,CAAC,EACD,KAAK,QAAUlT,EAAU2S,CAAO,EAChC,KAAK,OAAS3S,EAAUgT,CAAM,CAChC,EAIApZ,EAAO,QAAQ,EAAI,SAAUmK,EAAG,CAC9B,OAAO,IAAIgP,EAAkBhP,CAAC,CAChC,CAAA,CAAA,ECpBAoP,GAAAzZ,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJpS,EAAUC,GAAA,EACVoM,EAAUC,GAAA,EACV7P,EAAaC,EAAA,EACbhD,EAAO2F,GAAA,EACPgT,EAAgBC,GAAA,EAChBC,EAAiBC,GAAA,EACjBC,EAAiBC,GAAA,EACjBC,EAAaC,GAAA,EACb5T,EAAYC,GAAA,EACZ9C,EAAaC,GAAA,EACbkD,EAAWC,GAAA,EACXsT,EAAahZ,GAAA,EACbiZ,EAAqBC,GAAA,EACrBC,EAAOxE,GAAA,EAA6B,IACpCQ,EAAYiE,GAAA,EACZC,EAAmBC,GAAA,EACnBC,EAAUC,GAAA,EACVxF,EAAQY,GAAA,EACR6E,EAAsBC,GAAA,EACtBpC,EAA2BC,GAAA,EAC3BoC,EAA8BC,GAAA,EAC9BC,EAA6BC,GAAA,EAE7BC,EAAU,UACVpC,EAA6BgC,EAA4B,YACzDjC,EAAiCiC,EAA4B,gBAC7DK,EAA6BL,EAA4B,YACzDM,EAA0BR,EAAoB,UAAUM,CAAO,EAC/DG,EAAmBT,EAAoB,IACvCjC,EAAyBF,GAA4BA,EAAyB,UAC9E6C,EAAqB7C,EACrB8C,EAAmB5C,EACnBb,EAAY/T,EAAW,UACvBkG,EAAWlG,EAAW,SACtBY,GAAUZ,EAAW,QACrByX,GAAuBR,EAA2B,EAClDS,GAA8BD,GAE9BE,EAAiB,CAAC,EAAEzR,GAAYA,EAAS,aAAelG,EAAW,eACnE4X,GAAsB,qBACtBC,GAAoB,mBACpBC,GAAU,EACVC,GAAY,EACZC,GAAW,EACXC,GAAU,EACVC,GAAY,EAEZC,GAAUC,GAAsBC,GAAgBC,GAGhDC,GAAa,SAAUlc,EAAI,CAC7B,IAAIuW,EACJ,OAAO/P,EAASxG,CAAE,GAAKqD,EAAWkT,EAAOvW,EAAG,IAAI,EAAIuW,EAAO,EAC7D,EAEI4F,GAAe,SAAUC,EAAUpE,EAAO,CAC5C,IAAI3V,EAAQ2V,EAAM,MACdqE,EAAKrE,EAAM,QAAU0D,GACrB/G,EAAU0H,EAAKD,EAAS,GAAKA,EAAS,KACtCvD,GAAUuD,EAAS,QACnBlD,GAASkD,EAAS,OAClBE,GAASF,EAAS,OAClB5S,GAAQ+M,GAAMgG,GAClB,GAAI,CACE5H,GACG0H,IACCrE,EAAM,YAAc6D,IAAWW,GAAkBxE,CAAK,EAC1DA,EAAM,UAAY4D,IAEhBjH,IAAY,GAAMnL,GAASnH,GAEzBia,IAAQA,GAAO,MAAM,EACzB9S,GAASmL,EAAQtS,CAAK,EAClBia,KACFA,GAAO,KAAK,EACZC,GAAS,KAGT/S,KAAW4S,EAAS,QACtBlD,GAAO,IAAIxB,EAAU,qBAAqB,CAAC,GAClCnB,GAAO2F,GAAW1S,EAAM,GACjC5I,EAAK2V,GAAM/M,GAAQqP,GAASK,EAAM,EAC7BL,GAAQrP,EAAM,GAChB0P,GAAO7W,CAAK,CACrB,OAASqU,GAAO,CACV4F,IAAU,CAACC,IAAQD,GAAO,KAAK,EACnCpD,GAAOxC,EAAK,CACd,CACF,EAEIP,GAAS,SAAU6B,EAAOyE,EAAU,CAClCzE,EAAM,WACVA,EAAM,SAAW,GACjB9B,EAAU,UAAY,CAGpB,QAFIwG,EAAY1E,EAAM,UAClBoE,EACGA,EAAWM,EAAU,IAAI,GAC9BP,GAAaC,EAAUpE,CAAK,EAE9BA,EAAM,SAAW,GACbyE,GAAY,CAACzE,EAAM,WAAW2E,GAAY3E,CAAK,CACrD,CAAC,EACH,EAEI4E,GAAgB,SAAUhU,EAAM0N,EAASuG,EAAQ,CACnD,IAAIpI,EAAOE,EACP2G,GACF7G,EAAQ5K,EAAS,YAAY,OAAO,EACpC4K,EAAM,QAAU6B,EAChB7B,EAAM,OAASoI,EACfpI,EAAM,UAAU7L,EAAM,GAAO,EAAI,EACjCjF,EAAW,cAAc8Q,CAAK,GACzBA,EAAQ,CAAE,QAAS6B,EAAS,OAAQuG,CAAO,EAC9C,CAACpE,IAAmC9D,EAAUhR,EAAW,KAAOiF,CAAI,GAAI+L,EAAQF,CAAK,EAChF7L,IAAS2S,IAAqBnB,EAAiB,8BAA+ByC,CAAM,CAC/F,EAEIF,GAAc,SAAU3E,EAAO,CACjCpX,EAAKsZ,EAAMvW,EAAY,UAAY,CACjC,IAAI2S,EAAU0B,EAAM,OAChB3V,EAAQ2V,EAAM,MACd8E,EAAeC,GAAY/E,CAAK,EAChCxO,EACJ,GAAIsT,IACFtT,EAAS8Q,EAAQ,UAAY,CACvB/G,EACFhP,GAAQ,KAAK,qBAAsBlC,EAAOiU,CAAO,EAC5CsG,GAAcrB,GAAqBjF,EAASjU,CAAK,CAC1D,CAAC,EAED2V,EAAM,UAAYzE,GAAWwJ,GAAY/E,CAAK,EAAI6D,GAAYD,GAC1DpS,EAAO,OAAO,MAAMA,EAAO,KAEnC,CAAC,CACH,EAEIuT,GAAc,SAAU/E,EAAO,CACjC,OAAOA,EAAM,YAAc4D,IAAW,CAAC5D,EAAM,MAC/C,EAEIwE,GAAoB,SAAUxE,EAAO,CACvCpX,EAAKsZ,EAAMvW,EAAY,UAAY,CACjC,IAAI2S,EAAU0B,EAAM,OAChBzE,EACFhP,GAAQ,KAAK,mBAAoB+R,CAAO,EACnCsG,GAAcpB,GAAmBlF,EAAS0B,EAAM,KAAK,CAC9D,CAAC,CACH,EAEIpM,GAAO,SAAU7K,EAAIiX,EAAOgF,EAAQ,CACtC,OAAO,SAAU3a,EAAO,CACtBtB,EAAGiX,EAAO3V,EAAO2a,CAAM,CACzB,CACF,EAEIC,GAAiB,SAAUjF,EAAO3V,EAAO2a,EAAQ,CAC/ChF,EAAM,OACVA,EAAM,KAAO,GACTgF,IAAQhF,EAAQgF,GACpBhF,EAAM,MAAQ3V,EACd2V,EAAM,MAAQ2D,GACdxF,GAAO6B,EAAO,EAAI,EACpB,EAEIkF,GAAkB,SAAUlF,EAAO3V,EAAO2a,EAAQ,CACpD,GAAI,CAAAhF,EAAM,KACV,CAAAA,EAAM,KAAO,GACTgF,IAAQhF,EAAQgF,GACpB,GAAI,CACF,GAAIhF,EAAM,SAAW3V,EAAO,MAAM,IAAIqV,EAAU,kCAAkC,EAClF,IAAInB,EAAO2F,GAAW7Z,CAAK,EACvBkU,EACFL,EAAU,UAAY,CACpB,IAAIiH,EAAU,CAAE,KAAM,EAAM,EAC5B,GAAI,CACFvc,EAAK2V,EAAMlU,EACTuJ,GAAKsR,GAAiBC,EAASnF,CAAK,EACpCpM,GAAKqR,GAAgBE,EAASnF,CAAK,CACrC,CACF,OAAStB,GAAO,CACduG,GAAeE,EAASzG,GAAOsB,CAAK,CACtC,CACF,CAAC,GAEDA,EAAM,MAAQ3V,EACd2V,EAAM,MAAQ0D,GACdvF,GAAO6B,EAAO,EAAK,EAEvB,OAAStB,EAAO,CACduG,GAAe,CAAE,KAAM,EAAM,EAAGvG,EAAOsB,CAAK,CAC9C,CAAA,CACF,EAGA,GAAIU,IAEFwC,EAAqB,SAAiBkC,EAAU,CAC9CrD,EAAW,KAAMoB,CAAgB,EACjCjV,EAAUkX,CAAQ,EAClBxc,EAAKkb,GAAU,IAAI,EACnB,IAAI9D,EAAQgD,EAAwB,IAAI,EACxC,GAAI,CACFoC,EAASxR,GAAKsR,GAAiBlF,CAAK,EAAGpM,GAAKqR,GAAgBjF,CAAK,CAAC,CACpE,OAAStB,EAAO,CACduG,GAAejF,EAAOtB,CAAK,CAC7B,CACF,EAEAyE,EAAmBD,EAAmB,UAGtCY,GAAW,SAAiBsB,EAAU,CACpCnC,EAAiB,KAAM,CACrB,KAAMH,EACN,KAAM,GACN,SAAU,GACV,OAAQ,GACR,UAAW,IAAI/F,EACf,UAAW,GACX,MAAO0G,GACP,MAAO,IACT,CAAC,CACH,EAIAK,GAAS,UAAYvC,EAAc4B,EAAkB,OAAQ,SAAckC,EAAaC,EAAY,CAClG,IAAItF,EAAQgD,EAAwB,IAAI,EACpCoB,EAAWhB,GAAqBpB,EAAmB,KAAMkB,CAAkB,CAAC,EAChF,OAAAlD,EAAM,OAAS,GACfoE,EAAS,GAAK/Y,EAAWga,CAAW,EAAIA,EAAc,GACtDjB,EAAS,KAAO/Y,EAAWia,CAAU,GAAKA,EAC1ClB,EAAS,OAAS7I,EAAUhP,GAAQ,OAAS,OACzCyT,EAAM,QAAUyD,GAASzD,EAAM,UAAU,IAAIoE,CAAQ,EACpDlG,EAAU,UAAY,CACzBiG,GAAaC,EAAUpE,CAAK,CAC9B,CAAC,EACMoE,EAAS,OAClB,CAAC,EAEDL,GAAuB,UAAY,CACjC,IAAIzF,EAAU,IAAIwF,GACd9D,EAAQgD,EAAwB1E,CAAO,EAC3C,KAAK,QAAUA,EACf,KAAK,QAAU1K,GAAKsR,GAAiBlF,CAAK,EAC1C,KAAK,OAASpM,GAAKqR,GAAgBjF,CAAK,CAC1C,EAEA4C,EAA2B,EAAIQ,GAAuB,SAAUnR,EAAG,CACjE,OAAOA,IAAMiR,GAAsBjR,IAAM+R,GACrC,IAAID,GAAqB9R,CAAC,EAC1BoR,GAA4BpR,CAAC,CACnC,EAEI,CAAC/C,GAAW7D,EAAWgV,CAAwB,GAAKE,IAA2B,OAAO,WAAW,CACnG0D,GAAa1D,EAAuB,KAE/BwC,GAEHxB,EAAchB,EAAwB,OAAQ,SAAc8E,EAAaC,EAAY,CACnF,IAAIzR,EAAO,KACX,OAAO,IAAIqP,EAAmB,SAAUrC,EAASK,EAAQ,CACvDtY,EAAKqb,GAAYpQ,EAAMgN,EAASK,CAAM,CACxC,CAAC,EAAE,KAAKmE,EAAaC,CAAU,CAEjC,EAAG,CAAE,OAAQ,EAAK,CAAC,EAIrB,GAAI,CACF,OAAO/E,EAAuB,WAChC,MAAgB,CAAc,CAG1BkB,GACFA,EAAelB,EAAwB4C,CAAgB,CAE3D,CAGF7W,EAAE,CAAE,OAAQ,GAAM,YAAa,GAAM,KAAM,GAAM,OAAQoU,CAA2B,EAAG,CACrF,QAASwC,CACX,CAAC,EAEDvB,EAAeuB,EAAoBJ,EAAS,GAAO,EAAI,EACvDjB,EAAWiB,CAAO,CAAA,CAAA,EC/RlByC,GAAA3d,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAU,CAAC,CAAA,CAAA,ECDlB0d,GAAA5d,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsJ,EAAkBC,GAAA,EAClBoU,EAAYC,GAAA,EAEZC,EAAWvU,EAAgB,UAAU,EACrCwU,EAAiB,MAAM,UAG3B9d,EAAO,QAAU,SAAUE,EAAI,CAC7B,OAAOA,IAAO,SAAcyd,EAAU,QAAUzd,GAAM4d,EAAeD,CAAQ,IAAM3d,EACrF,CAAA,CAAA,ECVA6d,GAAAje,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIge,EAAO,KAAK,KACZC,EAAQ,KAAK,MAKjBje,EAAO,QAAU,KAAK,OAAS,SAAeke,EAAG,CAC/C,IAAIC,EAAI,CAACD,EACT,OAAQC,EAAI,EAAIF,EAAQD,GAAMG,CAAC,CACjC,CAAA,CAAA,ECVAC,GAAAte,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIqe,EAAQC,GAAA,EAIZte,EAAO,QAAU,SAAU4B,EAAU,CACnC,IAAI2c,EAAS,CAAC3c,EAEd,OAAO2c,IAAWA,GAAUA,IAAW,EAAI,EAAIF,EAAME,CAAM,CAC7D,CAAA,CAAA,ECTAC,GAAA1e,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIye,EAAsBC,GAAA,EAEtBC,EAAM,KAAK,IAIf3e,EAAO,QAAU,SAAU4B,EAAU,CACnC,IAAIgd,EAAMH,EAAoB7c,CAAQ,EACtC,OAAOgd,EAAM,EAAID,EAAIC,EAAK,gBAAgB,EAAI,CAChD,CAAA,CAAA,ECVAC,GAAA/e,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI8e,EAAWC,GAAA,EAIf/e,EAAO,QAAU,SAAUgf,EAAK,CAC9B,OAAOF,EAASE,EAAI,MAAM,CAC5B,CAAA,CAAA,ECPAC,GAAAnf,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIyC,EAAU+N,GAAA,EACVtH,EAAYC,GAAA,EACZrG,EAAoBC,GAAA,EACpB4a,EAAYC,GAAA,EACZtU,EAAkBC,GAAA,EAElBsU,EAAWvU,EAAgB,UAAU,EAEzCtJ,EAAO,QAAU,SAAUE,EAAI,CAC7B,GAAI,CAAC4C,EAAkB5C,CAAE,EAAG,OAAOgJ,EAAUhJ,EAAI2d,CAAQ,GACpD3U,EAAUhJ,EAAI,YAAY,GAC1Byd,EAAUlb,EAAQvC,CAAE,CAAC,CAC5B,CAAA,CAAA,ECbAgf,GAAApf,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIc,EAAO2F,GAAA,EACPL,EAAYC,GAAA,EACZgG,EAAWC,GAAA,EACXrG,EAAcC,GAAA,EACdiZ,EAAoBC,GAAA,EAEpBpc,EAAa,UAEjBhD,EAAO,QAAU,SAAU4B,EAAUyd,EAAe,CAClD,IAAIC,EAAiB,UAAU,OAAS,EAAIH,EAAkBvd,CAAQ,EAAIyd,EAC1E,GAAIjZ,EAAUkZ,CAAc,EAAG,OAAOjT,EAASvL,EAAKwe,EAAgB1d,CAAQ,CAAC,EAC7E,MAAM,IAAIoB,EAAWiD,EAAYrE,CAAQ,EAAI,kBAAkB,CACjE,CAAA,CAAA,ECbA2d,GAAAzf,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIc,EAAO2F,GAAA,EACP4F,EAAWC,GAAA,EACXpD,EAAYC,GAAA,EAEhBnJ,EAAO,QAAU,SAAUwf,EAAUC,EAAMld,EAAO,CAChD,IAAImd,EAAaC,EACjBtT,EAASmT,CAAQ,EACjB,GAAI,CAEF,GADAE,EAAcxW,EAAUsW,EAAU,QAAQ,EACtC,CAACE,EAAa,CAChB,GAAID,IAAS,QAAS,MAAMld,EAC5B,OAAOA,CACT,CACAmd,EAAc5e,EAAK4e,EAAaF,CAAQ,CAC1C,OAAS5I,EAAO,CACd+I,EAAa,GACbD,EAAc9I,CAChB,CACA,GAAI6I,IAAS,QAAS,MAAMld,EAC5B,GAAIod,EAAY,MAAMD,EACtB,OAAArT,EAASqT,CAAW,EACbnd,CACT,CAAA,CAAA,ECvBAqd,GAAA9f,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI8L,EAAOuB,GAAA,EACPvM,EAAO2F,GAAA,EACP4F,EAAWC,GAAA,EACXrG,EAAcC,GAAA,EACd2Z,EAAwBC,GAAA,EACxBC,EAAoBC,GAAA,EACpBta,EAAgBC,GAAA,EAChBsa,EAAcC,GAAA,EACdf,EAAoBC,GAAA,EACpBe,EAAgBC,GAAA,EAEhBpd,EAAa,UAEbqd,EAAS,SAAUC,EAAS5W,EAAQ,CACtC,KAAK,QAAU4W,EACf,KAAK,OAAS5W,CAChB,EAEI6W,EAAkBF,EAAO,UAE7BrgB,EAAO,QAAU,SAAUwgB,EAAUC,EAAiB7S,EAAS,CAC7D,IAAI7B,EAAO6B,GAAWA,EAAQ,KAC1B8S,EAAa,CAAC,EAAE9S,GAAWA,EAAQ,YACnC+S,EAAY,CAAC,EAAE/S,GAAWA,EAAQ,WAClCgT,EAAc,CAAC,EAAEhT,GAAWA,EAAQ,aACpCiT,EAAc,CAAC,EAAEjT,GAAWA,EAAQ,aACpC3M,EAAK6K,EAAK2U,EAAiB1U,CAAI,EAC/ByT,EAAUsB,EAAQC,EAAOC,EAAQtX,EAAQ2L,EAAM4L,EAE/CC,EAAO,SAAUC,EAAW,CAC9B,OAAI3B,GAAUW,EAAcX,EAAU,SAAU2B,CAAS,EAClD,IAAId,EAAO,GAAMc,CAAS,CACnC,EAEIC,EAAS,SAAU7e,EAAO,CAC5B,OAAIme,GACFrU,EAAS9J,CAAK,EACPse,EAAc5f,EAAGsB,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAG2e,CAAI,EAAIjgB,EAAGsB,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,GAClEse,EAAc5f,EAAGsB,EAAO2e,CAAI,EAAIjgB,EAAGsB,CAAK,CACnD,EAEA,GAAIoe,EACFnB,EAAWgB,EAAS,iBACXI,EACTpB,EAAWgB,MACN,CAEL,GADAM,EAAS3B,EAAkBqB,CAAQ,EAC/B,CAACM,EAAQ,MAAM,IAAI9d,EAAWiD,EAAYua,CAAQ,EAAI,kBAAkB,EAE5E,GAAIX,EAAsBiB,CAAM,EAAG,CACjC,IAAKC,EAAQ,EAAGC,EAASjB,EAAkBS,CAAQ,EAAGQ,EAASD,EAAOA,IAEpE,GADArX,EAAS0X,EAAOZ,EAASO,CAAK,CAAC,EAC3BrX,GAAUhE,EAAc6a,EAAiB7W,CAAM,EAAG,OAAOA,EAC7D,OAAO,IAAI2W,EAAO,EAAK,CAC3B,CACAb,EAAWS,EAAYO,EAAUM,CAAM,CACzC,CAGA,IADAzL,EAAOsL,EAAYH,EAAS,KAAOhB,EAAS,KACrC,EAAEyB,EAAOngB,EAAKuU,EAAMmK,CAAQ,GAAG,MAAM,CAC1C,GAAI,CACF9V,EAAS0X,EAAOH,EAAK,KAAK,CAC5B,OAASrK,EAAO,CACduJ,EAAcX,EAAU,QAAS5I,CAAK,CACxC,CACA,GAAI,OAAOlN,GAAU,UAAYA,GAAUhE,EAAc6a,EAAiB7W,CAAM,EAAG,OAAOA,CAC5F,CAAE,OAAO,IAAI2W,EAAO,EAAK,CAC3B,CAAA,CAAA,ECpEAgB,GAAAvhB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIsJ,EAAkBC,GAAA,EAElBsU,EAAWvU,EAAgB,UAAU,EACrCgY,EAAe,GAEnB,GAAI,CACErP,EAAS,EACTsP,EAAqB,CACvB,KAAM,UAAY,CAChB,MAAO,CAAE,KAAM,CAAC,CAACtP,GAAS,CAC5B,EACA,OAAU,UAAY,CACpBqP,EAAe,EACjB,CACF,EACAC,EAAmB1D,CAAQ,EAAI,UAAY,CACzC,OAAO,IACT,EAEA,MAAM,KAAK0D,EAAoB,UAAY,CAAE,KAAM,EAAG,CAAC,CACzD,MAAgB,CAAc,CAdxB,IAAAtP,EACAsP,EAeNvhB,EAAO,QAAU,SAAUI,EAAMohB,EAAc,CAC7C,GAAI,CACF,GAAI,CAACA,GAAgB,CAACF,EAAc,MAAO,EAC7C,MAAgB,CAAE,MAAO,EAAO,CAChC,IAAIG,EAAoB,GACxB,GAAI,CACF,IAAIzU,EAAS,CAAC,EACdA,EAAO6Q,CAAQ,EAAI,UAAY,CAC7B,MAAO,CACL,KAAM,UAAY,CAChB,MAAO,CAAE,KAAM4D,EAAoB,EAAK,CAC1C,CACF,CACF,EACArhB,EAAK4M,CAAM,CACb,MAAgB,CAAc,CAC9B,OAAOyU,CACT,CAAA,CAAA,ECxCAC,GAAA5hB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIuY,EAA2BC,GAAA,EAC3BmJ,EAA8BC,GAAA,EAC9BhJ,EAA6BiC,GAAA,EAAsD,YAEvF7a,EAAO,QAAU4Y,GAA8B,CAAC+I,EAA4B,SAAUnB,EAAU,CAC9FjI,EAAyB,IAAIiI,CAAQ,EAAE,KAAK,OAAW,UAAY,CAAc,CAAC,CACpF,CAAC,CAAA,CAAA,ECPDqB,GAAA/hB,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJ1Y,EAAO2F,GAAA,EACPL,EAAYC,GAAA,EACZyU,EAA6BC,GAAA,EAC7BP,EAAUC,GAAA,EACVqH,EAAUC,GAAA,EACVC,EAAsCC,GAAA,EAI1Czd,EAAE,CAAE,OAAQ,UAAW,KAAM,GAAM,OAAQwd,CAAoC,EAAG,CAChF,IAAK,SAAaxB,EAAU,CAC1B,IAAIrW,EAAI,KACJ+X,EAAapH,EAA2B,EAAE3Q,CAAC,EAC3C4O,EAAUmJ,EAAW,QACrB9I,EAAS8I,EAAW,OACpBxY,EAAS8Q,EAAQ,UAAY,CAC/B,IAAI2H,EAAkB/b,EAAU+D,EAAE,OAAO,EACrCiY,EAAS,CAAC,EACVnO,EAAU,EACVoO,EAAY,EAChBP,EAAQtB,EAAU,SAAUhK,EAAS,CACnC,IAAIuK,EAAQ9M,IACRqO,EAAgB,GACpBD,IACAvhB,EAAKqhB,EAAiBhY,EAAGqM,CAAO,EAAE,KAAK,SAAUjU,EAAO,CAClD+f,IACJA,EAAgB,GAChBF,EAAOrB,CAAK,EAAIxe,EAChB,EAAE8f,GAAatJ,EAAQqJ,CAAM,EAC/B,EAAGhJ,CAAM,CACX,CAAC,EACD,EAAEiJ,GAAatJ,EAAQqJ,CAAM,CAC/B,CAAC,EACD,OAAI1Y,EAAO,OAAO0P,EAAO1P,EAAO,KAAK,EAC9BwY,EAAW,OACpB,CACF,CAAC,CAAA,CAAA,ECtCDK,GAAAziB,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJpS,EAAUC,GAAA,EACVuR,EAA6BiC,GAAA,EAAsD,YACnFtC,EAA2BC,GAAA,EAC3BhT,EAAaC,GAAA,EACblC,EAAaC,GAAA,EACbiW,EAAgBC,GAAA,EAEhBjB,EAAyBF,GAA4BA,EAAyB,UAIlF/T,EAAE,CAAE,OAAQ,UAAW,MAAO,GAAM,OAAQoU,EAA4B,KAAM,EAAK,EAAG,CACpF,MAAS,SAAU4E,EAAY,CAC7B,OAAO,KAAK,KAAK,OAAWA,CAAU,CACxC,CACF,CAAC,EAGG,CAACpW,GAAW7D,EAAWgV,CAAwB,IAC7CrU,EAASsB,EAAW,SAAS,EAAE,UAAU,MACzCiT,EAAuB,QAAavU,GACtCuV,EAAchB,EAAwB,QAASvU,EAAQ,CAAE,OAAQ,EAAK,CAAC,GAFrE,IAAAA,CAAAA,CAAAA,ECrBNse,GAAA1iB,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJ1Y,EAAO2F,GAAA,EACPL,EAAYC,GAAA,EACZyU,EAA6BC,GAAA,EAC7BP,EAAUC,GAAA,EACVqH,EAAUC,GAAA,EACVC,EAAsCC,GAAA,EAI1Czd,EAAE,CAAE,OAAQ,UAAW,KAAM,GAAM,OAAQwd,CAAoC,EAAG,CAChF,KAAM,SAAcxB,EAAU,CAC5B,IAAIrW,EAAI,KACJ+X,EAAapH,EAA2B,EAAE3Q,CAAC,EAC3CiP,EAAS8I,EAAW,OACpBxY,EAAS8Q,EAAQ,UAAY,CAC/B,IAAI2H,EAAkB/b,EAAU+D,EAAE,OAAO,EACzC2X,EAAQtB,EAAU,SAAUhK,EAAS,CACnC1V,EAAKqhB,EAAiBhY,EAAGqM,CAAO,EAAE,KAAK0L,EAAW,QAAS9I,CAAM,CACnE,CAAC,CACH,CAAC,EACD,OAAI1P,EAAO,OAAO0P,EAAO1P,EAAO,KAAK,EAC9BwY,EAAW,OACpB,CACF,CAAC,CAAA,CAAA,ECzBDO,GAAA3iB,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJsB,EAA6BC,GAAA,EAC7BnC,EAA6BiC,GAAA,EAAsD,YAIvFrW,EAAE,CAAE,OAAQ,UAAW,KAAM,GAAM,OAAQoU,CAA2B,EAAG,CACvE,OAAQ,SAAgB8J,EAAG,CACzB,IAAIR,EAAapH,EAA2B,EAAE,IAAI,EAC9C6H,EAAmBT,EAAW,OAClC,OAAAS,EAAiBD,CAAC,EACXR,EAAW,OACpB,CACF,CAAC,CAAA,CAAA,ECdDU,GAAA9iB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAIqM,EAAWC,GAAA,EACX5F,EAAWC,GAAA,EACX2U,EAAuBP,GAAA,EAE3B/a,EAAO,QAAU,SAAUmK,EAAG+T,EAAG,CAE/B,GADA7R,EAASlC,CAAC,EACNzD,EAASwX,CAAC,GAAKA,EAAE,cAAgB/T,EAAG,OAAO+T,EAC/C,IAAI2E,EAAoBvH,EAAqB,EAAEnR,CAAC,EAC5C4O,EAAU8J,EAAkB,QAChC,OAAA9J,EAAQmF,CAAC,EACF2E,EAAkB,OAC3B,CAAA,CAAA,ECZAC,GAAAhjB,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJhU,EAAaC,GAAA,EACb2B,EAAUC,GAAA,EACVkR,EAA2BC,GAAA,EAC3BI,EAA6BiC,GAAA,EAAsD,YACnFkI,EAAiBC,GAAA,EAEjBC,EAA4Bzd,EAAW,SAAS,EAChD0d,EAAgB9b,GAAW,CAACwR,EAIhCpU,EAAE,CAAE,OAAQ,UAAW,KAAM,GAAM,OAAQ4C,GAAWwR,CAA2B,EAAG,CAClF,QAAS,SAAiBsF,EAAG,CAC3B,OAAO6E,EAAeG,GAAiB,OAASD,EAA4B1K,EAA2B,KAAM2F,CAAC,CAChH,CACF,CAAC,CAAA,CAAA,ECjBDiF,GAAArjB,EAAA,IAAA,CAAA,aAEAsjB,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,CAAA,CAAA,ECPAC,GAAA5jB,EAAA,IAAA,CAAA,aACA,IAAI0E,EAAIgV,GAAA,EACJsB,EAA6BC,GAAA,EAIjCvW,EAAE,CAAE,OAAQ,UAAW,KAAM,EAAK,EAAG,CACnC,cAAe,UAAyB,CACtC,IAAIqe,EAAoB/H,EAA2B,EAAE,IAAI,EACzD,MAAO,CACL,QAAS+H,EAAkB,QAC3B,QAASA,EAAkB,QAC3B,OAAQA,EAAkB,MAC5B,CACF,CACF,CAAC,CAAA,CAAA,ECfDc,GAAA7jB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA4jB,GAAA,EACAC,GAAA,EACA,IAAI/iB,EAAO2F,GAAA,EACPlD,EAAaC,GAAA,EACbG,EAAOC,GAAA,EAEPuS,EAAUxS,EAAK,QACfmgB,EAAuB3N,EAAQ,cAEnCnW,EAAO,QAAU,UAAyB,CACxC,OAAOc,EAAKgjB,EAAsBvgB,EAAW,IAAI,EAAI,KAAO4S,CAAO,CACrE,CAAA,CAAA,ECZAwN,GAAA7jB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI2W,EAASoN,GAAA,EAEb/jB,EAAO,QAAU2W,CAAAA,CAAAA,ECHjBqN,GAAAlkB,EAAA,IAAA,CAAA,aAEA+jB,GAAA,CAAA,CAAA,ECFAF,GAAA7jB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI2W,EAASsN,GAAA,EAEbC,GAAA,EAEAlkB,EAAO,QAAU2W,CAAAA,CAAAA,ECLjBgN,GAAA7jB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACA,IAAI2W,EAASwN,GAAA,EAEbnkB,EAAO,QAAU2W,CAAAA,CAAAA,ECHjBgN,GAAA7jB,EAAA,CAAAC,EAAAC,IAAA,CAAA,aACAA,EAAO,QAAUokB,GAAA,CAAA,CAAA,ECAjBC,GAAgCC,GAAAC,GAAA,CAAA,EEDhC,IAAMC,GAAU,sBACVC,GAAoB,GAAGD,EAAO,aAC9BE,GAAqB,GAAGF,EAAO,cAC/BG,GAAkB,GAAGH,EAAO,WAC5BI,GAAmB,GAAGJ,EAAO,YAC7BK,GAAwB,GAAGL,EAAO,iBCLxC,IAAMM,GAAa,yBACbC,GAAqB,GAAGD,EAAU,WAClCE,GAAsB,GAAGF,EAAU,YACnCG,GAAuB,GAAGH,EAAU,aIoC1C,IAAMI,GAAwC,4BACxCC,GAA2D,GAAGD,EAAa,aAC3EE,GAAuD,GAAGF,EAAa,WACvEG,GAAuD,GAAGH,EAAa,WACvEI,GAAyD,GAAGJ,EAAa,YoB3C/E,IAAAK,GAAA,CAAA,EAAAC,GAAAD,GAAA,CAAA,QAAA,IAAAE,GAAA,YAAA,IAAAC,GAAA,KAAA,IAAAC,EAAAA,CAAAA,EACA,IAAMD,GAAc,cAEdD,GAAU,UAEVE,GAAO,OCLbC,GAAA,CAAA,EAAAJ,GAAAI,GAAA,CAAA,UAAA,IAAAC,GAAA,KAAA,IAAAC,GAAA,SAAA,IAAAC,GAAA,SAAA,IAAAC,GAAA,WAAA,IAAAC,EAAAA,CAAAA,EAAA,IAAMH,GAAO,EACPG,GAAa,EACbF,GAAW,EACXF,GAAY,EACZG,GAAW,EGJXE,GAAY,wBACZC,GAAsB,GAAGD,EAAS,aAClCE,GAAuB,GAAGF,EAAS,cACnCG,GAAoB,GAAGH,EAAS,WAChCI,GAAqB,GAAGJ,EAAS,YOAvC,IAAMK,GAAuBC,GAAO,CAACC,GAAQ,EAAGC,GAAS,CAAC,CAAC,CAAC,EAEtDC,GAA8BC,GAAM,CACxCC,GAAO,CACL,YAAaA,GAAO,CAElB,SAAUC,GAASC,EAAO,CAAC,EAC3B,eAAgBR,GAChB,WAAYK,GAAM,CAACI,GAAQ,aAAa,EAAGA,GAAQ,WAAW,CAAC,CAAC,CAClE,CAAC,EACD,GAAID,EAAO,EACX,KAAMA,EAAO,EACb,KAAMC,GAAQ,QAAQ,CACxB,CAAC,EACDH,GAAO,CACL,YAAaA,GAAO,CAElB,SAAUE,EAAO,EACjB,WAAYC,GAAQ,OAAO,CAC7B,CAAC,EACD,GAAID,EAAO,EACX,KAAMA,EAAO,EACb,KAAMC,GAAQ,SAAS,CACzB,CAAC,CACH,CAAC,EazBD,IAAMC,GAA8C,OAAO,OAAO,CAAC,CAAC,EKApE,IAAMC,GAA+C,OAAO,OAAO,CAAC,CAAC,ECArE,IAAMC,GAAgB,OAAO,OAAO,CAAC,CAAC,ECOtC,IAAMC,GAAuB,OAAO,OAAO,CAAE,SAAU,MAAU,CAAC,E4BHlE,IAAMC,GAAUC,GAAK,QAAQ,KAAKA,EAAI,EkBLtC,IAAMC,GAA2CC,GAC/CC,GAASC,GAASC,GAAM,CAACC,GAAUC,GAAML,CAAM,EAAGK,GAASA,EAAM,CAAC,CAAC,EAAGL,CAAM,CAAC,CAAC,EAAG,MAAS,EAErFM,EAAQP,GGSTQ,GAAyCP,GAC7CC,GACEG,GAAUC,GAAML,CAAM,EAAGQ,GAASA,EAAM,OAAOA,GAAS,OAAOA,EAAU,GAAW,CAAC,EACrFA,GAAUA,GAAO,MAAQ,CAACC,GAAMT,EAAQQ,GAAO,KAAK,CAAC,EAAI,MAC3D,EAEa,SAARE,GAA2DV,EAAW,CAC3E,OAAOO,GAAgBD,EAAkBN,CAAM,CAAC,CAClD,CDwCA,IAAMW,GAAe,CACnB,WAAYT,GAASU,EAAO,CAACJ,GAAM,oBAAoB,CAAC,CAAC,CAAuC,EAChG,MAAON,GAASU,EAAO,CAAC,EACxB,QAASA,EAAO,EAEhB,eAAgBN,EAAkBM,EAAO,CAAC,EAC1C,cAAeN,EAAkBM,EAAO,CAAC,EACzC,YAAaN,EAAkBM,EAAO,CAAC,EACvC,KAAMN,EAAkBM,EAAO,CAAC,EAChC,gBAAiBF,GAAoBG,GAAK,IAAMC,GAAO,CAAC,CAAC,EACzD,IAAKR,EAAkBM,EAAO,CAAC,CACjC,EAEaG,GAAyCC,GACpDC,GACE,CACE,GAAGN,GACH,GAAGK,CACL,EAUAE,GAAQ,CACV,EAEWC,GAAcC,GAAyBX,GAAMM,GAAmB,EAAGK,CAAI,EDxFvEC,GAA2CL,GACtDD,GAAM,CACJ,OAAQT,EAAkBM,EAAO,CAAC,EAElC,GAAGI,CACL,CAAC,EF0BI,IAAMM,GAA0CC,GACrDC,GAAM,CACJ,aAAcC,EACZC,GAAM,CACJC,EAAO,CAACC,GAAM,oBAAoB,CAAC,CAAC,EACpCD,EAAO,CAACC,GAAM,uBAAuB,CAAC,CAAC,EACvCD,EAAO,CAACC,GAAM,oBAAoB,CAAC,CAAC,EACpCD,EAAO,CAACC,GAAM,uBAAuB,CAAC,CAAC,CACzC,CAAC,CACH,EACA,SAAUH,EAAkBI,GAAK,IAAMC,GAAQ,CAAC,CAAC,EAEjD,GAAGP,CACL,CAAC,EO5CI,IAAMQ,GAA+CC,GAC1DC,GAAM,CACJ,iBAAkBC,EAAkBC,EAAO,CAAC,EAC5C,SAAUD,EAAkBC,EAAO,CAAC,EAEpC,GAAGH,CACL,CAAC,EDmEH,IAAMI,GAA0CC,GAC9CC,GAAO,CACL,YAAaC,EAAkBC,EAAO,CAAC,EACvC,MAAOD,EAAkBC,EAAO,CAAC,EACjC,KAAMD,EAAkBC,EAAO,CAAC,EAEhC,GAAGH,CACL,CAAC,EAEUI,GAAgDJ,GAC3DK,GAAM,CAIJ,SAAUH,EAAkBC,EAAO,CAAC,EACpC,OAAQD,EAAkBI,GAAM,CAACP,GAAO,EAAGI,EAAO,CAAC,CAAC,CAAC,EACrD,SAAUI,GAAoBC,GAAK,IAAMJ,GAAa,CAAC,CAAC,EACxD,UAAWF,EAAkBM,GAAK,IAAMJ,GAAa,CAAC,CAAC,EACvD,SAAUG,GAAoBD,GAAM,CAACE,GAAK,IAAMC,GAAY,CAAC,EAAGN,EAAO,CAAC,CAAC,CAAC,EAC1E,QAASD,EAAkBM,GAAK,IAAMC,GAAY,CAAC,CAAC,EACpD,KAAMP,EAAkBC,EAAO,CAAC,EAChC,UAAWD,EAAkBM,GAAK,IAAMJ,GAAa,CAAC,CAAC,EAEvD,GAAGJ,CACL,CAAC,EAEUU,GAAqBC,GAAgCC,GAAMR,GAAa,EAAGO,CAAI,EGlG7E,SAARE,GAAqCC,EAAwD,CAClG,IAAMC,GAAiBD,GAAS,CAAC,GAAG,KAAKE,GAAU,CAGjD,GAFgBA,EAAO,MAAM,WAAW,qBAAqB,EAK3D,OAFcC,GAAWD,CAAM,EAElB,KAAK,IAAM,EAE5B,CAAC,EAEKE,EAAUH,GAAiBI,GAAkBJ,CAAa,EAEhE,OAAOG,GAAWC,GAAkBD,CAAO,CAC7C,CkBlBe,SAARE,GAAuCC,EAAuC,CACnF,MAAO,CAAC,EAAEA,GAAYC,GAAoBD,GAAU,UAAY,CAAC,CAAC,GAAG,UAAU,SAAS,oBAAoB,EAC9G,CCJA,IAAAE,GAAwB,OAGT,SAARC,GAAmCC,EAAwC,CAChF,SAAO,YAAQ,IAAM,CACnB,IAAMC,EAASC,GAAoBF,GAAU,UAAY,CAAC,CAAC,EAC3D,OAAO,OAAOC,GAAQ,QAAW,SAC7B,CACE,QAAS,SACT,YAAa,OACb,MAAO,OACP,KAAMA,GAAQ,MAChB,EACAA,GAAQ,MACd,EAAG,CAACD,CAAQ,CAAC,CACf,CCfA,IAAAG,GAAA,CAA0B,yBAAAC,KAUA,iCAAAC,KAOA,gCAAAC,KASA,+CAAAC,MvPjB1B,GAAM,CAAE,aAAAC,EAAa,EAAI,SAEzB,SAASC,GAAqB,CAAE,SAAAC,CAAS,EAAyD,CAChG,GAAM,CAAC,CAAE,eAAAC,EAAgB,yBAAAC,CAAyB,CAAC,EAAIC,GAAwBH,CAAQ,EACjFI,EAAaC,EAAUC,EAAM,EAC7BC,EAAWT,GAAa,EACxBU,EAAgBC,GAAsBT,CAAQ,EAE9CU,KAAc,YAClB,KAAO,CAAE,qBAAsBR,CAAyB,GACxD,CAACA,CAAwB,CAC3B,EAEMS,EAASC,GAAkBZ,CAAQ,EACnCa,EAAcF,GAAQ,OAASV,EAC/Ba,EAAWH,GAAQ,MAAQX,GAAU,MAAM,KAEjD,OACE,GAAAe,QAAA,cAAC,OAAI,UAAWX,EAAW,wBAAwB,GAChDS,GACC,GAAAE,QAAA,cAAC,OACC,IAAKR,EAAS,aAAcO,CAAQ,EACpC,UAAWV,EAAW,gCAAgC,EACtD,IAAKS,EACL,MAAOH,EACT,EAEF,GAAAK,QAAA,cAAC,QAAK,UAAWX,EAAW,+BAA+B,EAAG,MAAOU,GAClEA,CACH,EACCN,GACC,GAAAO,QAAA,cAAC,QAAK,UAAWX,EAAW,8CAA8C,GACvEG,EAAS,0BAA0B,CACtC,CAEJ,CAEJ,CAEA,IAAOD,MAAQ,SAAKP,EAAoB,ETxCxC,SAASiB,GAAkB,CAAE,SAAAC,EAAU,SAAAC,CAAS,EAAiE,CAC/G,IAAMC,EAAaC,EAAUC,EAAM,EAC7BC,EAAWC,GAAY,EACvBC,EAAmBC,GAAoBJ,EAAM,EAE7CK,EAAqBJ,EAAS,SAAS,SAAS,GAAKL,GAAU,MAAM,OAAS,OAAS,CAAC,CAACC,EAE/F,OACE,GAAAS,QAAA,cAAC,OAAI,aAAW,GAAAC,SAAGT,EAAW,oBAAoB,EAAGK,CAAgB,GAClEE,GAAsB,GAAAC,QAAA,cAACE,GAAA,CAAqB,SAAUZ,EAAU,EAChEC,CACH,CAEJ,CAEAF,GAAkB,YAAc,oBAEhC,IAAOK,MAAQ,SAAKL,EAAiB,EiQvBtB,SAARc,GACLC,EACmD,CACnD,MAAO,CAAC,EAAEA,GAAYC,GAAoBD,GAAU,UAAY,CAAC,CAAC,GAAG,UAAU,SAAS,gBAAgB,EAC1G,CCNA,IAAAE,GAAsB,QAEtBC,GAAe,QACfC,GAAqC,OCHrC,IAAAC,GAAA,CAA0B,4BAAAC,KAUA,kCAAAC,KAaA,6CAAAC,KAGvB,yCAAAC,KAWuB,wCAAAC,KAUA,2CAAAC,KAMA,qCAAAC,MCrD1B,IAAAC,GAAsB,QAEtBC,GAAe,QACfC,GAAsC,OCHtC,IAAAC,GAAkC,QAElCC,GAAe,QACfC,GAAkD,sBCHlDC,GAAgC,OAGjB,SAAfC,EAAsCC,EAA+C,CACnF,IAAMC,KAAMC,WAAU,EAEhBC,KAAcC,YAAQ,UAAA,CAAA,SAAMC,GAAAA,SAAc,CAAC,EAAG,CAAEC,QAAS,CAAEC,IAAK,UAAA,CAAA,OAAMN,EAAIK,OAAO,CAAC,CAAE,CAAC,CAAC,EAAE,CAACL,CAAG,CAAC,EAEnGA,OAAAA,EAAIK,QAAUN,EAEPG,CACT,CCXA,IAAMK,GAAU,CACd,+CAAgD,wDAChD,iBAAkB,qBAClB,gBAAiB,qBACjB,kBAAmB,uBACnB,uBAAwB,4BACxB,eAAgB,qBAChB,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,8BAA+B,qCAC/B,iCAAkC,wCAClC,kCAAmC,yCACnC,oCAAqC,2CACrC,oBAAqB,wBACvB,EAEOC,EAAQD,GCvBf,IAAAE,GAAA,CAA0B,6CAAAC,KAmBjB,+CAAAC,KAiCM,mBAAAC,KA0DW,kDAAAC,KASA,+CAAAC,MH9G1B,GAAM,CAAE,SAAAC,GAAU,wBAAAC,GAAyB,gBAAAC,GAAiB,WAAAC,EAAW,EAAI,SACrE,CAAE,sBAAAC,EAAsB,EAAI,cAO5BC,GAA2B,CAAC,CAAE,UAAAC,EAAW,kBAAAC,CAAkB,IAAa,CAC5E,GAAM,CAACC,EAAGC,CAAe,EAAIP,GAAgB,EACvC,CAACQ,CAAO,EAAIP,GAAW,EACvBQ,EAAaC,EAAUC,EAAM,EAC7BC,EAAQd,GAAS,EACjBe,EAAeC,EAAWT,GAAmB,aAAeA,GAAmB,MAAQ,EAAE,EACzFU,EAAuBhB,GAAwB,kBAAkB,EACjEiB,KAAe,YACnB,IAAOD,EAAuB,CAAE,OAAQA,EAAqBV,GAAmB,MAAQ,EAAE,CAAE,EAAI,OAChG,CAACA,GAAmB,KAAMU,CAAoB,CAChD,EACME,EAAWT,IAAY,WACvBU,EAAQb,GAAqB,UAAWA,GAAqBA,EAAkB,MAG/Ec,EAAsBX,IAAY,aAAe,CAACU,EAElDE,KAAc,gBAAY,IAAM,CACpCb,EAAgBM,EAAa,OAAO,EAGpCD,EAAM,SAAS,CACjB,EAAG,CAACA,EAAOC,EAAcN,CAAe,CAAC,EAEzC,OAAOY,EACL,GAAAE,QAAA,cAAC,OACC,aAAW,GAAAC,SAAGlB,EAAWK,EAAW,4CAA4C,CAAC,EACjF,cAAac,EAAQ,+CACvB,EAEA,GAAAF,QAAA,cAAC,UACC,gBAAeJ,EAAW,GAAO,OACjC,aAAW,GAAAK,SAAGlB,EAAWK,EAAW,4CAA4C,CAAC,EACjF,cAAac,EAAQ,+CACrB,QAASN,EAAW,OAAYG,EAEhC,SAAUH,EAAW,GAAK,OAC1B,KAAK,UAEL,GAAAI,QAAA,cAAC,OAAI,UAAWZ,EAAW,8CAA8C,GAAIS,CAAM,EAClF,UAAWb,GAAqBA,EAAkB,OACjD,GAAAgB,QAAA,cAACnB,GAAA,CACC,UAAWO,EAAW,8CAA8C,EACpE,IAAKJ,EAAkB,MACzB,EAEF,GAAAgB,QAAA,cAAC,OACC,UAAWZ,EAAW,iDAAiD,EAEvE,wBAAyBO,EAC3B,CACF,CAEJ,EAEAb,GAAyB,YAAc,2BAEvC,IAAOQ,MAAQ,SAAKR,EAAwB,EI1E5C,IAAAqB,GAAA,CAA0B,iDAAAC,KACR,oBAAAC,KAIQ,sDAAAC,MLG1B,GAAM,CAAE,WAAAC,EAAW,EAAI,SAOjBC,GAAwB,CAAC,CAAE,YAAAC,EAAa,UAAAC,CAAU,IAAa,CACnE,IAAMC,EAAaC,EAAUC,EAAM,EAC7B,CAACC,CAAO,EAAIP,GAAW,EAE7B,OAEE,GAAAQ,QAAA,cAAC,OAAI,aAAW,GAAAC,SAAGN,EAAWC,EAAW,gDAAgD,CAAC,GACxF,GAAAI,QAAA,cAAC,OAAI,UAAWJ,EAAW,qDAAqD,GAC7EG,IAAY,YACX,GAAAC,QAAA,cAAC,iBACC,GAAAA,QAAA,cAACE,GAAA,IAAyB,EAC1B,GAAAF,QAAA,cAACE,GAAA,IAAyB,EAC1B,GAAAF,QAAA,cAACE,GAAA,IAAyB,CAC5B,EAEAR,EACG,OACES,GACCA,EAAK,OAAS,aAClB,EAGC,IAAI,CAACC,EAAYC,IAAU,GAAAL,QAAA,cAACE,GAAA,CAAyB,IAAKG,EAAO,kBAAmBD,EAAY,CAAE,CAEzG,CACF,CAEJ,EAEAX,GAAsB,YAAc,wBAEpC,IAAOK,MAAQ,SAAKL,EAAqB,EFnCzC,GAAM,CAAE,aAAAa,GAAc,wBAAAC,GAAyB,WAAAC,EAAW,EAAI,SAExDC,GAAyB,CAAC,CAAE,SAAAC,CAAS,IAAa,CACtD,GAAM,CAACC,CAAO,EAAIH,GAAW,EACvBI,EAAaC,EAAUC,EAAM,EAC7BC,EAAuBR,GAAwB,EAC/CS,EAAWV,GAAa,EAExBW,EAASC,GAAkBR,CAAQ,EAEnCS,KAAO,YACX,IAAOJ,EAAuB,CAAE,OAAQA,EAAqBE,GAAQ,aAAe,EAAE,CAAE,EAAI,CAAE,OAAQ,EAAG,EACzG,CAACA,GAAQ,YAAaF,CAAoB,CAC5C,EAEA,OACE,GAAAK,QAAA,cAAC,OAAI,UAAWR,EAAW,2BAA2B,GACnDK,GACC,GAAAG,QAAA,cAAC,OACC,aAAW,GAAAC,SACTT,EAAW,iCAAiC,EAC5CD,IAAY,aAAeC,EAAW,4CAA4C,CACpF,GAECK,EAAO,OACN,GAAAG,QAAA,cAAC,OACC,IAAKJ,EAAS,aAAcC,EAAO,IAAI,EACvC,UAAWL,EAAW,wCAAwC,EAC9D,IAAKK,EAAO,MACd,EAEDA,EAAO,MAAQ,GAAAG,QAAA,cAAC,MAAG,UAAWR,EAAW,uCAAuC,GAAIK,EAAO,IAAK,EAChGA,EAAO,aAEN,GAAAG,QAAA,cAAC,OAAI,UAAWR,EAAW,0CAA0C,EAAG,wBAAyBO,EAAM,CAE3G,EAEF,GAAAC,QAAA,cAACE,GAAA,CACC,YAAaZ,EAAS,kBAAkB,SAAW,CAAC,EACpD,UAAWE,EAAW,oCAAoC,EAC5D,CACF,CAEJ,EAEAH,GAAuB,YAAc,yBAErC,IAAOK,MAAQ,SAAKL,EAAsB,EQ3D1C,IAAAc,GAAgD,QAChDC,GAAe,QACfC,EAA0G,OCF1G,IAAAC,GAA4B,OAE5B,SAASC,GAAgBC,EAAkD,CACzE,OACE,GAAAC,QAAA,cAAC,OACC,cAAY,OACZ,UAAWD,EAAM,UACjB,OAAO,MACP,QAAQ,YACR,MAAM,MACN,MAAM,8BAEN,GAAAC,QAAA,cAAC,QACC,EAAE,sYACF,KAAK,eACP,CACF,CAEJ,CAEA,IAAOC,MAAQ,SAAKH,EAAe,ECpBnC,IAAAI,GAA4B,OAE5B,SAASC,GAAeC,EAAkD,CACxE,OACE,GAAAC,QAAA,cAAC,OACC,cAAY,OACZ,UAAWD,EAAM,UACjB,OAAO,MACP,QAAQ,YACR,MAAM,MACN,MAAM,8BAEN,GAAAC,QAAA,cAAC,QACC,EAAE,6LACF,KAAK,eACP,CACF,CAEJ,CAEA,IAAOC,MAAQ,SAAKH,EAAc,ECpBlC,IAAAI,GAA4B,OAE5B,SAASC,GAAcC,EAAkD,CACvE,OACE,GAAAC,QAAA,cAAC,OACC,cAAY,OACZ,UAAWD,EAAM,UACjB,OAAO,MACP,QAAQ,YACR,MAAM,MACN,MAAM,8BAEN,GAAAC,QAAA,cAAC,QACC,EAAE,gKACF,KAAK,eACP,CACF,CAEJ,CAEA,IAAOC,MAAQ,SAAKH,EAAa,ECpBjC,IAAAI,GAA4B,OAE5B,SAASC,GAASC,EAAkD,CAClE,OACE,GAAAC,QAAA,cAAC,OACC,cAAY,OACZ,UAAWD,EAAM,UACjB,OAAO,MACP,QAAQ,YACR,MAAM,MACN,MAAM,8BAEN,GAAAC,QAAA,cAAC,QACC,EAAE,gMACF,KAAK,eACP,CACF,CAEJ,CAEA,IAAOC,MAAQ,SAAKH,EAAQ,ECpB5B,IAAAI,GAA4B,OAE5B,SAASC,GAAoBC,EAAkD,CAC7E,OACE,GAAAC,QAAA,cAAC,OACC,cAAY,OACZ,UAAWD,EAAM,UACjB,OAAO,MACP,QAAQ,YACR,MAAM,MACN,MAAM,8BAEN,GAAAC,QAAA,cAAC,QACC,EAAE,mhBACF,KAAK,eACP,CACF,CAEJ,CAEA,IAAOC,MAAQ,SAAKH,EAAmB,ECpBvC,IAAAI,GAAsB,QACtBC,GAAe,QACfC,GAA6F,OCF7F,IAAAC,GAAA,CAA0B,gCAAAC,KAaA,2CAAAC,KAIA,qCAAAC,MDP1B,GAAM,CAAE,aAAAC,EAAa,EAAI,SAEnBC,GAAmDC,GAAS,CAEhEA,EAAM,eAAe,CACvB,EAMMC,GAAwBD,GAC5B,CAAC,CAACA,EAAM,cAAc,OAAO,KAAKE,GAAQA,EAAK,YAAY,IAAM,OAAO,EAE1E,SAASC,GAAeC,EAAcC,EAAyB,CAC7D,IAAIC,EAAUF,EAAO,WAErB,KAAOE,GAAS,CACd,GAAIA,IAAYD,EACd,MAAO,GAGTC,EAAUA,EAAQ,UACpB,CAEA,MAAO,EACT,CAEA,IAAMC,GAAYC,GAA8D,CAC9E,GAAM,CAACC,EAAeC,CAAgB,KAAI,aAA0C,EAAK,EACnFC,EAAaC,EAAUC,EAAM,EAC7BC,KAAc,WAAuB,IAAI,EACzCC,EAAWjB,GAAa,EACxBkB,EAAkBC,EAAWT,EAAM,YAAY,KAErD,cAAU,IAAM,CACd,IAAIU,EAAkB,EAEhBC,EAAmBnB,GAAqB,CAC5CkB,IAEIjB,GAAqBD,CAAK,GAC5BU,EACEI,EAAY,UACTd,EAAM,SAAWc,EAAY,SAC3Bd,EAAM,kBAAkB,aAAeG,GAAeH,EAAM,OAAQc,EAAY,OAAO,GACxF,YACA,SACN,CAEJ,EAEMM,EAAkB,IAAM,EAAEF,GAAmB,GAAKR,EAAiB,EAAK,EAExEW,EAAgB,IAAM,CAC1BH,EAAkB,EAClBR,EAAiB,EAAK,CACxB,EAEA,gBAAS,iBAAiB,YAAaS,EAAiB,EAAK,EAC7D,SAAS,iBAAiB,YAAaC,EAAiB,EAAK,EAC7D,SAAS,iBAAiB,UAAWC,EAAe,EAAK,EAElD,IAAM,CACX,SAAS,oBAAoB,YAAaF,CAAe,EACzD,SAAS,oBAAoB,YAAaC,CAAe,EACzD,SAAS,oBAAoB,UAAWC,CAAa,CACvD,CACF,EAAG,CAACX,CAAgB,CAAC,EAErB,IAAMY,KAAa,gBACjBtB,GAAS,CACPA,EAAM,eAAe,EAErBU,EAAiB,EAAK,EAEjBT,GAAqBD,EAAM,WAAW,GAI3CgB,EAAgB,QAAQ,CAAC,GAAGhB,EAAM,aAAa,KAAK,CAAC,CACvD,EACA,CAACgB,EAAiBN,CAAgB,CACpC,EAEA,OAAOD,EACL,GAAAc,QAAA,cAAC,OACC,aAAW,GAAAC,SAAGb,EAAW,+BAA+B,EAAG,CACzD,CAACA,EAAW,0CAA0C,CAAC,EAAGF,IAAkB,WAC9E,CAAC,EACD,cAAagB,EAAQ,gBACrB,WAAY1B,GACZ,OAAQuB,EACR,IAAKR,GAEL,GAAAS,QAAA,cAACG,GAAA,CAAgB,UAAWf,EAAW,oCAAoC,EAAG,EAC7EI,EAAS,sBAAsB,CAClC,EACE,IACN,EAEAR,GAAS,YAAc,WAEvB,IAAOM,MAAQ,SAAKN,EAAQ,EEjH5B,IAAAoB,GAAsB,QACtBC,GAAe,QACfC,GAAyD,OCE1C,SAARC,GAA4CC,EAAkC,CAEnF,GAAM,CAAE,MAAAC,CAAM,EAAID,EACZ,CAAE,KAAAE,EAAM,MAAAC,CAAM,EAAIH,EAExB,OAAIE,IAAS,cACJD,GAASD,EAAW,YAClBC,IAEA,OAAOE,GAAU,SACnBA,EAGF,KAAK,UAAUA,CAAK,EAC7B,CCjBA,IAAAC,EASO,OAQDC,MAAqB,iBAAsC,CAC/D,aAAc,IAAM,CAElB,MAAM,IAAI,MAAM,oFAAoF,CACtG,CACF,CAAC,EAED,SAASC,GACPC,EAKA,CACA,IAAMC,KAAqB,UAAO,CAAC,EAC7BC,KAAc,UAAkB,CAAC,CAAC,EAElCC,KAAqB,eACzB,CAAC,CAAE,QAAAC,CAAQ,EAAYC,IACrBD,IAAYA,EAAQ,SAAWH,EAAmB,UAAYI,EAAQ,EAAI,IAC5E,CAACJ,CAAkB,CACrB,EAEMK,KAAqB,eACxBC,GAA0D,CAEzD,IAAIC,EAEA,OAAOD,GAAoB,SAC7BC,EAAsBD,EAEtBC,EAAsBD,EAAgBN,EAAmB,OAAO,EAK9DO,GAAuB,CAACN,EAAY,QAAQ,GAAGM,CAAmB,GAAG,UACvEA,EAAsB,GAGpBP,EAAmB,UAAYO,IACjCP,EAAmB,QAAUO,EAE7BN,EAAY,QAAQ,QAAQ,CAACO,EAAKJ,IAAUF,EAAmBM,EAAKJ,CAAK,CAAC,EAC1EH,EAAY,QAAQ,GAAGM,CAAmB,GAAG,SAAS,MAAM,EAEhE,EACA,CAACL,EAAoBD,EAAaD,CAAkB,CACtD,EAEMS,KAAc,eAClBC,GAAS,CACP,GAAM,CAAE,OAAAC,CAAO,EAAID,EAEbN,EAAQH,EAAY,QAAQ,UAAU,CAAC,CAAE,QAAAE,CAAQ,IAAMA,IAAYQ,CAAM,EAG3EP,IAAU,IACZC,EAAmBD,CAAK,CAE5B,EACA,CAACH,EAAaI,CAAkB,CAClC,EAEMO,KAAsB,eACzBC,GACEC,GAAiC,CAChC,IAAMC,EAAmB,CAAChB,EAAM,UAC1BiB,EAAiB,YAAY,KAAKH,CAAG,GAAKd,EAAM,YAAc,WAC9DkB,EAAmB,eAAe,KAAKJ,CAAG,GAAKd,EAAM,YAAc,aACnEmB,EAAgB,eAAe,KAAKL,CAAG,EACvCM,EAAYJ,GAAoBC,GAAkBC,EAAoBC,EAAgB,EAAI,GAAM,EAGhGE,EAAcnB,EAAY,QAAQ,IAAI,CAACoB,EAAGjB,IAAUA,CAAK,EACzDkB,EAAYF,EAAY,QAAQN,CAAY,EAAIK,EAEtD,OAAOC,EAAY,GAAGE,CAAS,GAAK,CACtC,EACF,CAACvB,EAAM,SAAS,CAClB,EAEMwB,KAAgB,eACpBb,GAAS,CACP,GAAM,CAAE,IAAAG,CAAI,EAAIH,EAEhB,OAAQG,EAAK,CACX,IAAK,KACL,IAAK,UACL,IAAK,OACL,IAAK,YACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,aACHR,EAAmBO,EAAoBC,CAAG,CAAC,EAC3C,MAEF,IAAK,OACHR,EAAmB,CAAC,EACpB,MAEF,IAAK,MACHA,EAAmB,EAAE,EACrB,MAEF,IAAK,SACHN,EAAM,cAAc,EACpB,MAEF,QACE,MACJ,CAEAW,EAAM,eAAe,EACrBA,EAAM,gBAAgB,CACxB,EACA,CAACL,EAAoBO,EAAqBb,CAAK,CACjD,EAEMyB,KAAe,eACnB,CAAChB,EAAKJ,IAAU,CACd,GAAM,CAAE,QAAAD,CAAQ,EAAIK,EAEpB,OAAAP,EAAY,QAAQ,OAAOG,CAAK,CAAC,EAAII,EAErCL,EAAQ,iBAAiB,QAASM,CAAW,EAC7CN,EAAQ,iBAAiB,UAAWoB,CAAa,EAEjDrB,EAAmBM,EAAKJ,CAAK,EAEtB,IAAM,CACXD,EAAQ,oBAAoB,QAASM,CAAW,EAChDN,EAAQ,oBAAoB,UAAWoB,CAAa,EAEpD,OAAOtB,EAAY,QAAQ,OAAOG,CAAK,CAAC,CAC1C,CACF,EACA,CAACK,EAAac,EAAerB,EAAoBD,CAAW,CAC9D,EAEMwB,KAAQ,WACZ,KAAO,CACL,aAAAD,CACF,GACA,CAACA,CAAY,CACf,EAEA,OAAO,EAAAE,QAAA,cAAC7B,GAAmB,SAAnB,CAA4B,MAAO4B,GAAQ1B,EAAM,QAAS,CACpE,CAEO,SAAS4B,GAA6CC,EAA+C,CAC1G,IAAMpB,KAAM,UAAU,IAAI,EAEpB,CAAE,aAAAgB,CAAa,KAAI,cAAW3B,EAAkB,EAEtD,sBAAU,IAAM2B,EAAahB,EAAKoB,CAAS,CAAC,EAErCpB,CACT,CAEA,IAAOqB,MAAQ,QAAK/B,EAAmB,ECnLvC,IAAAgC,GAAsB,QAEtBC,GAAe,QACfC,GAA4D,OCH5D,IAAAC,GAA8E,OAExEC,GAA8DC,GAASA,EAAM,eAAe,EA+B5FC,MAAmB,eACvB,CACE,CAAE,cAAeC,EAAY,SAAAC,EAAU,UAAAC,EAAW,cAAeC,EAAY,SAAAC,EAAU,QAAAC,EAAS,SAAAC,CAAS,EACzGC,IACG,CACH,IAAMC,KAAY,WAA0B,IAAI,EAIhD,OACE,GAAAC,QAAA,cAAC,UACC,gBAAeL,EAAW,OAAS,OACnC,cAAaJ,EACb,UAAWE,EACX,cAAaC,EACb,QAASC,EAAWP,GAAwBQ,EAC5C,IATQE,GAAgBC,EAWxB,SAAUJ,EAAW,GAAKE,EAC1B,KAAK,UAEJL,CACH,CAEJ,CACF,EAEOS,MAAQ,SAAKX,EAAgB,EC5DpC,IAAAY,GAAA,CAA0B,mBAAAC,KA+BA,0BAAAC,MFpB1B,GAAM,CAAE,SAAAC,GAAU,qBAAAC,GAAsB,eAAAC,GAAgB,YAAAC,GAAa,oBAAAC,GAAqB,WAAAC,EAAW,EAAI,SAwBzG,SAASC,GAAgB,CACvB,WAAAC,EACA,UAAAC,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,KAAAC,EACA,KAAAC,EACA,MAAAC,CACF,EAAyB,CACvB,GAAM,CAACC,EAAGC,CAAmB,EAAIb,GAAoB,EAC/C,CAAC,CAAE,gBAAiBc,CAAwB,CAAC,EAAIf,GAAY,EAC7D,CAACgB,CAAO,EAAId,GAAW,EACvBe,EAAQpB,GAAS,EACjBqB,EAAWC,GAAyCV,CAAS,EAC7DW,EAAoBtB,GAAqB,EACzCuB,EAAaC,EAAUC,EAAM,EAC7BC,EAAczB,GAAe,EAE7B0B,KAAc,gBAClB,CAAC,CAAE,OAAAC,CAAO,IAAM,EACb,gBAAkB,CAIjB,MAAMT,EAAM,wBAAwB,EAIpCG,EAAkB,CAAE,YAAAd,EAAa,KAAAI,EAAM,KAAAC,EAAM,MAAAC,CAAM,EAA2B,CAAE,OAAAc,CAAO,CAAC,EAGxFf,IAAS,WAAaG,EAAoB,CAAC,CAAC,EAE5CU,EAAY,CACd,GAAG,CACL,EACA,CAAClB,EAAaW,EAAOG,EAAmBI,EAAaV,EAAqBJ,EAAMC,EAAMC,CAAK,CAC7F,EAEA,OACE,GAAAe,QAAA,cAACC,GAAA,CACC,aAAW,GAAAC,SAAGR,EAAW,kBAAkB,EAAGN,EAA0B,IAAKV,GAAa,IAAM,EAAE,EAClG,cAAayB,EAAQ,uBACrB,SAAUd,IAAY,WACtB,QAASS,EACT,IAAKP,EACL,KAAK,UAEJX,GAAS,GAAAoB,QAAA,cAAC,OAAI,IAAKnB,EAAU,UAAWa,EAAW,yBAAyB,EAAG,IAAKd,EAAO,EAC5F,GAAAoB,QAAA,cAAC,YAAMvB,CAAW,CACpB,CAEJ,CAEA,IAAOmB,MAAQ,SAAKpB,EAAe,EG3FnC,IAAA4B,GAAA,CAA0B,oBAAAC,KAYtB,0BAAAC,KAMA,6BAAAC,MNRJ,GAAM,CAAE,SAAAC,GAAU,aAAAC,GAAc,gBAAAC,GAAiB,YAAAC,GAAa,oBAAAC,GAAqB,WAAAC,EAAW,EAAI,SAElG,SAASC,GACPC,EAKA,CACA,GAAM,CAAC,CAAE,sBAAAC,CAAsB,CAAC,EAAIN,GAAgB,EAC9C,CAAC,CAAE,iBAAkBO,CAAyB,CAAC,EAAIN,GAAY,EAC/D,CAACO,CAAO,EAAIL,GAAW,EACvBM,EAAaC,EAAUC,EAAM,EAEnC,OACE,GAAAC,QAAA,cAAC,OACC,aAAYP,EAAM,YAAY,EAC9B,mBAAiB,WACjB,aAAW,GAAAQ,SACTJ,EAAW,mBAAmB,EAC9BF,EAA2B,GAC3B,CACE,CAACE,EAAW,yBAAyB,CAAC,EAAGH,IAA0B,OACnE,CAACG,EAAW,4BAA4B,CAAC,EAAGH,IAA0B,MACxE,EACAD,EAAM,SACR,EACA,KAAK,WAEJG,IAAY,aAAeH,EAAM,QACpC,CAEJ,CAEA,SAASS,IAAmB,CAC1B,IAAML,EAAaC,EAAUC,EAAM,EAC7BI,EAAWhB,GAAa,EACxB,CAACiB,EAAkBC,EAAG,CAAE,SAAAC,CAAS,CAAC,EAAIhB,GAAoB,EAC1DiB,EAAQrB,GAAS,EAEjBsB,KAAkB,gBAAY,IAAM,CACxCD,EAAM,SAAS,CACjB,EAAG,CAACA,CAAK,CAAC,EAEJE,EAAWC,GAAyBJ,CAAQ,EAC9C,CAAC,EACDF,EAAiB,IAAI,CAACO,EAAYC,IAAU,CAC1C,GAAM,CAAE,YAAAC,EAAa,MAAAC,EAAO,aAAAC,EAAc,KAAAC,EAAM,KAAAC,EAAM,MAAAC,CAAM,EAAIP,EAmBhE,OAAKP,GAAkB,OAKrB,GAAAJ,QAAA,cAACmB,GAAA,CACC,WAAYC,GAA2BT,CAAU,EACjD,YAAaE,EACb,MAAOC,EAGP,SAAUA,IAAUC,GAAgBC,GACpC,UAAWJ,EAEX,IAAKA,EACL,KAAMI,EACN,KAAMC,EACN,MAAOC,EACT,EAjBO,IAmBX,CAAC,EAEL,OACE,GAAAlB,QAAA,cAACqB,GAAA,CAAoB,YAAab,GAChC,GAAAR,QAAA,cAACR,GAAA,CACC,aAAYW,EAAS,6BAA6B,EAClD,UAAWN,EAAW,mBAAmB,GAExCY,CACH,CACF,CAEJ,CAEA,IAAOV,MAAQ,SAAKG,EAAgB,EO9GpC,IAAAoB,GAA+D,OCA/D,IAAAC,GAAkE,OAO5DC,MAAU,kBACd,IAAI,MAAM,CAAC,EAAkB,CAC3B,KAAM,CACJ,MAAM,IAAI,MAAM,mFAAmF,CACrG,CACF,CAAC,CACH,EAEAA,GAAQ,YAAc,0BAEtB,IAAOC,GAAQD,GDXf,IAAME,MAAW,SAAK,CAAC,CAAE,SAAAC,CAAS,IAAa,CAC7C,GAAM,CAACC,EAAOC,CAAQ,KAAI,aAAS,EAAK,EAElCC,KAAU,YACd,IACE,OAAO,OAAO,CACZ,SAAAD,EACA,MAAAD,CACF,CAAC,EACH,CAACC,EAAUD,CAAK,CAClB,EAEA,OAAO,GAAAG,QAAA,cAACC,GAAQ,SAAR,CAAiB,MAAOF,GAAUH,CAAS,CACrD,CAAC,EAEMM,GAAQP,GErBf,IAAAQ,GAA4B,OCA5B,IAAAC,GAA2B,QAC3BC,GAAe,QACfC,EAAuG,OCFvG,IAAAC,GAA+D,OCA/D,IAAAC,GAAA,CAA0B,2BAAAC,KAiCA,iCAAAC,KAMA,iCAAAC,KAKA,+BAAAC,MD5B1B,IAAMC,MAAS,YACb,eAAW,CAAC,CAAE,OAAAC,EAAQ,cAAeC,EAAY,QAAAC,EAAS,KAAAC,CAAK,EAAUC,IAAgC,CACvG,IAAMC,EAAaC,EAAUC,EAAM,EAC7BC,EAAaC,EAAWP,CAAO,EAE/BQ,KAAc,gBAAY,IAAMF,EAAW,UAAU,EAAG,CAACA,CAAU,CAAC,EAE1E,OACE,GAAAG,QAAA,cAAC,UACC,UAAWN,EAAW,0BAA0B,EAChD,cAAaJ,EACb,QAASS,EACT,IAAKN,EACL,KAAK,UAEL,GAAAO,QAAA,cAAC,QAAK,UAAWN,EAAW,gCAAgC,GAAIL,IAAW,IAAM,SAAWA,CAAO,EAClG,CAAC,CAACG,GAAQ,GAAAQ,QAAA,cAAC,QAAK,UAAWN,EAAW,gCAAgC,GAAIF,CAAK,CAClF,CAEJ,CAAC,CACH,EAEAJ,GAAO,YAAc,yBAErB,IAAOQ,GAAQR,GExCf,IAAAa,GAAwE,OAIzD,SAARC,IAAmF,CACxF,GAAM,CAAE,SAAAC,EAAU,MAAAC,CAAM,KAAI,eAAWC,EAAO,EAE9C,SAAO,YAAQ,IAAM,OAAO,OAAO,CAACD,EAAOD,CAAQ,CAAC,EAAG,CAACC,EAAOD,CAAQ,CAAC,CAC1E,CCRA,IAAAG,GAAA,CAA0B,mBAAAC,KAmBA,wBAAAC,KAWA,iCAAAC,KASA,sCAAAC,MJzB1B,GAAM,CAAE,gBAAAC,EAAgB,EAAI,cAStBC,MAAc,QAClB,CAAC,CAAE,SAAAC,EAAU,aAAAC,CAAa,IAA6E,CACrG,IAAMC,EAAaC,EAAUC,EAAM,EAEnC,OAAOH,EAAe,KACpB,EAAAI,QAAA,cAAC,OAAI,UAAWH,EAAW,uBAAuB,GAAIF,CAAS,CAEnE,CACF,EAEAD,GAAY,YAAc,8BAE1B,IAAMO,MAAkB,QAAK,CAAC,CAAE,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,aAAAR,CAAa,IAAa,CAC7F,IAAMS,EAAeC,EAAWJ,CAAS,EACnCL,EAAaC,EAAUC,EAAM,EAC7BQ,KAAiB,UAA0B,IAAI,EAC/CC,EAAmBF,EAAWF,CAAa,EAC3C,CAAC,CAAEK,CAAQ,EAAIC,GAAS,EAExBC,KAAqB,eAAY,IAAMH,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FI,KAAqB,eAAY,IAAMJ,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FK,KAAqB,eAAY,IAAML,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FM,KAAqB,eAAY,IAAMN,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FO,KAAqB,eAAY,IAAMP,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FQ,KAAqB,eAAY,IAAMR,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FS,KAAqB,eAAY,IAAMT,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FU,KAAqB,eAAY,IAAMV,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FW,KAAqB,eAAY,IAAMX,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1FY,KAAqB,eAAY,IAAMZ,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC1Fa,KAAwB,eAAY,IAAMb,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC7Fc,KAAyB,eAAY,IAAMd,EAAiB,UAAU,GAAG,EAAG,CAACA,CAAgB,CAAC,EAC9Fe,KAAgB,eACpBC,GAAS,CACHA,EAAM,MAAQ,UAEhBf,EAAS,EAAK,CAElB,EACA,CAACA,CAAQ,CACX,EAEA,sBAAU,IAAM,CACdJ,EAAa,SAAWE,EAAe,SAAS,MAAM,CACxD,EAAG,CAACF,EAAcE,CAAc,CAAC,EAG/B,EAAAP,QAAA,cAAC,OAAI,aAAW,GAAAyB,SAAG5B,EAAW,kBAAkB,EAAGM,CAAS,EAAG,UAAWoB,GACxE,EAAAvB,QAAA,cAACN,GAAA,CAAY,aAAcE,GACzB,EAAAI,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAAShB,EACT,IAAKJ,EACP,EACA,EAAAP,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASf,EACT,KAAK,MACP,EACA,EAAAZ,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASd,EACT,KAAK,MACP,EACA,EAAAb,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASb,EACT,KAAK,MACP,EACA,EAAAd,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASZ,EACT,KAAK,MACP,EACA,EAAAf,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASX,EACT,KAAK,MACP,EACA,EAAAhB,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASV,EACT,KAAK,OACP,EACA,EAAAjB,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAAST,EACT,KAAK,MACP,EACA,EAAAlB,QAAA,cAAC0B,GAAA,CACC,OAAO,IACP,cAAaC,EAAQ,8BACrB,QAASR,EACT,KAAK,OACP,EACA,EAAAnB,QAAA,cAAC0B,GAAA,CAAO,OAAO,IAAI,cAAaC,EAAQ,iCAAkC,QAASN,EAAuB,EAC1G,EAAArB,QAAA,cAAC0B,GAAA,CAAO,OAAO,IAAI,cAAaC,EAAQ,8BAA+B,QAASP,EAAoB,KAAK,IAAI,EAC7G,EAAApB,QAAA,cAAC0B,GAAA,CAAO,OAAO,IAAI,cAAaC,EAAQ,kCAAmC,QAASL,EAAwB,CAC9G,EACA,EAAAtB,QAAA,cAAC,OAAI,UAAWH,EAAW,gCAAgC,GACzD,EAAAG,QAAA,cAAC4B,GAAA,IAAc,EACf,EAAA5B,QAAA,cAACP,GAAA,CACC,cAAeI,EAAW,qCAAqC,EAC/D,UAAU,iCACZ,CACF,CACF,CAEJ,CAAC,EAEDI,GAAgB,YAAc,kBAE9B,IAAOF,GAAQE,GDtIf,IAAM4B,MAA2B,SAAMC,GAAkBC,GAAS,EAAE,CAAC,EAAI,GAAAC,QAAA,cAACC,GAAA,CAAiB,GAAGH,EAAO,EAAK,IAAK,EAE/GD,GAAyB,YAAc,4BAEvC,IAAOK,GAAQL,GMZf,IAAAM,GAAsB,QACtBC,GAA0E,OCD1E,IAAAC,GAAsB,QACtBC,GAAe,QACfC,GAAoE,OCFpE,IAAAC,GAAA,CAA0B,iBAAAC,KASA,0BAAAC,KAmBtB,oCAAAC,KAoBsB,6BAAAC,MD1C1B,GAAM,CAAE,WAAAC,EAAW,EAAI,SAEjBC,GAA8DC,GAASA,EAAM,eAAe,EAErFC,MAAgB,SAEzBC,GAUG,CACH,IAAMC,EAAaC,EAAUC,EAAM,EAC7B,CAACC,CAAO,EAAIR,GAAW,EAEvBS,EAAWL,EAAM,UAAYI,IAAY,WAE/C,OACE,GAAAE,QAAA,cAAC,UACC,gBAAeD,EAAW,OAAS,OACnC,aAAYL,EAAM,YAAY,EAC9B,aAAW,GAAAO,SAAGN,EAAW,yBAAyB,EAAGD,EAAM,UAAW,CACpE,CAACC,EAAW,mCAAmC,CAAC,EAAGD,EAAM,QAC3D,CAAC,EACD,cAAaA,EAAM,aAAa,EAChC,QAASK,EAAWR,GAAwBG,EAAM,QAElD,SAAUK,EAAW,GAAK,OAC1B,KAAML,EAAM,OAAS,SAAW,SAAW,UAE1CA,EAAM,QACT,CAEJ,CACF,EAEAD,GAAc,YAAc,gBAErB,IAAMS,MAAU,SAAMR,GAA0F,CACrH,GAAM,CAACI,CAAO,EAAIR,GAAW,EACvBK,EAAaC,EAAUC,EAAM,EAEnC,OACE,GAAAG,QAAA,cAAC,OAAI,aAAW,GAAAC,SAAGN,EAAW,iBAAqBD,EAAM,SAAS,GAC/DI,IAAY,aAAeJ,EAAM,QACpC,CAEJ,CAAC,EAEDQ,GAAQ,YAAc,UAEf,IAAMC,MAAmB,SAC7BT,GAA0F,CACzF,IAAMC,EAAaC,EAAUC,EAAM,EAEnC,OACE,GAAAG,QAAA,cAAC,OACC,mBAAiB,WACjB,aAAW,GAAAC,SAAGN,EAAW,4BAA4B,EAAGD,EAAM,SAAS,EACvE,KAAK,YACP,CAEJ,CACF,EAEAS,GAAiB,YAAc,mBE5E/B,IAAAC,GAAA,CAA0B,0BAAAC,KAIA,gCAAAC,MHK1B,GAAM,CAAE,aAAAC,GAAc,gBAAAC,EAAgB,EAAI,SAE1C,SAASC,GACPC,EAIA,CACA,IAAMC,KAAW,WAAyB,IAAI,EACxCC,EAAaC,EAAUC,EAAM,EAC7BC,EAAWR,GAAa,EACxB,CAAC,CAAE,aAAAS,EAAc,eAAAC,CAAe,CAAC,EAAIT,GAAgB,EACrDU,EAAkBC,EAAWT,EAAM,YAAY,EAE/CU,KAAc,gBAAY,IAAMT,EAAS,SAAS,MAAM,EAAG,CAACA,CAAQ,CAAC,EAErEU,KAAmB,gBACvB,CAAC,CAAE,OAAQ,CAAE,MAAAC,CAAM,CAAE,IAAM,CACrBA,IACFJ,EAAgB,UAAU,CAAC,GAAGI,CAAK,CAAC,EAEhCX,EAAS,UACXA,EAAS,QAAQ,MAAQ,IAG/B,EACA,CAACA,EAAUO,CAAe,CAC5B,EAEA,OACE,GAAAK,QAAA,cAAC,OAAI,UAAWX,EAAW,yBAAyB,GAClD,GAAAW,QAAA,cAAC,SACC,OAAQP,EACR,gBAAeN,EAAM,SACrB,cAAY,OACZ,UAAWE,EAAW,+BAA+B,EACrD,SAAUK,EACV,QAASP,EAAM,SAAW,OAAYW,EACtC,SAAUX,EAAM,SAChB,IAAKC,EACL,KAAK,SACL,SAAU,GACV,KAAK,OACP,EACA,GAAAY,QAAA,cAACC,GAAA,CACC,aAAYT,EAAS,8BAA8B,EACnD,cAAaU,EAAQ,oBACrB,QAASL,GAET,GAAAG,QAAA,cAACG,GAAA,IAAe,CAClB,CACF,CAEJ,CAEA,IAAOZ,MAAQ,SAAKL,EAAmB,EIhEvC,IAAAkB,GAAsB,QACtBC,GAAe,QACfC,GAA4B,OCF5B,IAAAC,GAAA,CAA0B,oBAAAC,MDM1B,GAAM,CAAE,aAAAC,GAAc,WAAAC,EAAW,EAAI,SAE/BC,GAA6B,CACjC,IAAK,6BACL,IAAK,6BACL,IAAK,6BACL,KAAM,8BACN,MAAO,8BACT,EAEA,SAASC,GAAY,CACnB,YAAAC,EACA,UAAAC,CACF,EAGI,CACF,GAAM,CAACC,CAAO,EAAIL,GAAW,EACvBM,EAAaC,EAAUC,EAAM,EAC7BC,EAAqBV,GAAa,CAAE,OAAQ,EAAK,CAAC,EAExD,OAAOM,IAAY,aAAeF,EAAY,OAC5C,GAAAO,QAAA,cAAC,OAAI,aAAW,GAAAC,SAAGL,EAAW,oBAAwBF,CAAS,GAC5DK,EAAmBR,GAA4BE,EAAY,MAAM,CACpE,EACE,IACN,CAEA,IAAOK,MAAQ,SAAKN,EAAW,EElC/B,IAAAU,GAA8B,QAC9BC,GAA4B,OCD5B,IAAAC,GAAA,CAA0B,yBAAAC,MDU1B,SAASC,GAAa,CAAE,MAAAC,EAAO,GAAAC,CAAG,EAAsB,CACtD,IAAMC,EAAaC,EAAUC,EAAM,EAEnC,2BAAc,IAAMJ,GAAS,GAAAK,QAAA,cAAC,OAAI,UAAU,kCAAkCL,CAAM,EAAQ,CAACA,CAAK,CAAC,EAIjG,GAAAK,QAAA,cAAC,QAAK,UAAWH,EAAW,wBAAwB,EAAG,GAAID,GACxDD,CACH,CAEJ,CAEAD,GAAa,YAAc,eAE3B,IAAOK,MAAQ,SAAKL,EAAY,EEzBhC,IAAAO,GAAsB,QACtBC,GAA+C,OAG/C,GAAM,CAAE,sBAAAC,GAAuB,aAAAC,EAAa,EAAI,SAM1CC,GAAiB,CAAC,CACtB,YAAAC,EACA,QAAAC,CACF,IAGO,CACL,GAAM,CAACC,CAAkB,EAAIL,GAAsB,EAC7C,CAACM,EAAOC,CAAQ,KAAI,aAAgC,EACpDC,EAAWP,GAAa,EAExBQ,EAAiBC,EACrBL,IAAuB,aAAeA,IAAuB,cACzD,UACA,CAACD,GAAW,CAACD,EAAY,OACvB,QACA,MACR,EAEMQ,KAAwB,YAC5B,IACE,OAAO,OACL,IAAI,IAAuB,EACxB,IAAI,QAASH,EAAS,+BAA+B,CAAC,EAEtD,IAAI,UAAWA,EAAS,+BAA+B,CAAC,CAC7D,EACF,CAACA,CAAQ,CACX,EAIMI,EAAW,CAAC,CAACR,GAAS,KAAK,EAC7BE,IAAU,SAAWM,GACvBL,EAAS,MAAS,EAGpB,IAAMM,KAAoB,gBAAY,KACpCN,EAASE,EAAe,OAAO,EACxBA,EAAe,SACrB,CAACA,CAAc,CAAC,EAEnB,SAAO,YACL,IAAM,OAAO,OAAO,CAACH,GAASK,EAAsB,IAAIL,CAAK,EAAGO,CAAiB,CAAC,EAClF,CAACP,EAAOK,EAAuBE,CAAiB,CAClD,CACF,EAEOC,GAAQZ,GC1Df,IAAAa,GAAgD,OAChDC,GAAsB,QAEhB,CAAE,cAAAC,GAAe,YAAAC,EAAY,EAAI,SAExB,SAARC,IAA2C,CAChD,IAAMC,EAAaH,GAAc,EAC3BI,EAAWH,GAAY,EAE7B,SAAO,gBACJI,GAAkC,CACjC,GAAIA,EAAM,kBAAkB,qBAAuBA,EAAM,OAAO,MAC9D,OAGF,GAAM,CAAE,QAAAC,EAAS,QAAAC,EAAS,SAAAC,CAAS,EAAIH,EAEvC,GAAIC,GAAWC,GAAWC,EACxB,OAGF,IAAIC,EAAU,GAEd,OAAQJ,EAAM,IAAK,CACjB,IAAK,MACHF,EAAW,CAAE,aAAc,GAAS,CAAC,EACrC,MAEF,IAAK,OACHC,EAAS,CAAE,aAAc,GAAS,CAAC,EACnC,MAEF,IAAK,WACHD,EAAW,EACX,MAEF,IAAK,SACHC,EAAS,EACT,MAEF,QACEK,EAAU,GACV,KACJ,CAEIA,IACFJ,EAAM,eAAe,EACrBA,EAAM,gBAAgB,EAE1B,EACA,CAACF,EAAYC,CAAQ,CACvB,CACF,CClDA,IAAAM,GAAwB,OAIT,SAARC,GAA6BC,EAAyB,CAC3D,IAAMC,KAAK,YAAQ,IAAM,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAG,CAAC,EAAG,CAAC,CAAC,EAEpE,OAAAD,EAASA,EAAS,GAAGA,CAAM,KAAO,GAE3B,GAAGA,CAAM,GAAGC,CAAE,EACvB,CCZA,IAAAC,GAAA,CAA0B,QAAAC,KAaQ,kBAAAC,KAC/B,wBAAAC,KAA2B,+BAAAC,KAKJ,iBAAAC,KAgBjB,+BAAAC,KA2BJ,8BAAAC,KAQA,qCAAAC,KAIA,qCAAAC,KAKqB,wBAAAC,KAmBA,4BAAAC,MClG1B,IAAAC,GAAyC,OAEzCC,GAAsB,QAMtB,GAAM,CAAE,aAAAC,EAAa,EAAI,SAEnBC,MAA+B,SAAK,IAAM,CAC9C,GAAM,CAACC,EAAsBC,CAAuB,EAAIC,GAAwB,EAC1EC,EAAWL,GAAa,EAExBM,KAAc,gBAAY,IAAMH,EAAwBI,GAAS,CAACA,CAAK,EAAG,CAACJ,CAAuB,CAAC,EAEzG,OACE,GAAAK,QAAA,cAACC,GAAA,CACC,aAAYJ,EAAS,wCAAwC,EAC7D,cAAaK,EAAQ,oCACrB,QAASJ,EACT,SAAUJ,GAEV,GAAAM,QAAA,cAACG,GAAA,IAAoB,CACvB,CAEJ,CAAC,EAEDV,GAA6B,YAAc,uCAE3C,IAAOW,GAAQX,GC9Bf,IAAAY,GAAsB,QACtBC,GAAe,QACfC,GAA2G,OCF3G,IAAAC,GAAA,CAA0B,qBAAAC,KAOA,6BAAAC,KAMA,4BAAAC,KAUA,kCAAAC,KAMA,2BAAAC,KAOA,mCAAAC,MD9B1B,GAAM,CAAE,WAAAC,EAAW,EAAI,SAEjBC,MAAW,eAqBf,CAACC,EAAOC,IAAQ,CAChB,GAAM,CAACC,CAAO,EAAIJ,GAAW,EACvBK,EAAaC,EAAUC,EAAM,EAE7BC,EAAWJ,IAAY,WAEvBK,KAAgB,gBAAuDC,GAAS,CAGhF,CAACA,EAAM,UAAYA,EAAM,MAAQ,UACnCA,EAAM,eAAe,EAEjB,SAAUA,EAAM,QAAUA,EAAM,OAAO,gBAAgB,iBACzDA,EAAM,QAAQ,MAAM,cAAc,EAGxC,EAAG,CAAC,CAAC,EAEL,OACE,GAAAC,QAAA,cAAC,OACC,aAAW,GAAAC,SACTP,EAAW,oBAAoB,EAC/B,CAAE,CAACA,EAAW,4BAA4B,CAAC,EAAGH,EAAM,MAAO,EAC3DA,EAAM,SACR,EACA,KAAMA,EAAM,OAAS,SAAW,QAE/BE,IAAY,YACX,GAAAO,QAAA,cAAC,OACC,aAAW,GAAAC,SACTP,EAAW,iCAAiC,EAC5CA,EAAW,kCAAkC,EAC7CA,EAAW,2BAA2B,CACxC,GAEC,GACH,EAEA,GAAAM,QAAA,cAAC,iBACC,GAAAA,QAAA,cAAC,OACC,aAAW,GAAAC,SACTP,EAAW,iCAAiC,EAC5CA,EAAW,kCAAkC,EAC7CA,EAAW,2BAA2B,CACxC,GAECH,EAAM,OAASA,EAAM,YAAa,GACrC,EACA,GAAAS,QAAA,cAAC,YACC,gBAAeH,EACf,aAAYN,EAAM,YAAY,EAC9B,aAAW,GAAAU,SACTP,EAAW,0BAA0B,EACrCA,EAAW,kCAAkC,EAC7CA,EAAW,2BAA2B,CACxC,EACA,cAAaH,EAAM,aAAa,EAChC,QAASA,EAAM,QACf,UAAWO,EACX,YAAaP,EAAM,YACnB,SAAUM,EACV,IAAKL,EACL,KAAMD,EAAM,WAAa,EAEzB,SAAUA,EAAM,OAAS,GAAK,OAC9B,MAAOA,EAAM,MACf,CACF,CAEJ,CAEJ,CAAC,EAEDD,GAAS,YAAc,WAEvB,IAAOM,GAAQN,GpCnFf,GAAM,CACJ,SAAAY,GACA,aAAAC,GACA,iBAAAC,GACA,wBAAAC,GACA,sBAAAC,GACA,gBAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,WAAAC,EACF,EAAI,SAQJ,SAASC,GAAQC,EAAc,CAC7B,GAAM,CAAC,CAAE,0BAAAC,EAA2B,iBAAAC,EAAkB,iBAAAC,CAAiB,CAAC,EAAIN,GAAgB,EACtF,CAACO,EAAaC,CAAc,EAAIX,GAAsB,EACtD,CAACY,EAAeC,CAAgB,EAAIZ,GAAgB,EACpD,CAACa,EAAcC,CAAe,KAAI,YAAS,EAAE,EAC7C,CAACC,CAAoB,EAAIC,GAAwB,EACjD,CAACC,CAAO,EAAId,GAAW,EACvBe,EAAaC,EAAUC,EAAM,EAC7BC,EAAmBC,GAAoBF,EAAM,EAC7CG,EAAiBC,GAAY,2BAA2B,EACxDC,KAAW,UAA4B,IAAI,EAC3CC,EAAW9B,GAAa,EACxB+B,EAAgB9B,GAAiB,EACjC+B,EAAc3B,GAAe,EAC7B4B,EAAWlC,GAAS,EAEpBmC,EAAUzB,EAAM,UAAYM,EAAgBE,EAC5CkB,EAAa1B,EAAM,UAAYO,EAAmBE,EAClDkB,EAAcf,IAAY,YAE1B,CAACgB,EAAcC,CAAiB,EAAIC,GAAe,CAAE,QAAAL,EAAS,YAAArB,CAAY,CAAC,EAC3E2B,EAA0B,CAAC,CAAC5B,GAAoBsB,EAAQ,OAAStB,EACjE6B,EACJ,CAACL,GAAe,CAACjB,GAAwBP,GAAoB,SAASA,CAAgB,EAClF8B,EAA4B,CAACN,GAAejB,EAElDjB,MACE,eACE,CAAC,CAAE,WAAAyC,EAAY,UAAAC,EAAU,IAA2B,CAC7Cf,EAAS,UAGVc,EACFC,IACG,SAAY,CACX,IAAMC,GAAmBhB,EAAS,SAAS,aAAa,UAAU,EAClEA,EAAS,SAAS,aAAa,WAAY,MAAM,EAKjD,MAAM,IAAI,QAAQiB,IAAW,WAAWA,GAAS,CAAC,CAAC,EACnDjB,EAAS,SAAS,MAAM,EACpB,OAAOgB,IAAqB,SAC9BhB,EAAS,SAAS,gBAAgB,UAAU,EAE5CA,EAAS,SAAS,aAAa,WAAYgB,EAAgB,CAE/D,GAAG,CACL,EAEAhB,EAAS,SAAS,MAAM,EAE5B,EACA,CAACA,CAAQ,CACX,CACF,EAEA,IAAMkB,EAAiBC,EAAWnC,CAAW,EACvCoC,EAAaD,EAAWd,CAAO,EAE/BgB,KAAqB,eACzBC,GAAS,CACH,aAAcA,EAAM,QAAU,OAAOA,EAAM,OAAO,UAAa,UAAYA,EAAM,OAAO,UAAY,GAIxGlB,EAAS,SAAS,CACpB,EACA,CAACA,CAAQ,CACX,EAEMmB,KAAmE,eACvED,GAAShB,EAAWgB,EAAM,cAAc,KAAK,EAC7C,CAAChB,CAAU,CACb,EAEMkB,KAAiB,eACrB,MAAOC,GAAuB,CAC5B,IAAMC,GAAiB,OAAO,OAC5B,MAAM,QAAQ,IACZD,EAAW,IAAIE,IACbzB,EAAcyB,EAAI,EAAE,KAAKC,IACvB,OAAO,OAAO,CACZ,KAAMD,GACN,GAAIC,IAAgB,CAAE,aAAAA,EAAa,CACrC,CAAC,CACH,CACF,CACF,CACF,EAEA3C,EAAeyC,EAAc,CAM/B,EACA,CAACxB,EAAejB,CAAc,CAChC,EAEM4C,KAAsD,eAC1DP,GAAS,CACPA,EAAM,eAAe,EACPb,EAAkB,IAElB,SAAW,CAACE,IACxBR,EAAYiB,EAAW,QAAS,OAAW,CAAE,YAAaF,EAAe,OAAQ,CAAC,EAElFZ,EAAW,EAAE,EACbrB,EAAe,CAAC,CAAC,GAGnBmB,EAAS,SAAS,CACpB,EACA,CACEK,EACAE,EACAP,EACAD,EACAG,EACAc,EACAF,EACAjC,CACF,CACF,EAEM6C,MAAmC,eAEtCC,GAAe5B,EAAY,YAAY4B,CAAI,EAAE,EAC9C,CAAC5B,CAAW,CACd,EAEM6B,GAA6BC,GAAwB,EAErDC,GAAO,CACX,eAAgB,QAChB,GAAI1B,GAAgB,CAClB,mBAAoBV,EACpB,oBAAqBA,EACrB,eAAgB,MAClB,CACF,EAEA,OACE,EAAAqC,QAAA,cAAC,QACE,GAAGD,GACJ,aAAW,GAAAE,SAAG3C,EAAW,QAAYG,EAAkBhB,EAAM,SAAS,EACtE,cAAayD,EAAQ,iBACrB,SAAUR,GAEV,EAAAM,QAAA,cAACG,GAAA,IAAiB,EAClB,EAAAH,QAAA,cAAC,OACC,aAAW,GAAAC,SAAG3C,EAAW,gBAAmB,EAC5C,eAAgB4B,EAChB,UAAWW,IAEX,EAAAG,QAAA,cAACI,GAAA,CACC,aAAsCtC,EAA1BU,EAAmC,iCAA6C,gBAAb,EAC/E,aAAW,GAAAyB,SAAG3C,EAAW,uBAAuB,EAAGA,EAAW,6BAA6B,CAAC,EAC5F,cAAa4C,EAAQ,eACrB,OAAQxB,EACR,QAASU,EACT,YAAa3C,EAAM,aAAeqB,EAAS,wBAAwB,EACnE,IAAKD,EACL,MAAOK,EACT,EACA,EAAA8B,QAAA,cAACK,GAAA,CACC,UAAW,GACX,UAAW/C,EAAW,oCAAoC,EAC1D,aAAc,GACd,cAAeqC,GACjB,EACA,EAAAK,QAAA,cAACM,GAAA,CAAY,YAAazD,EAAa,UAAWS,EAAW,8BAA8B,EAAG,EAC9F,EAAA0C,QAAA,cAAC,OAAI,aAAW,GAAAC,SAAG3C,EAAW,2BAA2B,EAAGA,EAAW,oCAAoC,CAAC,GACzGmB,GACC,EAAAuB,QAAA,cAAC,OACC,aAAW,GAAAC,SAAG3C,EAAW,uBAAuB,EAAG,CACjD,CAACA,EAAW,8BAA8B,CAAC,EAAGkB,CAChD,CAAC,GAEA,GAAGN,EAAQ,MAAM,IAAItB,CAAgB,EACxC,EAEF,EAAAoD,QAAA,cAACO,GAAA,KACE,CAAC7D,GAA6B,EAAAsD,QAAA,cAACQ,GAAA,IAA6B,EAC5D,CAAC7D,GAAoB,EAAAqD,QAAA,cAACS,GAAA,CAAoB,aAAcpB,EAAgB,EACzE,EAAAW,QAAA,cAACU,GAAA,IAAiB,EAClB,EAAAV,QAAA,cAACW,GAAA,CACC,aAAY7C,EAAS,4BAA4B,EACjD,cAAaoC,EAAQ,kBACrB,SAAU1B,GAA2BE,EACrC,KAAK,UAEL,EAAAsB,QAAA,cAACY,GAAA,IAAS,CACZ,CACF,CACF,EACA,EAAAZ,QAAA,cAACa,GAAA,CAAS,aAAcxB,EAAgB,EACxC,EAAAW,QAAA,cAACc,GAAA,CAAa,MAAOzC,EAAc,GAAIV,EAAgB,CACzD,CACF,CAEJ,CAEA,IAAMoD,MAAiB,QAAMtE,GAAqC,EAAAuD,QAAA,cAACxD,GAAA,CAAS,GAAGC,EAAO,UAAW,GAAM,CAAE,EAEzGsE,GAAe,YAAc,iBAE7B,IAAOvD,MAAQ,QAAKhB,EAAO,EsCzP3B,IAAAwE,GAAsC,OACtCC,GAAe,QCDf,IAAAC,GAAA,CAQyB,MAAAC,IA8MM,kBAAAC,MDjNxB,IAAMC,GAAgB,iBAEd,SAARC,GAAuBC,EAA+D,CAC3F,IAAMC,EAAaC,EAAUC,EAAM,EAC7BC,EAAmBC,GAAoBF,EAAM,EACnD,OAAO,GAAAG,QAAA,cAAC,OAAI,aAAW,GAAAC,SAAGT,GAAeG,EAAW,MAAUG,CAAgB,GAAIJ,EAAM,QAAS,CACnG,CETe,SAARQ,GACLC,EAC8E,CAC9E,MAAO,CAAC,EAAEA,GAAYA,EAAS,KAAK,OAAS,WAAaA,EAAS,OAAS,WAAa,SAAUA,EACrG,CCLA,IAAAC,GAA4B,OCD5B,IAAAC,GAAA,CAA0B,yBAAAC,KAyBA,+BAAAC,MDlB1B,IAAMC,GAAuB,CAAC,CAAE,SAAAC,CAAS,IAAa,CACpD,IAAMC,EAAaC,EAAUC,EAAM,EAEnC,OACE,GAAAC,QAAA,cAAC,OAAI,UAAWH,EAAW,wBAAwB,EAAG,KAAK,aACzD,GAAAG,QAAA,cAAC,QAAK,UAAWH,EAAW,8BAA8B,GAAID,EAAS,IAAK,CAC9E,CAEJ,EAEAD,GAAqB,YAAc,uBAEnC,IAAOM,MAAQ,SAAKN,EAAoB,EpTLxC,GAAM,CAAE,cAAAO,EAAc,EAAI,cAIpBC,GAAoD,OAAO,OAAO,CACtE,IACEC,GACA,IAAIC,IAAS,CACX,IAAMC,EAAWD,EAAK,CAAC,GAAG,SAG1B,GAAIE,GAAyBD,CAAQ,EACnC,MAAO,IAAM,GAAAE,QAAA,cAACC,GAAA,CAAuB,SAAUH,EAAU,EAG3D,GAAII,GAAuBJ,CAAQ,EACjC,MAAO,IAAM,GAAAE,QAAA,cAACG,GAAA,CAAqB,SAAUL,EAAU,EAGzD,IAAMM,EAAiBR,EAAK,GAAGC,CAAI,EAEnC,OAAOO,IACH,IAAIP,IAAS,GAAAG,QAAA,cAACK,GAAA,CAAkB,SAAUP,GAAWM,EAAe,GAAGP,CAAI,CAAE,EAEnF,CACJ,CAAC,EAEKS,GAAoB,CAAC,IAAM,IAAM,IAAMC,EAAc,EAErDC,GAASC,GAAa,EAEtBC,GAAmC,OAAO,OAAO,CACrD,yBAA0B,kBAC5B,CAAC,EAEKC,GAAsB,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAU,QAAS,IAC1D,GAAAb,QAAA,cAACc,GAAA,CAAgB,QAASD,GACxB,GAAAb,QAAA,cAACe,GAAA,KACC,GAAAf,QAAA,cAACgB,GAAA,KACC,GAAAhB,QAAA,cAACN,GAAA,CACC,mBAAoBC,GACpB,kBAAmBW,GACnB,aAAcI,GACd,OAAQF,IAER,GAAAR,QAAA,cAAC,yBAAkBY,CAAS,CAC9B,CACF,CACF,CACF,EAGKK,MAAQ,SAAKN,EAAmB,EsTvDvCO,GACE,oCACA,gFACF,ECZC,WAAmB,QAAU,CAC5B,GAAI,WAAmB,QACvB,oBAAAC,GACA,QAAS,CACP,GAAI,WAAmB,SAAS,QAChC,GAAGC,CACL,CACF","names":["require_botframework_webchat_component","__commonJSMin","exports","module","require_decorator","__commonJSMin","exports","module","require_react","__commonJSMin","exports","module","require_classnames","__commonJSMin","exports","module","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","require_crypto","__commonJSMin","exports","module","global","require_browser","__commonJSMin","exports","module","crypto","max","u32","require_simple_update_in_production_min","__commonJSMin","exports","module","t","e","l","c","r","n","o","a","i","u","p","y","b","v","f","d","s","g","x","h","m","require_botframework_webchat_api","__commonJSMin","exports","module","require_global_this","__commonJSMin","exports","module","check","it","require_fails","__commonJSMin","exports","module","exec","require_function_bind_native","__commonJSMin","exports","module","fails","test","require_function_apply","__commonJSMin","exports","module","NATIVE_BIND","FunctionPrototype","apply","call","require_function_uncurry_this","__commonJSMin","exports","module","NATIVE_BIND","FunctionPrototype","call","uncurryThisWithBind","fn","require_classof_raw","__commonJSMin","exports","module","uncurryThis","toString","stringSlice","it","require_function_uncurry_this_clause","__commonJSMin","exports","module","classofRaw","uncurryThis","fn","require_is_callable","__commonJSMin","exports","module","documentAll","argument","require_descriptors","__commonJSMin","exports","module","fails","require_function_call","__commonJSMin","exports","module","NATIVE_BIND","call","require_object_property_is_enumerable","__commonJSMin","exports","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","__commonJSMin","exports","module","bitmap","value","require_indexed_object","__commonJSMin","exports","module","uncurryThis","fails","classof","$Object","split","it","require_is_null_or_undefined","__commonJSMin","exports","module","it","require_require_object_coercible","__commonJSMin","exports","module","isNullOrUndefined","$TypeError","it","require_to_indexed_object","__commonJSMin","exports","module","IndexedObject","requireObjectCoercible","it","require_is_object","__commonJSMin","exports","module","isCallable","it","require_path","__commonJSMin","exports","module","require_get_built_in","__commonJSMin","exports","module","path","globalThis","isCallable","aFunction","variable","namespace","method","require_object_is_prototype_of","__commonJSMin","exports","module","uncurryThis","require_environment_user_agent","__commonJSMin","exports","module","globalThis","navigator","userAgent","require_environment_v8_version","__commonJSMin","exports","module","globalThis","userAgent","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","__commonJSMin","exports","module","V8_VERSION","fails","globalThis","$String","symbol","require_use_symbol_as_uid","__commonJSMin","exports","module","NATIVE_SYMBOL","require_is_symbol","__commonJSMin","exports","module","getBuiltIn","isCallable","isPrototypeOf","USE_SYMBOL_AS_UID","$Object","it","$Symbol","require_try_to_string","__commonJSMin","exports","module","$String","argument","require_a_callable","__commonJSMin","exports","module","isCallable","tryToString","$TypeError","argument","require_get_method","__commonJSMin","exports","module","aCallable","isNullOrUndefined","V","P","func","require_ordinary_to_primitive","__commonJSMin","exports","module","call","isCallable","isObject","$TypeError","input","pref","fn","val","require_is_pure","__commonJSMin","exports","module","require_define_global_property","__commonJSMin","exports","module","globalThis","defineProperty","key","value","require_shared_store","__commonJSMin","exports","module","IS_PURE","globalThis","defineGlobalProperty","SHARED","store","require_shared","__commonJSMin","exports","module","store","key","value","require_to_object","__commonJSMin","exports","module","requireObjectCoercible","$Object","argument","require_has_own_property","__commonJSMin","exports","module","uncurryThis","toObject","hasOwnProperty","it","key","require_uid","__commonJSMin","exports","module","uncurryThis","id","postfix","toString","key","require_well_known_symbol","__commonJSMin","exports","module","globalThis","shared","hasOwn","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","__commonJSMin","exports","module","call","isObject","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","$TypeError","TO_PRIMITIVE","input","pref","exoticToPrim","result","require_to_property_key","__commonJSMin","exports","module","toPrimitive","isSymbol","argument","key","require_document_create_element","__commonJSMin","exports","module","globalThis","isObject","document","EXISTS","it","require_ie8_dom_define","__commonJSMin","exports","module","DESCRIPTORS","fails","createElement","require_object_get_own_property_descriptor","__commonJSMin","exports","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","O","P","require_is_forced","__commonJSMin","exports","module","fails","isCallable","replacement","isForced","feature","detection","value","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","__commonJSMin","exports","module","uncurryThis","aCallable","NATIVE_BIND","bind","fn","that","require_v8_prototype_define_bug","__commonJSMin","exports","module","DESCRIPTORS","fails","require_an_object","__commonJSMin","exports","module","isObject","$String","$TypeError","argument","require_object_define_property","__commonJSMin","exports","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$TypeError","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","O","P","Attributes","current","require_create_non_enumerable_property","__commonJSMin","exports","module","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","key","value","require_export","__commonJSMin","exports","module","globalThis","apply","uncurryThis","isCallable","getOwnPropertyDescriptor","isForced","path","bind","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","Wrapper","b","c","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","key","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","require_math_trunc","__commonJSMin","exports","module","ceil","floor","x","n","require_to_integer_or_infinity","__commonJSMin","exports","module","trunc","argument","number","require_to_absolute_index","__commonJSMin","exports","module","toIntegerOrInfinity","max","min","index","length","integer","require_to_length","__commonJSMin","exports","module","toIntegerOrInfinity","min","argument","len","require_length_of_array_like","__commonJSMin","exports","module","toLength","obj","require_array_includes","__commonJSMin","exports","module","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","length","index","value","require_hidden_keys","__commonJSMin","exports","module","require_object_keys_internal","__commonJSMin","exports","module","uncurryThis","hasOwn","toIndexedObject","indexOf","hiddenKeys","push","object","names","O","i","result","key","require_enum_bug_keys","__commonJSMin","exports","module","require_object_keys","__commonJSMin","exports","module","internalObjectKeys","enumBugKeys","O","require_object_define_properties","__commonJSMin","exports","DESCRIPTORS","V8_PROTOTYPE_DEFINE_BUG","definePropertyModule","anObject","toIndexedObject","objectKeys","O","Properties","props","keys","length","index","key","require_html","__commonJSMin","exports","module","getBuiltIn","require_shared_key","__commonJSMin","exports","module","shared","uid","keys","key","require_object_create","__commonJSMin","exports","module","anObject","definePropertiesModule","enumBugKeys","hiddenKeys","html","documentCreateElement","sharedKey","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","temp","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","NullProtoObject","length","O","Properties","result","require_es_object_create","__commonJSMin","$","DESCRIPTORS","create","require_create","__commonJSMin","exports","module","path","Object","P","D","require_create","__commonJSMin","exports","module","parent","require_create","__commonJSMin","exports","module","require_internal","__commonJSMin","exports","module","injectMeta","name","content","document","metaElement","createElement","setAttribute","head","appendChild","error","console","concat","import_botframework_webchat_component","import_decorator","import_react","import_classnames","import_react","import_react","import_react","import_react","createComposer","Provider","defaults","displayName","Composer","children","props","value","React","VariantContext","VariantComposer","createComposer","VariantComposer_default","useVariants","variant","VariantContext","createStyle","content","style","makeCreateStyles","contents","fluentStyleContent","createStyles_default","n","import_react","useStyles","styles","useMemo","baseClassName","resultClassName","useStyles_default","import_react","useVariantClassName","styles","classNames","f","variants","useVariants","variant","value","ActivityDecorator_default","activity-decorator","variant-fluent","variant-copilot","import_react","import_botframework_webchat_component","import_react","import_botframework_webchat_component","useStyleOptions","useActivityStyleOptions","activity","styleOptions","import_math_random","createSymbol","name","CANCEL","CHANNEL_END_TYPE","IO","SELF_CANCELLATION","createSymbol","TASK","TASK_CANCEL","TERMINATE","SAGA_LOCATION","_extends","n","e","t","undef","v","notUndef","func","f","string","s","array","promise","p","func","iterator","it","stringableFunc","f","func","symbol","sym","konst","v","kTrue","noop","assignWithSymbols","target","source","_extends","s","flatMap","mapper","arr","_ref","remove","array","item","index","kThrow","err","kReturn","value","makeIterator","next","thro","name","iterator","internalErr","err","createEmptyArray","n","shouldTerminate","res","TERMINATE","shouldCancel","TASK_CANCEL","shouldComplete","createAllStyleChildCallbacks","shape","parentCallback","keys","totalCount","completedCount","completed","results","array","createEmptyArray","childCallbacks","checkEnd","key","chCbAtKey","isErr","noop","getMetaInfo","fn","getLocation","instrumented","SAGA_LOCATION","BUFFER_OVERFLOW","ON_OVERFLOW_THROW","ON_OVERFLOW_SLIDE","ON_OVERFLOW_EXPAND","ringBuffer","limit","overflowAction","arr","length","pushIndex","popIndex","push","it","take","flush","items","doubledLimit","ON_OVERFLOW_THROW","BUFFER_OVERFLOW","ON_OVERFLOW_SLIDE","ON_OVERFLOW_EXPAND","expanding","initialSize","ringBuffer","ON_OVERFLOW_EXPAND","TAKE","PUT","ALL","RACE","CALL","CPS","FORK","JOIN","CANCEL","SELECT","ACTION_CHANNEL","CANCELLED","FLUSH","GET_CONTEXT","SET_CONTEXT","deferred","def","resolve","reject","redux_saga_deferred_esm_default","deferred","queue","semaphore","exec","task","suspend","release","asap","flush","immediately","array","patterns","input","p","matcher","predicate","_predicate","string","pattern","symbol","wildcard","kTrue","matcherCreator","stringableFunc","func","END","CHANNEL_END_TYPE","isEnd","a","CLOSED_CHANNEL_WITH_TAKERS","channel","buffer$1","expanding","closed","takers","checkForbiddenStates","internalErr","CLOSED_CHANNEL_WITH_TAKERS","put","input","cb","take","END","remove","flush","close","arr","i","len","taker","RUNNING","CANCELLED","ABORTED","DONE","resolvePromise","promise","cb","cancelPromise","CANCEL","func","error","current","nextSagaId","_effectRunnerMap","getIteratorMetaInfo","iterator","fn","getMetaInfo","createTaskIterator","_ref","context","args","result","resolved","next","arg","makeIterator","err","runPutEffect","env","_ref2","channel","action","resolve","asap","runTakeEffect","_ref3","_ref3$channel","pattern","maybe","takeCb","input","isEnd","TERMINATE","notUndef","matcher","runCallEffect","_ref4","_ref5","task","proc","runCPSEffect","_ref6","cpsCb","res","undef","runForkEffect","_ref7","_ref8","detached","parent","taskIterator","meta","immediately","child","runJoinEffect","taskOrTasks","_ref9","joinSingleTask","taskToJoin","joiner","remove","array","childCallbacks","createAllStyleChildCallbacks","t","i","cancelSingleTask","taskToCancel","runCancelEffect","_ref10","SELF_CANCELLATION","runAllEffect","effects","_ref11","digestEffect","effectId","keys","key","runRaceEffect","_ref12","response","createEmptyArray","childCbs","completed","chCbAtKey","isErr","shouldComplete","noop","runSelectEffect","_ref13","selector","state","runChannelEffect","_ref14","buffer","chan","match","taker","close","runCancelledEffect","data","_ref15","runFlushEffect","runGetContextEffect","prop","_ref16","runSetContextEffect","props","_ref17","assignWithSymbols","effectRunnerMap","TAKE","PUT","ALL","RACE","CALL","CPS","FORK","JOIN","SELECT","ACTION_CHANNEL","FLUSH","GET_CONTEXT","SET_CONTEXT","forkQueue","mainTask","onAbort","cont","tasks","addTask","getTasks","abort","cancelAll","formatLocation","fileName","lineNumber","effectLocationAsString","effect","location","getLocation","code","source","sagaLocationAsString","sagaMeta","name","cancelledTasksAsString","sagaStack","cancelledTasks","flatMap","crashedEffect","addSagaFrame","frame","clear","setCrashedEffect","toString","firstSaga","otherSagas","crashedEffectLocation","errorMessage","s","newTask","parentContext","parentEffectId","isRoot","_task","status","taskResult","taskError","deferredEnd","cancelledDueToErrorTasks","queue","end","cancel","TASK_CANCEL","setContext","toPromise","redux_saga_deferred_esm_default","TASK","iterator$1","finalRunEffect","runEffect","cancelMain","executingContext","shouldCancel","shouldTerminate","currCb","IO","effectRunner","label","effectSettled","RUN_SAGA_SIGNATURE","NON_GENERATOR_ERR","import_simple_update_in","ValiError","issues","BrandSymbol","actionIssue","context","reference","input","label","received","actionOutput","output","defaultArgs","arg1","arg2","store","getGlobalConfig","config","store","store2","getGlobalMessage","lang","store2","store3","getSchemaMessage","lang","store3","store4","getSpecificMessage","reference","lang","store4","i18n","schema","context","reference","config","issue","message","getSpecificMessage","getSchemaMessage","getGlobalMessage","schemaResult","typed","output","issues","stringify","input","type","pipeIssue","context","config","issue","received","schemaIssue2","i18n","pipeResult","action","result","actionIssue2","restAndDefaultArgs","arg1","arg2","arg3","error2","pipe2","defaultArgs","error","pipe","schemaIssue","context","reference","input","config","other","received","stringify","expected","issue","i18n","getFallback","schema","info","fallback","schema","fallback2","input","config","result","schemaResult","getFallback","getDefault","schema","array","item","arg2","arg3","message","pipe","defaultArgs","input","config","typed","issues","output","key","value2","result","pathItem","issue","pipeResult","schemaResult","schemaIssue","lazy","getter","input","config","literal","literal_","message","stringify","input","config","schemaResult","schemaIssue","number","arg1","arg2","message","pipe","defaultArgs","input","config","pipeResult","schemaIssue","object","entries","arg2","arg3","arg4","rest","message","pipe","restAndDefaultArgs","cachedEntries","input","config","typed","issues","output","key","schema","value2","result","pathItem","issue","pipeResult","schemaResult","schemaIssue","optional","wrapped","default_","input","config","override","getDefault","schemaResult","string","arg1","arg2","message","pipe","defaultArgs","input","config","pipeResult","schemaIssue","subissues","results","issues","result","issue","union","options","arg2","arg3","message","pipe","defaultArgs","option","input","config","validResult","untypedResults","typedResults","schema","pipeResult","firstResult","schemaIssue","unknown","pipe","input","config","pipeResult","parse","schema","input","config","result","getGlobalConfig","ValiError","transform","schema","action","arg1","input","config","result","pipeResult","integer","message","input","actionOutput","actionIssue","minValue","requirement","message","stringify","input","actionOutput","actionIssue","value","requirement","message","stringify","input","actionOutput","actionIssue","import_simple_update_in","InvalidTokenError","import_simple_update_in","types","other_default","types","standard_default","Mime","args","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","arg","typeMap","force","type","extensions","ext","__classPrivateFieldGet","allExtensions","first","extension","starred","currentType","path","last","hasPath","src_default","Mime_default","standard_default","other_default","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","R","test","require_function_apply","NATIVE_BIND","er","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","T","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","tr","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ir","$TypeError","require_to_indexed_object","IndexedObject","Ct","requireObjectCoercible","Tr","require_is_object","isCallable","q","require_path","require_get_built_in","path","Or","globalThis","c","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","$","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","Zr","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","re","require_is_symbol","getBuiltIn","j","isPrototypeOf","Sr","USE_SYMBOL_AS_UID","ee","$Symbol","require_try_to_string","require_a_callable","tryToString","nr","require_get_method","aCallable","w","P","func","require_ordinary_to_primitive","O","isObject","g","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","G","defineGlobalProperty","oi","SHARED","store","require_shared","ar","require_to_object","require_has_own_property","toObject","pi","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","oe","hasOwn","D","uid","ue","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","te","getMethod","mr","ordinaryToPrimitive","ti","wellKnownSymbol","b","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Si","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","C","createElement","le","require_object_get_own_property_descriptor","propertyIsEnumerableModule","It","createPropertyDescriptor","Jr","toIndexedObject","jt","toPropertyKey","ce","IE8_DOM_DEFINE","fe","$getOwnPropertyDescriptor","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","Kr","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","ji","anObject","A","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","gr","object","require_export","Wr","wi","pe","ur","createNonEnumerableProperty","sr","wrapConstructor","NativeConstructor","Wrapper","a","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_environment","userAgentStartsWith","require_environment_is_node","ENVIRONMENT","Ee","require_define_built_in","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","Ki","require_object_set_prototype_of","uncurryThisAccessor","Wi","aPossiblePrototype","Ji","CORRECT_SETTER","setter","proto","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","wr","CORRECT_ARGUMENTS","tryGet","tag","require_object_to_string","_r","require_set_to_string_tag","en","TAG","SET_METHOD","require_define_built_in_accessor","require_set_species","defineBuiltInAccessor","un","SPECIES","CONSTRUCTOR_NAME","Constructor","require_an_instance","Prototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","Se","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_a_constructor","isConstructor","Tn","require_species_constructor","aConstructor","Sn","defaultConstructor","S","require_html","require_array_slice","require_validate_arguments_length","passed","required","require_environment_is_ios","require_task","html","In","arraySlice","wn","validateArgumentsLength","_n","IS_IOS","me","IS_NODE","Pr","set","clear","Dispatch","Function","MessageChannel","String","counter","queue","ONREADYSTATECHANGE","$location","defer","channel","port","run","runner","eventListener","event","globalPostMessageDefer","handler","args","require_safe_get_built_in","require_queue","Queue","item","entry","tail","next","require_environment_is_ios_pebble","require_environment_is_webos_webkit","require_microtask","safeGetBuiltIn","Vn","macrotask","Ne","je","IS_IOS_PEBBLE","Hn","IS_WEBOS_WEBKIT","zn","MutationObserver","Promise","microtask","notify","toggle","node","promise","then","flush","parent","error","require_host_report_errors","require_perform","require_weak_map_basic_detection","WeakMap","require_shared_key","keys","require_hidden_keys","require_internal_state","NATIVE_WEAK_MAP","sa","sharedKey","la","hiddenKeys","pa","OBJECT_ALREADY_INITIALIZED","TypeError","get","has","enforce","getterFor","TYPE","state","metadata","STATE","require_promise_native_constructor","require_promise_constructor_detection","NativePromiseConstructor","J","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","resolve","FakePromise","constructor","require_new_promise_capability","PromiseCapability","reject","$$resolve","$$reject","require_es_promise_constructor","_","defineBuiltIn","Te","setPrototypeOf","Yi","setToStringTag","an","setSpecies","vn","anInstance","speciesConstructor","Rn","task","ta","hostReportErrors","na","perform","jr","InternalStateModule","da","PromiseConstructorDetection","z","newPromiseCapabilityModule","F","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","PromiseConstructor","PromisePrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","isThenable","callReaction","reaction","ok","domain","exited","onHandleUnhandled","isReject","reactions","onUnhandled","dispatchEvent","reason","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","require_iterators","require_is_array_iterator_method","Iterators","Xe","ITERATOR","ArrayPrototype","require_math_trunc","ceil","floor","x","n","require_to_integer_or_infinity","trunc","Ja","number","require_to_length","toIntegerOrInfinity","Ya","min","len","require_length_of_array_like","toLength","Xa","obj","require_get_iterator_method","require_get_iterator","getIteratorMethod","Ze","usingIterator","iteratorMethod","require_iterator_close","iterator","kind","innerResult","innerError","require_iterate","isArrayIteratorMethod","Ka","lengthOfArrayLike","ro","getIterator","no","iteratorClose","uo","Result","stopped","ResultPrototype","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","index","length","step","stop","condition","callFn","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_promise_statics_incorrect_iteration","checkCorrectnessOfIteration","ho","require_es_promise_all","iterate","rt","PROMISE_STATICS_INCORRECT_ITERATION","tt","capability","$promiseResolve","values","remaining","alreadyCalled","require_es_promise_catch","require_es_promise_race","require_es_promise_reject","r","capabilityReject","require_promise_resolve","promiseCapability","require_es_promise_resolve","promiseResolve","go","PromiseConstructorWrapper","CHECK_WRAPPER","require_es_promise","Va","To","So","bo","mo","wo","require_es_promise_with_resolvers","require_with_resolvers","Co","at","promiseWithResolvers","No","require_esnext_promise_with_resolvers","Do","Ao","Uo","Lo","import_with_resolvers","Yo","$o","CONNECT","CONNECT_FULFILLED","CONNECT_FULFILLING","CONNECT_PENDING","CONNECT_REJECTED","CONNECT_STILL_PENDING","DISCONNECT","DISCONNECT_PENDING","DISCONNECT_REJECTED","DISCONNECT_FULFILLED","POST_ACTIVITY","POST_ACTIVITY_FULFILLED","POST_ACTIVITY_IMPEDED","POST_ACTIVITY_PENDING","POST_ACTIVITY_REJECTED","ActivityClientState_exports","__export","SENDING","SEND_FAILED","SENT","DictateState_exports","DICTATING","IDLE","STARTING","STOPPING","WILL_START","RECONNECT","RECONNECT_FULFILLED","RECONNECT_FULFILLING","RECONNECT_PENDING","RECONNECT_REJECTED","streamSequenceSchema","number","integer","minValue","livestreamingActivitySchema","union","object","optional","string","literal","DEFAULT_STATE","EMPTY_ARRAY","DEFAULT_STATE","DEFAULT_STATE","getType","mime","orgSchemaProperty","schema","fallback","optional","union","transform","array","orgSchemaProperty_default","singularToArray","value","parse","orgSchemaProperties","thingEntries","string","lazy","action","thing","entries","object","unknown","parseThing","data","project","action","entries","thing","orgSchemaProperty_default","union","string","value","lazy","project","definedTerm","entries","thing","orgSchemaProperty_default","string","person","entries","object","orgSchemaProperty_default","string","creativeWork","thing","union","orgSchemaProperties","lazy","definedTerm","parseCreativeWork","data","parse","getOrgSchemaMessage","graph","messageEntity","entity","parseThing","message","parseCreativeWork","isAIGeneratedActivity","activity","Cn","import_react","useActivityAuthor","activity","entity","Cn","CopilotMessageHeader_default","copilot-message-header","copilot-message-header__avatar","copilot-message-header__title","copilot-message-header__ai-generated-content","useLocalizer","CopilotMessageHeader","activity","botAvatarImage","botAvatarBackgroundColor","useActivityStyleOptions","classNames","f","CopilotMessageHeader_default","localize","isAIGenerated","isAIGeneratedActivity","avatarStyle","author","useActivityAuthor","avatarImage","botTitle","React","ActivityDecorator","activity","children","classNames","f","ActivityDecorator_default","variants","useVariants","variantClassName","useVariantClassName","shouldRenderHeader","React","cx","CopilotMessageHeader_default","isPreChatMessageActivity","activity","Cn","import_botframework_webchat_component","import_classnames","import_react","PreChatMessageActivity_default","pre-chat-message-activity","pre-chat-message-activity__body","pre-chat-message-activity__body--blueprint","pre-chat-message-activity__body-avatar","pre-chat-message-activity__body-title","pre-chat-message-activity__body-subtitle","pre-chat-message-activity__toolbar","import_botframework_webchat_api","import_classnames","import_react","import_botframework_webchat_component","import_classnames","import_react","import_react","useRefFrom","value","ref","useRef","readOnlyRef","useMemo","_Object$create","current","get","testIds","testIds_default","StarterPromptsCardAction_default","pre-chat-message-activity__card-action-box","pre-chat-message-activity__card-action-image","blueprintAnimation","pre-chat-message-activity__card-action-subtitle","pre-chat-message-activity__card-action-title","useFocus","useRenderMarkdownAsHTML","useSendBoxValue","useUIState","MonochromeImageMasker","StarterPromptsCardAction","className","messageBackAction","_","setSendBoxValue","uiState","classNames","f","StarterPromptsCardAction_default","focus","inputTextRef","useRefFrom","renderMarkdownAsHTML","subtitleHTML","disabled","title","shouldShowBlueprint","handleClick","React","cx","testIds_default","StarterPromptsToolbar_default","pre-chat-message-activity__card-action-toolbar","webchat-container","pre-chat-message-activity__card-action-toolbar-grid","useUIState","StarterPromptsToolbar","cardActions","className","classNames","f","StarterPromptsToolbar_default","uiState","React","cx","StarterPromptsCardAction_default","card","cardAction","index","useLocalizer","useRenderMarkdownAsHTML","useUIState","PreChatMessageActivity","activity","uiState","classNames","f","PreChatMessageActivity_default","renderMarkdownAsHTML","localize","author","useActivityAuthor","html","React","cx","StarterPromptsToolbar_default","import_botframework_webchat_component","import_classnames","import_react","import_react","AddDocumentIcon","props","React","AddDocumentIcon_default","import_react","AttachmentIcon","props","React","AttachmentIcon_default","import_react","InfoSmallIcon","props","React","InfoSmallIcon_default","import_react","SendIcon","props","React","SendIcon_default","import_react","TelephoneKeypadIcon","props","React","TelephoneKeypadIcon_default","import_botframework_webchat_component","import_classnames","import_react","DropZone_default","sendbox__attachment-drop-zone","sendbox__attachment-drop-zone--droppable","sendbox__attachment-drop-zone-icon","useLocalizer","handleDragOver","event","isFilesTransferEvent","type","isDescendantOf","target","ancestor","current","DropZone","props","dropZoneState","setDropZoneState","classNames","f","DropZone_default","dropZoneRef","localize","onFilesAddedRef","useRefFrom","entranceCounter","handleDragEnter","handleDragLeave","handleDragEnd","handleDrop","React","cx","testIds_default","AddDocumentIcon_default","import_botframework_webchat_component","import_classnames","import_react","computeSuggestedActionText","cardAction","title","type","value","import_react","RovingFocusContext","RovingFocusProvider","props","activeItemIndexRef","itemRefsRef","updateItemTabIndex","current","index","setActiveItemIndex","valueOrFunction","nextActiveItemIndex","ref","handleFocus","event","target","handleSetNextActive","key","currentIndex","isUnidirectional","isVerticalMove","isHorizontalMove","isForwardMove","direction","itemIndices","_","nextIndex","handleKeyDown","itemEffector","value","React","useRovingFocusItemRef","itemIndex","rovingFocus_default","import_botframework_webchat_component","import_classnames","import_react","import_react","preventDefaultHandler","event","AccessibleButton","ariaHidden","children","className","dataTestId","disabled","onClick","tabIndex","forwardedRef","targetRef","React","AccessibleButton_default","SuggestedAction_default","suggested-action","suggested-action__image","useFocus","usePerformCardAction","useScrollToEnd","useStyleSet","useSuggestedActions","useUIState","SuggestedAction","buttonText","className","displayText","image","imageAlt","itemIndex","text","type","value","_","setSuggestedActions","suggestedActionStyleSet","uiState","focus","focusRef","useRovingFocusItemRef","performCardAction","classNames","f","SuggestedAction_default","scrollToEnd","handleClick","target","React","AccessibleButton_default","cx","testIds_default","SuggestedActions_default","suggested-actions","suggested-actions--flow","suggested-actions--stacked","useFocus","useLocalizer","useStyleOptions","useStyleSet","useSuggestedActions","useUIState","SuggestedActionStackedOrFlowContainer","props","suggestedActionLayout","suggestedActionsStyleSet","uiState","classNames","f","SuggestedActions_default","React","cx","SuggestedActions","localize","suggestedActions","_","activity","focus","handleEscapeKey","children","isPreChatMessageActivity","cardAction","index","displayText","image","imageAltText","text","type","value","SuggestedAction_default","computeSuggestedActionText","rovingFocus_default","import_react","import_react","Context","Context_default","Provider","children","shown","setShown","context","React","Context_default","Provider_default","import_react","import_botframework_webchat_component","import_classnames","import_react","import_react","Button_default","telephone-keypad__button","telephone-keypad__button__ruby","telephone-keypad__button__text","telephone-keypad--horizontal","Button","button","dataTestId","onClick","ruby","ref","classNames","f","Button_default","onClickRef","useRefFrom","handleClick","React","import_react","useShown","setShown","shown","Context_default","TelephoneKeypad_default","telephone-keypad","telephone-keypad__box","telephone-keypad__info-message","telephone-keypad__info-message-link","LocalizedString","Orientation","children","isHorizontal","classNames","f","TelephoneKeypad_default","React","TelephoneKeypad","autoFocus","className","onButtonClick","autoFocusRef","useRefFrom","firstButtonRef","onButtonClickRef","setShown","useShown","handleButton1Click","handleButton2Click","handleButton3Click","handleButton4Click","handleButton5Click","handleButton6Click","handleButton7Click","handleButton8Click","handleButton9Click","handleButton0Click","handleButtonStarClick","handleButtonPoundClick","handleKeyDown","event","cx","Button_default","testIds_default","InfoSmallIcon_default","TelephoneKeypadSurrogate","props","useShown","React","TelephoneKeypad_default","Surrogate_default","import_botframework_webchat_component","import_react","import_botframework_webchat_api","import_classnames","import_react","Toolbar_default","sendbox__toolbar","sendbox__toolbar-button","sendbox__toolbar-button--selected","sendbox__toolbar-separator","useUIState","preventDefaultHandler","event","ToolbarButton","props","classNames","f","Toolbar_default","uiState","disabled","React","cx","Toolbar","ToolbarSeparator","AddAttachmentButton_default","sendbox__add-attachment","sendbox__add-attachment-input","useLocalizer","useStyleOptions","AddAttachmentButton","props","inputRef","classNames","f","AddAttachmentButton_default","localize","uploadAccept","uploadMultiple","onFilesAddedRef","useRefFrom","handleClick","handleFileChange","files","React","ToolbarButton","testIds_default","AttachmentIcon_default","import_botframework_webchat_component","import_classnames","import_react","Attachments_default","sendbox__attachment","useLocalizer","useUIState","attachmentsPluralStringIds","Attachments","attachments","className","uiState","classNames","f","Attachments_default","localizeWithPlural","React","cx","import_internal","import_react","ErrorMessage_default","sendbox__error-message","ErrorMessage","error","id","classNames","f","ErrorMessage_default","React","import_botframework_webchat_component","import_react","useConnectivityStatus","useLocalizer","useSubmitError","attachments","message","connectivityStatus","error","setError","localize","submitErrorRef","useRefFrom","errorMessageStringMap","hasValue","commitLatestError","useSubmitError_default","import_react","import_botframework_webchat_component","useScrollDown","useScrollUp","useTranscriptNavigation","scrollDown","scrollUp","event","ctrlKey","metaKey","shiftKey","handled","import_react","useUniqueId","prefix","id","SendBox_default","sendbox","variant-copilot","sendbox__text-counter","sendbox__text-counter--error","sendbox__sendbox","sendbox__attachment--in-grid","sendbox__text-area--in-grid","sendbox__sendbox-controls--in-grid","sendbox__telephone-keypad--in-grid","sendbox__sendbox-text","sendbox__sendbox-controls","import_react","import_botframework_webchat_component","useLocalizer","TelephoneKeypadToolbarButton","telephoneKeypadShown","setTelephoneKeypadShown","useShown","localize","handleClick","shown","React","ToolbarButton","testIds_default","TelephoneKeypadIcon_default","TelephoneKeypadToolbarButton_default","import_botframework_webchat_api","import_classnames","import_react","TextArea_default","sendbox__text-area","sendbox__text-area--hidden","sendbox__text-area-shared","sendbox__text-area-doppelganger","sendbox__text-area-input","sendbox__text-area-input--scroll","useUIState","TextArea","props","ref","uiState","classNames","f","TextArea_default","disabled","handleKeyDown","event","React","cx","useFocus","useLocalizer","useMakeThumbnail","useRegisterFocusSendBox","useSendBoxAttachments","useSendBoxValue","useSendMessage","useStyleOptions","useUIState","SendBox","props","hideTelephoneKeypadButton","hideUploadButton","maxMessageLength","attachments","setAttachments","globalMessage","setGlobalMessage","localMessage","setLocalMessage","telephoneKeypadShown","useShown","uiState","classNames","f","SendBox_default","variantClassName","useVariantClassName","errorMessageId","useUniqueId","inputRef","localize","makeThumbnail","sendMessage","setFocus","message","setMessage","isBlueprint","errorMessage","commitLatestError","useSubmitError_default","isMessageLengthExceeded","shouldShowMessageLength","shouldShowTelephoneKeypad","noKeyboard","waitUntil","previousReadOnly","resolve","attachmentsRef","useRefFrom","messageRef","handleSendBoxClick","event","handleMessageChange","handleAddFiles","inputFiles","newAttachments","file","thumbnailURL","handleFormSubmit","handleTelephoneKeypadButtonClick","dtmf","handleTranscriptNavigation","useTranscriptNavigation","aria","React","cx","testIds_default","SuggestedActions_default","TextArea_default","Surrogate_default","Attachments_default","Toolbar","TelephoneKeypadToolbarButton_default","AddAttachmentButton_default","ToolbarSeparator","ToolbarButton","SendIcon_default","DropZone_default","ErrorMessage_default","PrimarySendBox","import_react","import_classnames","Theme_default","theme","variant-copilot","rootClassName","Theme","props","classNames","f","Theme_default","variantClassName","useVariantClassName","React","cx","isLinerMessageActivity","activity","import_react","LinerMessageActivity_default","liner-message-activity","liner-message-activity__text","LinerMessageActivity","activity","classNames","f","LinerMessageActivity_default","React","LinerActivity_default","ThemeProvider","activityMiddleware","next","args","activity","isPreChatMessageActivity","React","PreChatMessageActivity_default","isLinerMessageActivity","LinerActivity_default","renderActivity","ActivityDecorator_default","sendBoxMiddleware","PrimarySendBox","styles","createStyles_default","fluentStyleOptions","FluentThemeProvider","children","variant","VariantComposer_default","Theme","Provider_default","FluentThemeProvider_default","injectMeta","FluentThemeProvider_default","testIds_default"]}
1
+ {"version":3,"sources":["../src/external.umd/botframework-webchat-component/index.ts","../src/external.umd/botframework-webchat-component/decorator.ts","../src/external.umd/react.ts","../../../node_modules/classnames/index.js","../../../node_modules/math-random/browser/crypto.js","../../../node_modules/math-random/browser/index.js","../../../node_modules/simple-update-in/dist/simple-update-in.production.min.js","../src/external.umd/botframework-webchat-api/index.ts","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-absolute-index.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/array-includes.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/object-keys-internal.js","../../../node_modules/core-js-pure/internals/enum-bug-keys.js","../../../node_modules/core-js-pure/internals/object-keys.js","../../../node_modules/core-js-pure/internals/object-define-properties.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/object-create.js","../../../node_modules/core-js-pure/modules/es.object.create.js","../../../node_modules/core-js-pure/es/object/create.js","../../../node_modules/core-js-pure/stable/object/create.js","../../../node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","../src/external.umd/botframework-webchat-component/internal.ts","../../../node_modules/inject-meta-tag/src/injectMetaTag.ts","../src/private/FluentThemeProvider.tsx","../src/components/activity/ActivityDecorator.tsx","../src/private/useVariants.ts","../src/private/VariantComposer.ts","../src/private/createComposer.tsx","../../styles/src/private/makeCreateStyles.ts","../src/styles/createStyles.ts","../../styles/src/react/private/useStyles.ts","../src/styles/useVariantClassName.ts","../src/components/activity/ActivityDecorator.module.css","../src/components/activity/CopilotMessageHeader.tsx","../src/components/activity/private/useActivityStyleOptions.ts","../../../node_modules/core-js-pure/internals/global-this.js","../../../node_modules/core-js-pure/internals/fails.js","../../../node_modules/core-js-pure/internals/function-bind-native.js","../../../node_modules/core-js-pure/internals/function-apply.js","../../../node_modules/core-js-pure/internals/function-uncurry-this.js","../../../node_modules/core-js-pure/internals/classof-raw.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-clause.js","../../../node_modules/core-js-pure/internals/is-callable.js","../../../node_modules/core-js-pure/internals/descriptors.js","../../../node_modules/core-js-pure/internals/function-call.js","../../../node_modules/core-js-pure/internals/object-property-is-enumerable.js","../../../node_modules/core-js-pure/internals/create-property-descriptor.js","../../../node_modules/core-js-pure/internals/indexed-object.js","../../../node_modules/core-js-pure/internals/is-null-or-undefined.js","../../../node_modules/core-js-pure/internals/require-object-coercible.js","../../../node_modules/core-js-pure/internals/to-indexed-object.js","../../../node_modules/core-js-pure/internals/is-object.js","../../../node_modules/core-js-pure/internals/path.js","../../../node_modules/core-js-pure/internals/get-built-in.js","../../../node_modules/core-js-pure/internals/object-is-prototype-of.js","../../../node_modules/core-js-pure/internals/environment-user-agent.js","../../../node_modules/core-js-pure/internals/environment-v8-version.js","../../../node_modules/core-js-pure/internals/symbol-constructor-detection.js","../../../node_modules/core-js-pure/internals/use-symbol-as-uid.js","../../../node_modules/core-js-pure/internals/is-symbol.js","../../../node_modules/core-js-pure/internals/try-to-string.js","../../../node_modules/core-js-pure/internals/a-callable.js","../../../node_modules/core-js-pure/internals/get-method.js","../../../node_modules/core-js-pure/internals/ordinary-to-primitive.js","../../../node_modules/core-js-pure/internals/is-pure.js","../../../node_modules/core-js-pure/internals/define-global-property.js","../../../node_modules/core-js-pure/internals/shared-store.js","../../../node_modules/core-js-pure/internals/shared.js","../../../node_modules/core-js-pure/internals/to-object.js","../../../node_modules/core-js-pure/internals/has-own-property.js","../../../node_modules/core-js-pure/internals/uid.js","../../../node_modules/core-js-pure/internals/well-known-symbol.js","../../../node_modules/core-js-pure/internals/to-primitive.js","../../../node_modules/core-js-pure/internals/to-property-key.js","../../../node_modules/core-js-pure/internals/document-create-element.js","../../../node_modules/core-js-pure/internals/ie8-dom-define.js","../../../node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","../../../node_modules/core-js-pure/internals/is-forced.js","../../../node_modules/core-js-pure/internals/function-bind-context.js","../../../node_modules/core-js-pure/internals/v8-prototype-define-bug.js","../../../node_modules/core-js-pure/internals/an-object.js","../../../node_modules/core-js-pure/internals/object-define-property.js","../../../node_modules/core-js-pure/internals/create-non-enumerable-property.js","../../../node_modules/core-js-pure/internals/export.js","../../../node_modules/core-js-pure/internals/environment.js","../../../node_modules/core-js-pure/internals/environment-is-node.js","../../../node_modules/core-js-pure/internals/define-built-in.js","../../../node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","../../../node_modules/core-js-pure/internals/is-possible-prototype.js","../../../node_modules/core-js-pure/internals/a-possible-prototype.js","../../../node_modules/core-js-pure/internals/object-set-prototype-of.js","../../../node_modules/core-js-pure/internals/to-string-tag-support.js","../../../node_modules/core-js-pure/internals/classof.js","../../../node_modules/core-js-pure/internals/object-to-string.js","../../../node_modules/core-js-pure/internals/set-to-string-tag.js","../../../node_modules/core-js-pure/internals/define-built-in-accessor.js","../../../node_modules/core-js-pure/internals/set-species.js","../../../node_modules/core-js-pure/internals/an-instance.js","../../../node_modules/core-js-pure/internals/inspect-source.js","../../../node_modules/core-js-pure/internals/is-constructor.js","../../../node_modules/core-js-pure/internals/a-constructor.js","../../../node_modules/core-js-pure/internals/species-constructor.js","../../../node_modules/core-js-pure/internals/html.js","../../../node_modules/core-js-pure/internals/array-slice.js","../../../node_modules/core-js-pure/internals/validate-arguments-length.js","../../../node_modules/core-js-pure/internals/environment-is-ios.js","../../../node_modules/core-js-pure/internals/task.js","../../../node_modules/core-js-pure/internals/safe-get-built-in.js","../../../node_modules/core-js-pure/internals/queue.js","../../../node_modules/core-js-pure/internals/environment-is-ios-pebble.js","../../../node_modules/core-js-pure/internals/environment-is-webos-webkit.js","../../../node_modules/core-js-pure/internals/microtask.js","../../../node_modules/core-js-pure/internals/host-report-errors.js","../../../node_modules/core-js-pure/internals/perform.js","../../../node_modules/core-js-pure/internals/weak-map-basic-detection.js","../../../node_modules/core-js-pure/internals/shared-key.js","../../../node_modules/core-js-pure/internals/hidden-keys.js","../../../node_modules/core-js-pure/internals/internal-state.js","../../../node_modules/core-js-pure/internals/promise-native-constructor.js","../../../node_modules/core-js-pure/internals/promise-constructor-detection.js","../../../node_modules/core-js-pure/internals/new-promise-capability.js","../../../node_modules/core-js-pure/modules/es.promise.constructor.js","../../../node_modules/core-js-pure/internals/iterators.js","../../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../../node_modules/core-js-pure/internals/math-trunc.js","../../../node_modules/core-js-pure/internals/to-integer-or-infinity.js","../../../node_modules/core-js-pure/internals/to-length.js","../../../node_modules/core-js-pure/internals/length-of-array-like.js","../../../node_modules/core-js-pure/internals/get-iterator-method.js","../../../node_modules/core-js-pure/internals/get-iterator.js","../../../node_modules/core-js-pure/internals/iterator-close.js","../../../node_modules/core-js-pure/internals/iterate.js","../../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../../node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","../../../node_modules/core-js-pure/modules/es.promise.all.js","../../../node_modules/core-js-pure/modules/es.promise.catch.js","../../../node_modules/core-js-pure/modules/es.promise.race.js","../../../node_modules/core-js-pure/modules/es.promise.reject.js","../../../node_modules/core-js-pure/internals/promise-resolve.js","../../../node_modules/core-js-pure/modules/es.promise.resolve.js","../../../node_modules/core-js-pure/modules/es.promise.js","../../../node_modules/core-js-pure/modules/es.promise.with-resolvers.js","../../../node_modules/core-js-pure/es/promise/with-resolvers.js","../../../node_modules/core-js-pure/stable/promise/with-resolvers.js","../../../node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","../../../node_modules/core-js-pure/actual/promise/with-resolvers.js","../../../node_modules/core-js-pure/full/promise/with-resolvers.js","../../../node_modules/core-js-pure/features/promise/with-resolvers.js","../../base/src/utils/withResolvers.ts","../../core/src/actions/clearSuggestedActions.ts","../../core/src/actions/connect.ts","../../core/src/actions/disconnect.ts","../../core/src/actions/dismissNotification.ts","../../core/src/actions/emitTypingIndicator.ts","../../core/src/actions/markActivity.ts","../../core/src/actions/postActivity.ts","../../core/src/actions/sendEvent.ts","../../core/src/actions/sendFiles.ts","../../core/src/actions/sendMessage.ts","../../core/src/actions/sendMessageBack.ts","../../core/src/actions/sendPostBack.ts","../../core/src/actions/setDictateInterims.ts","../../core/src/actions/setDictateState.ts","../../core/src/actions/setLanguage.ts","../../core/src/utils/uniqueID.ts","../../core/src/actions/setNotification.ts","../../core/src/actions/setSendBox.ts","../../core/src/actions/setSendBoxAttachments.ts","../../core/src/actions/setSendTimeout.ts","../../core/src/actions/setSendTypingIndicator.ts","../../core/src/actions/startDictate.ts","../../core/src/actions/startSpeakingActivity.ts","../../core/src/actions/stopDictate.ts","../../core/src/actions/stopSpeakingActivity.ts","../../core/src/actions/submitSendBox.ts","../../core/src/constants/ActivityClientState.js","../../core/src/constants/DictateState.js","../../core/src/createStore.ts","../../core/src/createReducer.ts","../../core/src/actions/reconnect.ts","../../core/src/actions/sagaError.ts","../../core/src/reducers/connectivityStatus.js","../../core/src/reducers/createActivitiesReducer.ts","../../core/src/actions/deleteActivity.ts","../../core/src/actions/incomingActivity.ts","../../core/src/types/internal/SendStatus.ts","../../core/src/utils/getActivityLivestreamingMetadata.ts","../../core/src/reducers/private/findBeforeAfter.ts","../../core/src/reducers/createInternalReducer.ts","../../core/src/reducers/createNotificationsReducer.ts","../../core/src/utils/isForbiddenPropertyName.ts","../../core/src/reducers/createTypingReducer.ts","../../core/src/reducers/dictateInterims.js","../../core/src/reducers/dictateState.js","../../core/src/reducers/language.js","../../core/src/actions/connectionStatusUpdate.ts","../../core/src/reducers/readyState.js","../../core/src/actions/setReferenceGrammarID.js","../../core/src/reducers/referenceGrammarID.js","../../core/src/reducers/sendBoxAttachments.ts","../../core/src/reducers/sendBoxValue.js","../../core/src/reducers/sendTimeout.js","../../core/src/reducers/sendTypingIndicator.js","../../core/src/reducers/shouldSpeakIncomingActivity.js","../../core/src/actions/setSuggestedActions.ts","../../core/src/reducers/suggestedActions.js","../../core/src/reducers/suggestedActionsOriginActivity.ts","../../core/src/createSagas.ts","../../core/src/sagas/clearSuggestedActionsOnPostActivitySaga.js","../../core/src/sagas/effects/whileConnected.ts","../../core/src/sagas/connectionStatusToNotificationSaga.js","../../core/src/createPromiseQueue.js","../../core/src/sagas/connectionStatusUpdateSaga.js","../../core/src/sagas/effects/observeEach.js","../../core/src/sagas/connectSaga.js","../../core/src/sagas/effects/forkPut.js","../../core/src/actions/updateConnectionStatus.ts","../../core/src/sagas/detectSlowConnectionSaga.ts","../../core/src/utils/sleep.ts","../../core/src/sagas/emitTypingIndicatorToPostActivitySaga.js","../../core/src/sagas/markAllAsSpokenOnStopSpeakActivitySaga.js","../../core/src/selectors/activities.ts","../../core/src/definitions/speakingActivity.js","../../core/src/sagas/observeActivitySaga.ts","../../core/src/actions/queueIncomingActivity.ts","../../core/src/sagas/postActivitySaga.ts","../../core/src/utils/dateToLocaleISOString.ts","../../core/src/utils/deleteKey.ts","../../core/src/selectors/language.ts","../../core/src/sagas/effects/observeOnce.ts","../../core/src/selectors/sendTimeout.ts","../../core/src/sagas/queueIncomingActivitySaga.ts","../../core/src/definitions/activityFromBot.js","../../core/src/sagas/sendEventToPostActivitySaga.js","../../core/src/sagas/sendFilesToPostActivitySaga.js","../../core/src/sagas/sendMessageBackToPostActivitySaga.js","../../core/src/sagas/sendMessageToPostActivitySaga.ts","../../core/src/sagas/sendPostBackToPostActivitySaga.js","../../core/src/sagas/sendTypingIndicatorOnSetSendBoxSaga.ts","../../core/src/selectors/sendTypingIndicator.ts","../../core/src/sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga.js","../../core/src/selectors/shouldSpeakIncomingActivity.ts","../../core/src/definitions/speakableActivity.js","../../core/src/sagas/startDictateOnSpeakCompleteSaga.js","../../core/src/selectors/dictateState.ts","../../core/src/sagas/startSpeakActivityOnPostActivitySaga.js","../../core/src/sagas/stopDictateOnCardActionSaga.js","../../core/src/sagas/stopSpeakingActivityOnInputSaga.js","../../core/src/sagas/submitSendBoxSaga.js","../../core/src/selectors/sendBoxAttachments.ts","../../core/src/selectors/sendBoxValue.ts","../../core/src/types/external/OrgSchema/Action.ts","../../core/src/types/external/OrgSchema/private/orgSchemaProperty.ts","../../core/src/types/external/OrgSchema/Project.ts","../../core/src/types/external/OrgSchema/Thing.ts","../../core/src/types/external/OrgSchema/private/orgSchemaProperties.ts","../../core/src/types/external/OrgSchema/Claim.ts","../../core/src/types/external/OrgSchema/CreativeWork.ts","../../core/src/types/external/OrgSchema/DefinedTerm.ts","../../core/src/types/external/OrgSchema/VoteAction.ts","../../core/src/utils/getOrgSchemaMessage.ts","../../core/src/utils/onErrorResumeNext.ts","../../core/src/utils/singleToArray.ts","../../core/src/utils/once.ts","../../core/src/utils/warnOnce.ts","../../core/src/index.ts","../../../node_modules/@redux-saga/symbols/dist/redux-saga-symbols.esm.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/@redux-saga/is/dist/redux-saga-is.esm.js","../../../node_modules/@redux-saga/core/dist/io-22ea0cf9.js","../../../node_modules/@redux-saga/deferred/dist/redux-saga-deferred.esm.js","../../../node_modules/@redux-saga/core/dist/redux-saga-core.esm.js","../../../node_modules/valibot/dist/index.js","../../../node_modules/jwt-decode/build/esm/index.js","../../core/node_modules/mime/types/other.ts","../../core/node_modules/mime/types/standard.ts","../../core/node_modules/mime/src/Mime.ts","../../core/node_modules/mime/src/index.ts","../src/components/activity/private/isAIGeneratedActivity.ts","../src/components/activity/private/useActivityAuthor.ts","../src/components/activity/CopilotMessageHeader.module.css","../src/components/preChatActivity/isPreChatMessageActivity.ts","../src/components/preChatActivity/PreChatMessageActivity.tsx","../src/components/preChatActivity/PreChatMessageActivity.module.css","../src/components/preChatActivity/StarterPromptsToolbar.tsx","../src/components/preChatActivity/StarterPromptsCardAction.tsx","../../../node_modules/use-ref-from/src/useRefFrom.ts","../src/testIds.ts","../src/components/preChatActivity/StarterPromptsCardAction.module.css","../src/components/preChatActivity/StarterPromptsToolbar.module.css","../src/components/sendBox/SendBox.tsx","../src/icons/AddDocumentIcon.tsx","../src/icons/AttachmentIcon.tsx","../src/icons/InfoSmallIcon.tsx","../src/icons/SendIcon.tsx","../src/icons/TelephoneKeypadIcon.tsx","../src/components/dropZone/DropZone.tsx","../src/components/dropZone/DropZone.module.css","../src/components/suggestedActions/SuggestedActions.tsx","../src/components/suggestedActions/private/computeSuggestedActionText.ts","../src/components/suggestedActions/private/rovingFocus.tsx","../src/components/suggestedActions/SuggestedAction.tsx","../src/components/suggestedActions/AccessibleButton.tsx","../src/components/suggestedActions/SuggestedAction.module.css","../src/components/suggestedActions/SuggestedActions.module.css","../src/components/telephoneKeypad/Provider.tsx","../src/components/telephoneKeypad/private/Context.ts","../src/components/telephoneKeypad/Surrogate.tsx","../src/components/telephoneKeypad/private/TelephoneKeypad.tsx","../src/components/telephoneKeypad/private/Button.tsx","../src/components/telephoneKeypad/private/Button.module.css","../src/components/telephoneKeypad/useShown.ts","../src/components/telephoneKeypad/private/TelephoneKeypad.module.css","../src/components/sendBox/AddAttachmentButton.tsx","../src/components/sendBox/Toolbar.tsx","../src/components/sendBox/Toolbar.module.css","../src/components/sendBox/AddAttachmentButton.module.css","../src/components/sendBox/Attachments.tsx","../src/components/sendBox/Attachments.module.css","../src/components/sendBox/ErrorMessage.tsx","../src/components/sendBox/ErrorMessage.module.css","../src/components/sendBox/private/useSubmitError.ts","../src/components/sendBox/private/useTranscriptNavigation.ts","../src/components/sendBox/private/useUniqueId.ts","../src/components/sendBox/SendBox.module.css","../src/components/sendBox/TelephoneKeypadToolbarButton.tsx","../src/components/sendBox/TextArea.tsx","../src/components/sendBox/TextArea.module.css","../src/components/theme/Theme.tsx","../src/components/theme/Theme.module.css","../src/components/linerActivity/private/isLinerMessageActivity.ts","../src/components/linerActivity/private/LinerActivity.tsx","../src/components/linerActivity/private/LinerMessageActivity.module.css","../src/index.ts","../src/bundle.ts"],"sourcesContent":["module.exports = {\n Components: (globalThis as any).WebChat.Components,\n hooks: (globalThis as any).WebChat.hooks\n};\n","module.exports = (globalThis as any).WebChat.decorator;\n","module.exports = (globalThis as any).React;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var global = typeof window !== 'undefined' ? window : self\nmodule.exports = global.crypto || global.msCrypto\n","module.exports = (function (crypto) {\n if (!crypto) return Math.random\n\n var max = Math.pow(2, 32)\n var u32 = new Uint32Array(1)\n\n return function random () {\n return crypto.getRandomValues(u32)[0] / max\n }\n})(require('./crypto'))\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).simpleUpdateIn=e()}(this,function(){\"use strict\";function l(t){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function c(t,e,r,n,o,a,i){try{var u=t[a](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function t(u){return function(){var t=this,i=arguments;return new Promise(function(e,r){var n=u.apply(t,i);function o(t){c(n,e,r,o,a,\"next\",t)}function a(t){c(n,e,r,o,a,\"throw\",t)}o(void 0)})}}function p(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(e,t){var r,n=Object.keys(e);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(e),t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)),n}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){p(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function b(t){return function(t){if(Array.isArray(t))return t}(t)||e(t)||u(t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(t){return function(t){if(Array.isArray(t))return o(t)}(t)||e(t)||u(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}function u(t,e){if(t){if(\"string\"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t){if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=u(t))){var e=0,r=function(){};return{s:r,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var n,o,a=!0,i=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}var d=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};function r(t,e,r){s(e);var n,o=f(function t(e,r){if(!r.length)return;var n=b(r),o=n[0],a=n.slice(1);if(\"function\"==typeof o){var i=[];if(Array.isArray(e))for(var u=0,c=e.length;u<c;u++)o.call(e,e[u],u)&&i.push.apply(i,v(t(e,[u].concat(v(a)))));else for(var f in e||{})o.call(e,e[f],f)&&i.push.apply(i,v(t(e,[f].concat(v(a)))));return i}var s=t(void 0!==e&&e[o],a);return s?s.map(function(t){return[o].concat(v(t))}):[[o]]}(t,e));try{for(o.s();!(n=o.n()).done;){var a=n.value;t=g(t,a,r?r(x(t,a)):void 0)}}catch(t){o.e(t)}finally{o.f()}return t}function a(){return(a=t(regeneratorRuntime.mark(function t(e,r,n){var o,a,i,u;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s(r),t.next=3,h(e,r);case 3:o=t.sent,a=f(o),t.prev=5,a.s();case 7:if((i=a.n()).done){t.next=23;break}if(u=i.value,t.t0=g,t.t1=e,t.t2=u,n)return t.next=15,n(x(e,u));t.next=18;break;case 15:t.t3=t.sent,t.next=19;break;case 18:t.t3=void 0;case 19:t.t4=t.t3,e=(0,t.t0)(t.t1,t.t2,t.t4);case 21:t.next=7;break;case 23:t.next=28;break;case 25:t.prev=25,t.t5=t.catch(5),a.e(t.t5);case 28:return t.prev=28,a.f(),t.finish(28);case 31:return t.abrupt(\"return\",e);case 32:case\"end\":return t.stop()}},t,null,[[5,25,28,31]])}))).apply(this,arguments)}function s(t){if(!Array.isArray(t))throw new Error(\"path must be an array\")}r.updateInAsync=function(t,e,r){return a.apply(this,arguments)};var m=[\"__proto__\",\"constructor\",\"prototype\"];function h(){return i.apply(this,arguments)}function i(){return(i=t(regeneratorRuntime.mark(function t(e,r){var n,o,a,i,u,c,f,s;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r.length){t.next=2;break}return t.abrupt(\"return\");case 2:if(n=b(r),o=n[0],a=n.slice(1),\"function\"!=typeof o){t.next=43;break}if(i=[],!Array.isArray(e)){t.next=25;break}u=0,c=e.length;case 7:if(u<c)return t.next=10,o.call(e,e[u],u);t.next=23;break;case 10:if(t.t0=t.sent,t.t0)return t.t1=i.push,t.t2=i,t.t3=v,t.next=17,h(e,[u].concat(v(a)));t.next=20;break;case 17:t.t4=t.sent,t.t5=(0,t.t3)(t.t4),t.t1.apply.call(t.t1,t.t2,t.t5);case 20:u++,t.next=7;break;case 23:t.next=42;break;case 25:t.t6=regeneratorRuntime.keys(e||{});case 26:if((t.t7=t.t6()).done){t.next=42;break}return f=t.t7.value,t.next=30,o.call(e,e[f],f);case 30:if(t.t8=t.sent,t.t8)return t.t9=i.push,t.t10=i,t.t11=v,t.next=37,h(e,[f].concat(v(a)));t.next=40;break;case 37:t.t12=t.sent,t.t13=(0,t.t11)(t.t12),t.t9.apply.call(t.t9,t.t10,t.t13);case 40:t.next=26;break;case 42:return t.abrupt(\"return\",i);case 43:return t.next=45,h(void 0!==e&&e[o],a);case 45:return s=t.sent,t.abrupt(\"return\",s?s.map(function(t){return[o].concat(v(t))}):[[o]]);case 47:case\"end\":return t.stop()}},t)}))).apply(this,arguments)}function x(t,e){return e.reduce(function(t,e){return t&&t[e]},t)}function g(t,e,r){if(!e.length)return r;var n,o=b(e),a=o[0],i=o.slice(1),u=void 0!==t&&t[a],c=t;if(n=a,m.includes(n))return t;if(\"string\"!=typeof a||\"object\"===l(c)&&!Array.isArray(c)?\"number\"!=typeof a||Array.isArray(c)||(c=[]):c={},\"number\"==typeof a){var f=g(u,i,r);return void 0===f?void 0===t?t:(a in c&&(c=v(c)).splice(a,1),c):d(f,u)?t:((c=v(c))[a]=f,c)}var s=g(u,i,r);return void 0===s?void 0===t?t:(a in c&&delete(c=y({},c))[a],c):d(s,u)?t:y(y({},c),{},p({},a,s))}return r});\n","module.exports = {\n hooks: (globalThis as any).WebChat.hooks\n};\n","'use strict';\nvar 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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.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 uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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 -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\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","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar 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","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\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.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\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) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\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","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\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++], props[key]);\n return O;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar 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","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = 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 // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\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 : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar create = require('../internals/object-create');\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n create: create\n});\n","'use strict';\nrequire('../../modules/es.object.create');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nmodule.exports = function create(P, D) {\n return Object.create(P, D);\n};\n","'use strict';\nvar parent = require('../../es/object/create');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/stable/object/create\");","module.exports = (globalThis as any).WebChat.internal;\n","type InjectMetaNPMInit = {\n version: string;\n};\n\nexport default function injectMeta(name: string, content?: string): void {\n try {\n if (typeof document === 'undefined') {\n return;\n }\n\n const metaElement = document.createElement('meta');\n\n metaElement.setAttribute('name', name);\n content && metaElement.setAttribute('content', content);\n\n document.head.appendChild(metaElement);\n } catch (error) {\n console.error(`inject-meta-tag: Failed to inject <meta name=\"${name}\"> tag.`, error);\n }\n}\n\nexport function npm(name: string, { version }: InjectMetaNPMInit): void {\n injectMeta(`npm:${name}`, `version=${version}`);\n}\n","import type { ActivityMiddleware } from 'botframework-webchat-api';\nimport { Components } from 'botframework-webchat-component';\nimport { WebChatDecorator } from 'botframework-webchat-component/decorator';\nimport React, { memo, type ReactNode } from 'react';\n\nimport { ActivityDecorator } from '../components/activity';\nimport { isPreChatMessageActivity, PreChatMessageActivity } from '../components/preChatActivity';\nimport { PrimarySendBox } from '../components/sendBox';\nimport { TelephoneKeypadProvider } from '../components/telephoneKeypad';\nimport { WebChatTheme } from '../components/theme';\nimport { createStyles } from '../styles';\nimport VariantComposer, { VariantList } from './VariantComposer';\nimport { isLinerMessageActivity, LinerMessageActivity } from '../components/linerActivity';\n\nconst { ThemeProvider } = Components;\n\ntype Props = Readonly<{ children?: ReactNode | undefined; variant?: VariantList | undefined }>;\n\nconst activityMiddleware: readonly ActivityMiddleware[] = Object.freeze([\n () =>\n next =>\n (...args) => {\n const activity = args[0]?.activity;\n\n // TODO: Should show pre-chat only when it is the very first message in the chat history.\n if (isPreChatMessageActivity(activity)) {\n return () => <PreChatMessageActivity activity={activity} />;\n }\n\n if (isLinerMessageActivity(activity)) {\n return () => <LinerMessageActivity activity={activity} />;\n }\n\n const renderActivity = next(...args);\n\n return renderActivity\n ? (...args) => <ActivityDecorator activity={activity}>{renderActivity(...args)}</ActivityDecorator>\n : renderActivity;\n }\n]);\n\nconst sendBoxMiddleware = [() => () => () => PrimarySendBox];\n\nconst styles = createStyles();\n\nconst FluentThemeProvider = ({ children, variant = 'fluent' }: Props) => (\n <VariantComposer variant={variant}>\n <WebChatTheme>\n <TelephoneKeypadProvider>\n <ThemeProvider activityMiddleware={activityMiddleware} sendBoxMiddleware={sendBoxMiddleware} styles={styles}>\n <WebChatDecorator>{children}</WebChatDecorator>\n </ThemeProvider>\n </TelephoneKeypadProvider>\n </WebChatTheme>\n </VariantComposer>\n);\n\nexport default memo(FluentThemeProvider);\n","import { WebChatActivity } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { ReactNode, memo } from 'react';\nimport useVariants from '../../private/useVariants';\nimport { useStyles, useVariantClassName } from '../../styles';\nimport styles from './ActivityDecorator.module.css';\nimport CopilotMessageHeader from './CopilotMessageHeader';\n\nfunction ActivityDecorator({ activity, children }: Readonly<{ activity: WebChatActivity; children: ReactNode }>) {\n const classNames = useStyles(styles);\n const variants = useVariants();\n const variantClassName = useVariantClassName(styles);\n\n const shouldRenderHeader = variants.includes('copilot') && activity?.from?.role === 'bot' && !!children;\n\n return (\n <div className={cx(classNames['activity-decorator'], variantClassName)}>\n {shouldRenderHeader && <CopilotMessageHeader activity={activity} />}\n {children}\n </div>\n );\n}\n\nActivityDecorator.displayName = 'ActivityDecorator';\n\nexport default memo(ActivityDecorator);\n","import { useContext, useMemo } from 'react';\nimport { VariantContext } from './VariantComposer';\n\nexport default function useVariants() {\n const { variant } = useContext(VariantContext);\n return useMemo(() => variant.split(' '), [variant]);\n}\n","import { createContext } from 'react';\n\nimport createComposer from './createComposer';\n\ntype VariantName = 'fluent' | 'copilot' | '';\n\nexport type VariantList = `${VariantName}`;\n\nexport type VariantContextType = {\n variant: VariantList;\n};\n\nexport const VariantContext = createContext<VariantContextType>(\n new Proxy(\n {},\n {\n get() {\n throw new Error('Unable to use VariantContext without VariantComposer');\n }\n }\n ) as unknown as VariantContextType\n);\n\nconst VariantComposer = createComposer<VariantContextType>(VariantContext, {\n defaults: { variant: '' },\n displayName: 'VariantComposer'\n});\n\nexport default VariantComposer;\n","import React, { type Context, memo, type ReactNode, useMemo } from 'react';\n\nexport default function createComposer<\n C,\n P extends { children?: ReactNode | undefined } = Partial<C> & { children?: ReactNode | undefined }\n>({ Provider }: Context<C>, { defaults, displayName }: Readonly<{ defaults: Readonly<C>; displayName: string }>) {\n const Composer = ({ children, ...props }: Readonly<P>) => {\n const value = useMemo(() => Object.freeze({ ...defaults, ...props }), [props]);\n\n return <Provider value={value}>{children}</Provider>;\n };\n\n Composer.displayName = displayName;\n\n return memo(Composer);\n}\n","function createStyle(content: string) {\n const style = document.createElement('style');\n\n style.append(document.createTextNode(content));\n\n return style;\n}\n\nexport default function makeCreateStyles(...contents: string[]) {\n return function createStyles() {\n if (!globalThis.document) {\n throw new Error('Unable to create styles: document is not defined');\n }\n\n return contents.map(content => createStyle(content));\n };\n}\n","import { makeCreateStyles } from 'botframework-webchat-styles';\n\nexport const fluentStyleContent = '@--FLUENT-STYLES-CONTENT--@';\n\nexport default makeCreateStyles(fluentStyleContent);\n","import { useMemo } from 'react';\n\nfunction useStyles<T extends CSSModuleClasses>(styles: T): T {\n // @ts-expect-error: entries/fromEntries don't allow to specify keys type\n return useMemo(\n () =>\n Object.freeze(\n Object.fromEntries(\n Object.entries(styles).map(([baseClassName, resultClassName]) => [\n baseClassName,\n `${baseClassName} ${resultClassName}`\n ])\n )\n ),\n [styles]\n );\n}\n\nexport default useStyles;\n","import { useMemo } from 'react';\nimport useVariants from '../private/useVariants';\nimport useStyles from './useStyles';\n\nexport default function useVariantClassName<T extends CSSModuleClasses>(styles: T): string {\n const classNames = useStyles(styles);\n const variants = useVariants();\n return useMemo(\n () =>\n variants\n .map(variant => classNames[`variant-${variant}`])\n .filter(value => value)\n .join(' '),\n [classNames, variants]\n );\n}\n",":global(.webchat-fluent) .activity-decorator {\n display: contents;\n font-family: var(--webchat__font--primary);\n\n --webchat__bubble--inline-padding: var(--webchat-spacingHorizontalL);\n --webchat__bubble--block-padding: var(--webchat-spacingVerticalM);\n --webchat__bubble--min-height: var(--webchat-bubble-minHeight);\n --webchat__bubble--max-width: var(--webchat-bubble-maxWidth);\n --webchat__bubble--min-width: var(--webchat-bubble-minWidth);\n\n --webchat-bubble-maxWidth: var(--bubble-maxWidth, max(450px, 75%));\n --webchat-bubble-minWidth: var(--bubble-minWidth, auto);\n --webchat-bubble-minHeight: var(--bubble-minHeight, 36px);\n --webchat-externalLink-mask: var(\n --externalLink-mask,\n var(--webchat__icon-url--external-link) center center /\n 10px 10px\n );\n --webchat-externalLink-maxWidth: var(--externalLink-maxWidth, 204px);\n\n /* Override for stacked layout message which has user message bubble props */\n &:has(:global(.webchat__stacked-layout .webchat__bubble--from-user)) {\n --webchat__bubble--background-color: var(--webchat-colorBrandBackground2);\n --webchat__bubble--block-padding: var(--webchat-spacingVerticalS);\n --webchat__bubble--min-width: auto;\n }\n}\n\n/* Decorator fluent variant */\n:global(.webchat-fluent) .activity-decorator.variant-fluent {\n --webchat__bubble--background-color: var(--webchat-colorNeutralBackground1);\n --webchat__bubble--border-radius: var(--webchat-borderRadiusXLarge);\n --webchat__bubble--box-shadow: var(--webchat-shadow4);\n}\n\n/* Decorator copilot variant */\n:global(.webchat-fluent) .activity-decorator.variant-copilot {\n --webchat__bubble--border-radius: var(--webchat-borderRadiusXLarge);\n\n :global(.webchat__activity-status) {\n margin: 0 0 var(--webchat-spacingHorizontalXXS);\n }\n\n :global(.webchat__stacked-layout__status) {\n order: -1;\n }\n\n &:has(:global(.webchat__bubble--from-user)) :global(.webchat__bubble) {\n margin-block-end: var(--webchat-spacingVerticalM);\n }\n\n /* Hide generated badge as it is in the copilot header */\n :global(.webchat__bubble .webchat__text-content .webchat__text-content__generated-badge) {\n display: none;\n }\n}\n\n/* Decorator copilot variant which has bot message */\n:global(.webchat-fluent) .activity-decorator.variant-copilot:not(:has(:global(.webchat__bubble--from-user))) {\n --webchat__bubble--block-padding: 0;\n --webchat__bubble--border-radius: var(--webchat-borderRadiusMedium);\n --webchat__bubble--inline-padding: 0;\n --webchat__bubble--max-width: 100%;\n --webchat__bubble--min-height: 20px;\n\n display: flex;\n flex-flow: column nowrap;\n gap: var(--webchat-spacingVerticalS);\n margin-inline: var(--webchat-spacingHorizontalM);\n padding: var(--webchat-spacingVerticalMNudge) var(--webchat-spacingHorizontalM) var(--webchat-spacingVerticalM);\n position: relative;\n\n :global(.webchat__stacked-layout) {\n margin: 0;\n position: static;\n }\n\n :global(.webchat__bubble) {\n position: static;\n width: var(--webchat__bubble--max-width);\n }\n\n :global(.webchat__bubble .webchat__bubble__content) {\n overflow: visible;\n }\n\n :global(.webchat__text-content) {\n margin-inline-start: 28px;\n }\n\n :global(.border-loader) {\n display: flex;\n flex-flow: column nowrap;\n gap: var(--webchat-spacingVerticalS);\n padding-inline-end: var(--webchat-spacingHorizontalM);\n width: 500px;\n }\n\n :global(.border-loader__track) {\n border-radius: inherit;\n box-sizing: border-box;\n clip-path: border-box;\n margin-inline-start: 28px;\n order: -1;\n width: auto;\n }\n\n :global(.webchat__stacked-layout__status) {\n display: none;\n }\n}\n\n/* Transcript activity non-empty */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__basic-transcript__activity-body:not(:empty)) {\n padding-block-end: var(--webchat-spacingVerticalXL);\n}\n\n/* Stacked layout */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout) {\n display: flex;\n flex-flow: column nowrap;\n}\n\n/* Stacked layout which has message bubble */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__stacked-layout__content:has(.webchat__bubble)) {\n max-width: 100%;\n overflow: visible;\n}\n\n/* Message status */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout .webchat__stacked-layout__status) {\n font-size: var(--webchat__font-size--small);\n line-height: var(--webchat__line-height--small);\n}\n\n/* Message bubble */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout .webchat__bubble) {\n max-width: min(var(--webchat__bubble--max-width), 100%);\n min-width: var(--webchat__bubble--min-width);\n overflow: visible;\n\n /* Take all width available when has message bubble latency loader */\n &:has(:global(.border-loader)) {\n width: 100%;\n }\n}\n\n/* Message bubble content */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__bubble .webchat__bubble__content) {\n background-color: var(--webchat__bubble--background-color);\n border-radius: var(--webchat__bubble--border-radius);\n border-width: 0;\n box-shadow: var(--webchat__bubble--box-shadow);\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground1);\n max-width: 100%;\n min-height: var(--webchat__bubble--min-height);\n}\n\n/* Message bubble text content */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__stacked-layout .webchat__bubble .webchat__text-content) {\n font-size: var(--webchat__font-size--medium);\n line-height: var(--webchat__line-height--medium);\n min-height: auto;\n padding-block: var(--webchat__bubble--block-padding);\n padding-inline: var(--webchat__bubble--inline-padding);\n\n &:empty {\n padding-block-end: 0;\n }\n\n + :global(.webchat__text-content) {\n margin-top: calc(var(--webchat__bubble--block-padding) * -1);\n }\n}\n\n/* Message bubble text content generated badge */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__bubble .webchat__text-content__generated-badge) {\n align-items: center;\n align-self: flex-start;\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: var(--webchat-borderRadiusMedium);\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground3);\n cursor: default;\n display: inline-flex;\n font-size: var(--webchat-fontSizeBase100);\n height: 16px;\n line-height: var(--webchat-lineHeightBase100);\n padding-inline: var(--webchat-spacingHorizontalXS);\n}\n\n/* Message bubble attachment content */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__stacked-layout .webchat__bubble .webchat__fileContent__badge) {\n cursor: default;\n font-size: var(--webchat-fontSizeBase300);\n line-height: var(--webchat-lineHeightBase300);\n\n :global(.webchat__fileContent__fileName) {\n color: var(--webchat-colorBrandForegroundLink);\n font-family: inherit;\n }\n :global(.webchat__fileContent__size) {\n color: var(--webchat-colorNeutralForeground2);\n font-family: inherit;\n }\n}\n\n/* Markdown links and citation links */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__render-markdown)\n a[href]:not(:global(.webchat__render-markdown__pure-identifier)) {\n color: var(--webchat-colorBrandForegroundLink);\n text-decoration-color: transparent;\n\n &:target {\n color: var(--webchat-colorBrandForegroundLinkSelected);\n }\n\n &:hover {\n color: var(--webchat-colorBrandForegroundLinkHover);\n text-decoration: underline 1px currentColor;\n }\n\n &:active {\n color: var(--webchat-colorBrandForegroundLinkPressed);\n }\n\n &:focus-visible {\n outline: none;\n text-decoration: underline 1px double var(--webchat-colorStrokeFocus2);\n }\n\n :global(.webchat__render-markdown__external-link-icon) {\n background: currentColor;\n -webkit-mask: var(--webchat__icon-url--external-link) no-repeat;\n mask: var(--webchat__icon-url--external-link) no-repeat;\n }\n}\n\n/* Citation inline references */\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__render-markdown)\n :global(.webchat__render-markdown__citation),\n:global(.webchat-fluent)\n .activity-decorator\n :global(.webchat__render-markdown)\n :global(.webchat__render-markdown__pure-identifier) {\n align-items: center;\n background-color: var(--webchat-colorNeutralBackground3);\n border-radius: var(--webchat-borderRadiusMedium);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground2);\n display: inline-flex;\n font-size: var(--webchat-fontSizeBase100);\n font-weight: var(--webchat-fontWeightSemibold);\n height: 14px;\n justify-content: center;\n line-height: var(--webchat-lineHeightBase100);\n margin-left: var(--webchat-spacingHorizontalXXS);\n margin-right: var(--webchat-spacingHorizontalXXS);\n min-width: 14px;\n text-decoration: none;\n transition: all var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n vertical-align: calc((var(--webchat-lineHeightBase100) - var(--webchat-fontSizeBase100)) / 2);\n\n &:hover {\n background-color: var(--webchat-colorBrandBackground2Hover);\n border-color: var(--webchat-colorBrandStroke2Hover);\n color: var(--webchat-colorBrandForeground2Hover);\n cursor: pointer;\n }\n\n &:hover:active {\n background-color: var(--webchat-colorBrandBackground2Pressed);\n border-color: var(--webchat-colorBrandStroke2Pressed);\n color: var(--webchat-colorBrandForeground2Pressed);\n }\n\n &::before,\n &::after {\n all: unset;\n }\n\n &:has(:global(.webchat__render-markdown__external-link-icon)) {\n padding-inline: 3px;\n }\n\n :global(.webchat__render-markdown__external-link-icon) {\n background: currentColor;\n height: 0.7em;\n -webkit-mask: var(--webchat__icon-url--external-link) no-repeat;\n mask: var(--webchat__icon-url--external-link) no-repeat;\n }\n}\n\n/* Citation summary chevron */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__link-definitions__header) {\n border-radius: var(--webchat-borderRadiusMedium);\n\n :global(.webchat__link-definitions__header-text) {\n color: var(--webchat-colorNeutralForeground3);\n }\n\n :global(.webchat__link-definitions__header-chevron) {\n fill: var(--webchat-colorNeutralForeground3);\n font-size: var(--webchat__font-size--small);\n width: 1em;\n }\n\n &:focus-visible {\n outline-offset: 1px;\n outline: var(--webchat-strokeWidthThin) solid var(--webchat-colorStrokeFocus2);\n }\n}\n\n/* Citation link definitions */\n:global(.webchat-fluent) .activity-decorator :global(.webchat__link-definitions) {\n --webchat__citation__external-link--mask: var(--webchat-externalLink-mask);\n --webchat__citation__link--max-width: var(--webchat-externalLink-maxWidth);\n\n :global(.webchat__link-definitions__list) {\n color: var(--webchat__color--subtle);\n display: flex;\n flex-flow: row wrap;\n gap: var(--webchat-spacingHorizontalS);\n }\n\n :global(.webchat__link-definitions__list-item) {\n border-radius: var(--webchat-borderRadiusMedium);\n max-width: var(--webchat__citation__link--max-width);\n }\n\n :global(.webchat__link-definitions__list-item-box) {\n background-color: var(--webchat-colorNeutralBackground3);\n border-radius: var(--webchat-borderRadiusMedium);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n box-sizing: border-box;\n color: currentColor;\n display: inline-flex;\n font-size: var(--webchat__font-size--small);\n height: 24px;\n padding-inline-end: var(--webchat-spacingHorizontalS);\n }\n\n :global(.webchat__link-definitions__list-item-body) {\n font-family: inherit;\n gap: var(--webchat-spacingHorizontalSNudge);\n min-width: 0;\n padding: 0;\n }\n\n :global(.webchat__link-definitions__badge) {\n align-self: center;\n background-color: transparent;\n border-radius: 0;\n border: none;\n color: currentColor;\n font-size: var(--webchat-fontSizeBase100);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightBase100);\n margin: 0;\n min-width: 20px;\n padding: 0;\n position: relative;\n text-align: center;\n }\n\n :global(.webchat__link-definitions__badge)::after {\n border-right: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n bottom: 0;\n content: '';\n display: block;\n height: 16px;\n position: absolute;\n right: 0;\n top: 0;\n width: 0;\n }\n\n :global(.webchat__link-definitions__list-item-main-text) {\n gap: var(--webchat-spacingHorizontalXS);\n }\n\n :global(.webchat__link-definitions__list-item-text) {\n color: currentColor;\n text-decoration: none;\n text-overflow: ellipsis;\n }\n\n :global(.webchat__link-definitions__list-item-main-text):has(\n :global(.webchat__link-definitions__open-in-new-window-icon)\n )::before {\n align-self: center;\n background: currentColor;\n color: currentColor;\n content: '';\n flex: none;\n font-size: var(--webchat-fontSizeBase400);\n height: 1em;\n -webkit-mask: var(--webchat__citation__external-link--mask) no-repeat;\n mask: var(--webchat__citation__external-link--mask) no-repeat;\n padding: 0;\n width: 1em;\n }\n\n /* It seems Copilot does not show per-item sensitivity label, i.e. \"General\", etc. */\n :global(.webchat__link-definitions__list-item-badge) {\n display: none;\n }\n\n :global(.webchat__link-definitions__open-in-new-window-icon) {\n display: none;\n }\n}\n","import React, { memo, useMemo, type CSSProperties } from 'react';\nimport { WebChatActivity, hooks } from 'botframework-webchat-component';\n\nimport useActivityStyleOptions from './private/useActivityStyleOptions';\nimport isAIGeneratedActivity from './private/isAIGeneratedActivity';\nimport useActivityAuthor from './private/useActivityAuthor';\nimport { useStyles } from '../../styles';\nimport styles from './CopilotMessageHeader.module.css';\n\nconst { useLocalizer } = hooks;\n\nfunction CopilotMessageHeader({ activity }: Readonly<{ activity?: WebChatActivity | undefined }>) {\n const [{ botAvatarImage, botAvatarBackgroundColor }] = useActivityStyleOptions(activity);\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const isAIGenerated = isAIGeneratedActivity(activity);\n\n const avatarStyle = useMemo(\n () => ({ '--background-color': botAvatarBackgroundColor }) as CSSProperties,\n [botAvatarBackgroundColor]\n );\n\n const author = useActivityAuthor(activity);\n const avatarImage = author?.image || botAvatarImage;\n const botTitle = author?.name || activity?.from?.name;\n\n return (\n <div className={classNames['copilot-message-header']}>\n {avatarImage && (\n <img\n alt={localize('AVATAR_ALT', botTitle)}\n className={classNames['copilot-message-header__avatar']}\n src={avatarImage}\n style={avatarStyle}\n />\n )}\n <span className={classNames['copilot-message-header__title']} title={botTitle}>\n {botTitle}\n </span>\n {isAIGenerated && (\n <span className={classNames['copilot-message-header__ai-generated-content']}>\n {localize('ACTIVITY_CONTENT_CAUTION')}\n </span>\n )}\n </div>\n );\n}\n\nexport default memo(CopilotMessageHeader);\n","import { useMemo } from 'react';\nimport { hooks, type WebChatActivity } from 'botframework-webchat-component';\nimport { type StrictStyleOptions } from 'botframework-webchat-api';\n\nconst { useStyleOptions } = hooks;\n\nexport default function useActivityStyleOptions(activity?: WebChatActivity | undefined) {\n const [styleOptions] = useStyleOptions();\n return useMemo<readonly [Readonly<StrictStyleOptions>]>(\n () =>\n Object.freeze([\n {\n ...styleOptions,\n ...activity?.channelData?.webChat?.styleOptions\n }\n ]),\n [activity?.channelData?.webChat?.styleOptions, styleOptions]\n );\n}\n","'use strict';\nvar 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 es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.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 uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.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 -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\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","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && 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;\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar 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","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar 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","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\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' && isCallable(O.callee) ? 'Arguments' : result;\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.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n var target = STATIC ? it : it && it.prototype;\n if (target) {\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\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\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, 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 eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, 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 (IS_NODE) {\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 = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, 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","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\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 (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar 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","'use strict';\nmodule.exports = {};\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.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 new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\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 (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['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 || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\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(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(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, 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\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(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 globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\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 (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (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(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new 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 call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\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 && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar 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","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar 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 es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\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","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(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 remaining++;\n call($promiseResolve, 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});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar 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","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://github.com/tc39/proposal-promise-with-resolvers\n$({ target: 'Promise', stat: true }, {\n withResolvers: function withResolvers() {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n return {\n promise: promiseCapability.promise,\n resolve: promiseCapability.resolve,\n reject: promiseCapability.reject\n };\n }\n});\n","'use strict';\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.with-resolvers');\nvar call = require('../../internals/function-call');\nvar isCallable = require('../../internals/is-callable');\nvar path = require('../../internals/path');\n\nvar Promise = path.Promise;\nvar promiseWithResolvers = Promise.withResolvers;\n\nmodule.exports = function withResolvers() {\n return call(promiseWithResolvers, isCallable(this) ? this : Promise);\n};\n","'use strict';\nvar parent = require('../../es/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.with-resolvers');\n","'use strict';\nvar parent = require('../../stable/promise/with-resolvers');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/promise/with-resolvers');\n\nmodule.exports = parent;\n","'use strict';\nmodule.exports = require('../../full/promise/with-resolvers');\n","// @ts-expect-error: no types available\nimport coreJSWithResolvers from 'core-js-pure/features/promise/with-resolvers.js';\n\nexport type PromiseWithResolvers<T> = {\n promise: Promise<T>;\n reject: (error: unknown) => void;\n resolve: (value: T) => void;\n};\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n return coreJSWithResolvers();\n}\n","const CLEAR_SUGGESTED_ACTIONS = 'WEB_CHAT/CLEAR_SUGGESTED_ACTIONS' as const;\n\nexport default function clearSuggestedActions() {\n return {\n type: CLEAR_SUGGESTED_ACTIONS\n };\n}\n\nexport { CLEAR_SUGGESTED_ACTIONS };\n","const CONNECT = 'DIRECT_LINE/CONNECT';\nconst CONNECT_FULFILLED = `${CONNECT}_FULFILLED`;\nconst CONNECT_FULFILLING = `${CONNECT}_FULFILLING`;\nconst CONNECT_PENDING = `${CONNECT}_PENDING`;\nconst CONNECT_REJECTED = `${CONNECT}_REJECTED`;\nconst CONNECT_STILL_PENDING = `${CONNECT}_STILL_PENDING`;\n\nexport default function connect({ directLine, userID, username }) {\n return {\n type: CONNECT,\n payload: {\n directLine,\n userID,\n username\n }\n };\n}\n\nexport { CONNECT, CONNECT_FULFILLED, CONNECT_FULFILLING, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING };\n","const DISCONNECT = 'DIRECT_LINE/DISCONNECT';\nconst DISCONNECT_PENDING = `${DISCONNECT}_PENDING`;\nconst DISCONNECT_REJECTED = `${DISCONNECT}_REJECTED`;\nconst DISCONNECT_FULFILLED = `${DISCONNECT}_FULFILLED`;\n\nexport default function disconnect() {\n return {\n type: DISCONNECT\n };\n}\n\nexport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_REJECTED, DISCONNECT_FULFILLED };\n","const DISMISS_NOTIFICATION = 'WEB_CHAT/DISMISS_NOTIFICATION';\n\ntype DismissNotificationAction = {\n payload: { id: string };\n type: typeof DISMISS_NOTIFICATION;\n};\n\nfunction dismissNotification(id: string): DismissNotificationAction {\n return {\n payload: { id },\n type: DISMISS_NOTIFICATION\n };\n}\n\nexport default dismissNotification;\n\nexport { DISMISS_NOTIFICATION };\n\nexport type { DismissNotificationAction };\n","const EMIT_TYPING_INDICATOR = 'WEB_CHAT/EMIT_TYPING_INDICATOR';\n\nexport default function emitTypingIndicator() {\n return {\n type: EMIT_TYPING_INDICATOR\n };\n}\n\nexport { EMIT_TYPING_INDICATOR };\n","type MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\ntype MarkActivityAction = {\n payload: { activityID: string; name: string; value: any };\n type: MarkActivityActionType;\n};\n\nconst MARK_ACTIVITY: MarkActivityActionType = 'WEB_CHAT/MARK_ACTIVITY';\n\nfunction markActivity({ id: activityID }: { id: string }, name: string, value: any): MarkActivityAction {\n return {\n type: MARK_ACTIVITY,\n payload: {\n activityID,\n name,\n value\n }\n };\n}\n\nexport default markActivity;\nexport { MARK_ACTIVITY };\nexport type { MarkActivityAction };\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\ntype PostActivityFulfilledActionType = 'DIRECT_LINE/POST_ACTIVITY_FULFILLED';\ntype PostActivityImpededActionType = 'DIRECT_LINE/POST_ACTIVITY_IMPEDED';\ntype PostActivityPendingActionType = 'DIRECT_LINE/POST_ACTIVITY_PENDING';\ntype PostActivityRejectedActionType = 'DIRECT_LINE/POST_ACTIVITY_REJECTED';\n\ntype PostActivityAction = {\n meta: { method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityActionType;\n};\n\ntype PostActivityFulfilledAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityFulfilledActionType;\n};\n\ntype PostActivityImpededAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityImpededActionType;\n};\n\ntype PostActivityPendingAction = {\n meta: { clientActivityID: string; method: string };\n payload: { activity: WebChatActivity };\n type: PostActivityPendingActionType;\n};\n\ntype PostActivityRejectedAction = {\n error: true;\n meta: { clientActivityID: string; method: string };\n payload: Error;\n type: PostActivityRejectedActionType;\n};\n\nconst POST_ACTIVITY: PostActivityActionType = 'DIRECT_LINE/POST_ACTIVITY';\nconst POST_ACTIVITY_FULFILLED: PostActivityFulfilledActionType = `${POST_ACTIVITY}_FULFILLED`;\nconst POST_ACTIVITY_IMPEDED: PostActivityImpededActionType = `${POST_ACTIVITY}_IMPEDED`;\nconst POST_ACTIVITY_PENDING: PostActivityPendingActionType = `${POST_ACTIVITY}_PENDING`;\nconst POST_ACTIVITY_REJECTED: PostActivityRejectedActionType = `${POST_ACTIVITY}_REJECTED`;\n\nfunction postActivity(activity: WebChatActivity, method = 'keyboard'): PostActivityAction {\n return {\n type: POST_ACTIVITY,\n meta: { method },\n payload: { activity }\n };\n}\n\nexport default postActivity;\nexport { POST_ACTIVITY, POST_ACTIVITY_FULFILLED, POST_ACTIVITY_IMPEDED, POST_ACTIVITY_PENDING, POST_ACTIVITY_REJECTED };\nexport type {\n PostActivityAction,\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n};\n","const SEND_EVENT = 'WEB_CHAT/SEND_EVENT';\n\nexport default function sendEvent(name, value) {\n return {\n type: SEND_EVENT,\n payload: { name, value }\n };\n}\n\nexport { SEND_EVENT };\n","const SEND_FILES = 'WEB_CHAT/SEND_FILES';\n\n// TODO: [P1] We could obsolete this or dispatch { type: SEND_MESSAGE } insetad.\nexport default function sendFiles(\n files: readonly Readonly<{\n name: string;\n size: number;\n url: string;\n thumbnail?: string;\n }>[]\n) {\n return {\n type: SEND_FILES,\n payload: { files }\n };\n}\n\nexport { SEND_FILES };\n","import { type SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst SEND_MESSAGE = 'WEB_CHAT/SEND_MESSAGE';\n\nexport default function sendMessage(\n text: string | undefined,\n method: string | undefined,\n { attachments, channelData }: { attachments?: readonly SendBoxAttachment[]; channelData?: any } = {}\n) {\n return {\n type: SEND_MESSAGE,\n payload: { attachments, channelData, method, text }\n };\n}\n\nexport { SEND_MESSAGE };\n","const SEND_MESSAGE_BACK = 'WEB_CHAT/SEND_MESSAGE_BACK';\n\nexport default function sendMessageback(value, text, displayText) {\n return {\n type: SEND_MESSAGE_BACK,\n payload: { displayText, text, value }\n };\n}\n\nexport { SEND_MESSAGE_BACK };\n","const SEND_POST_BACK = 'WEB_CHAT/SEND_POST_BACK';\n\nexport default function sendPostback(value) {\n return {\n type: SEND_POST_BACK,\n payload: { value }\n };\n}\n\nexport { SEND_POST_BACK };\n","const SET_DICTATE_INTERIMS = 'WEB_CHAT/SET_DICTATE_INTERIMS';\n\nexport default function setDictateInterims(dictateInterims) {\n return {\n type: SET_DICTATE_INTERIMS,\n payload: { dictateInterims }\n };\n}\n\nexport { SET_DICTATE_INTERIMS };\n","const SET_DICTATE_STATE = 'WEB_CHAT/SET_DICTATE_STATE';\n\nexport default function setDictateState(dictateState) {\n return {\n type: SET_DICTATE_STATE,\n payload: { dictateState }\n };\n}\n\nexport { SET_DICTATE_STATE };\n","const SET_LANGUAGE = 'WEB_CHAT/SET_LANGUAGE';\n\nexport default function setLanguage(language) {\n return {\n type: SET_LANGUAGE,\n payload: { language }\n };\n}\n\nexport { SET_LANGUAGE };\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 36] }] */\n\nimport random from 'math-random';\n\nexport default function uniqueID(): string {\n return random().toString(36).substring(2);\n}\n","import uniqueID from '../utils/uniqueID';\n\nimport type { Notification } from '../types/internal/Notification';\n\nconst SET_NOTIFICATION = 'WEB_CHAT/SET_NOTIFICATION';\n\ntype SetNotificationAction = {\n payload: Omit<Notification, 'timestamp'>;\n type: typeof SET_NOTIFICATION;\n};\n\nexport default function setNotification({\n alt,\n data,\n id,\n level,\n message\n}: Omit<Notification, 'timestamp'>): SetNotificationAction {\n if (!id || typeof id !== 'string') {\n console.warn(\n 'botframework-webchat: The \"id\" argument passed to \"setNotification\" must be a string; defaulting to a random value.'\n );\n\n id = uniqueID();\n }\n\n if (!level || typeof level !== 'string') {\n console.warn(\n 'botframework-webchat: The \"level\" argument passed to \"setNotification\" must be a string; defaulting to \"info\".'\n );\n\n level = 'info';\n }\n\n return {\n type: SET_NOTIFICATION,\n payload: { alt, data, id, level, message }\n };\n}\n\nexport { SET_NOTIFICATION };\n\nexport type { SetNotificationAction };\n","const SET_SEND_BOX = 'WEB_CHAT/SET_SEND_BOX';\n\nexport default function setSendBox(text) {\n return {\n type: SET_SEND_BOX,\n payload: { text }\n };\n}\n\nexport { SET_SEND_BOX };\n","import type { SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst SET_SEND_BOX_ATTACHMENTS = 'WEB_CHAT/SET_SEND_BOX_ATTACHMENTS';\n\nexport default function setSendBoxAttachments(attachments: readonly SendBoxAttachment[]) {\n return {\n type: SET_SEND_BOX_ATTACHMENTS,\n payload: { attachments }\n };\n}\n\nexport { SET_SEND_BOX_ATTACHMENTS };\n","const SET_SEND_TIMEOUT = 'WEB_CHAT/SET_SEND_TIMEOUT';\n\nexport default function setSendTimeout(sendTimeout) {\n return {\n type: SET_SEND_TIMEOUT,\n payload: { sendTimeout }\n };\n}\n\nexport { SET_SEND_TIMEOUT };\n","const SET_SEND_TYPING_INDICATOR = 'WEB_CHAT/SET_SEND_TYPING_INDICATOR';\n\ntype SetSendTypingIndicatorAction = {\n payload: { sendTypingIndicator: boolean };\n type: typeof SET_SEND_TYPING_INDICATOR;\n};\n\nexport default function setSendTypingIndicator(value): SetSendTypingIndicatorAction {\n return {\n payload: { sendTypingIndicator: !!value },\n type: SET_SEND_TYPING_INDICATOR\n };\n}\n\nexport { SET_SEND_TYPING_INDICATOR };\n\nexport type { SetSendTypingIndicatorAction };\n","const START_DICTATE = 'WEB_CHAT/START_DICTATE';\n\nexport default function startDictate() {\n return { type: START_DICTATE };\n}\n\nexport { START_DICTATE };\n","const START_SPEAKING_ACTIVITY = 'WEB_CHAT/START_SPEAKING';\n\nexport default function startSpeakingActivity() {\n return {\n type: START_SPEAKING_ACTIVITY\n };\n}\n\nexport { START_SPEAKING_ACTIVITY };\n","const STOP_DICTATE = 'WEB_CHAT/STOP_DICTATE';\n\nexport default function stopDictate() {\n return { type: STOP_DICTATE };\n}\n\nexport { STOP_DICTATE };\n","const STOP_SPEAKING_ACTIVITY = 'WEB_CHAT/STOP_SPEAKING';\n\nexport default function stopSpeakingActivity() {\n return {\n type: STOP_SPEAKING_ACTIVITY\n };\n}\n\nexport { STOP_SPEAKING_ACTIVITY };\n","const SUBMIT_SEND_BOX = 'WEB_CHAT/SUBMIT_SEND_BOX';\n\nexport default function submitSendBox(method = 'keyboard', { channelData } = { channelData: undefined }) {\n return {\n type: SUBMIT_SEND_BOX,\n payload: { channelData, method }\n };\n}\n\nexport { SUBMIT_SEND_BOX };\n","/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SEND_FAILED = 'send failed';\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENDING = 'sending';\n/** @deprecated This constant is being deprecated, please use string literal instead. Will be remove on or after 2024-07-31. */\nconst SENT = 'sent';\n\nexport { SEND_FAILED, SENDING, SENT };\n","const IDLE = 0;\nconst WILL_START = 1;\nconst STARTING = 2;\nconst DICTATING = 3;\nconst STOPPING = 4;\n\nexport { DICTATING, IDLE, STARTING, STOPPING, WILL_START };\n","import { applyMiddleware, createStore as createReduxStore, type Store } from 'redux';\nimport { composeWithDevTools } from '@redux-devtools/extension';\nimport createSagaMiddleware from 'redux-saga';\n\nimport createReducer from './createReducer';\nimport createSagas from './createSagas';\nimport sagaError from './actions/sagaError';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\ntype CreateStoreOptions = {\n /**\n * True, to enable Redux development tools, otherwise, false.\n *\n * Because Web Chat use sagas for business logics, some store state are keep at JavaScript heaps.\n * Time-travelling and saving/restoring store state are not supported.\n */\n devTools?: boolean;\n\n /**\n * Ponyfill to overrides specific global scope members.\n *\n * This option is for development use only. Not all features in Web Chat are ponyfilled.\n *\n * To fake timers, `setTimeout` and related functions can be passed to overrides the original global scope members.\n *\n * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details.\n */\n ponyfill?: Partial<GlobalScopePonyfill>;\n};\n\nfunction createEnhancerAndSagaMiddleware(getStore, ...middlewares) {\n const sagaMiddleware = createSagaMiddleware({\n onError: (...args) => {\n const [err] = args;\n\n console.error(err);\n\n const store = getStore();\n\n store && store.dispatch(sagaError());\n }\n });\n\n return {\n enhancer: applyMiddleware(...middlewares, sagaMiddleware),\n sagaMiddleware\n };\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\n\n// The complexity is introduced by the check of ponyfill.\n// eslint-disable-next-line complexity\nexport function withOptions(options: CreateStoreOptions, initialState?, ...middlewares): Store {\n // IE Mode does not have `globalThis`.\n const globalThisOrWindow = typeof globalThis === 'undefined' ? window : globalThis;\n const ponyfillFromOptions: Partial<GlobalScopePonyfill> = options.ponyfill || {};\n\n // TODO: [P2] Dedupe: when we have an utility package, move this code there and mark it as internal use.\n const ponyfill: GlobalScopePonyfill = {\n cancelAnimationFrame:\n ponyfillFromOptions.cancelAnimationFrame ||\n // Using clock functions from global if not provided.\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame.bind(globalThisOrWindow) : undefined),\n cancelIdleCallback:\n ponyfillFromOptions.cancelIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof cancelIdleCallback === 'function' ? cancelIdleCallback.bind(globalThisOrWindow) : undefined),\n clearImmediate:\n ponyfillFromOptions.clearImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearImmediate === 'function' ? clearImmediate.bind(globalThisOrWindow) : undefined),\n clearInterval:\n ponyfillFromOptions.clearInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearInterval === 'function' ? clearInterval.bind(globalThisOrWindow) : undefined),\n clearTimeout:\n ponyfillFromOptions.clearTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof clearTimeout === 'function' ? clearTimeout.bind(globalThisOrWindow) : undefined),\n // eslint-disable-next-line no-restricted-globals\n Date: ponyfillFromOptions.Date || Date,\n requestAnimationFrame:\n ponyfillFromOptions.requestAnimationFrame ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestAnimationFrame === 'function' ? requestAnimationFrame.bind(globalThisOrWindow) : undefined),\n requestIdleCallback:\n ponyfillFromOptions.requestIdleCallback ||\n // eslint-disable-next-line no-restricted-globals\n (typeof requestIdleCallback === 'function' ? requestIdleCallback.bind(globalThisOrWindow) : undefined),\n setImmediate:\n ponyfillFromOptions.setImmediate ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setImmediate === 'function' ? setImmediate.bind(globalThisOrWindow) : undefined),\n setInterval:\n ponyfillFromOptions.setInterval ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setInterval === 'function' ? setInterval.bind(globalThisOrWindow) : undefined),\n setTimeout:\n ponyfillFromOptions.setTimeout ||\n // eslint-disable-next-line no-restricted-globals\n (typeof setTimeout === 'function' ? setTimeout.bind(globalThisOrWindow) : undefined)\n };\n\n // We are sure the \"getStore\" (first argument) is not called on \"createEnhancerAndSagaMiddleware()\".\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const { enhancer, sagaMiddleware } = createEnhancerAndSagaMiddleware(() => store, ...middlewares);\n const store = createReduxStore(\n createReducer(ponyfill),\n initialState || {},\n options.devTools ? composeWithDevTools(enhancer) : enhancer\n );\n\n sagaMiddleware.run(createSagas({ ponyfill }));\n\n return store;\n}\n\n/**\n * Creates a Redux store internally used by Web Chat.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n */\nexport default function createStore(initialState?, ...middlewares): Store {\n return withOptions({}, initialState, ...middlewares);\n}\n\n/**\n * Creates a Redux store internally used by Web Chat, with Redux development tools.\n *\n * This store is critical for Web Chat business logics to operate, please use with cautions.\n *\n * @deprecated Use `withOptions` instead and pass `{ devTools: true }`\n */\nexport function withDevTools(initialState?, ...middlewares): Store {\n return withOptions({ devTools: true }, initialState, ...middlewares);\n}\n","import { combineReducers } from 'redux';\n\nimport connectivityStatus from './reducers/connectivityStatus';\nimport createActivitiesReducer from './reducers/createActivitiesReducer';\nimport createInternalReducer from './reducers/createInternalReducer';\nimport createNotificationsReducer from './reducers/createNotificationsReducer';\nimport createTypingReducer from './reducers/createTypingReducer';\nimport dictateInterims from './reducers/dictateInterims';\nimport dictateState from './reducers/dictateState';\nimport language from './reducers/language';\nimport readyState from './reducers/readyState';\nimport referenceGrammarID from './reducers/referenceGrammarID';\nimport sendBoxAttachments from './reducers/sendBoxAttachments';\nimport sendBoxValue from './reducers/sendBoxValue';\nimport sendTimeout from './reducers/sendTimeout';\nimport sendTypingIndicator from './reducers/sendTypingIndicator';\nimport shouldSpeakIncomingActivity from './reducers/shouldSpeakIncomingActivity';\nimport suggestedActions from './reducers/suggestedActions';\nimport suggestedActionsOriginActivity from './reducers/suggestedActionsOriginActivity';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\n\nexport default function createReducer(ponyfill: GlobalScopePonyfill) {\n return combineReducers({\n activities: createActivitiesReducer(ponyfill),\n connectivityStatus,\n dictateInterims,\n dictateState,\n internal: createInternalReducer(ponyfill),\n language,\n notifications: createNotificationsReducer(ponyfill),\n readyState,\n referenceGrammarID,\n sendBoxAttachments,\n sendBoxValue,\n sendTimeout,\n sendTypingIndicator,\n shouldSpeakIncomingActivity,\n suggestedActions,\n suggestedActionsOriginActivity,\n typing: createTypingReducer(ponyfill)\n });\n}\n","const RECONNECT = 'DIRECT_LINE/RECONNECT';\nconst RECONNECT_FULFILLED = `${RECONNECT}_FULFILLED`;\nconst RECONNECT_FULFILLING = `${RECONNECT}_FULFILLING`;\nconst RECONNECT_PENDING = `${RECONNECT}_PENDING`;\nconst RECONNECT_REJECTED = `${RECONNECT}_REJECTED`;\n\nexport { RECONNECT, RECONNECT_FULFILLED, RECONNECT_FULFILLING, RECONNECT_PENDING, RECONNECT_REJECTED };\n","const SAGA_ERROR = 'WEB_CHAT/SAGA_ERROR';\n\ntype SagaErrorAction = {\n type: typeof SAGA_ERROR;\n};\n\nexport default function sagaError(): SagaErrorAction {\n return { type: SAGA_ERROR };\n}\n\nexport { SAGA_ERROR };\n\nexport type { SagaErrorAction };\n","import { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\n\nimport { RECONNECT_PENDING, RECONNECT_FULFILLED } from '../actions/reconnect';\n\nimport { DISCONNECT_FULFILLED } from '../actions/disconnect';\nimport { SAGA_ERROR } from '../actions/sagaError';\n\nconst DEFAULT_STATE = 'uninitialized';\n\nexport default function connectivityStatus(state = DEFAULT_STATE, { type, meta }) {\n if (state !== 'sagaerror') {\n switch (type) {\n case CONNECT_PENDING:\n case RECONNECT_PENDING:\n if (state !== 'uninitialized') {\n state = 'reconnecting';\n }\n\n break;\n\n case CONNECT_FULFILLED:\n state = 'connected';\n break;\n\n case RECONNECT_FULFILLED:\n state = 'reconnected';\n break;\n\n case CONNECT_REJECTED:\n state = 'error';\n break;\n\n case CONNECT_STILL_PENDING:\n state = 'connectingslow';\n break;\n\n case DISCONNECT_FULFILLED:\n state = meta && meta.error ? 'error' : 'notconnected';\n break;\n\n case SAGA_ERROR:\n state = 'sagaerror';\n break;\n\n default:\n break;\n }\n }\n\n return state;\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, -1] }] */\n\nimport updateIn from 'simple-update-in';\n\nimport { DELETE_ACTIVITY } from '../actions/deleteActivity';\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport {\n POST_ACTIVITY_FULFILLED,\n POST_ACTIVITY_IMPEDED,\n POST_ACTIVITY_PENDING,\n POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport { SENDING, SEND_FAILED, SENT } from '../types/internal/SendStatus';\nimport getActivityLivestreamingMetadata from '../utils/getActivityLivestreamingMetadata';\nimport findBeforeAfter from './private/findBeforeAfter';\n\nimport type { Reducer } from 'redux';\nimport type { DeleteActivityAction } from '../actions/deleteActivity';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { MarkActivityAction } from '../actions/markActivity';\nimport type {\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n} from '../actions/postActivity';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\ntype ActivitiesAction =\n | DeleteActivityAction\n | IncomingActivityAction\n | MarkActivityAction\n | PostActivityFulfilledAction\n | PostActivityImpededAction\n | PostActivityPendingAction\n | PostActivityRejectedAction;\n\ntype ActivitiesState = WebChatActivity[];\n\nconst DEFAULT_STATE: ActivitiesState = [];\nconst DIRECT_LINE_PLACEHOLDER_URL =\n 'https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png';\n\nfunction getClientActivityID(activity: WebChatActivity): string | undefined {\n return activity.channelData?.clientActivityID;\n}\n\nfunction findByClientActivityID(clientActivityID: string): (activity: WebChatActivity) => boolean {\n return (activity: WebChatActivity) => getClientActivityID(activity) === clientActivityID;\n}\n\nfunction patchActivity(\n activity: WebChatActivity,\n activities: WebChatActivity[],\n { Date }: GlobalScopePonyfill\n): WebChatActivity {\n // Direct Line channel will return a placeholder image for the user-uploaded image.\n // As observed, the URL for the placeholder image is https://docs.botframework.com/static/devportal/client/images/bot-framework-default-placeholder.png.\n // To make our code simpler, we are removing the value if \"contentUrl\" is pointing to a placeholder image.\n\n // TODO: [P2] #2869 This \"contentURL\" removal code should be moved to DirectLineJS adapter.\n\n // Also, if the \"contentURL\" starts with \"blob:\", this means the user is uploading a file (the URL is constructed by URL.createObjectURL)\n // Although the copy/reference of the file is temporary in-memory, to make the UX consistent across page refresh, we do not allow the user to re-download the file either.\n\n activity = updateIn(activity, ['attachments', () => true, 'contentUrl'], (contentUrl: string) => {\n if (contentUrl !== DIRECT_LINE_PLACEHOLDER_URL && !/^blob:/iu.test(contentUrl)) {\n return contentUrl;\n }\n });\n\n activity = updateIn(activity, ['channelData'], channelData => ({ ...channelData }));\n activity = updateIn(activity, ['channelData', 'webChat', 'receivedAt'], () => Date.now());\n\n const {\n channelData: { 'webchat:sequence-id': sequenceId }\n } = activity;\n\n // TODO: [P1] #3953 We should move this patching logic to a DLJS wrapper for simplicity.\n // If the message does not have sequence ID, use these fallback values:\n // 1. \"channelData.streamSequence\" field (if available)\n // - 0.0001 * streamSequence should be good\n // 2. \"timestamp\" field\n // - outgoing activity will not have \"timestamp\" field\n // 3. last activity sequence ID (or 0) + 0.001\n // - best effort to put this message the last one in the chat history\n if (typeof sequenceId !== 'number') {\n let after: WebChatActivity;\n let before: WebChatActivity;\n const metadata = getActivityLivestreamingMetadata(activity);\n\n if (metadata) {\n [before, after] = findBeforeAfter(activities, target => {\n const targetMetadata = getActivityLivestreamingMetadata(target);\n\n if (targetMetadata?.sessionId === metadata.sessionId) {\n return targetMetadata.sequenceNumber < metadata.sequenceNumber ? 'before' : 'after';\n }\n\n return 'unknown';\n });\n }\n\n let sequenceId: number;\n\n if (before) {\n if (after) {\n // eslint-disable-next-line no-magic-numbers\n sequenceId = (before.channelData['webchat:sequence-id'] + after.channelData['webchat:sequence-id']) / 2;\n } else {\n // eslint-disable-next-line no-magic-numbers\n sequenceId = before.channelData['webchat:sequence-id'] + 0.001;\n }\n } else if (after) {\n // eslint-disable-next-line no-magic-numbers\n sequenceId = after.channelData['webchat:sequence-id'] - 0.001;\n } else if (typeof activity.timestamp !== 'undefined') {\n sequenceId = +new Date(activity.timestamp);\n } else {\n // We assume there will be no more than 1,000 messages sent before receiving server response.\n // If there are more than 1,000 messages, some messages will get reordered and appear jumpy after receiving server response.\n // eslint-disable-next-line no-magic-numbers\n sequenceId = (activities[activities.length - 1]?.channelData['webchat:sequence-id'] || 0) + 0.001;\n }\n\n activity = updateIn(activity, ['channelData', 'webchat:sequence-id'], () => sequenceId);\n }\n\n return activity;\n}\n\nfunction upsertActivityWithSort(\n activities: WebChatActivity[],\n nextActivity: WebChatActivity,\n ponyfill: GlobalScopePonyfill\n): WebChatActivity[] {\n const metadata = getActivityLivestreamingMetadata(nextActivity);\n\n if (metadata) {\n const { sessionId } = metadata;\n\n // If the upserting activity is going upsert into a concluded livestream, skip the activity.\n const isLivestreamConcluded = activities.find(targetActivity => {\n const targetMetadata = getActivityLivestreamingMetadata(targetActivity);\n\n return targetMetadata?.sessionId === sessionId && targetMetadata.type === 'final activity';\n });\n\n if (isLivestreamConcluded) {\n return activities;\n }\n }\n\n nextActivity = patchActivity(nextActivity, activities, ponyfill);\n\n const { channelData: { clientActivityID: nextClientActivityID, 'webchat:sequence-id': nextSequenceId } = {} } =\n nextActivity;\n\n const nextActivities = activities.filter(\n ({ channelData: { clientActivityID } = {}, id }) =>\n // We will remove all \"sending messages\" activities and activities with same ID\n // \"clientActivityID\" is unique and used to track if the message has been sent and echoed back from the server\n !(nextClientActivityID && clientActivityID === nextClientActivityID) && !(id && id === nextActivity.id)\n );\n\n // Then, find the right (sorted) place to insert the new activity at, based on sequence ID.\n const indexToInsert = nextActivities.findIndex(\n ({ channelData: { 'webchat:sequence-id': sequenceId } = {} }) => (sequenceId || 0) > (nextSequenceId || 0)\n );\n\n // If no right place are found, append it\n nextActivities.splice(~indexToInsert ? indexToInsert : nextActivities.length, 0, nextActivity);\n\n return nextActivities;\n}\n\nexport default function createActivitiesReducer(\n ponyfill: GlobalScopePonyfill\n): Reducer<ActivitiesState, ActivitiesAction> {\n return function activities(state: ActivitiesState = DEFAULT_STATE, action: ActivitiesAction): ActivitiesState {\n switch (action.type) {\n case DELETE_ACTIVITY:\n state = updateIn(state, [({ id }: WebChatActivity) => id === action.payload.activityID]);\n break;\n\n case MARK_ACTIVITY:\n {\n const { payload } = action;\n\n state = updateIn(\n state,\n [({ id }: WebChatActivity) => id === payload.activityID, 'channelData', payload.name],\n () => payload.value\n );\n }\n\n break;\n\n case POST_ACTIVITY_PENDING:\n {\n let {\n payload: { activity }\n } = action;\n\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n activity = updateIn(activity, ['channelData', 'state'], () => SENDING);\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => SENDING);\n\n state = upsertActivityWithSort(state, activity, ponyfill);\n }\n\n break;\n\n case POST_ACTIVITY_IMPEDED:\n state = updateIn(\n state,\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n [findByClientActivityID(action.meta.clientActivityID), 'channelData', 'state'],\n () => SEND_FAILED\n );\n\n break;\n\n case POST_ACTIVITY_REJECTED:\n state = updateIn(state, [findByClientActivityID(action.meta.clientActivityID)], activity => {\n activity = updateIn(activity, ['channelData', 'state'], () => SEND_FAILED);\n\n return updateIn(activity, ['channelData', 'webchat:send-status'], () => SEND_FAILED);\n });\n\n break;\n\n case POST_ACTIVITY_FULFILLED:\n {\n // We will replace the activity with the version from the server\n const activity = updateIn(\n updateIn(\n patchActivity(action.payload.activity, state, ponyfill),\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n ['channelData', 'state'],\n () => SENT\n ),\n ['channelData', 'webchat:send-status'],\n () => SENT\n );\n\n state = updateIn(state, [findByClientActivityID(action.meta.clientActivityID)], () => activity);\n }\n\n break;\n\n case INCOMING_ACTIVITY:\n {\n let {\n payload: { activity }\n } = action;\n\n // If the incoming activity is an echo back, we should keep the existing `channelData['webchat:send-status']` field.\n //\n // Otherwise, it will fail following scenario:\n //\n // 1. Send an activity to the service\n // 2. Service echoed back the activity\n // 3. Service did NOT return `postActivity` call\n // - EXPECT: `channelData['webchat:send-status']` should be \"sending\".\n // - ACTUAL: `channelData['webchat:send-status']` is `undefined` because the activity get overwritten by the echo back activity.\n // The echo back activity contains no `channelData['webchat:send-status']`.\n //\n // While we are looking out for the scenario above, we should also look at the following scenarios:\n //\n // 1. Service restore chat history, including activities sent from the user. These activities has the following characteristics:\n // - They do not have `channelData['webchat:send-status']`;\n // - They do not have an ongoing `postActivitySaga`;\n // - They should not previously appear in the chat history.\n // 2. We need to mark these activities as \"sent\".\n //\n // In the future, when we revamp our object model, we could use a different signal so we don't need the code below, for example:\n //\n // - If `activity.id` is set, it is \"sent\", because the chat service assigned an ID to the activity;\n // - If `activity.id` is not set, it is either \"sending\" or \"send failed\";\n // - If `activity.channelData['webchat:send-failed-reason']` is set, it is \"send failed\" with the reason, otherwise;\n // - It is sending.\n if (activity.from.role === 'user') {\n const { id } = activity;\n const clientActivityID = getClientActivityID(activity);\n\n const existingActivity = state.find(\n activity =>\n (clientActivityID && getClientActivityID(activity) === clientActivityID) || (id && activity.id === id)\n );\n\n if (existingActivity) {\n const {\n channelData: { 'webchat:send-status': sendStatus }\n } = existingActivity;\n\n if (sendStatus === SENDING || sendStatus === SEND_FAILED || sendStatus === SENT) {\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => sendStatus);\n }\n } else {\n // If there are no existing activity, probably this activity is restored from chat history.\n // All outgoing activities restored from service means they arrived at the service successfully.\n // Thus, we are marking them as \"sent\".\n activity = updateIn(activity, ['channelData', 'webchat:send-status'], () => SENT);\n }\n }\n\n state = upsertActivityWithSort(state, activity, ponyfill);\n }\n\n break;\n\n default:\n break;\n }\n\n return state;\n };\n}\n","type DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\ntype DeleteActivityAction = {\n payload: { activityID: string };\n type: DeleteActivityActionType;\n};\n\nconst DELETE_ACTIVITY: DeleteActivityActionType = 'DIRECT_LINE/DELETE_ACTIVITY';\n\nfunction deleteActivity(activityID: string): DeleteActivityAction {\n return {\n type: DELETE_ACTIVITY,\n payload: { activityID }\n };\n}\n\nexport default deleteActivity;\nexport { DELETE_ACTIVITY };\nexport type { DeleteActivityAction };\n","import type { WebChatActivity } from '../types/WebChatActivity';\n\ntype IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\ntype IncomingActivityAction = {\n payload: { activity: WebChatActivity };\n type: IncomingActivityActionType;\n};\n\nconst INCOMING_ACTIVITY: IncomingActivityActionType = 'DIRECT_LINE/INCOMING_ACTIVITY';\n\nfunction incomingActivity(activity: WebChatActivity): IncomingActivityAction {\n return {\n type: INCOMING_ACTIVITY,\n payload: { activity }\n };\n}\n\nexport default incomingActivity;\nexport { INCOMING_ACTIVITY };\nexport type { IncomingActivityAction };\n","// This type is only for this package only and help reducing size of the bundle.\n// Externals should use the string literal directly instead.\n\n// TODO: [P3] #4040 When improve treeshaking with named exports, we could export internals from `core` package.\n// import { SENDING, SEND_FAILED, SENT } from 'botframework-webchat-core/internal/SendStatus';\n\nconst SENDING = 'sending';\nconst SEND_FAILED = 'send failed';\nconst SENT = 'sent';\n\ntype SendStatus = typeof SENDING | typeof SEND_FAILED | typeof SENT;\n\nexport { SENDING, SEND_FAILED, SENT };\nexport type { SendStatus };\n","import { integer, literal, minValue, number, object, optional, safeParse, string, union } from 'valibot';\n\nimport { type WebChatActivity } from '../types/WebChatActivity';\n\nconst streamSequenceSchema = number([integer(), minValue(1)]);\n\nconst livestreamingActivitySchema = union([\n object({\n channelData: object({\n // \"streamId\" is optional for the very first activity in the session.\n streamId: optional(string()),\n streamSequence: streamSequenceSchema,\n streamType: union([literal('informative'), literal('streaming')])\n }),\n id: string(),\n text: string(),\n type: literal('typing')\n }),\n object({\n channelData: object({\n // \"streamId\" is required for the final activity in the session. The final activity must not be the sole activity in the session.\n streamId: string(),\n streamType: literal('final')\n }),\n id: string(),\n text: string(),\n type: literal('message')\n })\n]);\n\n/**\n * Gets the livestreaming metadata of the activity, or `undefined` if the activity is not participating in a livestreaming session.\n *\n * - `sessionId` - ID of the livestreaming session\n * - `sequenceNumber` - sequence number of the activity\n * - `type`\n * - `\"interim activity\"` - current response, could be empty, partial-from-start, or complete response.\n * More activities are expected. Future interim activities always replace past interim activities, enable erasing or backtracking response.\n * - `\"informative message\"` - optional side-channel informative message describing the current response, e.g. \"Searching your document library\".\n * Always replace past informative messages. May interleave with interim activities.\n * - `\"final activity\"` - complete-and-final response, always replace past interim activities and remove all informative messages.\n * This activity indicates end of the session, all future activities must be ignored.\n * - `undefined` - not part of a livestream session or the activity is not valid\n *\n * @returns {object} Livestreaming metadata of the activity, or `undefined` if the activity is not participating in a livestreaming session.\n */\nexport default function getActivityLivestreamingMetadata(activity: WebChatActivity):\n | Readonly<{\n sessionId: string;\n sequenceNumber: number;\n type: 'final activity' | 'informative message' | 'interim activity';\n }>\n | undefined {\n const result = safeParse(livestreamingActivitySchema, activity);\n\n if (result.success) {\n const { output } = result;\n\n // If the activity is the first in the session, session ID should be the activity ID.\n const sessionId = output.channelData.streamId || output.id;\n\n return Object.freeze(\n output.channelData.streamType === 'final'\n ? {\n sequenceNumber: Infinity,\n sessionId,\n type: 'final activity'\n }\n : {\n sequenceNumber: output.channelData.streamSequence,\n sessionId,\n type: output.channelData.streamType === 'informative' ? 'informative message' : 'interim activity'\n }\n );\n }\n\n return undefined;\n}\n","type Position = 'after' | 'before' | 'unknown';\n\nexport default function findBeforeAfter<T>(\n array: T[],\n getPosition: (value: T) => Position\n): [T | undefined, T | undefined, number | undefined] {\n let lastValue: T | undefined;\n let lastPosition: Position = 'unknown';\n\n for (let index = 0; index < array.length; index++) {\n const value = array[+index];\n const currentPosition = getPosition(value);\n\n if (\n ((lastPosition === 'before' || lastPosition === 'unknown') && currentPosition === 'after') ||\n (lastPosition === 'before' && (currentPosition === 'after' || currentPosition === 'unknown'))\n ) {\n return [lastValue, value, index];\n }\n\n lastValue = value;\n lastPosition = currentPosition;\n }\n\n if (lastPosition === 'before') {\n return [lastValue, undefined, array.length];\n }\n\n return [undefined, undefined, undefined];\n}\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n/**\n * Creates a Redux reducer to store the ponyfill.\n *\n * The ponyfill is used to check if React and Redux does not use a matching ponyfill.\n */\nexport default function createInternalReducer(ponyfill: GlobalScopePonyfill): () => { ponyfill: GlobalScopePonyfill } {\n return () => ({ ponyfill });\n}\n","import updateIn from 'simple-update-in';\n\nimport { DISMISS_NOTIFICATION } from '../actions/dismissNotification';\nimport { SAGA_ERROR } from '../actions/sagaError';\nimport { SET_NOTIFICATION } from '../actions/setNotification';\nimport isForbiddenPropertyName from '../utils/isForbiddenPropertyName';\n\nimport type { DismissNotificationAction } from '../actions/dismissNotification';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { Notification } from '../types/internal/Notification';\nimport type { Reducer } from 'redux';\nimport type { SagaErrorAction } from '../actions/sagaError';\nimport type { SetNotificationAction } from '../actions/setNotification';\n\ntype NotificationsAction = DismissNotificationAction | SagaErrorAction | SetNotificationAction;\ntype NotificationsState = Record<string, Notification>;\n\nconst DEFAULT_STATE: NotificationsState = {};\n\nexport default function createNotificationsReducer({\n Date\n}: GlobalScopePonyfill): Reducer<NotificationsState, NotificationsAction> {\n return function notifications(\n state: NotificationsState = DEFAULT_STATE,\n action: NotificationsAction\n ): NotificationsState {\n const { type } = action;\n const now = Date.now();\n\n if (type === DISMISS_NOTIFICATION) {\n state = updateIn(state, [action.payload.id]);\n } else if (type === SAGA_ERROR) {\n state = updateIn(state, ['connectivitystatus', 'message'], () => 'javascripterror');\n } else if (type === SET_NOTIFICATION) {\n const { alt, data, id, level, message } = action.payload;\n\n if (!isForbiddenPropertyName(id)) {\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n const notification = state[id];\n\n if (\n !notification ||\n alt !== notification.alt ||\n !Object.is(data, notification.data) ||\n level !== notification.level ||\n message !== notification.message\n ) {\n state = updateIn(state, [id], () => ({\n alt,\n data,\n id,\n level,\n message,\n timestamp: now\n }));\n }\n }\n }\n\n return state;\n };\n}\n","let FORBIDDEN_PROPERTY_NAMES;\n\nfunction getForbiddenPropertyNames(): string[] {\n return (\n FORBIDDEN_PROPERTY_NAMES ||\n (FORBIDDEN_PROPERTY_NAMES = Object.freeze(\n Array.from(\n new Set([\n // As-of writing, `Object.prototype` includes:\n // __defineGetter__\n // __defineSetter__\n // __lookupGetter__\n // __lookupSetter\n // __proto__\n // constructor\n // hasOwnProperty\n // isPrototypeOf\n // propertyIsEnumerable\n // toLocaleString\n // toString\n // valueOf\n ...Object.getOwnPropertyNames(Object.prototype),\n\n 'prototype'\n ])\n )\n ))\n );\n}\n\nexport default function isForbiddenPropertyName(propertyName: string): boolean {\n return getForbiddenPropertyNames().includes(propertyName);\n}\n","/* eslint no-case-declarations: \"off\" */\n/* eslint no-unused-vars: \"off\" */\n\nimport updateIn from 'simple-update-in';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type { PostActivityPendingAction } from '../actions/postActivity';\nimport type { Reducer } from 'redux';\n\ntype TypingState = Record<\n string,\n {\n at: number;\n last: number;\n name: string;\n role: 'bot' | 'channel' | 'user';\n }\n>;\ntype TypingAction = IncomingActivityAction | PostActivityPendingAction;\n\nconst DEFAULT_STATE: TypingState = {};\n\nexport default function createLastTypingReducer({ Date }: GlobalScopePonyfill): Reducer<TypingState, TypingAction> {\n return function lastTyping(state: TypingState = DEFAULT_STATE, { payload, type }: TypingAction): TypingState {\n if (type === INCOMING_ACTIVITY || type === POST_ACTIVITY_PENDING) {\n const {\n activity: {\n from: { id, name, role },\n type: activityType\n }\n } = payload;\n\n if (activityType === 'typing') {\n const now = Date.now();\n\n state = updateIn(state, [id, 'at'], at => at || now);\n state = updateIn(state, [id, 'last'], () => now);\n state = updateIn(state, [id, 'name'], () => name);\n state = updateIn(state, [id, 'role'], () => role);\n } else if (activityType === 'message') {\n state = updateIn(state, [id]);\n }\n }\n\n return state;\n };\n}\n","import { SET_DICTATE_INTERIMS } from '../actions/setDictateInterims';\n\nconst DEFAULT_STATE = [];\n\nexport default function dictateInterims(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_DICTATE_INTERIMS:\n state = payload.dictateInterims;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { DICTATING, IDLE, STARTING, STOPPING, WILL_START } from '../constants/DictateState';\n\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { START_DICTATE } from '../actions/startDictate';\nimport { STOP_DICTATE } from '../actions/stopDictate';\n\nconst DEFAULT_STATE = IDLE;\n\nexport default function dictateState(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_DICTATE_STATE:\n state = payload.dictateState;\n break;\n\n case START_DICTATE:\n if (state === IDLE || state === STOPPING || state === WILL_START) {\n state = STARTING;\n }\n\n break;\n\n case STOP_DICTATE:\n if (state === STARTING || state === DICTATING) {\n state = STOPPING;\n } else if (state === WILL_START) {\n state = IDLE;\n }\n\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_LANGUAGE } from '../actions/setLanguage';\n\nconst DEFAULT_STATE = 'en-US';\n\nexport default function language(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_LANGUAGE:\n state = payload.language;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","// TODO: [P3] We should obsolete this action in favor of DIRECT_LINE/UPDATE_CONNECTION_STATUS.\n// But today, both actions behave differently, this one only dispatch after connected and not dispatched when disconnected.\nconst CONNECTION_STATUS_UPDATE = 'DIRECT_LINE/CONNECTION_STATUS_UPDATE';\n\nexport default function connectionStatusUpdate(connectionStatus) {\n return {\n type: CONNECTION_STATUS_UPDATE,\n payload: { connectionStatus }\n };\n}\n\nexport { CONNECTION_STATUS_UPDATE };\n","import { CONNECTION_STATUS_UPDATE } from '../actions/connectionStatusUpdate';\n\nconst DEFAULT_STATE = 0;\n\nexport default function readyState(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case CONNECTION_STATUS_UPDATE:\n state = payload.connectionStatus;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","const SET_REFERENCE_GRAMMAR_ID = 'WEB_CHAT/SET_REFERENCE_GRAMMAR_ID';\n\nexport default function setReferenceGrammarID(referenceGrammarID) {\n return {\n type: SET_REFERENCE_GRAMMAR_ID,\n payload: { referenceGrammarID }\n };\n}\n\nexport { SET_REFERENCE_GRAMMAR_ID };\n","import { SET_REFERENCE_GRAMMAR_ID } from '../actions/setReferenceGrammarID';\n\nconst DEFAULT_STATE = null;\n\nexport default function referenceGrammarID(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_REFERENCE_GRAMMAR_ID:\n state = payload.referenceGrammarID || null;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_BOX_ATTACHMENTS } from '../actions/setSendBoxAttachments';\nimport type { SendBoxAttachment } from '../types/SendBoxAttachment';\n\nconst DEFAULT_STATE: readonly SendBoxAttachment[] = Object.freeze([]);\n\nexport default function sendBoxAttachments(state = DEFAULT_STATE, { payload, type }): readonly SendBoxAttachment[] {\n switch (type) {\n case SET_SEND_BOX_ATTACHMENTS:\n state = payload.attachments;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_BOX } from '../actions/setSendBox';\n\nconst DEFAULT_STATE = '';\n\nexport default function sendBoxValue(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_BOX:\n state = payload.text;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_TIMEOUT } from '../actions/setSendTimeout';\n\nconst DEFAULT_STATE = 20000;\n\nexport default function sendTimeout(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_TIMEOUT:\n state = payload.sendTimeout;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\n\nconst DEFAULT_STATE = false;\n\nexport default function sendTypingIndicator(state = DEFAULT_STATE, { payload, type }) {\n switch (type) {\n case SET_SEND_TYPING_INDICATOR:\n state = payload.sendTypingIndicator;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { START_SPEAKING_ACTIVITY } from '../actions/startSpeakingActivity';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\n\nexport default function shouldSpeakIncomingActivity(state = false, { type }) {\n switch (type) {\n case START_SPEAKING_ACTIVITY:\n state = true;\n break;\n\n case STOP_SPEAKING_ACTIVITY:\n state = false;\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import type { DirectLineCardAction } from '../types/external/DirectLineCardAction';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst EMPTY_ARRAY: readonly DirectLineCardAction[] = Object.freeze([]);\n\nconst SET_SUGGESTED_ACTIONS = 'WEB_CHAT/SET_SUGGESTED_ACTIONS' as const;\n\nexport default function setSuggestedActions(\n suggestedActions: readonly DirectLineCardAction[] = EMPTY_ARRAY,\n originActivity: undefined | WebChatActivity = undefined\n) {\n return {\n type: SET_SUGGESTED_ACTIONS,\n payload: { originActivity, suggestedActions }\n };\n}\n\nexport { SET_SUGGESTED_ACTIONS };\n","import { CLEAR_SUGGESTED_ACTIONS } from '../actions/clearSuggestedActions';\nimport { SET_SUGGESTED_ACTIONS } from '../actions/setSuggestedActions';\n\nconst DEFAULT_STATE = Object.freeze([]);\n\nexport default function suggestedActions(state = DEFAULT_STATE, { payload = {}, type }) {\n switch (type) {\n case SET_SUGGESTED_ACTIONS:\n if ((payload.suggestedActions || []).length) {\n state = [].slice.call(payload.suggestedActions);\n } else {\n state = DEFAULT_STATE;\n }\n break;\n case CLEAR_SUGGESTED_ACTIONS:\n state = DEFAULT_STATE;\n break;\n default:\n break;\n }\n\n return state;\n}\n","import type clearSuggestedActions from '../actions/clearSuggestedActions';\nimport { CLEAR_SUGGESTED_ACTIONS } from '../actions/clearSuggestedActions';\nimport type setSuggestedActions from '../actions/setSuggestedActions';\nimport { SET_SUGGESTED_ACTIONS } from '../actions/setSuggestedActions';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\ntype ClearSuggestedActions = ReturnType<typeof clearSuggestedActions>;\ntype SetSuggestedActions = ReturnType<typeof setSuggestedActions>;\ntype State = Readonly<{ activity: undefined | WebChatActivity }>;\n\nconst DEFAULT_STATE: State = Object.freeze({ activity: undefined });\n\nexport default function suggestedActionsOriginActivity(\n state = DEFAULT_STATE,\n action: ClearSuggestedActions | SetSuggestedActions\n): State {\n switch (action.type) {\n case SET_SUGGESTED_ACTIONS:\n state = { activity: action.payload.originActivity };\n\n break;\n\n case CLEAR_SUGGESTED_ACTIONS:\n state = DEFAULT_STATE;\n\n break;\n\n default:\n break;\n }\n\n return state;\n}\n","import { fork } from 'redux-saga/effects';\n\nimport clearSuggestedActionsOnPostActivitySaga from './sagas/clearSuggestedActionsOnPostActivitySaga';\nimport connectionStatusToNotificationSaga from './sagas/connectionStatusToNotificationSaga';\nimport connectionStatusUpdateSaga from './sagas/connectionStatusUpdateSaga';\nimport connectSaga from './sagas/connectSaga';\nimport detectSlowConnectionSaga from './sagas/detectSlowConnectionSaga';\nimport emitTypingIndicatorToPostActivitySaga from './sagas/emitTypingIndicatorToPostActivitySaga';\nimport markAllAsSpokenOnStopSpeakActivitySaga from './sagas/markAllAsSpokenOnStopSpeakActivitySaga';\nimport observeActivitySaga from './sagas/observeActivitySaga';\nimport postActivitySaga from './sagas/postActivitySaga';\nimport queueIncomingActivitySaga from './sagas/queueIncomingActivitySaga';\nimport sendEventToPostActivitySaga from './sagas/sendEventToPostActivitySaga';\nimport sendFilesToPostActivitySaga from './sagas/sendFilesToPostActivitySaga';\nimport sendMessageBackToPostActivitySaga from './sagas/sendMessageBackToPostActivitySaga';\nimport sendMessageToPostActivitySaga from './sagas/sendMessageToPostActivitySaga';\nimport sendPostBackToPostActivitySaga from './sagas/sendPostBackToPostActivitySaga';\nimport sendTypingIndicatorOnSetSendBoxSaga from './sagas/sendTypingIndicatorOnSetSendBoxSaga';\nimport speakActivityAndStartDictateOnIncomingActivityFromOthersSaga from './sagas/speakActivityAndStartDictateOnIncomingActivityFromOthersSaga';\nimport startDictateOnSpeakCompleteSaga from './sagas/startDictateOnSpeakCompleteSaga';\nimport startSpeakActivityOnPostActivitySaga from './sagas/startSpeakActivityOnPostActivitySaga';\nimport stopDictateOnCardActionSaga from './sagas/stopDictateOnCardActionSaga';\nimport stopSpeakingActivityOnInputSaga from './sagas/stopSpeakingActivityOnInputSaga';\nimport submitSendBoxSaga from './sagas/submitSendBoxSaga';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { Saga } from 'redux-saga';\n\ntype CreateSagasOptions = {\n ponyfill: GlobalScopePonyfill;\n};\n\nexport default function createSagas({ ponyfill }: CreateSagasOptions): Saga {\n return function* () {\n // TODO: [P2] Since fork() silently catches all exceptions, we need to find a way to console.error them out.\n\n yield fork(clearSuggestedActionsOnPostActivitySaga);\n yield fork(connectionStatusToNotificationSaga);\n yield fork(connectionStatusUpdateSaga);\n yield fork(connectSaga);\n yield fork(detectSlowConnectionSaga, ponyfill);\n yield fork(emitTypingIndicatorToPostActivitySaga);\n yield fork(markAllAsSpokenOnStopSpeakActivitySaga);\n yield fork(observeActivitySaga);\n yield fork(postActivitySaga, ponyfill);\n yield fork(queueIncomingActivitySaga, ponyfill);\n yield fork(sendEventToPostActivitySaga);\n yield fork(sendFilesToPostActivitySaga);\n yield fork(sendMessageBackToPostActivitySaga);\n yield fork(sendMessageToPostActivitySaga);\n yield fork(sendPostBackToPostActivitySaga);\n yield fork(sendTypingIndicatorOnSetSendBoxSaga, ponyfill);\n yield fork(speakActivityAndStartDictateOnIncomingActivityFromOthersSaga);\n yield fork(startDictateOnSpeakCompleteSaga);\n yield fork(startSpeakActivityOnPostActivitySaga);\n yield fork(stopDictateOnCardActionSaga);\n yield fork(stopSpeakingActivityOnInputSaga);\n yield fork(submitSendBoxSaga);\n };\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport whileConnected from './effects/whileConnected';\n\nfunction* clearSuggestedActions() {\n yield put(setSuggestedActions());\n}\n\nfunction* clearSuggestedActionsOnPostActivity() {\n yield takeEvery(\n ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n clearSuggestedActions\n );\n}\n\nexport default function* clearSuggestedActionsOnPostActivitySaga() {\n yield whileConnected(clearSuggestedActionsOnPostActivity);\n}\n","import { call, cancel, fork, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLING } from '../../actions/connect';\nimport { DISCONNECT_PENDING } from '../../actions/disconnect';\nimport { RECONNECT_PENDING, RECONNECT_FULFILLING } from '../../actions/reconnect';\n\nimport type { DirectLineJSBotConnection } from '../../types/external/DirectLineJSBotConnection';\n\nexport default function whileConnectedEffect<P extends any[]>(\n fn: (\n {\n directLine,\n userID,\n username\n }: {\n directLine: DirectLineJSBotConnection;\n userID: string;\n username: string;\n },\n ...args: P\n ) => void,\n ...args: P\n) {\n return call(function* whileConnected() {\n for (;;) {\n const {\n meta: { userID, username },\n payload: { directLine }\n }: {\n meta: {\n userID: string;\n username: string;\n };\n payload: { directLine: DirectLineJSBotConnection };\n } = yield take([CONNECT_FULFILLING, RECONNECT_FULFILLING]);\n\n const task = yield fork(fn, { directLine, userID, username }, ...args);\n\n // When we receive DISCONNECT_PENDING or RECONNECT_PENDING, the Direct Line connection is currently busy and should not be used.\n\n yield take([DISCONNECT_PENDING, RECONNECT_PENDING]);\n yield cancel(task);\n }\n });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3, 4] }] */\n\nimport { call, put, takeLatest } from 'redux-saga/effects';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport setNotification from '../actions/setNotification';\n\nconst CONNECTIVITY_STATUS_NOTIFICATION_ID = 'connectivitystatus';\n\nfunction subscribeToPromiseQueue(observable) {\n const { push, shift } = createPromiseQueue();\n const subscription = observable.subscribe({ next: push });\n\n return {\n shift,\n unsubscribe() {\n subscription.unsubscribe();\n }\n };\n}\n\nfunction* connectionStatusToNotification({ payload: { directLine } }) {\n const { shift, unsubscribe } = subscribeToPromiseQueue(directLine.connectionStatus$);\n\n try {\n let reconnecting;\n\n for (;;) {\n const value = yield call(shift);\n\n switch (value) {\n case 0:\n case 1:\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'info',\n message: reconnecting ? 'reconnecting' : 'connecting'\n })\n );\n\n break;\n\n case 2:\n reconnecting = 1;\n\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'success',\n message: 'connected'\n })\n );\n\n break;\n\n case 3:\n case 4:\n reconnecting = 1;\n\n yield put(\n setNotification({\n id: CONNECTIVITY_STATUS_NOTIFICATION_ID,\n level: 'error',\n message: 'failedtoconnect'\n })\n );\n\n break;\n\n default:\n break;\n }\n }\n } finally {\n unsubscribe();\n }\n}\n\nexport default function* () {\n yield takeLatest(CONNECT, connectionStatusToNotification);\n}\n","import { withResolvers } from 'botframework-webchat-base/utils';\n\nexport default function createPromiseQueue() {\n let promiseWithResolvers;\n const queue = [];\n\n const push = value => {\n if (promiseWithResolvers) {\n const { resolve } = promiseWithResolvers;\n\n promiseWithResolvers = null;\n resolve(value);\n } else {\n queue.push(value);\n }\n };\n\n const shift = () =>\n queue.length\n ? Promise.resolve(queue.shift())\n : (promiseWithResolvers || (promiseWithResolvers = withResolvers())).promise;\n\n return {\n push,\n shift\n };\n}\n","import { put } from 'redux-saga/effects';\n\nimport connectionStatusUpdate from '../actions/connectionStatusUpdate';\nimport observeEach from './effects/observeEach';\nimport setReferenceGrammarID from '../actions/setReferenceGrammarID';\nimport whileConnected from './effects/whileConnected';\n\nfunction* observeConnectionStatus({ directLine }) {\n yield observeEach(directLine.connectionStatus$, function* updateConnectionStatus(connectionStatus) {\n yield put(connectionStatusUpdate(connectionStatus));\n yield put(setReferenceGrammarID(directLine.referenceGrammarId));\n });\n}\n\nexport default function* connectionStatusUpdateSaga() {\n yield whileConnected(observeConnectionStatus);\n}\n","import { call } from 'redux-saga/effects';\n\nimport createPromiseQueue from '../../createPromiseQueue';\n\nexport default function observeEachEffect(observable, saga) {\n return call(function* observeEach() {\n const queue = createPromiseQueue();\n const subscription = observable.subscribe({ next: queue.push });\n\n try {\n for (;;) {\n const result = yield call(queue.shift);\n\n yield call(saga, result);\n }\n } finally {\n subscription.unsubscribe();\n }\n });\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 10] }] */\n\nimport { call, cancel, cancelled, fork, put, race, take } from 'redux-saga/effects';\n\nimport { jwtDecode } from 'jwt-decode';\n\nimport { CONNECT } from '../actions/connect';\nimport createPromiseQueue from '../createPromiseQueue';\nimport forkPut from './effects/forkPut';\nimport uniqueID from '../utils/uniqueID';\nimport updateConnectionStatus, { UPDATE_CONNECTION_STATUS } from '../actions/updateConnectionStatus';\n\nimport { DISCONNECT, DISCONNECT_PENDING, DISCONNECT_FULFILLED } from '../actions/disconnect';\n\nimport { RECONNECT } from '../actions/reconnect';\n\nconst CONNECTING = 1;\nconst ONLINE = 2;\nconst UNINITIALIZED = 0;\n\nfunction randomUserID() {\n return `r_${uniqueID().substring(0, 10)}`;\n}\n\nfunction* observeAndPutConnectionStatusUpdate(directLine) {\n const connectionStatusQueue = createPromiseQueue();\n const connectionStatusSubscription = directLine.connectionStatus$.subscribe({ next: connectionStatusQueue.push });\n\n try {\n for (;;) {\n const connectionStatus = yield call(connectionStatusQueue.shift);\n\n yield put(updateConnectionStatus(connectionStatus));\n }\n } finally {\n connectionStatusSubscription.unsubscribe();\n }\n}\n\n// TODO: [P2] We should move this check and rectification to DirectLineJS.\nfunction rectifyUserID(directLine, userIDFromAction) {\n const { token } = directLine;\n\n let userIDFromToken;\n\n // TODO: Add test to make sure \"jwt-decode\" work as expected.\n try {\n userIDFromToken = (jwtDecode(token) || {}).user;\n // eslint-disable-next-line no-empty\n } catch (err) {}\n\n const result = {\n fromAction: userIDFromAction,\n fromToken: userIDFromToken\n };\n\n if (userIDFromToken) {\n if (userIDFromAction && userIDFromAction !== userIDFromToken) {\n console.warn(\n 'Web Chat: user ID is both specified in the Direct Line token and passed in, will use the user ID from the token.'\n );\n }\n\n result.final = userIDFromToken;\n } else if (userIDFromAction) {\n if (typeof userIDFromAction !== 'string') {\n console.warn('Web Chat: user ID must be a string.');\n\n result.final = randomUserID();\n } else if (/^dl_/u.test(userIDFromAction)) {\n console.warn(\n 'Web Chat: user ID prefixed with \"dl_\" is reserved and must be embedded into the Direct Line token to prevent forgery.'\n );\n\n result.final = randomUserID();\n } else {\n result.final = userIDFromAction;\n }\n } else {\n result.final = randomUserID();\n }\n\n return result;\n}\n\n// We could make this a Promise instead of saga (function generator) to make the code cleaner, if:\n// 1. We found a way to cancel Promise\n// 2. subscribe() are shared amongst all subscriptions, e.g. turn Observable into events\nfunction* connectSaga(directLine) {\n // DirectLineJS starts the connection only after the first subscriber for activity$, not connectionStatus$\n const activitySubscription = directLine.activity$.subscribe({ next: () => 0 });\n const unsubscribeActivity = activitySubscription.unsubscribe.bind(activitySubscription);\n\n try {\n for (;;) {\n const {\n payload: { connectionStatus }\n } = yield take(UPDATE_CONNECTION_STATUS);\n\n if (connectionStatus === ONLINE) {\n // TODO: [P2] DirectLineJS should kill the connection when we unsubscribe\n // But currently in v3, DirectLineJS does not have this functionality\n // Thus, we need to call \"end()\" explicitly\n\n return () => {\n unsubscribeActivity();\n directLine.end();\n };\n } else if (connectionStatus !== UNINITIALIZED && connectionStatus !== CONNECTING) {\n throw new Error(`Failed to connect, DirectLineJS returned ${connectionStatus}.`);\n }\n }\n } catch (err) {\n // We will unsubscribe if we failed to connect or got cancelled only.\n // We should not unsubscribe in happy case, because DirectLineJS should relying on the subscription to connect/disconnect.\n unsubscribeActivity();\n\n throw err;\n } finally {\n if (yield cancelled()) {\n unsubscribeActivity();\n }\n }\n}\n\nfunction* reconnectSaga() {\n for (;;) {\n const {\n payload: { connectionStatus }\n } = yield take(UPDATE_CONNECTION_STATUS);\n\n if (connectionStatus === ONLINE) {\n break;\n } else if (connectionStatus !== CONNECTING) {\n throw new Error(`Failed to reconnect. DirectLineJS returned ${connectionStatus}.`);\n }\n }\n}\n\n// This is similar to behavior of redux-promise-middleware, but using saga instead of Promise.\n// We guarantee PENDING -> FULFILLING -> FULFILLED, or PENDING -> REJECTED. This will help us simplify logic in other part of code.\n// Note that after the saga is cancelled, subsequent call to put() will be ignored silently.\nfunction* runAsyncEffect({ type, meta, payload }, callEffectFactory) {\n try {\n yield forkPut({ type: `${type}_PENDING`, meta, payload });\n\n const result = yield callEffectFactory();\n\n yield forkPut({ type: `${type}_FULFILLING`, meta, payload }, { type: `${type}_FULFILLED`, meta, payload });\n\n return result;\n } catch (payload) {\n yield forkPut({ type: `${type}_REJECTED`, error: true, meta, payload });\n\n throw payload;\n }\n}\n\nfunction* takeDisconnectAsError() {\n yield take(DISCONNECT);\n\n throw new Error('disconnected');\n}\n\nfunction runAsyncEffectUntilDisconnect(baseAction, callEffectFactory) {\n // We cannot use saga cancel() here, because cancelling saga will prohibit us from sending *_REJECTED.\n // Without REJECTED, it impacts our assumptions around PENDING/FULFILLED/REJECTED.\n return runAsyncEffect(baseAction, function* runUntilDisconnect() {\n const { result } = yield race({\n _: takeDisconnectAsError(),\n result: callEffectFactory()\n });\n\n return result;\n });\n}\n\nexport default function* () {\n for (;;) {\n const {\n payload: { directLine, userID: userIDFromAction, username }\n } = yield take(CONNECT);\n\n const updateConnectionStatusTask = yield fork(observeAndPutConnectionStatusUpdate, directLine);\n const rectifiedUserID = rectifyUserID(directLine, userIDFromAction);\n\n // TODO: [P2] Checks if this attached subtask will get killed if the parent task is complete (peacefully), errored out, or cancelled.\n const meta = {\n userID: rectifiedUserID.final,\n username\n };\n\n // Send user ID to DirectLineJS if it was specified from props of <API.Composer>.\n // However, DirectLineJS may still prefer the user ID from token if it is burnt into the token.\n // To prevent DirectLineJS giving false warnings, we will only call setUserId() if it is different than the token.\n directLine.setUserId && rectifiedUserID.fromToken !== meta.userID && directLine.setUserId(meta.userID);\n\n let disconnectMeta;\n\n // We will dispatch CONNECT_PENDING, wait for connect completed, errored, or cancelled (thru disconnect).\n // Then dispatch CONNECT_FULFILLED/CONNECT_REJECTED as needed.\n try {\n const endDirectLine = yield runAsyncEffectUntilDisconnect(\n {\n type: CONNECT,\n meta,\n payload: { directLine }\n },\n () => call(connectSaga, directLine)\n );\n\n try {\n for (;;) {\n // We are waiting for connection status change or disconnect action.\n const { updateConnectionStatusAction: { payload: { connectionStatus } = {} } = {} } = yield race({\n _: take(DISCONNECT),\n updateConnectionStatusAction: take(UPDATE_CONNECTION_STATUS)\n });\n\n // If it is not disconnect action, connectionStatus will not be undefined.\n if (connectionStatus === CONNECTING) {\n // If DirectLineJS changed connectionStatus to CONNECTING, we will treat it as reconnect status.\n yield runAsyncEffectUntilDisconnect(\n {\n type: RECONNECT,\n meta,\n payload: { directLine }\n },\n () => call(reconnectSaga)\n );\n } else if (connectionStatus !== ONLINE) {\n if (typeof connectionStatus !== 'undefined') {\n // We need to kill the connection because DirectLineJS want to close it.\n throw new Error(`Connection status changed to ${connectionStatus}`);\n } else {\n // Someone dispatched disconnect action.\n break;\n }\n }\n }\n } finally {\n endDirectLine();\n }\n } catch (error) {\n disconnectMeta = { error };\n } finally {\n yield cancel(updateConnectionStatusTask);\n\n // Even if the connection is interrupted, we will still emit DISCONNECT_PENDING.\n // This will makes handling logic easier. If CONNECT_FULFILLED, we guarantee DISCONNECT_PENDING.\n yield forkPut(\n { type: DISCONNECT_PENDING, meta: disconnectMeta, payload: { directLine } },\n { type: DISCONNECT_FULFILLED, meta: disconnectMeta, payload: { directLine } }\n );\n }\n }\n}\n","import { fork, put } from 'redux-saga/effects';\n\n// In redux-saga, if we call the following effects in order, we might miss the take('C').\n// 1. take('A')\n// 2. put({ type: 'B' })\n// 3. take('C')\n\n// We need to modify step 2 to:\n// 2. fork(function* () { yield put({ type: 'B' }) })\n\n// This is a helper function for this purpose.\n\nexport default function forkPutEffect(...actions) {\n return fork(function* forkPut() {\n for (const action of actions) {\n yield put(action);\n }\n });\n}\n","const UPDATE_CONNECTION_STATUS = 'DIRECT_LINE/UPDATE_CONNECTION_STATUS';\n\nexport default function updateConnectionStatus(connectionStatus) {\n return {\n type: UPDATE_CONNECTION_STATUS,\n payload: { connectionStatus }\n };\n}\n\nexport { UPDATE_CONNECTION_STATUS };\n","import { call, put, race, take } from 'redux-saga/effects';\n\nimport { CONNECT_FULFILLED, CONNECT_PENDING, CONNECT_REJECTED, CONNECT_STILL_PENDING } from '../actions/connect';\nimport { RECONNECT_FULFILLED, RECONNECT_PENDING, RECONNECT_REJECTED } from '../actions/reconnect';\nimport sleep from '../utils/sleep';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nconst SLOW_CONNECTION_AFTER = 15000;\n\nexport default function* detectSlowConnectionSaga(ponyfill: GlobalScopePonyfill) {\n for (;;) {\n yield take([CONNECT_PENDING, RECONNECT_PENDING]);\n\n const connectivityRace = yield race({\n fulfilled: take([CONNECT_FULFILLED, RECONNECT_FULFILLED]),\n rejected: take([CONNECT_REJECTED, RECONNECT_REJECTED]),\n slow: call(sleep, SLOW_CONNECTION_AFTER, ponyfill)\n });\n\n if ('slow' in connectivityRace) {\n yield put({ type: CONNECT_STILL_PENDING });\n }\n }\n}\n","import type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\nexport default function sleep(interval: number, ponyfill: GlobalScopePonyfill): Promise<void> {\n return new Promise(resolve => ponyfill.setTimeout(resolve, Math.max(interval, 0)));\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { EMIT_TYPING_INDICATOR } from '../actions/emitTypingIndicator';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postTypingActivity() {\n yield put(\n postActivity({\n type: 'typing'\n })\n );\n}\n\nfunction* emitTypingActivityToPostActivity() {\n yield takeEvery(({ type }) => type === EMIT_TYPING_INDICATOR, postTypingActivity);\n}\n\nexport default function* emitTypingActivityToPostActivitySaga() {\n yield whileConnected(emitTypingActivityToPostActivity);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { of as activitiesOf } from '../selectors/activities';\nimport { STOP_SPEAKING_ACTIVITY } from '../actions/stopSpeakingActivity';\nimport markActivity from '../actions/markActivity';\nimport speakingActivity from '../definitions/speakingActivity';\n\nfunction* markAllAsSpoken() {\n const speakingActivities = yield select(activitiesOf(speakingActivity));\n\n for (const activity of speakingActivities) {\n yield put(markActivity(activity, 'speak', false));\n }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* markAllAsSpokenOnStopSpeakActivitySaga() {\n yield takeEvery(STOP_SPEAKING_ACTIVITY, markAllAsSpoken);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst activities = ({ activities }: ReduxState) => activities;\n\nconst of = (predicate: (activity: WebChatActivity) => boolean) => (state: ReduxState) =>\n activities(state).filter(predicate);\nconst ofID = (targetID: string) => of(({ id }) => id === targetID);\nconst ofType = (targetType: string) => of(({ type }) => type === targetType);\n\nexport default activities;\nexport { of, ofID, ofType };\n","// If true, the activity is in the queue and needs to be spoken.\n\nexport default function speakingActivity(activity) {\n return activity.channelData?.speak;\n}\n","import { put } from 'redux-saga/effects';\nimport updateIn from 'simple-update-in';\n\nimport observeEach from './effects/observeEach';\nimport queueIncomingActivity from '../actions/queueIncomingActivity';\nimport whileConnected from './effects/whileConnected';\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { WebChatActivity } from '../types/WebChatActivity';\n\nconst PASSTHRU_FN = (value: unknown) => value;\n\nfunction patchActivityWithFromRole(activity: DirectLineActivity, userID?: string): DirectLineActivity {\n // Some activities, such as \"ConversationUpdate\", does not have \"from\" defined.\n // And although \"role\" is defined in Direct Line spec, it was not sent over the wire.\n // We normalize the activity here to simplify null-check and logic later.\n\n // Patch activity.from.role to make sure its either \"bot\", \"user\", or \"channel\"\n if (!activity.from) {\n activity = updateIn(activity, ['from', 'role'], () => 'channel');\n } else if (!activity.from.role) {\n if (activity.from.id === userID) {\n activity = updateIn(activity, ['from', 'role'], () => 'user');\n } else if (activity.from.id) {\n activity = updateIn(activity, ['from', 'role'], () => 'bot');\n } else {\n activity = updateIn(activity, ['from', 'role'], () => 'channel');\n }\n }\n\n return activity;\n}\n\nfunction patchNullAsUndefined(activity: DirectLineActivity): DirectLineActivity {\n // These fields are known used in Web Chat and in any cases, they should not be null, but undefined.\n // The only field omitted is \"value\", as it could be null purposefully.\n\n return [\n 'attachmentLayout',\n 'attachments',\n 'channelData',\n 'conversation',\n 'entities',\n 'from',\n 'inputHint',\n 'locale',\n 'name',\n 'recipient',\n 'speak',\n 'suggestedActions',\n 'text',\n 'textFormat',\n 'timestamp',\n 'type'\n ].reduce((activity, name) => {\n const { [name]: value } = activity;\n\n return updateIn(activity, [name], typeof value === 'undefined' || value === null ? undefined : PASSTHRU_FN);\n }, activity);\n}\n\n// Patching the `from.name` to be a human readable name.\n// We use the `from.name` for typing indicator, such that it read \"John is typing...\".\nfunction patchFromName(activity: DirectLineActivity) {\n return updateIn(activity, ['from', 'name'], (name: string | undefined): string => {\n const { channelId, from = {} } = activity;\n\n if ((channelId === 'directline' || channelId === 'webchat') && from.id === from.name && from.role === 'bot') {\n return 'Bot';\n }\n\n return name;\n });\n}\n\nfunction* observeActivity({ directLine, userID }: { directLine: DirectLineJSBotConnection; userID?: string }) {\n yield observeEach(directLine.activity$, function* observeActivity(activity: DirectLineActivity) {\n // TODO: [P2] #3953 Move the patching logic to a DirectLineJS wrapper, instead of too close to inners of Web Chat.\n activity = patchNullAsUndefined(activity);\n activity = patchActivityWithFromRole(activity, userID);\n activity = patchFromName(activity);\n\n yield put(queueIncomingActivity(activity as WebChatActivity));\n });\n}\n\nexport default function* observeActivitySaga() {\n yield whileConnected(observeActivity);\n}\n","const QUEUE_INCOMING_ACTIVITY = 'DIRECT_LINE/QUEUE_INCOMING_ACTIVITY';\n\nexport default function queueIncomingActivity(activity) {\n return {\n type: QUEUE_INCOMING_ACTIVITY,\n payload: { activity }\n };\n}\n\nexport { QUEUE_INCOMING_ACTIVITY };\n","import { all, call, cancelled, put, race, select, take, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport {\n POST_ACTIVITY,\n POST_ACTIVITY_FULFILLED,\n POST_ACTIVITY_IMPEDED,\n POST_ACTIVITY_PENDING,\n POST_ACTIVITY_REJECTED\n} from '../actions/postActivity';\nimport dateToLocaleISOString from '../utils/dateToLocaleISOString';\nimport deleteKey from '../utils/deleteKey';\nimport languageSelector from '../selectors/language';\nimport observeOnce from './effects/observeOnce';\nimport sendTimeoutSelector from '../selectors/sendTimeout';\nimport sleep from '../utils/sleep';\nimport uniqueID from '../utils/uniqueID';\nimport whileConnected from './effects/whileConnected';\n\nimport type { DirectLineActivity } from '../types/external/DirectLineActivity';\nimport type { DirectLineJSBotConnection } from '../types/external/DirectLineJSBotConnection';\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type { IncomingActivityAction } from '../actions/incomingActivity';\nimport type {\n PostActivityAction,\n PostActivityFulfilledAction,\n PostActivityImpededAction,\n PostActivityPendingAction,\n PostActivityRejectedAction\n} from '../actions/postActivity';\nimport type { WebChatActivity } from '../types/WebChatActivity';\nimport type { WebChatOutgoingActivity } from '../types/internal/WebChatOutgoingActivity';\n\n// After 5 minutes, the saga will stop from listening for echo backs and consider the outgoing message as permanently undeliverable.\n// This value must be equals to or larger than the user-defined `styleOptions.sendTimeout`.\nconst HARD_SEND_TIMEOUT = 300000;\n\nfunction* postActivity(\n directLine: DirectLineJSBotConnection,\n userID: string,\n username: string,\n numActivitiesPosted: number,\n { meta: { method }, payload: { activity } }: PostActivityAction,\n ponyfill: GlobalScopePonyfill\n) {\n const attachments = (activity.type === 'message' && activity.attachments) || [];\n const clientActivityID = uniqueID();\n const locale = yield select(languageSelector);\n const localTimeZone =\n typeof window.Intl === 'undefined' ? undefined : new Intl.DateTimeFormat().resolvedOptions().timeZone;\n const now = new ponyfill.Date();\n\n // Currently, we allow untyped outgoing activity as long as the chat adapter can deliver.\n // In the future, we should warn if the outgoing activity is not matching the type.\n const outgoingActivity: WebChatOutgoingActivity = {\n ...deleteKey(activity, 'id'),\n channelData: {\n // Remove local fields that should not be send to the service.\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n ...deleteKey(activity.channelData, 'state', 'webchat:send-status'),\n clientActivityID\n },\n channelId: 'webchat',\n from: {\n id: userID,\n name: username,\n role: 'user'\n },\n locale,\n localTimestamp: dateToLocaleISOString(now),\n localTimezone: localTimeZone,\n ...(activity.type === 'message'\n ? {\n attachments:\n attachments &&\n attachments.map(({ contentType, contentUrl, name, thumbnailUrl }) => ({\n contentType,\n contentUrl,\n name,\n thumbnailUrl\n })),\n text: activity.text\n }\n : activity.type === 'event'\n ? {\n name: activity.name,\n value: activity.value\n }\n : {})\n };\n\n if (!numActivitiesPosted) {\n outgoingActivity.entities = [\n ...(outgoingActivity.entities || []),\n {\n // TODO: [P4] Currently in v3, we send the capabilities although the client might not actually have them\n // We need to understand why we need to send these, and only send capabilities the client have\n requiresBotState: true,\n supportsListening: true,\n supportsTts: true,\n type: 'ClientCapabilities'\n }\n ];\n }\n\n const meta: { clientActivityID: string; method: string } = { clientActivityID, method };\n\n yield put({\n type: POST_ACTIVITY_PENDING,\n meta,\n payload: { activity: outgoingActivity }\n } as PostActivityPendingAction);\n\n let echoed: boolean | undefined;\n\n try {\n // Quirks: We might receive INCOMING_ACTIVITY before the postActivity call completed\n // So, we setup expectation first, then postActivity afterward\n\n const echoBackCall = call(function* () {\n for (;;) {\n const {\n payload: { activity }\n }: IncomingActivityAction = yield take(INCOMING_ACTIVITY);\n if (activity.channelData?.clientActivityID === clientActivityID && activity.id) {\n echoed = true;\n\n return activity;\n }\n }\n });\n\n // Timeout could be due to either:\n // - Post activity call may take too long time to complete\n // - Direct Line service only respond on HTTP after bot respond to Direct Line\n // - Activity may take too long time to echo back\n\n const sendTimeout: number = yield select(sendTimeoutSelector);\n\n const {\n send: { echoBack }\n }: { send: { echoBack: WebChatActivity } } = yield race({\n send: all({\n echoBack: echoBackCall,\n postActivity: observeOnce(directLine.postActivity(outgoingActivity as DirectLineActivity))\n }),\n timeout: call(function* () {\n yield call(sleep, sendTimeout, ponyfill);\n\n // The IMPEDED action is for backward compatibility by changing `channelData.state` to \"send failed\".\n // `channelData.state` is being deprecated in favor of `channelData['webchat:send-status']`.\n // Please refer to #4362 for details. Remove on or after 2024-07-31.\n yield put({\n type: POST_ACTIVITY_IMPEDED,\n meta,\n payload: { activity: outgoingActivity }\n } as PostActivityImpededAction);\n\n yield call(sleep, HARD_SEND_TIMEOUT - sendTimeout, ponyfill);\n\n throw !echoed\n ? new Error('timed out while waiting for outgoing message to echo back')\n : new Error('timed out while waiting for postActivity to return any values');\n })\n });\n\n yield put({ type: POST_ACTIVITY_FULFILLED, meta, payload: { activity: echoBack } } as PostActivityFulfilledAction);\n } catch (err) {\n console.error('botframework-webchat: Failed to post activity to chat adapter.', err);\n\n yield put({\n type: POST_ACTIVITY_REJECTED,\n error: true,\n meta,\n payload: err\n } as PostActivityRejectedAction);\n } finally {\n if (yield cancelled()) {\n yield put({\n type: POST_ACTIVITY_REJECTED,\n error: true,\n meta,\n payload: new Error('cancelled')\n } as PostActivityRejectedAction);\n }\n }\n}\n\nexport default function* postActivitySaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(function* postActivityWhileConnected({\n directLine,\n userID,\n username\n }: {\n directLine: DirectLineJSBotConnection;\n userID: string;\n username: string;\n }) {\n let numActivitiesPosted = 0;\n\n yield takeEvery(POST_ACTIVITY, function* postActivityWrapper(action: PostActivityAction) {\n yield* postActivity(directLine, userID, username, numActivitiesPosted++, action, ponyfill);\n });\n });\n}\n","/* eslint no-magic-numbers: [\"off\", { \"ignore\": [1, 2, 3, 60] }] */\n\nfunction pad(value: number, count = 2): string {\n if (typeof value !== 'number') {\n throw new Error('First argument must be a number');\n }\n\n let stringValue = value + '';\n\n while (stringValue.length < count) {\n stringValue = '0' + stringValue;\n }\n\n return stringValue;\n}\n\n// Adopted from https://stackoverflow.com/questions/17415579/how-to-iso-8601-format-a-date-with-timezone-offset-in-javascript.\n// Use typing of `Date` from globalThis.\n// eslint-disable-next-line no-restricted-globals\nexport default function dateToLocaleISOString(date: Date): string {\n const isDateLike =\n // @ts-ignore TypeScript think this is always true.\n date.getTimezoneOffset &&\n // @ts-ignore TypeScript think this is always true.\n date.getFullYear &&\n // @ts-ignore TypeScript think this is always true.\n date.getMonth &&\n // @ts-ignore TypeScript think this is always true.\n date.getDate &&\n // @ts-ignore TypeScript think this is always true.\n date.getHours &&\n // @ts-ignore TypeScript think this is always true.\n date.getMinutes &&\n // @ts-ignore TypeScript think this is always true.\n date.getSeconds &&\n date.getMilliseconds;\n\n if (!isDateLike) {\n throw new Error('First argument must be a Date-like object.');\n }\n\n const timezoneOffset = -date.getTimezoneOffset();\n const timezoneSign = timezoneOffset < 0 ? '-' : '+';\n\n // \"yyyy-MM-DDTHH:mm:ss.fff+08:00\" for GMT+08\n // \"yyyy-MM-DDTHH:mm:ss.fffZ\" for UTC\n\n const absoluteTimezoneOffset = ~~Math.abs(timezoneOffset);\n\n return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(\n date.getMinutes()\n )}:${pad(date.getSeconds())}.${pad(date.getMilliseconds(), 3)}${\n timezoneOffset ? `${timezoneSign}${pad(~~(absoluteTimezoneOffset / 60))}:${pad(absoluteTimezoneOffset % 60)}` : 'Z'\n }`;\n}\n","import isForbiddenPropertyName from './isForbiddenPropertyName';\n\nexport default function deleteKey<TMap, TKey extends keyof TMap>(map: TMap, ...keys: TKey[]): Omit<TMap, TKey> {\n if (!map) {\n return map;\n }\n\n const nextMap = { ...map };\n\n for (const key of keys) {\n if (typeof key !== 'string' || !isForbiddenPropertyName(key)) {\n // Mitigation through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n delete nextMap[key];\n }\n }\n\n return nextMap;\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ language }: ReduxState): string => language;\n","import { call } from 'redux-saga/effects';\n\nimport { Observable, Observer, Subscription } from '../../types/external/Observable';\n\nexport default function observeOnceEffect<T>(observable: Observable<T>) {\n return call(function* observeOnce() {\n let subscription: Subscription;\n\n try {\n return yield call(\n () =>\n new Promise<T>((resolve, reject) => {\n subscription = observable.subscribe({\n complete: resolve,\n error: reject,\n next: resolve\n } as Observer<T>);\n })\n );\n } finally {\n subscription && subscription.unsubscribe();\n }\n });\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTimeout }: ReduxState): number => sendTimeout;\n","import { call, cancelled, fork, put, race, select, take } from 'redux-saga/effects';\n\nimport incomingActivity, { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { QUEUE_INCOMING_ACTIVITY } from '../actions/queueIncomingActivity';\nimport setSuggestedActions from '../actions/setSuggestedActions';\nimport activityFromBot from '../definitions/activityFromBot';\nimport activitiesSelector, { ofType as activitiesOfType } from '../selectors/activities';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\n\n// We will hold up the replying activity if the originating activity did not arrive, up to 5 seconds.\nconst REPLY_TIMEOUT = 5000;\n\nfunction* takeEveryAndSelect(actionType, selector, fn) {\n // select() will free up the code execution.\n // If we pair up with takeEvery(), it will allow actions to slip through.\n // Thus, we are writing one that don't use takeEvery().\n while (!(yield cancelled())) {\n const action = yield take(actionType);\n const state = yield select(selector);\n\n yield fork(fn, action, state);\n }\n}\n\n// Wait for specific activity to arrive in the transcript.\n// We will use the initial set of activities to close time gaps between select() and take().\n// If another activity with the same \"replyToId\" is already rendered (in the \"activities\" array),\n// we will skip the wait as we already waited long enough for the missing activity to show up.\nfunction* waitForActivityId(replyToId, initialActivities) {\n let activities = initialActivities;\n\n for (;;) {\n const replied = activities.find(activity => activity.id === replyToId || activity.replyToId === replyToId);\n\n if (replied) {\n break;\n }\n\n const {\n payload: { activity }\n } = yield take(INCOMING_ACTIVITY);\n\n if (activity.id === replyToId) {\n break;\n }\n\n activities = yield select(activitiesSelector);\n }\n}\n\nfunction* queueIncomingActivity({ userID }: { userID: string }, ponyfill: GlobalScopePonyfill) {\n yield takeEveryAndSelect(\n QUEUE_INCOMING_ACTIVITY,\n activitiesSelector,\n function* queueIncomingActivity({ payload: { activity } }, initialActivities) {\n // This is for resolving an accessibility issue.\n // If the incoming activity has \"replyToId\" field, hold on it until the activity replied to is in the transcript, then release this one.\n const { replyToId } = activity;\n const initialBotActivities = initialActivities.filter(({ from: { role } }) => role === 'bot');\n\n // To speed up the first activity render time, we do not delay the first activity from the bot.\n // Even if it is the first activity from the bot, the bot might be \"replying\" to the \"conversationUpdate\" event.\n // Thus, the \"replyToId\" will always be there even it is the first activity in the conversation.\n if (replyToId && initialBotActivities.length) {\n // Either the activity replied to is in the transcript or after timeout.\n const result = yield race({\n _: waitForActivityId(replyToId, initialActivities),\n timeout: call(sleep, REPLY_TIMEOUT, ponyfill)\n });\n\n if ('timeout' in result) {\n console.warn(\n `botframework-webchat: Timed out while waiting for activity \"${replyToId}\" which activity \"${activity.id}\" is replying to.`,\n {\n activity,\n replyToId\n }\n );\n }\n }\n\n yield put(incomingActivity(activity));\n\n // Update suggested actions\n // TODO: [P3] We could put this logic inside reducer to minimize number of actions dispatched.\n const messageActivities = yield select(activitiesOfType('message'));\n const lastMessageActivity = messageActivities[messageActivities.length - 1];\n\n if (activityFromBot(lastMessageActivity)) {\n const { suggestedActions: { actions, to } = { actions: undefined, to: undefined } } = lastMessageActivity;\n\n // If suggested actions is not destined to anyone, or is destined to the user, show it.\n // In other words, if suggested actions is destined to someone else, don't show it.\n const suggestedActions = to?.length && !to.includes(userID) ? null : actions;\n\n if (suggestedActions) {\n yield put(setSuggestedActions(suggestedActions, lastMessageActivity));\n } else {\n yield put(setSuggestedActions());\n }\n }\n }\n );\n}\n\nexport default function* queueIncomingActivitySaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(queueIncomingActivity, ponyfill);\n}\n","export default activity => activity && activity.from.role === 'bot';\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { SEND_EVENT } from '../actions/sendEvent';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithEvent({ payload: { name, value } }) {\n yield put(\n postActivity({\n name,\n type: 'event',\n value\n })\n );\n}\n\nfunction* sendEventToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_EVENT && payload.name, postActivityWithEvent);\n}\n\nexport default function* sendEventToPostActivitySaga() {\n yield whileConnected(sendEventToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport mime from 'mime';\n\nimport { SEND_FILES } from '../actions/sendFiles';\nimport postActivity from '../actions/postActivity';\nimport whileConnected from './effects/whileConnected';\n\nconst getType = mime.getType.bind(mime);\n\nfunction* postActivityWithFiles({ payload: { files } }) {\n yield put(\n postActivity({\n attachments: [].map.call(files, ({ name, thumbnail, url }) => ({\n contentType: getType(name) || 'application/octet-stream',\n contentUrl: url,\n name,\n thumbnailUrl: thumbnail\n })),\n channelData: {\n attachmentSizes: [].map.call(files, ({ size }) => size)\n },\n type: 'message'\n })\n );\n}\n\nfunction* sendFilesToPostActivity() {\n yield takeEvery(({ payload, type }) => type === SEND_FILES && payload.files.length, postActivityWithFiles);\n}\n\nexport default function* sendFilesToPostActivitySaga() {\n yield whileConnected(sendFilesToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_MESSAGE_BACK } from '../actions/sendMessageBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#message-back\nfunction* postActivityWithMessageBack({ payload: { displayText, text, value } }) {\n yield put(\n postActivity({\n channelData: {\n messageBack: {\n displayText\n }\n },\n text,\n type: 'message',\n value\n })\n );\n}\n\nfunction* sendMessageBackToPostActivity() {\n yield takeEvery(SEND_MESSAGE_BACK, postActivityWithMessageBack);\n}\n\nexport default function* sendMessageBackToPostActivitySaga() {\n yield whileConnected(sendMessageBackToPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport postActivity from '../actions/postActivity';\nimport sendMessage, { SEND_MESSAGE } from '../actions/sendMessage';\nimport whileConnected from './effects/whileConnected';\n\nfunction* postActivityWithMessage({\n payload: { attachments = [], channelData, method, text }\n}: ReturnType<typeof sendMessage>) {\n yield put(\n postActivity(\n {\n attachments: attachments.map(({ blob, thumbnailURL }) => ({\n contentType: (blob instanceof File && blob.type) || 'application/octet-stream',\n contentUrl: URL.createObjectURL(blob),\n name: blob instanceof File ? blob.name : undefined,\n thumbnailUrl: thumbnailURL?.toString()\n })),\n channelData: {\n ...channelData,\n attachmentSizes: attachments.map(({ blob: { size } }) => size)\n },\n text: text || undefined,\n textFormat: 'plain',\n type: 'message'\n } as any, // TODO: Fix WebChatActivity. Currently, it only works with incoming activity, not outgoing.\n method\n )\n );\n}\n\nfunction* sendMessageToPostActivity() {\n yield takeEvery(\n ({ payload, type }) => type === SEND_MESSAGE && (payload.text || payload.attachments?.length),\n postActivityWithMessage\n );\n}\n\nexport default function* sendMessageToPostActivitySaga() {\n yield whileConnected(sendMessageToPostActivity);\n}\n","// This is for the ternary operator of text and value.\n/* eslint no-undefined: \"off\" */\n\nimport { put, takeEvery } from 'redux-saga/effects';\nimport postActivity from '../actions/postActivity';\nimport { SEND_POST_BACK } from '../actions/sendPostBack';\nimport whileConnected from './effects/whileConnected';\n\n// https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#post-back\nfunction* postActivityWithPostBack({ payload: { value } }) {\n yield put(\n postActivity({\n channelData: {\n postBack: true\n },\n text: typeof value === 'string' ? value : undefined,\n type: 'message',\n value: typeof value !== 'string' ? value : undefined\n })\n );\n}\n\nfunction* sendPostBackToPostActivity() {\n yield takeEvery(SEND_POST_BACK, postActivityWithPostBack);\n}\n\nexport default function* sendPostBackToPostActivitySaga() {\n yield whileConnected(sendPostBackToPostActivity);\n}\n","// We will revisit this logic in #2157 and should remove the following eslint ignore\n/* eslint require-atomic-updates: \"off\" */\n\nimport { call, cancel, put, select, take, takeLatest } from 'redux-saga/effects';\n\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport { SET_SEND_TYPING_INDICATOR } from '../actions/setSendTypingIndicator';\nimport { POST_ACTIVITY } from '../actions/postActivity';\nimport emitTypingIndicator from '../actions/emitTypingIndicator';\nimport sendTypingIndicatorSelector from '../selectors/sendTypingIndicator';\nimport sleep from '../utils/sleep';\nimport whileConnected from './effects/whileConnected';\n\nimport type { GlobalScopePonyfill } from '../types/GlobalScopePonyfill';\nimport type setSendTypingIndicator from '../actions/setSendTypingIndicator';\n\ntype SetSendTypingIndicatorAction = ReturnType<typeof setSendTypingIndicator>;\n\nconst SEND_INTERVAL = 3000;\n\nfunction takeSendTypingIndicator(value: boolean) {\n return take<SetSendTypingIndicatorAction>(\n // TODO: \"any\" should be replaced all known types in the system.\n ({ payload, type }: any) => type === SET_SEND_TYPING_INDICATOR && !payload.sendTypingIndicator === !value\n );\n}\n\nfunction* sendTypingIndicatorOnSetSendBox(_, ponyfill: GlobalScopePonyfill) {\n const { Date } = ponyfill;\n const sendTypingIndicator = yield select(sendTypingIndicatorSelector);\n\n if (!sendTypingIndicator) {\n yield takeSendTypingIndicator(true);\n }\n\n for (;;) {\n let lastSend = -Infinity;\n const task = yield takeLatest(\n ({ payload, type }) =>\n (type === SET_SEND_BOX && payload.text) ||\n // Stop sending pending typing indicator if the user has posted anything.\n // We send typing indicator in a debounce way (t = 0, t = 3000, t = 6000).\n // When the user type, and then post the activity at t = 1500, we still have a pending typing indicator at t = 3000.\n // This code is to cancel the typing indicator at t = 3000.\n (type === POST_ACTIVITY && payload.activity.type !== 'typing'),\n function* ({ payload, type }) {\n if (type === SET_SEND_BOX) {\n const interval = SEND_INTERVAL - Date.now() + lastSend;\n\n if (interval > 0) {\n yield call(sleep, interval, ponyfill);\n }\n\n yield put(emitTypingIndicator());\n\n lastSend = Date.now();\n } else if (payload.activity.type === 'message') {\n lastSend = -Infinity;\n }\n }\n );\n\n yield takeSendTypingIndicator(false);\n yield cancel(task);\n yield takeSendTypingIndicator(true);\n }\n}\n\nexport default function* sendTypingIndicatorOnSetSendBoxSaga(ponyfill: GlobalScopePonyfill) {\n yield whileConnected(sendTypingIndicatorOnSetSendBox, ponyfill);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendTypingIndicator }: ReduxState): boolean => sendTypingIndicator;\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { INCOMING_ACTIVITY } from '../actions/incomingActivity';\nimport { WILL_START } from '../constants/DictateState';\nimport markActivity from '../actions/markActivity';\nimport setDictateState from '../actions/setDictateState';\nimport shouldSpeakIncomingActivitySelector from '../selectors/shouldSpeakIncomingActivity';\nimport speakableActivity from '../definitions/speakableActivity';\nimport stopDictate from '../actions/stopDictate';\nimport whileConnected from './effects/whileConnected';\n\nfunction* speakActivityAndStartDictateOnIncomingActivityFromOthers({ userID }) {\n yield takeEvery(\n ({ payload, type }) =>\n // In Direct Line, the \"role\" is not filled (yet), but we do know the user ID.\n // In Direct Line Speech, we do not know the user ID, but \"role\" is filled with \"bot\" or \"user\".\n // Here, we do two checks: the speakable activity must not have user ID, and must not have role === 'user'\n type === INCOMING_ACTIVITY && payload.activity.from.id !== userID && payload.activity.from.role !== 'user',\n function* ({ payload: { activity } }) {\n const shouldSpeakIncomingActivity = yield select(shouldSpeakIncomingActivitySelector);\n const shouldSpeak = speakableActivity(activity) && shouldSpeakIncomingActivity;\n\n if (\n shouldSpeak &&\n (activity.speak ||\n activity.text ||\n ~(activity.attachments || []).findIndex(({ content: { speak } = {} }) => speak))\n ) {\n yield put(markActivity(activity, 'speak', true));\n }\n\n if (shouldSpeak && activity.inputHint === 'expectingInput') {\n yield put(setDictateState(WILL_START));\n } else if (activity.inputHint === 'ignoringInput') {\n yield put(stopDictate());\n }\n }\n );\n}\n\nexport default function* speakActivityAndStartDictateOnIncomingActivityFromOthersSaga() {\n yield whileConnected(speakActivityAndStartDictateOnIncomingActivityFromOthers);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ shouldSpeakIncomingActivity }: ReduxState): boolean => shouldSpeakIncomingActivity;\n","export default function speakableActivity(activity) {\n return activity && activity.from && activity.type === 'message';\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport { MARK_ACTIVITY } from '../actions/markActivity';\nimport { of as activitiesOf } from '../selectors/activities';\nimport { SET_DICTATE_STATE } from '../actions/setDictateState';\nimport { WILL_START } from '../constants/DictateState';\nimport dictateStateSelector from '../selectors/dictateState';\nimport speakingActivity from '../definitions/speakingActivity';\nimport startDictate from '../actions/startDictate';\n\nfunction* startDictateOnSpeakComplete() {\n const speakingActivities = yield select(activitiesOf(speakingActivity));\n const dictateState = yield select(dictateStateSelector);\n\n if (dictateState === WILL_START && !speakingActivities.length) {\n yield put(startDictate());\n }\n}\n\n// TODO: [P4] We should turn this into a reducer instead\nexport default function* startDictateOnSpeakCompleteSaga() {\n yield takeEvery(({ type }) => type === MARK_ACTIVITY || type === SET_DICTATE_STATE, startDictateOnSpeakComplete);\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ dictateState }: ReduxState) => dictateState;\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport startSpeakingActivity from '../actions/startSpeakingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* startSpeakActivityOnPostActivity() {\n yield takeEvery(\n ({ meta, payload, type }) =>\n type === POST_ACTIVITY_PENDING && meta.method === 'speech' && payload.activity.type === 'message',\n function* () {\n yield put(startSpeakingActivity());\n }\n );\n}\n\nexport default function* startSpeakActivityOnPostActivitySaga() {\n yield whileConnected(startSpeakActivityOnPostActivity);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport stopDictate from '../actions/stopDictate';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopDictateOnCardAction() {\n // TODO: [P2] We should stop speech input when the user click on anything on a card, including open URL which doesn't generate postActivity\n // This functionality was not implemented in v3\n\n yield takeEvery(\n // Currently, there are no actions that are related to card input\n // For now, we are using POST_ACTIVITY of a \"message\" activity\n // In the future, if we have an action for card input, we should use that instead\n ({ payload, type }) => type === POST_ACTIVITY_PENDING && payload.activity.type === 'message',\n function* putStopDictate() {\n yield put(stopDictate());\n }\n );\n}\n\nexport default function* stopDictateOnCardActionSaga() {\n yield whileConnected(stopDictateOnCardAction);\n}\n","import { put, takeEvery } from 'redux-saga/effects';\n\nimport { POST_ACTIVITY_PENDING } from '../actions/postActivity';\nimport { SET_SEND_BOX } from '../actions/setSendBox';\nimport stopSpeakingActivity from '../actions/stopSpeakingActivity';\nimport whileConnected from './effects/whileConnected';\n\nfunction* stopSpeakingActivityOnInput() {\n yield takeEvery(\n ({ meta, payload, type }) =>\n (type === SET_SEND_BOX && payload.text) ||\n // We want to stop speaking activity when the user click on a card action\n // But currently there are no actions generated out of a card action\n // So, right now, we are using best-effort by listening to POST_ACTIVITY_PENDING with a \"message\" event\n // We filter out speech because we will call startSpeakingActivity() for POST_ACTIVITY_PENDING dispatched by speech\n (type === POST_ACTIVITY_PENDING && meta.method !== 'speech' && payload.activity.type === 'message'),\n function* () {\n yield put(stopSpeakingActivity());\n }\n );\n}\n\nexport default function* stopSpeakingActivityOnInputSaga() {\n yield whileConnected(stopSpeakingActivityOnInput);\n}\n","import { put, select, takeEvery } from 'redux-saga/effects';\n\nimport sendMessage from '../actions/sendMessage';\nimport setSendBox from '../actions/setSendBox';\nimport setSendBoxAttachments from '../actions/setSendBoxAttachments';\nimport { SUBMIT_SEND_BOX } from '../actions/submitSendBox';\nimport sendBoxAttachmentsSelector from '../selectors/sendBoxAttachments';\nimport sendBoxValueSelector from '../selectors/sendBoxValue';\nimport whileConnected from './effects/whileConnected';\n\nfunction* submitSendBox() {\n yield takeEvery(SUBMIT_SEND_BOX, function* ({ payload: { channelData, method } }) {\n const attachments = yield select(sendBoxAttachmentsSelector);\n const sendBoxValue = yield select(sendBoxValueSelector);\n\n // TODO: [P2] If the trimmed value is empty, we should not send.\n // TODO: [P2] We should expose this logic (\"cannot send empty message\") to other components such as UI.\n if (attachments.length || sendBoxValue) {\n yield put(sendMessage(sendBoxValue.trim(), method, { attachments, channelData }));\n\n yield put(setSendBox(''));\n yield put(setSendBoxAttachments(Object.freeze([])));\n }\n });\n}\n\nexport default function* submitSendBoxSaga() {\n // TODO: [P2] We should expose this logic (\"send only when connected\") to other components such as UI.\n yield whileConnected(submitSendBox);\n}\n","import type { SendBoxAttachment } from '../types/SendBoxAttachment';\nimport type { ReduxState } from '../types/internal/ReduxState';\n\nexport default function sendBoxAttachments({ sendBoxAttachments }: ReduxState): readonly SendBoxAttachment[] {\n return sendBoxAttachments;\n}\n","import type { ReduxState } from '../types/internal/ReduxState';\n\nexport default ({ sendBoxValue }: ReduxState): string => sendBoxValue;\n","import { lazy, parse, string, union, value, type ObjectEntries, type StringSchema } from 'valibot';\n\nimport orgSchemaProperty from './private/orgSchemaProperty';\nimport { project, type Project } from './Project';\nimport { thing, type Thing } from './Thing';\n\n/**\n * An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\n *\n * See also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](https://schema.org/docs/actions.html).\n *\n * This is partial implementation of https://schema.org/Action.\n *\n * @see https://schema.org/Action\n */\nexport type Action = Thing & {\n /**\n * Indicates the current disposition of the Action.\n *\n * @see https://schema.org/actionStatus\n */\n actionStatus?:\n | 'ActiveActionStatus'\n | 'CompletedActionStatu'\n | 'FailedActionStatus'\n | 'PotentialActionStatus'\n | undefined;\n\n /**\n * The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller. Supersedes [carrier](https://schema.org/carrier).\n *\n * @see https://schema.org/provider\n */\n provider?: Project | undefined;\n};\n\nexport const action = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n actionStatus: orgSchemaProperty(\n union([\n string([value('ActiveActionStatus')]) as StringSchema<'ActiveActionStatus'>,\n string([value('CompletedActionStatus')]) as StringSchema<'CompletedActionStatus'>,\n string([value('FailedActionStatus')]) as StringSchema<'FailedActionStatus'>,\n string([value('PotentialActionStatus')]) as StringSchema<'PotentialActionStatus'>\n ])\n ),\n provider: orgSchemaProperty(lazy(() => project())),\n\n ...entries\n });\n\nexport const parseAction = (data: unknown): Action => parse(action(), data);\n","import { array, fallback, optional, transform, union, type BaseSchema } from 'valibot';\n\nconst orgSchemaProperty = <T extends BaseSchema>(schema: T) =>\n fallback(optional(union([transform(array(schema), array => array[0]), schema])), undefined);\n\nexport default orgSchemaProperty;\n","import { parse, string, type ObjectEntries } from 'valibot';\n\nimport { thing, type Thing } from './Thing';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\nexport const project = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n slogan: orgSchemaProperty(string()),\n\n ...entries\n });\n\n/**\n * An enterprise (potentially individual but typically collaborative), planned to achieve a particular aim. Use properties from [Organization](https://schema.org/Organization), [subOrganization](https://schema.org/subOrganization)/[parentOrganization](https://schema.org/parentOrganization) to indicate project sub-structures.\n *\n * This is partial implementation of https://schema.org/Project.\n *\n * @see https://schema.org/Project\n */\nexport type Project = Thing & {\n /**\n * A slogan or motto associated with the item.\n *\n * @see https://schema.org/slogan\n */\n slogan?: string | undefined;\n};\n\nexport const parseProject = (data: unknown): Project => parse(project(), data);\n","import { type EmptyObject } from 'type-fest';\nimport { lazy, object, optional, parse, string, unknown, value, type ObjectEntries, type StringSchema } from 'valibot';\n\nimport { action, type Action } from './Action';\nimport orgSchemaProperties from './private/orgSchemaProperties';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\n/**\n * The most generic type of item.\n *\n * This is partial implementation of https://schema.org/Thing.\n *\n * @see https://schema.org/Thing\n */\nexport type Thing = {\n '@context'?: 'https://schema.org' | undefined;\n '@id'?: string | undefined;\n '@type': string;\n\n /**\n * An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. Typically the value is a URI-identified RDF class, and in this case corresponds to the use of rdf:type in RDF. Text values can be used sparingly, for cases where useful information can be added without their being an appropriate schema to reference. In the case of text values, the class label should follow the schema.org [style guide](https://schema.org/docs/styleguide.html).\n *\n * @see https://schema.org/additionalType\n */\n additionalType?: string | undefined;\n\n /**\n * An alias for the item.\n *\n * @see https://schema.org/alternateName\n */\n alternateName?: string | undefined;\n\n /**\n * A description of the item.\n *\n * @see https://schema.org/description\n */\n description?: string | undefined;\n\n /**\n * The name of the item.\n *\n * @see https://schema.org/name\n */\n name?: string | undefined;\n\n /**\n * Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role.\n *\n * @see https://schema.org/potentialAction\n */\n potentialAction?: readonly Action[] | undefined;\n\n /**\n * URL of the item.\n *\n * @see https://schema.org/url\n */\n url?: string | undefined;\n};\n\nconst thingEntries = {\n '@context': optional(string([value('https://schema.org')]) as StringSchema<'https://schema.org'>),\n '@id': optional(string()),\n '@type': string(),\n\n additionalType: orgSchemaProperty(string()),\n alternateName: orgSchemaProperty(string()),\n description: orgSchemaProperty(string()),\n name: orgSchemaProperty(string()),\n potentialAction: orgSchemaProperties(lazy(() => action())),\n url: orgSchemaProperty(string())\n};\n\nexport const thing = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n object(\n {\n ...thingEntries,\n ...entries\n },\n // Forward compatibility is the reason why we use unknown() here and not adhere to JSON-LD which drop unknown fields.\n //\n // Example:\n // - CreativeWork.editor must be type of Person (or any of its subtypes, Patient)\n // - Without unknown(), when we parse the CreativeWork, we will drop Patient.diagnosis\n // - That means, CreativeWork.editor.diagnosis will be unset despite CreativeWork.editor is of type Patient\n //\n // We can drop unknown() if there is a way to keep CreativeWork.editor.diagnosis.\n // It is okay to drop future/unsupported properties. But not today/supported properties.\n unknown()\n );\n\nexport const parseThing = (data: unknown): Thing => parse(thing<EmptyObject>(), data);\n","import {\n array,\n fallback,\n parse,\n transform,\n type ArraySchema,\n type BaseSchema,\n type FallbackInfo,\n type Output,\n type UndefinedSchema\n} from 'valibot';\n\nimport orgSchemaProperty from './orgSchemaProperty';\n\nconst singularToArray = <T extends BaseSchema>(schema: T): ArraySchema<T> | UndefinedSchema =>\n fallback<ArraySchema<T> | UndefinedSchema, (info?: FallbackInfo) => Output<T>>(\n transform(array(schema), value => value.filter(value => typeof value !== 'undefined')),\n value => (value?.input ? [parse(schema, value?.input)] : undefined)\n );\n\nexport default function orgSchemaProperties<T extends BaseSchema>(schema: T) {\n return singularToArray(orgSchemaProperty(schema));\n}\n","import { lazy, number, parse, string, union, type ObjectEntries } from 'valibot';\n\nimport { creativeWork, type CreativeWork } from './CreativeWork';\nimport { project, type Project } from './Project';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\n/**\n * A [Claim](https://schema.org/Claim) in Schema.org represents a specific, factually-oriented claim that could be the [itemReviewed](https://schema.org/itemReviewed) in a [ClaimReview](https://schema.org/ClaimReview). The content of a claim can be summarized with the [text](https://schema.org/text) property. Variations on well known claims can have their common identity indicated via [sameAs](https://schema.org/sameAs) links, and summarized with a name. Ideally, a [Claim](https://schema.org/Claim) description includes enough contextual information to minimize the risk of ambiguity or inclarity. In practice, many claims are better understood in the context in which they appear or the interpretations provided by claim reviews.\n *\n * Beyond [ClaimReview](https://schema.org/ClaimReview), the Claim type can be associated with related creative works - for example a [ScholarlyArticle](https://schema.org/ScholarlyArticle) or [Question](https://schema.org/Question) might be about some [Claim](https://schema.org/Claim).\n *\n * This is partial implementation of https://schema.org/Claim.\n *\n * @see https://schema.org/Claim.\n */\nexport type Claim = CreativeWork & {\n /**\n * Indicates an occurrence of a [Claim](https://schema.org/Claim) in some [CreativeWork](https://schema.org/CreativeWork).\n *\n * @see https://schema.org/appearance.\n */\n appearance?: CreativeWork | undefined;\n\n /**\n * For a [Claim](https://schema.org/Claim) interpreted from [MediaObject](https://schema.org/MediaObject) content sed to indicate a claim contained, implied or refined from the content of a [MediaObject](https://schema.org/MediaObject).\n *\n * @see https://schema.org/claimInterpreter.\n */\n claimInterpreter?: Project | undefined;\n\n /**\n * The position of an item in a series or sequence of items.\n *\n * @see https://schema.org/position.\n */\n position?: number | string;\n};\n\nexport const claim = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n creativeWork({\n appearance: orgSchemaProperty(lazy(() => creativeWork())),\n claimInterpreter: orgSchemaProperty(lazy(() => project())),\n position: orgSchemaProperty(union([number(), string()])),\n\n ...entries\n });\n\nexport const parseClaim = (data: unknown): Claim => parse(claim(), data);\n","import { lazy, object, parse, string, union, type ObjectEntries } from 'valibot';\n\nimport { definedTerm, type DefinedTerm } from './DefinedTerm';\nimport orgSchemaProperties from './private/orgSchemaProperties';\nimport orgSchemaProperty from './private/orgSchemaProperty';\nimport { thing, type Thing } from './Thing';\n\n/**\n * The most generic kind of creative work, including books, movies, photographs, software programs, etc.\n *\n * This is partial implementation of https://schema.org/CreativeWork.\n *\n * @see https://schema.org/CreativeWork\n */\n// Due to limitations of TypeScript, when using valibot.lazy(), the output type must be explicitly set.\nexport type CreativeWork = Thing & {\n /**\n * An abstract is a short description that summarizes a [CreativeWork](https://schema.org/CreativeWork).\n *\n * @see https://schema.org/abstract\n */\n abstract?: string | undefined;\n\n /**\n * The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably.\n *\n * @see https://schema.org/author\n */\n author?: Person | string | undefined;\n\n /**\n * A citation or reference to another creative work, such as another publication, web page, scholarly article, etc.\n *\n * @see https://schema.org/citation\n */\n citation?: readonly CreativeWork[] | undefined;\n\n /**\n * The schema.org [isBasedOn](https://schema.org/isBasedOn) property provides a resource from which this work is derived or from which it is a modification or adaptation.\n */\n isBasedOn?: CreativeWork | undefined;\n\n /**\n * Keywords or tags used to describe some item. Multiple textual entries in a keywords list are typically delimited by commas, or by repeating the property.\n *\n * @see https://schema.org/keywords\n */\n keywords?: readonly (DefinedTerm | string)[] | undefined;\n\n /**\n * A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported.\n *\n * @see https://schema.org/pattern\n */\n pattern?: DefinedTerm | undefined;\n\n /**\n * The textual content of this CreativeWork.\n *\n * @see https://schema.org/text\n */\n text?: string | undefined;\n\n /**\n * The schema.org [usageInfo](https://schema.org/usageInfo) property indicates further information about a [CreativeWork](https://schema.org/CreativeWork). This property is applicable both to works that are freely available and to those that require payment or other transactions. It can reference additional information, e.g. community expectations on preferred linking and citation conventions, as well as purchasing details. For something that can be commercially licensed, usageInfo can provide detailed, resource-specific information about licensing options.\n *\n * This property can be used alongside the license property which indicates license(s) applicable to some piece of content. The usageInfo property can provide information about other licensing options, e.g. acquiring commercial usage rights for an image that is also available under non-commercial creative commons licenses.\n */\n usageInfo?: CreativeWork | undefined;\n};\n\ntype Person = {\n '@type': 'Person';\n description?: string | undefined;\n image?: string | undefined;\n name?: string | undefined;\n};\n\nconst person = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n object({\n description: orgSchemaProperty(string()),\n image: orgSchemaProperty(string()),\n name: orgSchemaProperty(string()),\n\n ...entries\n });\n\nexport const creativeWork = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n // For forward compatibility, we did not enforce @type must be \"CreativeWork\" or any other subtypes.\n // In future, if Schema.org introduced a new subtype of CreativeWork, we should still able to parse that one as a CreativeWork.\n\n abstract: orgSchemaProperty(string()),\n author: orgSchemaProperty(union([person(), string()])),\n citation: orgSchemaProperties(lazy(() => creativeWork())),\n isBasedOn: orgSchemaProperty(lazy(() => creativeWork())),\n keywords: orgSchemaProperties(union([lazy(() => definedTerm()), string()])),\n pattern: orgSchemaProperty(lazy(() => definedTerm())),\n text: orgSchemaProperty(string()),\n usageInfo: orgSchemaProperty(lazy(() => creativeWork())),\n\n ...entries\n });\n\nexport const parseCreativeWork = (data: unknown): CreativeWork => parse(creativeWork(), data);\n","import { parse, string, type ObjectEntries } from 'valibot';\n\nimport { thing, type Thing } from './Thing';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\nexport const definedTerm = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n thing({\n inDefinedTermSet: orgSchemaProperty(string()),\n termCode: orgSchemaProperty(string()),\n\n ...entries\n });\n\n/**\n * A word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term.\n *\n * This is partial implementation of https://schema.org/DefinedTerm.\n *\n * @see https://schema.org/DefinedTerm\n */\nexport type DefinedTerm = Thing & {\n /**\n * A [DefinedTermSet](https://schema.org/DefinedTermSet) that contains this term.\n *\n * @see https://schema.org/inDefinedTermSet\n */\n inDefinedTermSet?: string | undefined;\n\n /**\n * A code that identifies this [DefinedTerm](https://schema.org/DefinedTerm) within a [DefinedTermSet](https://schema.org/DefinedTermSet).\n *\n * @see https://schema.org/termCode\n */\n termCode?: string | undefined;\n};\n\nexport const parseDefinedTerm = (data: unknown): DefinedTerm => parse(definedTerm(), data);\n","import { parse, string, type ObjectEntries } from 'valibot';\n\nimport { action, type Action } from './Action';\nimport orgSchemaProperty from './private/orgSchemaProperty';\n\n/**\n * An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\n *\n * See also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](https://schema.org/docs/actions.html).\n *\n * This is partial implementation of https://schema.org/Action.\n *\n * @see https://schema.org/Action\n */\nexport type VoteAction = Action & {\n /**\n * A sub property of object. The options subject to this action. Supersedes [option](https://schema.org/option).\n *\n * @see https://schema.org/VoteAction\n */\n actionOption?: string | undefined;\n};\n\nexport const voteAction = <TEntries extends ObjectEntries>(entries?: TEntries | undefined) =>\n action({\n actionOption: orgSchemaProperty(string()),\n\n ...entries\n });\n\nexport const parseVoteAction = (data: unknown): VoteAction => parse(voteAction(), data);\n","import { type WebChatActivity } from '../types/WebChatActivity';\nimport { parseCreativeWork, type CreativeWork } from '../types/external/OrgSchema/CreativeWork';\nimport { parseThing } from '../types/external/OrgSchema/Thing';\n\ntype EntityType = NonNullable<WebChatActivity['entities']>[number];\n\nexport default function getOrgSchemaMessage(graph: readonly EntityType[]): CreativeWork | undefined {\n const messageEntity = (graph || []).find(entity => {\n const isThing = entity.type?.startsWith('https://schema.org/');\n\n if (isThing) {\n const thing = parseThing(entity);\n\n return thing['@id'] === '';\n }\n });\n\n const message = messageEntity && parseCreativeWork(messageEntity);\n\n return message && parseCreativeWork(message);\n}\n","export default function onErrorResumeNext<T>(fn: () => T): T | undefined;\nexport default function onErrorResumeNext<T, U = T>(fn: () => T, defaultValue: U): T | U;\n\n/**\n * Calls the function and returns its return value.\n *\n * If the function failed, return default value if specified, otherwise, `undefined`.\n */\nexport default function onErrorResumeNext<T>(fn: () => T, defaultValue?: T): T | undefined {\n try {\n return fn();\n } catch (error) {\n return defaultValue;\n }\n}\n","export default function singleToArray<T>(singleOrArray: T | T[]): T[] {\n return singleOrArray ? (Array.isArray(singleOrArray) ? singleOrArray : [singleOrArray]) : [];\n}\n","export default function once(fn: () => void): () => void {\n let done;\n\n return () => {\n if (!done) {\n fn();\n done = 1;\n }\n };\n}\n","import once from './once';\n\nexport default function warnOnce(message: string): () => void {\n return once(() => console.warn(`botframework-webchat: ${message}.`));\n}\n","import { withResolvers, type PromiseWithResolvers } from 'botframework-webchat-base/utils';\n\nimport clearSuggestedActions from './actions/clearSuggestedActions';\nimport connect from './actions/connect';\nimport disconnect from './actions/disconnect';\nimport dismissNotification from './actions/dismissNotification';\nimport emitTypingIndicator from './actions/emitTypingIndicator';\nimport markActivity from './actions/markActivity';\nimport postActivity from './actions/postActivity';\nimport sendEvent from './actions/sendEvent';\nimport sendFiles from './actions/sendFiles';\nimport sendMessage from './actions/sendMessage';\nimport sendMessageBack from './actions/sendMessageBack';\nimport sendPostBack from './actions/sendPostBack';\nimport setDictateInterims from './actions/setDictateInterims';\nimport setDictateState from './actions/setDictateState';\nimport setLanguage from './actions/setLanguage';\nimport setNotification from './actions/setNotification';\nimport setSendBox from './actions/setSendBox';\nimport setSendBoxAttachments from './actions/setSendBoxAttachments';\nimport setSendTimeout from './actions/setSendTimeout';\nimport setSendTypingIndicator from './actions/setSendTypingIndicator';\nimport startDictate from './actions/startDictate';\nimport startSpeakingActivity from './actions/startSpeakingActivity';\nimport stopDictate from './actions/stopDictate';\nimport stopSpeakingActivity from './actions/stopSpeakingActivity';\nimport submitSendBox from './actions/submitSendBox';\nimport * as ActivityClientState from './constants/ActivityClientState';\nimport * as DictateState from './constants/DictateState';\nimport createStore, {\n withDevTools as createStoreWithDevTools,\n withOptions as createStoreWithOptions\n} from './createStore';\nimport OneOrMany from './types/OneOrMany';\nimport { parseAction } from './types/external/OrgSchema/Action';\nimport { parseClaim } from './types/external/OrgSchema/Claim';\nimport { parseCreativeWork } from './types/external/OrgSchema/CreativeWork';\nimport { parseDefinedTerm } from './types/external/OrgSchema/DefinedTerm';\nimport { parseProject } from './types/external/OrgSchema/Project';\nimport { parseThing } from './types/external/OrgSchema/Thing';\nimport { parseVoteAction } from './types/external/OrgSchema/VoteAction';\nimport getActivityLivestreamingMetadata from './utils/getActivityLivestreamingMetadata';\nimport getOrgSchemaMessage from './utils/getOrgSchemaMessage';\nimport isForbiddenPropertyName from './utils/isForbiddenPropertyName';\nimport onErrorResumeNext from './utils/onErrorResumeNext';\nimport singleToArray from './utils/singleToArray';\nimport warnOnce from './utils/warnOnce';\n\nimport type { GlobalScopePonyfill } from './types/GlobalScopePonyfill';\nimport type { SendBoxAttachment } from './types/SendBoxAttachment';\nimport type { WebChatActivity } from './types/WebChatActivity';\nimport type { DirectLineActivity } from './types/external/DirectLineActivity';\nimport type { DirectLineAnimationCard } from './types/external/DirectLineAnimationCard';\nimport type { DirectLineAttachment } from './types/external/DirectLineAttachment';\nimport type { DirectLineAudioCard } from './types/external/DirectLineAudioCard';\nimport type { DirectLineCardAction } from './types/external/DirectLineCardAction';\nimport type { DirectLineHeroCard } from './types/external/DirectLineHeroCard';\nimport type { DirectLineJSBotConnection } from './types/external/DirectLineJSBotConnection';\nimport type { DirectLineOAuthCard } from './types/external/DirectLineOAuthCard';\nimport type { DirectLineReceiptCard } from './types/external/DirectLineReceiptCard';\nimport type { DirectLineSignInCard } from './types/external/DirectLineSignInCard';\nimport type { DirectLineSuggestedAction } from './types/external/DirectLineSuggestedAction';\nimport type { DirectLineThumbnailCard } from './types/external/DirectLineThumbnailCard';\nimport type { DirectLineVideoCard } from './types/external/DirectLineVideoCard';\nimport type { Observable } from './types/external/Observable';\nimport type { Action as OrgSchemaAction } from './types/external/OrgSchema/Action';\nimport type { Claim as OrgSchemaClaim } from './types/external/OrgSchema/Claim';\nimport type { CreativeWork as OrgSchemaCreativeWork } from './types/external/OrgSchema/CreativeWork';\nimport type { DefinedTerm as OrgSchemaDefinedTerm } from './types/external/OrgSchema/DefinedTerm';\nimport type { Project as OrgSchemaProject } from './types/external/OrgSchema/Project';\nimport type { Thing as OrgSchemaThing } from './types/external/OrgSchema/Thing';\n\nconst Constants = { ActivityClientState, DictateState };\nconst buildTool = process.env.build_tool;\nconst moduleFormat = process.env.module_format;\nconst version = process.env.npm_package_version;\n\nconst buildInfo = { buildTool, moduleFormat, version };\n\nexport {\n buildInfo,\n clearSuggestedActions,\n connect,\n Constants,\n createStore,\n createStoreWithDevTools,\n createStoreWithOptions,\n disconnect,\n dismissNotification,\n emitTypingIndicator,\n getActivityLivestreamingMetadata,\n getOrgSchemaMessage,\n isForbiddenPropertyName,\n markActivity,\n moduleFormat,\n onErrorResumeNext,\n parseAction,\n parseClaim,\n parseCreativeWork,\n parseDefinedTerm,\n parseProject,\n parseThing,\n parseVoteAction,\n postActivity,\n sendEvent,\n sendFiles,\n sendMessage,\n sendMessageBack,\n sendPostBack,\n setDictateInterims,\n setDictateState,\n setLanguage,\n setNotification,\n setSendBox,\n setSendBoxAttachments,\n setSendTimeout,\n setSendTypingIndicator,\n singleToArray,\n startDictate,\n startSpeakingActivity,\n stopDictate,\n stopSpeakingActivity,\n submitSendBox,\n version,\n warnOnce,\n withResolvers\n};\n\nexport type {\n DirectLineActivity,\n DirectLineAnimationCard,\n DirectLineAttachment,\n DirectLineAudioCard,\n DirectLineCardAction,\n DirectLineHeroCard,\n DirectLineJSBotConnection,\n DirectLineOAuthCard,\n DirectLineReceiptCard,\n DirectLineSignInCard,\n DirectLineSuggestedAction,\n DirectLineThumbnailCard,\n DirectLineVideoCard,\n GlobalScopePonyfill,\n Observable,\n OneOrMany,\n OrgSchemaAction,\n OrgSchemaClaim,\n OrgSchemaCreativeWork,\n OrgSchemaDefinedTerm,\n OrgSchemaProject,\n OrgSchemaThing,\n PromiseWithResolvers,\n SendBoxAttachment,\n WebChatActivity\n};\n","var createSymbol = function createSymbol(name) {\n return \"@@redux-saga/\" + name;\n};\n\nvar CANCEL =\n/*#__PURE__*/\ncreateSymbol('CANCEL_PROMISE');\nvar CHANNEL_END_TYPE =\n/*#__PURE__*/\ncreateSymbol('CHANNEL_END');\nvar IO =\n/*#__PURE__*/\ncreateSymbol('IO');\nvar MATCH =\n/*#__PURE__*/\ncreateSymbol('MATCH');\nvar MULTICAST =\n/*#__PURE__*/\ncreateSymbol('MULTICAST');\nvar SAGA_ACTION =\n/*#__PURE__*/\ncreateSymbol('SAGA_ACTION');\nvar SELF_CANCELLATION =\n/*#__PURE__*/\ncreateSymbol('SELF_CANCELLATION');\nvar TASK =\n/*#__PURE__*/\ncreateSymbol('TASK');\nvar TASK_CANCEL =\n/*#__PURE__*/\ncreateSymbol('TASK_CANCEL');\nvar TERMINATE =\n/*#__PURE__*/\ncreateSymbol('TERMINATE');\nvar SAGA_LOCATION =\n/*#__PURE__*/\ncreateSymbol('LOCATION');\n\nexport { CANCEL, CHANNEL_END_TYPE, IO, MATCH, MULTICAST, SAGA_ACTION, SAGA_LOCATION, SELF_CANCELLATION, TASK, TASK_CANCEL, TERMINATE };\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 };","import { TASK, SAGA_ACTION, MULTICAST, IO } from '@redux-saga/symbols';\n\nvar undef = function undef(v) {\n return v === null || v === undefined;\n};\nvar notUndef = function notUndef(v) {\n return v !== null && v !== undefined;\n};\nvar func = function func(f) {\n return typeof f === 'function';\n};\nvar number = function number(n) {\n return typeof n === 'number';\n};\nvar string = function string(s) {\n return typeof s === 'string';\n};\nvar array = Array.isArray;\nvar object = function object(obj) {\n return obj && !array(obj) && typeof obj === 'object';\n};\nvar promise = function promise(p) {\n return p && func(p.then);\n};\nvar iterator = function iterator(it) {\n return it && func(it.next) && func(it.throw);\n};\nvar iterable = function iterable(it) {\n return it && func(Symbol) ? func(it[Symbol.iterator]) : array(it);\n};\nvar task = function task(t) {\n return t && t[TASK];\n};\nvar sagaAction = function sagaAction(a) {\n return Boolean(a && a[SAGA_ACTION]);\n};\nvar observable = function observable(ob) {\n return ob && func(ob.subscribe);\n};\nvar buffer = function buffer(buf) {\n return buf && func(buf.isEmpty) && func(buf.take) && func(buf.put);\n};\nvar pattern = function pattern(pat) {\n return pat && (string(pat) || symbol(pat) || func(pat) || array(pat) && pat.every(pattern));\n};\nvar channel = function channel(ch) {\n return ch && func(ch.take) && func(ch.close);\n};\nvar stringableFunc = function stringableFunc(f) {\n return func(f) && f.hasOwnProperty('toString');\n};\nvar symbol = function symbol(sym) {\n return Boolean(sym) && typeof Symbol === 'function' && sym.constructor === Symbol && sym !== Symbol.prototype;\n};\nvar multicast = function multicast(ch) {\n return channel(ch) && ch[MULTICAST];\n};\nvar effect = function effect(eff) {\n return eff && eff[IO];\n};\n\nexport { array, buffer, channel, effect, func, iterable, iterator, multicast, notUndef, number, object, observable, pattern, promise, sagaAction, string, stringableFunc, symbol, task, undef };\n","import { TASK_CANCEL, TERMINATE, SAGA_LOCATION, SAGA_ACTION, IO, SELF_CANCELLATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { array, notUndef, pattern, multicast, channel, undef, effect, task, func, buffer, string, object } from '@redux-saga/is';\nimport delayP from '@redux-saga/delay-p';\n\nvar konst = function konst(v) {\n return function () {\n return v;\n };\n};\nvar kTrue =\n/*#__PURE__*/\nkonst(true);\n\nvar noop = function noop() {};\n\nif (process.env.NODE_ENV !== 'production' && typeof Proxy !== 'undefined') {\n noop =\n /*#__PURE__*/\n new Proxy(noop, {\n set: function set() {\n throw internalErr('There was an attempt to assign a property to internal `noop` function.');\n }\n });\n}\nvar identity = function identity(v) {\n return v;\n};\nvar hasSymbol = typeof Symbol === 'function';\nvar asyncIteratorSymbol = hasSymbol && Symbol.asyncIterator ? Symbol.asyncIterator : '@@asyncIterator';\nfunction check(value, predicate, error) {\n if (!predicate(value)) {\n throw new Error(error);\n }\n}\nvar assignWithSymbols = function assignWithSymbols(target, source) {\n _extends(target, source);\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(source).forEach(function (s) {\n target[s] = source[s];\n });\n }\n};\nvar flatMap = function flatMap(mapper, arr) {\n var _ref;\n\n return (_ref = []).concat.apply(_ref, arr.map(mapper));\n};\nfunction remove(array, item) {\n var index = array.indexOf(item);\n\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nfunction once(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n\n called = true;\n fn();\n };\n}\n\nvar kThrow = function kThrow(err) {\n throw err;\n};\n\nvar kReturn = function kReturn(value) {\n return {\n value: value,\n done: true\n };\n};\n\nfunction makeIterator(next, thro, name) {\n if (thro === void 0) {\n thro = kThrow;\n }\n\n if (name === void 0) {\n name = 'iterator';\n }\n\n var iterator = {\n meta: {\n name: name\n },\n next: next,\n throw: thro,\n return: kReturn,\n isSagaIterator: true\n };\n\n if (typeof Symbol !== 'undefined') {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n\n return iterator;\n}\nfunction logError(error, _ref2) {\n var sagaStack = _ref2.sagaStack;\n\n /*eslint-disable no-console*/\n console.error(error);\n console.error(sagaStack);\n}\nvar internalErr = function internalErr(err) {\n return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \" + err + \"\\n\");\n};\nvar createSetContextWarning = function createSetContextWarning(ctx, props) {\n return (ctx ? ctx + '.' : '') + \"setContext(props): argument \" + props + \" is not a plain object\";\n};\nvar FROZEN_ACTION_ERROR = \"You can't put (a.k.a. dispatch from saga) frozen actions.\\nWe have to define a special non-enumerable property on those actions for scheduling purposes.\\nOtherwise you wouldn't be able to communicate properly between sagas & other subscribers (action ordering would become far less predictable).\\nIf you are using redux and you care about this behaviour (frozen actions),\\nthen you might want to switch to freezing actions in a middleware rather than in action creator.\\nExample implementation:\\n\\nconst freezeActions = store => next => action => next(Object.freeze(action))\\n\"; // creates empty, but not-holey array\n\nvar createEmptyArray = function createEmptyArray(n) {\n return Array.apply(null, new Array(n));\n};\nvar wrapSagaDispatch = function wrapSagaDispatch(dispatch) {\n return function (action) {\n if (process.env.NODE_ENV !== 'production') {\n check(action, function (ac) {\n return !Object.isFrozen(ac);\n }, FROZEN_ACTION_ERROR);\n }\n\n return dispatch(Object.defineProperty(action, SAGA_ACTION, {\n value: true\n }));\n };\n};\nvar shouldTerminate = function shouldTerminate(res) {\n return res === TERMINATE;\n};\nvar shouldCancel = function shouldCancel(res) {\n return res === TASK_CANCEL;\n};\nvar shouldComplete = function shouldComplete(res) {\n return shouldTerminate(res) || shouldCancel(res);\n};\nfunction createAllStyleChildCallbacks(shape, parentCallback) {\n var keys = Object.keys(shape);\n var totalCount = keys.length;\n\n if (process.env.NODE_ENV !== 'production') {\n check(totalCount, function (c) {\n return c > 0;\n }, 'createAllStyleChildCallbacks: get an empty array or object');\n }\n\n var completedCount = 0;\n var completed;\n var results = array(shape) ? createEmptyArray(totalCount) : {};\n var childCallbacks = {};\n\n function checkEnd() {\n if (completedCount === totalCount) {\n completed = true;\n parentCallback(results);\n }\n }\n\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n parentCallback.cancel();\n parentCallback(res, isErr);\n } else {\n results[key] = res;\n completedCount++;\n checkEnd();\n }\n };\n\n chCbAtKey.cancel = noop;\n childCallbacks[key] = chCbAtKey;\n });\n\n parentCallback.cancel = function () {\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCallbacks[key].cancel();\n });\n }\n };\n\n return childCallbacks;\n}\nfunction getMetaInfo(fn) {\n return {\n name: fn.name || 'anonymous',\n location: getLocation(fn)\n };\n}\nfunction getLocation(instrumented) {\n return instrumented[SAGA_LOCATION];\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\nvar BUFFER_OVERFLOW = \"Channel's Buffer overflow!\";\nvar ON_OVERFLOW_THROW = 1;\nvar ON_OVERFLOW_DROP = 2;\nvar ON_OVERFLOW_SLIDE = 3;\nvar ON_OVERFLOW_EXPAND = 4;\nvar zeroBuffer = {\n isEmpty: kTrue,\n put: noop,\n take: noop\n};\n\nfunction ringBuffer(limit, overflowAction) {\n if (limit === void 0) {\n limit = 10;\n }\n\n var arr = new Array(limit);\n var length = 0;\n var pushIndex = 0;\n var popIndex = 0;\n\n var push = function push(it) {\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n length++;\n };\n\n var take = function take() {\n if (length != 0) {\n var it = arr[popIndex];\n arr[popIndex] = null;\n length--;\n popIndex = (popIndex + 1) % limit;\n return it;\n }\n };\n\n var flush = function flush() {\n var items = [];\n\n while (length) {\n items.push(take());\n }\n\n return items;\n };\n\n return {\n isEmpty: function isEmpty() {\n return length == 0;\n },\n put: function put(it) {\n if (length < limit) {\n push(it);\n } else {\n var doubledLimit;\n\n switch (overflowAction) {\n case ON_OVERFLOW_THROW:\n throw new Error(BUFFER_OVERFLOW);\n\n case ON_OVERFLOW_SLIDE:\n arr[pushIndex] = it;\n pushIndex = (pushIndex + 1) % limit;\n popIndex = pushIndex;\n break;\n\n case ON_OVERFLOW_EXPAND:\n doubledLimit = 2 * limit;\n arr = flush();\n length = arr.length;\n pushIndex = arr.length;\n popIndex = 0;\n arr.length = doubledLimit;\n limit = doubledLimit;\n push(it);\n break;\n\n default: // DROP\n\n }\n }\n },\n take: take,\n flush: flush\n };\n}\n\nvar none = function none() {\n return zeroBuffer;\n};\nvar fixed = function fixed(limit) {\n return ringBuffer(limit, ON_OVERFLOW_THROW);\n};\nvar dropping = function dropping(limit) {\n return ringBuffer(limit, ON_OVERFLOW_DROP);\n};\nvar sliding = function sliding(limit) {\n return ringBuffer(limit, ON_OVERFLOW_SLIDE);\n};\nvar expanding = function expanding(initialSize) {\n return ringBuffer(initialSize, ON_OVERFLOW_EXPAND);\n};\n\nvar buffers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n none: none,\n fixed: fixed,\n dropping: dropping,\n sliding: sliding,\n expanding: expanding\n});\n\nvar TAKE = 'TAKE';\nvar PUT = 'PUT';\nvar ALL = 'ALL';\nvar RACE = 'RACE';\nvar CALL = 'CALL';\nvar CPS = 'CPS';\nvar FORK = 'FORK';\nvar JOIN = 'JOIN';\nvar CANCEL = 'CANCEL';\nvar SELECT = 'SELECT';\nvar ACTION_CHANNEL = 'ACTION_CHANNEL';\nvar CANCELLED = 'CANCELLED';\nvar FLUSH = 'FLUSH';\nvar GET_CONTEXT = 'GET_CONTEXT';\nvar SET_CONTEXT = 'SET_CONTEXT';\n\nvar effectTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n TAKE: TAKE,\n PUT: PUT,\n ALL: ALL,\n RACE: RACE,\n CALL: CALL,\n CPS: CPS,\n FORK: FORK,\n JOIN: JOIN,\n CANCEL: CANCEL,\n SELECT: SELECT,\n ACTION_CHANNEL: ACTION_CHANNEL,\n CANCELLED: CANCELLED,\n FLUSH: FLUSH,\n GET_CONTEXT: GET_CONTEXT,\n SET_CONTEXT: SET_CONTEXT\n});\n\nvar TEST_HINT = '\\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)';\n\nvar makeEffect = function makeEffect(type, payload) {\n var _ref;\n\n return _ref = {}, _ref[IO] = true, _ref.combinator = false, _ref.type = type, _ref.payload = payload, _ref;\n};\n\nvar isForkEffect = function isForkEffect(eff) {\n return effect(eff) && eff.type === FORK;\n};\n\nvar detach = function detach(eff) {\n if (process.env.NODE_ENV !== 'production') {\n check(eff, isForkEffect, 'detach(eff): argument must be a fork effect');\n }\n\n return makeEffect(FORK, _extends({}, eff.payload, {\n detached: true\n }));\n};\nfunction take(patternOrChannel, multicastPattern) {\n if (patternOrChannel === void 0) {\n patternOrChannel = '*';\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'take(patternOrChannel): patternOrChannel is undefined');\n }\n\n if (pattern(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types\");\n }\n\n return makeEffect(TAKE, {\n pattern: patternOrChannel\n });\n }\n\n if (multicast(patternOrChannel) && notUndef(multicastPattern) && pattern(multicastPattern)) {\n return makeEffect(TAKE, {\n channel: patternOrChannel,\n pattern: multicastPattern\n });\n }\n\n if (channel(patternOrChannel)) {\n if (notUndef(multicastPattern)) {\n /* eslint-disable no-console */\n console.warn(\"take(channel) takes one argument but two were provided. Second argument is ignored.\");\n }\n\n return makeEffect(TAKE, {\n channel: patternOrChannel\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\"take(patternOrChannel): argument \" + patternOrChannel + \" is not valid channel or a valid pattern\");\n }\n}\nvar takeMaybe = function takeMaybe() {\n var eff = take.apply(void 0, arguments);\n eff.payload.maybe = true;\n return eff;\n};\nfunction put(channel$1, action) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n check(channel$1, notUndef, 'put(channel, action): argument channel is undefined');\n check(channel$1, channel, \"put(channel, action): argument \" + channel$1 + \" is not a valid channel\");\n check(action, notUndef, 'put(channel, action): argument action is undefined');\n } else {\n check(channel$1, notUndef, 'put(action): argument action is undefined');\n }\n }\n\n if (undef(action)) {\n action = channel$1; // `undefined` instead of `null` to make default parameter work\n\n channel$1 = undefined;\n }\n\n return makeEffect(PUT, {\n channel: channel$1,\n action: action\n });\n}\nvar putResolve = function putResolve() {\n var eff = put.apply(void 0, arguments);\n eff.payload.resolve = true;\n return eff;\n};\nfunction all(effects) {\n var eff = makeEffect(ALL, effects);\n eff.combinator = true;\n return eff;\n}\nfunction race(effects) {\n var eff = makeEffect(RACE, effects);\n eff.combinator = true;\n return eff;\n} // this match getFnCallDescriptor logic\n\nvar validateFnDescriptor = function validateFnDescriptor(effectName, fnDescriptor) {\n check(fnDescriptor, notUndef, effectName + \": argument fn is undefined or null\");\n\n if (func(fnDescriptor)) {\n return;\n }\n\n var context = null;\n var fn;\n\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n check(fn, notUndef, effectName + \": argument of type [context, fn] has undefined or null `fn`\");\n } else if (object(fnDescriptor)) {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n check(fn, notUndef, effectName + \": argument of type {context, fn} has undefined or null `fn`\");\n } else {\n check(fnDescriptor, func, effectName + \": argument fn is not function\");\n return;\n }\n\n if (context && string(fn)) {\n check(context[fn], func, effectName + \": context arguments has no such method - \\\"\" + fn + \"\\\"\");\n return;\n }\n\n check(fn, func, effectName + \": unpacked fn argument (from [context, fn] or {context, fn}) is not a function\");\n};\n\nfunction getFnCallDescriptor(fnDescriptor, args) {\n var context = null;\n var fn;\n\n if (func(fnDescriptor)) {\n fn = fnDescriptor;\n } else {\n if (array(fnDescriptor)) {\n context = fnDescriptor[0];\n fn = fnDescriptor[1];\n } else {\n context = fnDescriptor.context;\n fn = fnDescriptor.fn;\n }\n\n if (context && string(fn) && func(context[fn])) {\n fn = context[fn];\n }\n }\n\n return {\n context: context,\n fn: fn,\n args: args\n };\n}\n\nvar isNotDelayEffect = function isNotDelayEffect(fn) {\n return fn !== delay;\n};\n\nfunction call(fnDescriptor) {\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 (process.env.NODE_ENV !== 'production') {\n var arg0 = typeof args[0] === 'number' ? args[0] : 'ms';\n check(fnDescriptor, isNotDelayEffect, \"instead of writing `yield call(delay, \" + arg0 + \")` where delay is an effect from `redux-saga/effects` you should write `yield delay(\" + arg0 + \")`\");\n validateFnDescriptor('call', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction apply(context, fn, args) {\n if (args === void 0) {\n args = [];\n }\n\n var fnDescriptor = [context, fn];\n\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('apply', fnDescriptor);\n }\n\n return makeEffect(CALL, getFnCallDescriptor([context, fn], args));\n}\nfunction cps(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('cps', fnDescriptor);\n }\n\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 return makeEffect(CPS, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction fork(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('fork', fnDescriptor);\n check(fnDescriptor, function (arg) {\n return !effect(arg);\n }, 'fork: argument must not be an effect');\n }\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return makeEffect(FORK, getFnCallDescriptor(fnDescriptor, args));\n}\nfunction spawn(fnDescriptor) {\n if (process.env.NODE_ENV !== 'production') {\n validateFnDescriptor('spawn', fnDescriptor);\n }\n\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 return detach(fork.apply(void 0, [fnDescriptor].concat(args)));\n}\nfunction join(taskOrTasks) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"join([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else {\n check(taskOrTasks, task, \"join(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(JOIN, taskOrTasks);\n}\nfunction cancel(taskOrTasks) {\n if (taskOrTasks === void 0) {\n taskOrTasks = SELF_CANCELLATION;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n throw new Error('cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.');\n }\n\n if (array(taskOrTasks)) {\n taskOrTasks.forEach(function (t) {\n check(t, task, \"cancel([...tasks]): argument \" + t + \" is not a valid Task object \" + TEST_HINT);\n });\n } else if (taskOrTasks !== SELF_CANCELLATION && notUndef(taskOrTasks)) {\n check(taskOrTasks, task, \"cancel(task): argument \" + taskOrTasks + \" is not a valid Task object \" + TEST_HINT);\n }\n }\n\n return makeEffect(CANCEL, taskOrTasks);\n}\nfunction select(selector) {\n if (selector === void 0) {\n selector = identity;\n }\n\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n if (process.env.NODE_ENV !== 'production' && arguments.length) {\n check(arguments[0], notUndef, 'select(selector, [...]): argument selector is undefined');\n check(selector, func, \"select(selector, [...]): argument \" + selector + \" is not a function\");\n }\n\n return makeEffect(SELECT, {\n selector: selector,\n args: args\n });\n}\n/**\n channel(pattern, [buffer]) => creates a proxy channel for store actions\n**/\n\nfunction actionChannel(pattern$1, buffer$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(pattern$1, pattern, 'actionChannel(pattern,...): argument pattern is not valid');\n\n if (arguments.length > 1) {\n check(buffer$1, notUndef, 'actionChannel(pattern, buffer): argument buffer is undefined');\n check(buffer$1, buffer, \"actionChannel(pattern, buffer): argument \" + buffer$1 + \" is not a valid buffer\");\n }\n }\n\n return makeEffect(ACTION_CHANNEL, {\n pattern: pattern$1,\n buffer: buffer$1\n });\n}\nfunction cancelled() {\n return makeEffect(CANCELLED, {});\n}\nfunction flush(channel$1) {\n if (process.env.NODE_ENV !== 'production') {\n check(channel$1, channel, \"flush(channel): argument \" + channel$1 + \" is not valid channel\");\n }\n\n return makeEffect(FLUSH, channel$1);\n}\nfunction getContext(prop) {\n if (process.env.NODE_ENV !== 'production') {\n check(prop, string, \"getContext(prop): argument \" + prop + \" is not a string\");\n }\n\n return makeEffect(GET_CONTEXT, prop);\n}\nfunction setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning(null, props));\n }\n\n return makeEffect(SET_CONTEXT, props);\n}\nvar delay =\n/*#__PURE__*/\ncall.bind(null, delayP);\n\nexport { all as $, ALL as A, compose as B, CALL as C, logError as D, wrapSagaDispatch as E, FORK as F, GET_CONTEXT as G, identity as H, buffers as I, JOIN as J, detach as K, take as L, fork as M, cancel as N, call as O, PUT as P, delay as Q, RACE as R, SELECT as S, TAKE as T, actionChannel as U, sliding as V, race as W, effectTypes as X, takeMaybe as Y, put as Z, putResolve as _, CPS as a, apply as a0, cps as a1, spawn as a2, join as a3, select as a4, cancelled as a5, flush as a6, getContext as a7, setContext as a8, CANCEL as b, check as c, ACTION_CHANNEL as d, expanding as e, CANCELLED as f, FLUSH as g, SET_CONTEXT as h, internalErr as i, getMetaInfo as j, kTrue as k, createAllStyleChildCallbacks as l, createEmptyArray as m, none as n, once as o, assignWithSymbols as p, makeIterator as q, remove as r, shouldComplete as s, noop as t, flatMap as u, getLocation as v, createSetContextWarning as w, asyncIteratorSymbol as x, shouldCancel as y, shouldTerminate as z };\n","function deferred() {\n var def = {};\n def.promise = new Promise(function (resolve, reject) {\n def.resolve = resolve;\n def.reject = reject;\n });\n return def;\n}\nfunction arrayOfDeferred(length) {\n var arr = [];\n\n for (var i = 0; i < length; i++) {\n arr.push(deferred());\n }\n\n return arr;\n}\n\nexport default deferred;\nexport { arrayOfDeferred };\n","import { CHANNEL_END_TYPE, MULTICAST, MATCH, SAGA_ACTION, CANCEL, SELF_CANCELLATION, TERMINATE, TASK, TASK_CANCEL, IO } from '@redux-saga/symbols';\nexport { CANCEL, SAGA_LOCATION } from '@redux-saga/symbols';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport { string as string$1, array as array$1, stringableFunc, func, symbol as symbol$1, buffer, notUndef, promise, iterator, undef, object, channel as channel$1 } from '@redux-saga/is';\nimport { k as kTrue, e as expanding, c as check, o as once, r as remove, n as none, i as internalErr, T as TAKE, P as PUT, A as ALL, R as RACE, C as CALL, a as CPS, F as FORK, J as JOIN, b as CANCEL$1, S as SELECT, d as ACTION_CHANNEL, f as CANCELLED$1, g as FLUSH, G as GET_CONTEXT, h as SET_CONTEXT, j as getMetaInfo, l as createAllStyleChildCallbacks, m as createEmptyArray, p as assignWithSymbols, q as makeIterator, s as shouldComplete, t as noop, u as flatMap, v as getLocation, w as createSetContextWarning, x as asyncIteratorSymbol, y as shouldCancel, z as shouldTerminate, B as compose, D as logError, E as wrapSagaDispatch, H as identity } from './io-22ea0cf9.js';\nexport { I as buffers, K as detach } from './io-22ea0cf9.js';\nimport deferred from '@redux-saga/deferred';\nimport '@redux-saga/delay-p';\n\nvar queue = [];\n/**\n Variable to hold a counting semaphore\n - Incrementing adds a lock and puts the scheduler in a `suspended` state (if it's not\n already suspended)\n - Decrementing releases a lock. Zero locks puts the scheduler in a `released` state. This\n triggers flushing the queued tasks.\n**/\n\nvar semaphore = 0;\n/**\n Executes a task 'atomically'. Tasks scheduled during this execution will be queued\n and flushed after this task has finished (assuming the scheduler endup in a released\n state).\n**/\n\nfunction exec(task) {\n try {\n suspend();\n task();\n } finally {\n release();\n }\n}\n/**\n Executes or queues a task depending on the state of the scheduler (`suspended` or `released`)\n**/\n\n\nfunction asap(task) {\n queue.push(task);\n\n if (!semaphore) {\n suspend();\n flush();\n }\n}\n/**\n * Puts the scheduler in a `suspended` state and executes a task immediately.\n */\n\nfunction immediately(task) {\n try {\n suspend();\n return task();\n } finally {\n flush();\n }\n}\n/**\n Puts the scheduler in a `suspended` state. Scheduled tasks will be queued until the\n scheduler is released.\n**/\n\nfunction suspend() {\n semaphore++;\n}\n/**\n Puts the scheduler in a `released` state.\n**/\n\n\nfunction release() {\n semaphore--;\n}\n/**\n Releases the current lock. Executes all queued tasks if the scheduler is in the released state.\n**/\n\n\nfunction flush() {\n release();\n var task;\n\n while (!semaphore && (task = queue.shift()) !== undefined) {\n exec(task);\n }\n}\n\nvar array = function array(patterns) {\n return function (input) {\n return patterns.some(function (p) {\n return matcher(p)(input);\n });\n };\n};\nvar predicate = function predicate(_predicate) {\n return function (input) {\n return _predicate(input);\n };\n};\nvar string = function string(pattern) {\n return function (input) {\n return input.type === String(pattern);\n };\n};\nvar symbol = function symbol(pattern) {\n return function (input) {\n return input.type === pattern;\n };\n};\nvar wildcard = function wildcard() {\n return kTrue;\n};\nfunction matcher(pattern) {\n // prettier-ignore\n var matcherCreator = pattern === '*' ? wildcard : string$1(pattern) ? string : array$1(pattern) ? array : stringableFunc(pattern) ? string : func(pattern) ? predicate : symbol$1(pattern) ? symbol : null;\n\n if (matcherCreator === null) {\n throw new Error(\"invalid pattern: \" + pattern);\n }\n\n return matcherCreator(pattern);\n}\n\nvar END = {\n type: CHANNEL_END_TYPE\n};\nvar isEnd = function isEnd(a) {\n return a && a.type === CHANNEL_END_TYPE;\n};\nvar CLOSED_CHANNEL_WITH_TAKERS = 'Cannot have a closed channel with pending takers';\nvar INVALID_BUFFER = 'invalid buffer passed to channel factory function';\nvar UNDEFINED_INPUT_ERROR = \"Saga or channel was provided with an undefined action\\nHints:\\n - check that your Action Creator returns a non-undefined value\\n - if the Saga was started using runSaga, check that your subscribe source provides the action to its listeners\";\nfunction channel(buffer$1) {\n if (buffer$1 === void 0) {\n buffer$1 = expanding();\n }\n\n var closed = false;\n var takers = [];\n\n if (process.env.NODE_ENV !== 'production') {\n check(buffer$1, buffer, INVALID_BUFFER);\n }\n\n function checkForbiddenStates() {\n if (closed && takers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n\n if (takers.length && !buffer$1.isEmpty()) {\n throw internalErr('Cannot have pending takers with non empty buffer');\n }\n }\n\n function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (takers.length === 0) {\n return buffer$1.put(input);\n }\n\n var cb = takers.shift();\n cb(input);\n }\n\n function take(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.take's callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n } else if (!buffer$1.isEmpty()) {\n cb(buffer$1.take());\n } else {\n takers.push(cb);\n\n cb.cancel = function () {\n remove(takers, cb);\n };\n }\n }\n\n function flush(cb) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(cb, func, \"channel.flush' callback must be a function\");\n }\n\n if (closed && buffer$1.isEmpty()) {\n cb(END);\n return;\n }\n\n cb(buffer$1.flush());\n }\n\n function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n return;\n }\n\n closed = true;\n var arr = takers;\n takers = [];\n\n for (var i = 0, len = arr.length; i < len; i++) {\n var taker = arr[i];\n taker(END);\n }\n }\n\n return {\n take: take,\n put: put,\n flush: flush,\n close: close\n };\n}\nfunction eventChannel(subscribe, buffer) {\n if (buffer === void 0) {\n buffer = none();\n }\n\n var closed = false;\n var unsubscribe;\n var chan = channel(buffer);\n\n var close = function close() {\n if (closed) {\n return;\n }\n\n closed = true;\n\n if (func(unsubscribe)) {\n unsubscribe();\n }\n\n chan.close();\n };\n\n unsubscribe = subscribe(function (input) {\n if (isEnd(input)) {\n close();\n return;\n }\n\n chan.put(input);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n check(unsubscribe, func, 'in eventChannel: subscribe should return a function to unsubscribe');\n }\n\n unsubscribe = once(unsubscribe);\n\n if (closed) {\n unsubscribe();\n }\n\n return {\n take: chan.take,\n flush: chan.flush,\n close: close\n };\n}\nfunction multicastChannel() {\n var _ref;\n\n var closed = false;\n var currentTakers = [];\n var nextTakers = currentTakers;\n\n function checkForbiddenStates() {\n if (closed && nextTakers.length) {\n throw internalErr(CLOSED_CHANNEL_WITH_TAKERS);\n }\n }\n\n var ensureCanMutateNextTakers = function ensureCanMutateNextTakers() {\n if (nextTakers !== currentTakers) {\n return;\n }\n\n nextTakers = currentTakers.slice();\n };\n\n var close = function close() {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n closed = true;\n var takers = currentTakers = nextTakers;\n nextTakers = [];\n takers.forEach(function (taker) {\n taker(END);\n });\n };\n\n return _ref = {}, _ref[MULTICAST] = true, _ref.put = function put(input) {\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n check(input, notUndef, UNDEFINED_INPUT_ERROR);\n }\n\n if (closed) {\n return;\n }\n\n if (isEnd(input)) {\n close();\n return;\n }\n\n var takers = currentTakers = nextTakers;\n\n for (var i = 0, len = takers.length; i < len; i++) {\n var taker = takers[i];\n\n if (taker[MATCH](input)) {\n taker.cancel();\n taker(input);\n }\n }\n }, _ref.take = function take(cb, matcher) {\n if (matcher === void 0) {\n matcher = wildcard;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkForbiddenStates();\n }\n\n if (closed) {\n cb(END);\n return;\n }\n\n cb[MATCH] = matcher;\n ensureCanMutateNextTakers();\n nextTakers.push(cb);\n cb.cancel = once(function () {\n ensureCanMutateNextTakers();\n remove(nextTakers, cb);\n });\n }, _ref.close = close, _ref;\n}\nfunction stdChannel() {\n var chan = multicastChannel();\n var put = chan.put;\n\n chan.put = function (input) {\n if (input[SAGA_ACTION]) {\n put(input);\n return;\n }\n\n asap(function () {\n put(input);\n });\n };\n\n return chan;\n}\n\nvar RUNNING = 0;\nvar CANCELLED = 1;\nvar ABORTED = 2;\nvar DONE = 3;\n\nfunction resolvePromise(promise, cb) {\n var cancelPromise = promise[CANCEL];\n\n if (func(cancelPromise)) {\n cb.cancel = cancelPromise;\n }\n\n promise.then(cb, function (error) {\n cb(error, true);\n });\n}\n\nvar current = 0;\nvar nextSagaId = (function () {\n return ++current;\n});\n\nvar _effectRunnerMap;\n\nfunction getIteratorMetaInfo(iterator, fn) {\n if (iterator.isSagaIterator) {\n return {\n name: iterator.meta.name\n };\n }\n\n return getMetaInfo(fn);\n}\n\nfunction createTaskIterator(_ref) {\n var context = _ref.context,\n fn = _ref.fn,\n args = _ref.args;\n\n // catch synchronous failures; see #152 and #441\n try {\n var result = fn.apply(context, args); // i.e. a generator function returns an iterator\n\n if (iterator(result)) {\n return result;\n }\n\n var resolved = false;\n\n var next = function next(arg) {\n if (!resolved) {\n resolved = true; // Only promises returned from fork will be interpreted. See #1573\n\n return {\n value: result,\n done: !promise(result)\n };\n } else {\n return {\n value: arg,\n done: true\n };\n }\n };\n\n return makeIterator(next);\n } catch (err) {\n // do not bubble up synchronous failures for detached forks\n // instead create a failed task. See #152 and #441\n return makeIterator(function () {\n throw err;\n });\n }\n}\n\nfunction runPutEffect(env, _ref2, cb) {\n var channel = _ref2.channel,\n action = _ref2.action,\n resolve = _ref2.resolve;\n\n /**\n Schedule the put in case another saga is holding a lock.\n The put will be executed atomically. ie nested puts will execute after\n this put has terminated.\n **/\n asap(function () {\n var result;\n\n try {\n result = (channel ? channel.put : env.dispatch)(action);\n } catch (error) {\n cb(error, true);\n return;\n }\n\n if (resolve && promise(result)) {\n resolvePromise(result, cb);\n } else {\n cb(result);\n }\n }); // Put effects are non cancellables\n}\n\nfunction runTakeEffect(env, _ref3, cb) {\n var _ref3$channel = _ref3.channel,\n channel = _ref3$channel === void 0 ? env.channel : _ref3$channel,\n pattern = _ref3.pattern,\n maybe = _ref3.maybe;\n\n var takeCb = function takeCb(input) {\n if (input instanceof Error) {\n cb(input, true);\n return;\n }\n\n if (isEnd(input) && !maybe) {\n cb(TERMINATE);\n return;\n }\n\n cb(input);\n };\n\n try {\n channel.take(takeCb, notUndef(pattern) ? matcher(pattern) : null);\n } catch (err) {\n cb(err, true);\n return;\n }\n\n cb.cancel = takeCb.cancel;\n}\n\nfunction runCallEffect(env, _ref4, cb, _ref5) {\n var context = _ref4.context,\n fn = _ref4.fn,\n args = _ref4.args;\n var task = _ref5.task;\n\n // catch synchronous failures; see #152\n try {\n var result = fn.apply(context, args);\n\n if (promise(result)) {\n resolvePromise(result, cb);\n return;\n }\n\n if (iterator(result)) {\n // resolve iterator\n proc(env, result, task.context, current, getMetaInfo(fn),\n /* isRoot */\n false, cb);\n return;\n }\n\n cb(result);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runCPSEffect(env, _ref6, cb) {\n var context = _ref6.context,\n fn = _ref6.fn,\n args = _ref6.args;\n\n // CPS (ie node style functions) can define their own cancellation logic\n // by setting cancel field on the cb\n // catch synchronous failures; see #152\n try {\n var cpsCb = function cpsCb(err, res) {\n if (undef(err)) {\n cb(res);\n } else {\n cb(err, true);\n }\n };\n\n fn.apply(context, args.concat(cpsCb));\n\n if (cpsCb.cancel) {\n cb.cancel = cpsCb.cancel;\n }\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runForkEffect(env, _ref7, cb, _ref8) {\n var context = _ref7.context,\n fn = _ref7.fn,\n args = _ref7.args,\n detached = _ref7.detached;\n var parent = _ref8.task;\n var taskIterator = createTaskIterator({\n context: context,\n fn: fn,\n args: args\n });\n var meta = getIteratorMetaInfo(taskIterator, fn);\n immediately(function () {\n var child = proc(env, taskIterator, parent.context, current, meta, detached, undefined);\n\n if (detached) {\n cb(child);\n } else {\n if (child.isRunning()) {\n parent.queue.addTask(child);\n cb(child);\n } else if (child.isAborted()) {\n parent.queue.abort(child.error());\n } else {\n cb(child);\n }\n }\n }); // Fork effects are non cancellables\n}\n\nfunction runJoinEffect(env, taskOrTasks, cb, _ref9) {\n var task = _ref9.task;\n\n var joinSingleTask = function joinSingleTask(taskToJoin, cb) {\n if (taskToJoin.isRunning()) {\n var joiner = {\n task: task,\n cb: cb\n };\n\n cb.cancel = function () {\n if (taskToJoin.isRunning()) remove(taskToJoin.joiners, joiner);\n };\n\n taskToJoin.joiners.push(joiner);\n } else {\n if (taskToJoin.isAborted()) {\n cb(taskToJoin.error(), true);\n } else {\n cb(taskToJoin.result());\n }\n }\n };\n\n if (array$1(taskOrTasks)) {\n if (taskOrTasks.length === 0) {\n cb([]);\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(taskOrTasks, cb);\n taskOrTasks.forEach(function (t, i) {\n joinSingleTask(t, childCallbacks[i]);\n });\n } else {\n joinSingleTask(taskOrTasks, cb);\n }\n}\n\nfunction cancelSingleTask(taskToCancel) {\n if (taskToCancel.isRunning()) {\n taskToCancel.cancel();\n }\n}\n\nfunction runCancelEffect(env, taskOrTasks, cb, _ref10) {\n var task = _ref10.task;\n\n if (taskOrTasks === SELF_CANCELLATION) {\n cancelSingleTask(task);\n } else if (array$1(taskOrTasks)) {\n taskOrTasks.forEach(cancelSingleTask);\n } else {\n cancelSingleTask(taskOrTasks);\n }\n\n cb(); // cancel effects are non cancellables\n}\n\nfunction runAllEffect(env, effects, cb, _ref11) {\n var digestEffect = _ref11.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n\n if (keys.length === 0) {\n cb(array$1(effects) ? [] : {});\n return;\n }\n\n var childCallbacks = createAllStyleChildCallbacks(effects, cb);\n keys.forEach(function (key) {\n digestEffect(effects[key], effectId, childCallbacks[key], key);\n });\n}\n\nfunction runRaceEffect(env, effects, cb, _ref12) {\n var digestEffect = _ref12.digestEffect;\n var effectId = current;\n var keys = Object.keys(effects);\n var response = array$1(effects) ? createEmptyArray(keys.length) : {};\n var childCbs = {};\n var completed = false;\n keys.forEach(function (key) {\n var chCbAtKey = function chCbAtKey(res, isErr) {\n if (completed) {\n return;\n }\n\n if (isErr || shouldComplete(res)) {\n // Race Auto cancellation\n cb.cancel();\n cb(res, isErr);\n } else {\n cb.cancel();\n completed = true;\n response[key] = res;\n cb(response);\n }\n };\n\n chCbAtKey.cancel = noop;\n childCbs[key] = chCbAtKey;\n });\n\n cb.cancel = function () {\n // prevents unnecessary cancellation\n if (!completed) {\n completed = true;\n keys.forEach(function (key) {\n return childCbs[key].cancel();\n });\n }\n };\n\n keys.forEach(function (key) {\n if (completed) {\n return;\n }\n\n digestEffect(effects[key], effectId, childCbs[key], key);\n });\n}\n\nfunction runSelectEffect(env, _ref13, cb) {\n var selector = _ref13.selector,\n args = _ref13.args;\n\n try {\n var state = selector.apply(void 0, [env.getState()].concat(args));\n cb(state);\n } catch (error) {\n cb(error, true);\n }\n}\n\nfunction runChannelEffect(env, _ref14, cb) {\n var pattern = _ref14.pattern,\n buffer = _ref14.buffer;\n var chan = channel(buffer);\n var match = matcher(pattern);\n\n var taker = function taker(action) {\n if (!isEnd(action)) {\n env.channel.take(taker, match);\n }\n\n chan.put(action);\n };\n\n var close = chan.close;\n\n chan.close = function () {\n taker.cancel();\n close();\n };\n\n env.channel.take(taker, match);\n cb(chan);\n}\n\nfunction runCancelledEffect(env, data, cb, _ref15) {\n var task = _ref15.task;\n cb(task.isCancelled());\n}\n\nfunction runFlushEffect(env, channel, cb) {\n channel.flush(cb);\n}\n\nfunction runGetContextEffect(env, prop, cb, _ref16) {\n var task = _ref16.task;\n cb(task.context[prop]);\n}\n\nfunction runSetContextEffect(env, props, cb, _ref17) {\n var task = _ref17.task;\n assignWithSymbols(task.context, props);\n cb();\n}\n\nvar effectRunnerMap = (_effectRunnerMap = {}, _effectRunnerMap[TAKE] = runTakeEffect, _effectRunnerMap[PUT] = runPutEffect, _effectRunnerMap[ALL] = runAllEffect, _effectRunnerMap[RACE] = runRaceEffect, _effectRunnerMap[CALL] = runCallEffect, _effectRunnerMap[CPS] = runCPSEffect, _effectRunnerMap[FORK] = runForkEffect, _effectRunnerMap[JOIN] = runJoinEffect, _effectRunnerMap[CANCEL$1] = runCancelEffect, _effectRunnerMap[SELECT] = runSelectEffect, _effectRunnerMap[ACTION_CHANNEL] = runChannelEffect, _effectRunnerMap[CANCELLED$1] = runCancelledEffect, _effectRunnerMap[FLUSH] = runFlushEffect, _effectRunnerMap[GET_CONTEXT] = runGetContextEffect, _effectRunnerMap[SET_CONTEXT] = runSetContextEffect, _effectRunnerMap);\n\n/**\n Used to track a parent task and its forks\n In the fork model, forked tasks are attached by default to their parent\n We model this using the concept of Parent task && main Task\n main task is the main flow of the current Generator, the parent tasks is the\n aggregation of the main tasks + all its forked tasks.\n Thus the whole model represents an execution tree with multiple branches (vs the\n linear execution tree in sequential (non parallel) programming)\n\n A parent tasks has the following semantics\n - It completes if all its forks either complete or all cancelled\n - If it's cancelled, all forks are cancelled as well\n - It aborts if any uncaught error bubbles up from forks\n - If it completes, the return value is the one returned by the main task\n **/\n\nfunction forkQueue(mainTask, onAbort, cont) {\n var tasks = [];\n var result;\n var completed = false;\n addTask(mainTask);\n\n var getTasks = function getTasks() {\n return tasks;\n };\n\n function abort(err) {\n onAbort();\n cancelAll();\n cont(err, true);\n }\n\n function addTask(task) {\n tasks.push(task);\n\n task.cont = function (res, isErr) {\n if (completed) {\n return;\n }\n\n remove(tasks, task);\n task.cont = noop;\n\n if (isErr) {\n abort(res);\n } else {\n if (task === mainTask) {\n result = res;\n }\n\n if (!tasks.length) {\n completed = true;\n cont(result);\n }\n }\n };\n }\n\n function cancelAll() {\n if (completed) {\n return;\n }\n\n completed = true;\n tasks.forEach(function (t) {\n t.cont = noop;\n t.cancel();\n });\n tasks = [];\n }\n\n return {\n addTask: addTask,\n cancelAll: cancelAll,\n abort: abort,\n getTasks: getTasks\n };\n}\n\n// there can be only a single saga error created at any given moment\n\nfunction formatLocation(fileName, lineNumber) {\n return fileName + \"?\" + lineNumber;\n}\n\nfunction effectLocationAsString(effect) {\n var location = getLocation(effect);\n\n if (location) {\n var code = location.code,\n fileName = location.fileName,\n lineNumber = location.lineNumber;\n var source = code + \" \" + formatLocation(fileName, lineNumber);\n return source;\n }\n\n return '';\n}\n\nfunction sagaLocationAsString(sagaMeta) {\n var name = sagaMeta.name,\n location = sagaMeta.location;\n\n if (location) {\n return name + \" \" + formatLocation(location.fileName, location.lineNumber);\n }\n\n return name;\n}\n\nfunction cancelledTasksAsString(sagaStack) {\n var cancelledTasks = flatMap(function (i) {\n return i.cancelledTasks;\n }, sagaStack);\n\n if (!cancelledTasks.length) {\n return '';\n }\n\n return ['Tasks cancelled due to error:'].concat(cancelledTasks).join('\\n');\n}\n\nvar crashedEffect = null;\nvar sagaStack = [];\nvar addSagaFrame = function addSagaFrame(frame) {\n frame.crashedEffect = crashedEffect;\n sagaStack.push(frame);\n};\nvar clear = function clear() {\n crashedEffect = null;\n sagaStack.length = 0;\n}; // this sets crashed effect for the soon-to-be-reported saga frame\n// this slightly streatches the singleton nature of this module into wrong direction\n// as it's even less obvious what's the data flow here, but it is what it is for now\n\nvar setCrashedEffect = function setCrashedEffect(effect) {\n crashedEffect = effect;\n};\n/**\n @returns {string}\n\n @example\n The above error occurred in task errorInPutSaga {pathToFile}\n when executing effect put({type: 'REDUCER_ACTION_ERROR_IN_PUT'}) {pathToFile}\n created by fetchSaga {pathToFile}\n created by rootSaga {pathToFile}\n*/\n\nvar toString = function toString() {\n var firstSaga = sagaStack[0],\n otherSagas = sagaStack.slice(1);\n var crashedEffectLocation = firstSaga.crashedEffect ? effectLocationAsString(firstSaga.crashedEffect) : null;\n var errorMessage = \"The above error occurred in task \" + sagaLocationAsString(firstSaga.meta) + (crashedEffectLocation ? \" \\n when executing effect \" + crashedEffectLocation : '');\n return [errorMessage].concat(otherSagas.map(function (s) {\n return \" created by \" + sagaLocationAsString(s.meta);\n }), [cancelledTasksAsString(sagaStack)]).join('\\n');\n};\n\nfunction newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont) {\n var _task;\n\n if (cont === void 0) {\n cont = noop;\n }\n\n var status = RUNNING;\n var taskResult;\n var taskError;\n var deferredEnd = null;\n var cancelledDueToErrorTasks = [];\n var context = Object.create(parentContext);\n var queue = forkQueue(mainTask, function onAbort() {\n cancelledDueToErrorTasks.push.apply(cancelledDueToErrorTasks, queue.getTasks().map(function (t) {\n return t.meta.name;\n }));\n }, end);\n /**\n This may be called by a parent generator to trigger/propagate cancellation\n cancel all pending tasks (including the main task), then end the current task.\n Cancellation propagates down to the whole execution tree held by this Parent task\n It's also propagated to all joiners of this task and their execution tree/joiners\n Cancellation is noop for terminated/Cancelled tasks tasks\n **/\n\n function cancel() {\n if (status === RUNNING) {\n // Setting status to CANCELLED does not necessarily mean that the task/iterators are stopped\n // effects in the iterator's finally block will still be executed\n status = CANCELLED;\n queue.cancelAll(); // Ending with a TASK_CANCEL will propagate the Cancellation to all joiners\n\n end(TASK_CANCEL, false);\n }\n }\n\n function end(result, isErr) {\n if (!isErr) {\n // The status here may be RUNNING or CANCELLED\n // If the status is CANCELLED, then we do not need to change it here\n if (result === TASK_CANCEL) {\n status = CANCELLED;\n } else if (status !== CANCELLED) {\n status = DONE;\n }\n\n taskResult = result;\n deferredEnd && deferredEnd.resolve(result);\n } else {\n status = ABORTED;\n addSagaFrame({\n meta: meta,\n cancelledTasks: cancelledDueToErrorTasks\n });\n\n if (task.isRoot) {\n var sagaStack = toString(); // we've dumped the saga stack to string and are passing it to user's code\n // we know that it won't be needed anymore and we need to clear it\n\n clear();\n env.onError(result, {\n sagaStack: sagaStack\n });\n }\n\n taskError = result;\n deferredEnd && deferredEnd.reject(result);\n }\n\n task.cont(result, isErr);\n task.joiners.forEach(function (joiner) {\n joiner.cb(result, isErr);\n });\n task.joiners = null;\n }\n\n function setContext(props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('task', props));\n }\n\n assignWithSymbols(context, props);\n }\n\n function toPromise() {\n if (deferredEnd) {\n return deferredEnd.promise;\n }\n\n deferredEnd = deferred();\n\n if (status === ABORTED) {\n deferredEnd.reject(taskError);\n } else if (status !== RUNNING) {\n deferredEnd.resolve(taskResult);\n }\n\n return deferredEnd.promise;\n }\n\n var task = (_task = {}, _task[TASK] = true, _task.id = parentEffectId, _task.meta = meta, _task.isRoot = isRoot, _task.context = context, _task.joiners = [], _task.queue = queue, _task.cancel = cancel, _task.cont = cont, _task.end = end, _task.setContext = setContext, _task.toPromise = toPromise, _task.isRunning = function isRunning() {\n return status === RUNNING;\n }, _task.isCancelled = function isCancelled() {\n return status === CANCELLED || status === RUNNING && mainTask.status === CANCELLED;\n }, _task.isAborted = function isAborted() {\n return status === ABORTED;\n }, _task.result = function result() {\n return taskResult;\n }, _task.error = function error() {\n return taskError;\n }, _task);\n return task;\n}\n\nfunction proc(env, iterator$1, parentContext, parentEffectId, meta, isRoot, cont) {\n if (process.env.NODE_ENV !== 'production' && iterator$1[asyncIteratorSymbol]) {\n throw new Error(\"redux-saga doesn't support async generators, please use only regular ones\");\n }\n\n var finalRunEffect = env.finalizeRunEffect(runEffect);\n /**\n Tracks the current effect cancellation\n Each time the generator progresses. calling runEffect will set a new value\n on it. It allows propagating cancellation to child effects\n **/\n\n next.cancel = noop;\n /** Creates a main task to track the main flow */\n\n var mainTask = {\n meta: meta,\n cancel: cancelMain,\n status: RUNNING\n };\n /**\n Creates a new task descriptor for this generator.\n A task is the aggregation of it's mainTask and all it's forked tasks.\n **/\n\n var task = newTask(env, mainTask, parentContext, parentEffectId, meta, isRoot, cont);\n var executingContext = {\n task: task,\n digestEffect: digestEffect\n };\n /**\n cancellation of the main task. We'll simply resume the Generator with a TASK_CANCEL\n **/\n\n function cancelMain() {\n if (mainTask.status === RUNNING) {\n mainTask.status = CANCELLED;\n next(TASK_CANCEL);\n }\n }\n /**\n attaches cancellation logic to this task's continuation\n this will permit cancellation to propagate down the call chain\n **/\n\n\n if (cont) {\n cont.cancel = task.cancel;\n } // kicks up the generator\n\n\n next(); // then return the task descriptor to the caller\n\n return task;\n /**\n * This is the generator driver\n * It's a recursive async/continuation function which calls itself\n * until the generator terminates or throws\n * @param {internal commands(TASK_CANCEL | TERMINATE) | any} arg - value, generator will be resumed with.\n * @param {boolean} isErr - the flag shows if effect finished with an error\n *\n * receives either (command | effect result, false) or (any thrown thing, true)\n */\n\n function next(arg, isErr) {\n try {\n var result;\n\n if (isErr) {\n result = iterator$1.throw(arg); // user handled the error, we can clear bookkept values\n\n clear();\n } else if (shouldCancel(arg)) {\n /**\n getting TASK_CANCEL automatically cancels the main task\n We can get this value here\n - By cancelling the parent task manually\n - By joining a Cancelled task\n **/\n mainTask.status = CANCELLED;\n /**\n Cancels the current effect; this will propagate the cancellation down to any called tasks\n **/\n\n next.cancel();\n /**\n If this Generator has a `return` method then invokes it\n This will jump to the finally block\n **/\n\n result = func(iterator$1.return) ? iterator$1.return(TASK_CANCEL) : {\n done: true,\n value: TASK_CANCEL\n };\n } else if (shouldTerminate(arg)) {\n // We get TERMINATE flag, i.e. by taking from a channel that ended using `take` (and not `takem` used to trap End of channels)\n result = func(iterator$1.return) ? iterator$1.return() : {\n done: true\n };\n } else {\n result = iterator$1.next(arg);\n }\n\n if (!result.done) {\n digestEffect(result.value, parentEffectId, next);\n } else {\n /**\n This Generator has ended, terminate the main task and notify the fork queue\n **/\n if (mainTask.status !== CANCELLED) {\n mainTask.status = DONE;\n }\n\n mainTask.cont(result.value);\n }\n } catch (error) {\n if (mainTask.status === CANCELLED) {\n throw error;\n }\n\n mainTask.status = ABORTED;\n mainTask.cont(error, true);\n }\n }\n\n function runEffect(effect, effectId, currCb) {\n /**\n each effect runner must attach its own logic of cancellation to the provided callback\n it allows this generator to propagate cancellation downward.\n ATTENTION! effect runners must setup the cancel logic by setting cb.cancel = [cancelMethod]\n And the setup must occur before calling the callback\n This is a sort of inversion of control: called async functions are responsible\n of completing the flow by calling the provided continuation; while caller functions\n are responsible for aborting the current flow by calling the attached cancel function\n Library users can attach their own cancellation logic to promises by defining a\n promise[CANCEL] method in their returned promises\n ATTENTION! calling cancel must have no effect on an already completed or cancelled effect\n **/\n if (promise(effect)) {\n resolvePromise(effect, currCb);\n } else if (iterator(effect)) {\n // resolve iterator\n proc(env, effect, task.context, effectId, meta,\n /* isRoot */\n false, currCb);\n } else if (effect && effect[IO]) {\n var effectRunner = effectRunnerMap[effect.type];\n effectRunner(env, effect.payload, currCb, executingContext);\n } else {\n // anything else returned as is\n currCb(effect);\n }\n }\n\n function digestEffect(effect, parentEffectId, cb, label) {\n if (label === void 0) {\n label = '';\n }\n\n var effectId = nextSagaId();\n env.sagaMonitor && env.sagaMonitor.effectTriggered({\n effectId: effectId,\n parentEffectId: parentEffectId,\n label: label,\n effect: effect\n });\n /**\n completion callback and cancel callback are mutually exclusive\n We can't cancel an already completed effect\n And We can't complete an already cancelled effectId\n **/\n\n var effectSettled; // Completion callback passed to the appropriate effect runner\n\n function currCb(res, isErr) {\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n cb.cancel = noop; // defensive measure\n\n if (env.sagaMonitor) {\n if (isErr) {\n env.sagaMonitor.effectRejected(effectId, res);\n } else {\n env.sagaMonitor.effectResolved(effectId, res);\n }\n }\n\n if (isErr) {\n setCrashedEffect(effect);\n }\n\n cb(res, isErr);\n } // tracks down the current cancel\n\n\n currCb.cancel = noop; // setup cancellation logic on the parent cb\n\n cb.cancel = function () {\n // prevents cancelling an already completed effect\n if (effectSettled) {\n return;\n }\n\n effectSettled = true;\n currCb.cancel(); // propagates cancel downward\n\n currCb.cancel = noop; // defensive measure\n\n env.sagaMonitor && env.sagaMonitor.effectCancelled(effectId);\n };\n\n finalRunEffect(effect, effectId, currCb);\n }\n}\n\nvar RUN_SAGA_SIGNATURE = 'runSaga(options, saga, ...args)';\nvar NON_GENERATOR_ERR = RUN_SAGA_SIGNATURE + \": saga argument must be a Generator function!\";\nfunction runSaga(_ref, saga) {\n var _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n dispatch = _ref.dispatch,\n getState = _ref.getState,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n sagaMonitor = _ref.sagaMonitor,\n effectMiddlewares = _ref.effectMiddlewares,\n _ref$onError = _ref.onError,\n onError = _ref$onError === void 0 ? logError : _ref$onError;\n\n if (process.env.NODE_ENV !== 'production') {\n check(saga, func, NON_GENERATOR_ERR);\n }\n\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 var iterator$1 = saga.apply(void 0, args);\n\n if (process.env.NODE_ENV !== 'production') {\n check(iterator$1, iterator, NON_GENERATOR_ERR);\n }\n\n var effectId = nextSagaId();\n\n if (sagaMonitor) {\n // monitors are expected to have a certain interface, let's fill-in any missing ones\n sagaMonitor.rootSagaStarted = sagaMonitor.rootSagaStarted || noop;\n sagaMonitor.effectTriggered = sagaMonitor.effectTriggered || noop;\n sagaMonitor.effectResolved = sagaMonitor.effectResolved || noop;\n sagaMonitor.effectRejected = sagaMonitor.effectRejected || noop;\n sagaMonitor.effectCancelled = sagaMonitor.effectCancelled || noop;\n sagaMonitor.actionDispatched = sagaMonitor.actionDispatched || noop;\n sagaMonitor.rootSagaStarted({\n effectId: effectId,\n saga: saga,\n args: args\n });\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (notUndef(dispatch)) {\n check(dispatch, func, 'dispatch must be a function');\n }\n\n if (notUndef(getState)) {\n check(getState, func, 'getState must be a function');\n }\n\n if (notUndef(effectMiddlewares)) {\n var MIDDLEWARE_TYPE_ERROR = 'effectMiddlewares must be an array of functions';\n check(effectMiddlewares, array$1, MIDDLEWARE_TYPE_ERROR);\n effectMiddlewares.forEach(function (effectMiddleware) {\n return check(effectMiddleware, func, MIDDLEWARE_TYPE_ERROR);\n });\n }\n\n check(onError, func, 'onError passed to the redux-saga is not a function!');\n }\n\n var finalizeRunEffect;\n\n if (effectMiddlewares) {\n var middleware = compose.apply(void 0, effectMiddlewares);\n\n finalizeRunEffect = function finalizeRunEffect(runEffect) {\n return function (effect, effectId, currCb) {\n var plainRunEffect = function plainRunEffect(eff) {\n return runEffect(eff, effectId, currCb);\n };\n\n return middleware(plainRunEffect)(effect);\n };\n };\n } else {\n finalizeRunEffect = identity;\n }\n\n var env = {\n channel: channel,\n dispatch: wrapSagaDispatch(dispatch),\n getState: getState,\n sagaMonitor: sagaMonitor,\n onError: onError,\n finalizeRunEffect: finalizeRunEffect\n };\n return immediately(function () {\n var task = proc(env, iterator$1, context, effectId, getMetaInfo(saga),\n /* isRoot */\n true, undefined);\n\n if (sagaMonitor) {\n sagaMonitor.effectResolved(effectId, task);\n }\n\n return task;\n });\n}\n\nfunction sagaMiddlewareFactory(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$context = _ref.context,\n context = _ref$context === void 0 ? {} : _ref$context,\n _ref$channel = _ref.channel,\n channel = _ref$channel === void 0 ? stdChannel() : _ref$channel,\n sagaMonitor = _ref.sagaMonitor,\n options = _objectWithoutPropertiesLoose(_ref, [\"context\", \"channel\", \"sagaMonitor\"]);\n\n var boundRunSaga;\n\n if (process.env.NODE_ENV !== 'production') {\n check(channel, channel$1, 'options.channel passed to the Saga middleware is not a channel');\n }\n\n function sagaMiddleware(_ref2) {\n var getState = _ref2.getState,\n dispatch = _ref2.dispatch;\n boundRunSaga = runSaga.bind(null, _extends({}, options, {\n context: context,\n channel: channel,\n dispatch: dispatch,\n getState: getState,\n sagaMonitor: sagaMonitor\n }));\n return function (next) {\n return function (action) {\n if (sagaMonitor && sagaMonitor.actionDispatched) {\n sagaMonitor.actionDispatched(action);\n }\n\n var result = next(action); // hit reducers\n\n channel.put(action);\n return result;\n };\n };\n }\n\n sagaMiddleware.run = function () {\n if (process.env.NODE_ENV !== 'production' && !boundRunSaga) {\n throw new Error('Before running a Saga, you must mount the Saga middleware on the Store using applyMiddleware');\n }\n\n return boundRunSaga.apply(void 0, arguments);\n };\n\n sagaMiddleware.setContext = function (props) {\n if (process.env.NODE_ENV !== 'production') {\n check(props, object, createSetContextWarning('sagaMiddleware', props));\n }\n\n assignWithSymbols(context, props);\n };\n\n return sagaMiddleware;\n}\n\nexport default sagaMiddlewareFactory;\nexport { END, channel, eventChannel, isEnd, multicastChannel, runSaga, stdChannel };\n","// src/error/flatten/flatten.ts\nfunction flatten(arg1) {\n return (Array.isArray(arg1) ? arg1 : arg1.issues).reduce(\n (flatErrors, issue) => {\n if (issue.path) {\n if (issue.path.every(\n ({ key }) => typeof key === \"string\" || typeof key === \"number\"\n )) {\n const path = issue.path.map(({ key }) => key).join(\".\");\n if (flatErrors.nested[path]) {\n flatErrors.nested[path].push(issue.message);\n } else {\n flatErrors.nested[path] = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n return flatErrors;\n },\n { nested: {} }\n );\n}\n\n// src/error/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n issues;\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/methods/brand/brand.ts\nvar BrandSymbol = Symbol(\"brand\");\nfunction brand(schema, name) {\n return schema;\n}\n\n// src/methods/coerce/coerce.ts\nfunction coerce(schema, action) {\n return {\n ...schema,\n _parse(input, config) {\n return schema._parse(action(input), config);\n }\n };\n}\n\n// src/methods/coerce/coerceAsync.ts\nfunction coerceAsync(schema, action) {\n return {\n ...schema,\n async _parse(input, config) {\n return schema._parse(await action(input), config);\n }\n };\n}\n\n// src/utils/actionIssue/actionIssue.ts\nfunction actionIssue(context, reference, input, label, received) {\n return {\n issues: [{ context, reference, input, label, received }]\n };\n}\n\n// src/utils/actionOutput/actionOutput.ts\nfunction actionOutput(output) {\n return { output };\n}\n\n// src/utils/defaultArgs/defaultArgs.ts\nfunction defaultArgs(arg1, arg2) {\n return Array.isArray(arg1) ? [void 0, arg1] : [arg1, arg2];\n}\n\n// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config) {\n store = { ...store, ...config };\n}\nfunction getGlobalConfig(config) {\n return {\n lang: config?.lang ?? store?.lang,\n message: config?.message,\n abortEarly: config?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config?.abortPipeEarly ?? store?.abortPipeEarly,\n skipPipe: config?.skipPipe ?? store?.skipPipe\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message, lang) {\n if (!store2)\n store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message);\n}\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message, lang) {\n if (!store3)\n store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message);\n}\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message, lang) {\n if (!store4)\n store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference))\n store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message);\n}\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/i18n/i18n.ts\nfunction i18n(schema, context, reference, config, issue) {\n const message = context.message ?? getSpecificMessage(reference, issue.lang) ?? (schema ? getSchemaMessage(issue.lang) : null) ?? config?.message ?? getGlobalMessage(issue.lang) ?? issue.message;\n return typeof message === \"function\" ? message(issue) : message;\n}\n\n// src/utils/isLuhnAlgo/isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\nfunction isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/isOfType/isOfType.ts\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/schemaResult/schemaResult.ts\nfunction schemaResult(typed, output, issues) {\n return { typed, output, issues };\n}\n\n// src/utils/stringify/stringify.ts\nfunction stringify(input) {\n let type = typeof input;\n if (type === \"object\") {\n type = input ? Object.getPrototypeOf(input).constructor.name : \"null\";\n }\n return type === \"string\" ? `\"${input}\"` : type === \"number\" || type === \"bigint\" || type === \"boolean\" ? `${input}` : type;\n}\n\n// src/utils/pipeResult/utils/pipeIssue/pipeIssue.ts\nfunction pipeIssue(context, config, issue) {\n const received = issue.received ?? stringify(issue.input);\n const schemaIssue2 = {\n reason: context.type,\n context: issue.context.type,\n expected: issue.context.expects,\n received,\n message: `Invalid ${issue.label}: ${issue.context.expects ? `Expected ${issue.context.expects} but r` : \"R\"}eceived ${received}`,\n input: issue.input,\n requirement: issue.context.requirement,\n path: issue.path,\n lang: config?.lang,\n abortEarly: config?.abortEarly,\n abortPipeEarly: config?.abortPipeEarly,\n skipPipe: config?.skipPipe\n };\n schemaIssue2.message = i18n(\n false,\n issue.context,\n issue.reference,\n config,\n schemaIssue2\n );\n return schemaIssue2;\n}\n\n// src/utils/pipeResult/pipeResult.ts\nfunction pipeResult(context, input, config, issues) {\n if (context.pipe && !config?.skipPipe) {\n for (const action of context.pipe) {\n const result = action._parse(input);\n if (result.issues) {\n for (const actionIssue2 of result.issues) {\n const schemaIssue2 = pipeIssue(context, config, actionIssue2);\n issues ? issues.push(schemaIssue2) : issues = [schemaIssue2];\n }\n if (config?.abortEarly || config?.abortPipeEarly) {\n break;\n }\n } else {\n input = result.output;\n }\n }\n }\n return schemaResult(true, input, issues);\n}\n\n// src/utils/pipeResult/pipeResultAsync.ts\nasync function pipeResultAsync(context, input, config, issues) {\n if (context.pipe && !config?.skipPipe) {\n for (const action of context.pipe) {\n const result = await action._parse(input);\n if (result.issues) {\n for (const actionIssue2 of result.issues) {\n const schemaIssue2 = pipeIssue(context, config, actionIssue2);\n issues ? issues.push(schemaIssue2) : issues = [schemaIssue2];\n }\n if (config?.abortEarly || config?.abortPipeEarly) {\n break;\n }\n } else {\n input = result.output;\n }\n }\n }\n return schemaResult(true, input, issues);\n}\n\n// src/utils/restAndDefaultArgs/restAndDefaultArgs.ts\nfunction restAndDefaultArgs(arg1, arg2, arg3) {\n if (!arg1 || typeof arg1 === \"object\" && !Array.isArray(arg1)) {\n const [error2, pipe2] = defaultArgs(arg2, arg3);\n return [arg1, error2, pipe2];\n }\n const [error, pipe] = defaultArgs(\n arg1,\n arg2\n );\n return [void 0, error, pipe];\n}\n\n// src/utils/schemaIssue/schemaIssue.ts\nfunction schemaIssue(context, reference, input, config, other) {\n const received = stringify(input);\n const expected = other?.expected ?? context.expects;\n const issue = {\n reason: other?.reason ?? \"type\",\n context: context.type,\n expected,\n received,\n message: `Invalid type: Expected ${expected} but received ${received}`,\n input,\n path: other?.path,\n issues: other?.issues,\n lang: config?.lang,\n abortEarly: config?.abortEarly,\n abortPipeEarly: config?.abortPipeEarly,\n skipPipe: config?.skipPipe\n };\n issue.message = i18n(true, context, reference, config, issue);\n return { typed: false, output: input, issues: [issue] };\n}\n\n// src/methods/getFallback/getFallback.ts\nfunction getFallback(schema, info) {\n return typeof schema.fallback === \"function\" ? schema.fallback(info) : schema.fallback;\n}\n\n// src/methods/getFallback/getFallbackAsync.ts\nasync function getFallbackAsync(schema, info) {\n return typeof schema.fallback === \"function\" ? await schema.fallback(info) : schema.fallback;\n}\n\n// src/methods/fallback/fallback.ts\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n _parse(input, config) {\n const result = schema._parse(input, config);\n return result.issues ? schemaResult(\n true,\n getFallback(this, { input, issues: result.issues })\n ) : result;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async _parse(input, config) {\n const result = await schema._parse(input, config);\n return result.issues ? schemaResult(\n true,\n await getFallbackAsync(this, { input, issues: result.issues })\n ) : result;\n }\n };\n}\n\n// src/methods/forward/forward.ts\nfunction forward(validation, pathList) {\n return {\n ...validation,\n _parse(input) {\n const result = validation._parse(input);\n if (result.issues) {\n for (const issue of result.issues) {\n let pathInput = input;\n for (const key of pathList) {\n const pathValue = pathInput[key];\n issue.input = pathValue;\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n issue.path ? issue.path.push(pathItem) : issue.path = [pathItem];\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\nfunction forwardAsync(validation, pathList) {\n return {\n ...validation,\n async _parse(input) {\n const result = await validation._parse(input);\n if (result.issues) {\n for (const issue of result.issues) {\n let pathInput = input;\n for (const key of pathList) {\n const pathValue = pathInput[key];\n issue.input = pathValue;\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n issue.path ? issue.path.push(pathItem) : issue.path = [pathItem];\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\nfunction getDefault(schema) {\n return typeof schema.default === \"function\" ? schema.default() : schema.default;\n}\n\n// src/methods/getDefault/getDefaultAsync.ts\nasync function getDefaultAsync(schema) {\n return typeof schema.default === \"function\" ? await schema.default() : schema.default;\n}\n\n// src/methods/getDefaults/getDefaults.ts\nfunction getDefaults(schema) {\n if (schema.default !== void 0) {\n return getDefault(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n Object.entries(schema.entries).map(([key, value2]) => [\n key,\n getDefaults(value2)\n ])\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return schema.items.map(getDefaults);\n }\n return void 0;\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\nasync function getDefaultsAsync(schema) {\n if (schema.default !== void 0) {\n return getDefaultAsync(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return Promise.all(\n schema.items.map(getDefaultsAsync)\n );\n }\n return void 0;\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\nfunction getFallbacks(schema) {\n if (schema.fallback !== void 0) {\n return getFallback(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n Object.entries(schema.entries).map(([key, value2]) => [\n key,\n getFallbacks(value2)\n ])\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return schema.items.map(getFallbacks);\n }\n return void 0;\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\nasync function getFallbacksAsync(schema) {\n if (schema.fallback !== void 0) {\n return getFallbackAsync(schema);\n }\n if (isOfType(\"object\", schema)) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (isOfType(\"tuple\", schema)) {\n return Promise.all(\n schema.items.map(getFallbacksAsync)\n );\n }\n return void 0;\n}\n\n// src/methods/is/is.ts\nfunction is(schema, input, config) {\n return !schema._parse(input, {\n abortEarly: true,\n skipPipe: getGlobalConfig(config)?.skipPipe\n }).issues;\n}\n\n// src/schemas/any/any.ts\nfunction any(pipe) {\n return {\n type: \"any\",\n expects: \"any\",\n async: false,\n pipe,\n _parse(input, config) {\n return pipeResult(this, input, config);\n }\n };\n}\n\n// src/schemas/any/anyAsync.ts\nfunction anyAsync(pipe) {\n return {\n type: \"any\",\n expects: \"any\",\n async: true,\n pipe,\n async _parse(input, config) {\n return pipeResultAsync(this, input, config);\n }\n };\n}\n\n// src/schemas/array/array.ts\nfunction array(item, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"array\",\n expects: \"Array\",\n async: false,\n item,\n message,\n pipe,\n _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const result = this.item._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output.push(result.output);\n }\n if (typed) {\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, array, input, config);\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\nfunction arrayAsync(item, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"array\",\n expects: \"Array\",\n async: true,\n item,\n message,\n pipe,\n async _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n await Promise.all(\n input.map(async (value2, key) => {\n if (!(config?.abortEarly && issues)) {\n const result = await this.item._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n })\n ).catch(() => null);\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, arrayAsync, input, config);\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\nfunction bigint(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"bigint\",\n expects: \"bigint\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"bigint\") {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, bigint, input, config);\n }\n };\n}\n\n// src/schemas/bigint/bigintAsync.ts\nfunction bigintAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"bigint\",\n expects: \"bigint\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"bigint\") {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, bigintAsync, input, config);\n }\n };\n}\n\n// src/schemas/blob/blob.ts\nfunction blob(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"blob\",\n expects: \"Blob\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Blob) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, blob, input, config);\n }\n };\n}\n\n// src/schemas/blob/blobAsync.ts\nfunction blobAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"blob\",\n expects: \"Blob\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Blob) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, blobAsync, input, config);\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\nfunction boolean(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"boolean\",\n expects: \"boolean\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"boolean\") {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, boolean, input, config);\n }\n };\n}\n\n// src/schemas/boolean/booleanAsync.ts\nfunction booleanAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"boolean\",\n expects: \"boolean\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"boolean\") {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, booleanAsync, input, config);\n }\n };\n}\n\n// src/schemas/date/date.ts\nfunction date(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"date\",\n expects: \"Date\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Date && !isNaN(input.getTime())) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, date, input, config);\n }\n };\n}\n\n// src/schemas/date/dateAsync.ts\nfunction dateAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"date\",\n expects: \"Date\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Date && !isNaN(input.getTime())) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, dateAsync, input, config);\n }\n };\n}\n\n// src/schemas/enum/enum.ts\nfunction enum_(enum__, message) {\n const values = Object.values(enum__);\n return {\n type: \"enum\",\n expects: values.map(stringify).join(\" | \"),\n async: false,\n enum: enum__,\n message,\n _parse(input, config) {\n if (values.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, enum_, input, config);\n }\n };\n}\n\n// src/schemas/enum/enumAsync.ts\nfunction enumAsync(enum_2, message) {\n const values = Object.values(enum_2);\n return {\n type: \"enum\",\n expects: values.map(stringify).join(\" | \"),\n async: true,\n enum: enum_2,\n message,\n async _parse(input, config) {\n if (values.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, enumAsync, input, config);\n }\n };\n}\n\n// src/schemas/instance/instance.ts\nfunction instance(class_, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"instance\",\n expects: class_.name,\n async: false,\n class: class_,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof this.class) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, instance, input, config);\n }\n };\n}\n\n// src/schemas/instance/instanceAsync.ts\nfunction instanceAsync(class_, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"instance\",\n expects: class_.name,\n async: true,\n class: class_,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof this.class) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, instanceAsync, input, config);\n }\n };\n}\n\n// src/schemas/intersect/utils/mergeOutputs/mergeOutputs.ts\nfunction mergeOutputs(output1, output2) {\n if (typeof output1 === typeof output2) {\n if (output1 === output2 || output1 instanceof Date && output2 instanceof Date && +output1 === +output2) {\n return { output: output1 };\n }\n if (Array.isArray(output1) && Array.isArray(output2)) {\n if (output1.length === output2.length) {\n const array2 = [];\n for (let index = 0; index < output1.length; index++) {\n const result = mergeOutputs(output1[index], output2[index]);\n if (result.invalid) {\n return result;\n }\n array2.push(result.output);\n }\n return { output: array2 };\n }\n return { invalid: true };\n }\n if (output1 && output2 && output1.constructor === Object && output2.constructor === Object) {\n const object2 = { ...output1, ...output2 };\n for (const key in output1) {\n if (key in output2) {\n const result = mergeOutputs(output1[key], output2[key]);\n if (result.invalid) {\n return result;\n }\n object2[key] = result.output;\n }\n }\n return { output: object2 };\n }\n }\n return { invalid: true };\n}\n\n// src/schemas/intersect/intersect.ts\nfunction intersect(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"intersect\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" & \"),\n async: false,\n options,\n message,\n pipe,\n _parse(input, config) {\n let typed = true;\n let issues;\n let output;\n const outputs = [];\n for (const schema of this.options) {\n const result = schema._parse(input, config);\n if (result.issues) {\n if (issues) {\n for (const issue of result.issues) {\n issues.push(issue);\n }\n } else {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n outputs.push(result.output);\n }\n if (typed) {\n output = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const result = mergeOutputs(output, outputs[index]);\n if (result.invalid) {\n return schemaIssue(this, intersect, input, config);\n }\n output = result.output;\n }\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\nfunction intersectAsync(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"intersect\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" & \"),\n async: true,\n options,\n message,\n pipe,\n async _parse(input, config) {\n let typed = true;\n let issues;\n let output;\n const outputs = [];\n await Promise.all(\n this.options.map(async (schema) => {\n if (!(config?.abortEarly && issues)) {\n const result = await schema._parse(input, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n if (issues) {\n for (const issue of result.issues) {\n issues.push(issue);\n }\n } else {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n outputs.push(result.output);\n }\n }\n })\n ).catch(() => null);\n if (typed) {\n output = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const result = mergeOutputs(output, outputs[index]);\n if (result.invalid) {\n return schemaIssue(this, intersectAsync, input, config);\n }\n output = result.output;\n }\n return pipeResultAsync(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\nfunction lazy(getter) {\n return {\n type: \"lazy\",\n expects: \"unknown\",\n async: false,\n getter,\n _parse(input, config) {\n return this.getter(input)._parse(input, config);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\nfunction lazyAsync(getter) {\n return {\n type: \"lazy\",\n expects: \"unknown\",\n async: true,\n getter,\n async _parse(input, config) {\n return (await this.getter(input))._parse(input, config);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\nfunction literal(literal_, message) {\n return {\n type: \"literal\",\n expects: stringify(literal_),\n async: false,\n literal: literal_,\n message,\n _parse(input, config) {\n if (input === this.literal) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, literal, input, config);\n }\n };\n}\n\n// src/schemas/literal/literalAsync.ts\nfunction literalAsync(literal2, message) {\n return {\n type: \"literal\",\n expects: stringify(literal2),\n async: true,\n literal: literal2,\n message,\n async _parse(input, config) {\n if (input === this.literal) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, literalAsync, input, config);\n }\n };\n}\n\n// src/schemas/map/map.ts\nfunction map(key, value2, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n return {\n type: \"map\",\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Map) {\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input.entries()) {\n let pathItem;\n const keyResult = this.key._parse(inputKey, config);\n if (keyResult.issues) {\n pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyResult.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = keyResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n const valueResult = this.value._parse(inputValue, config);\n if (valueResult.issues) {\n pathItem = pathItem ?? {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueResult.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = valueResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!keyResult.typed || !valueResult.typed) {\n typed = false;\n }\n output.set(keyResult.output, valueResult.output);\n }\n if (typed) {\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, map, input, config);\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\nfunction mapAsync(key, value2, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n return {\n type: \"map\",\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Map) {\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Map();\n await Promise.all(\n Array.from(input.entries()).map(async ([inputKey, inputValue]) => {\n let pathItem;\n const [keyResult, valueResult] = await Promise.all(\n [\n { schema: this.key, value: inputKey, origin: \"key\" },\n { schema: this.value, value: inputValue, origin: \"value\" }\n ].map(async ({ schema, value: value3, origin }) => {\n if (!(config?.abortEarly && issues)) {\n const result = await schema._parse(value3, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n pathItem = pathItem ?? {\n type: \"map\",\n origin,\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n throw null;\n }\n }\n return result;\n }\n }\n })\n ).catch(() => []);\n if (!keyResult?.typed || !valueResult?.typed) {\n typed = false;\n }\n if (keyResult && valueResult) {\n output.set(keyResult.output, valueResult.output);\n }\n })\n );\n if (typed) {\n return pipeResultAsync(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, mapAsync, input, config);\n }\n };\n}\n\n// src/schemas/nan/nan.ts\nfunction nan(message) {\n return {\n type: \"nan\",\n expects: \"NaN\",\n async: false,\n message,\n _parse(input, config) {\n if (Number.isNaN(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, nan, input, config);\n }\n };\n}\n\n// src/schemas/nan/nanAsync.ts\nfunction nanAsync(message) {\n return {\n type: \"nan\",\n expects: \"NaN\",\n async: true,\n message,\n async _parse(input, config) {\n if (Number.isNaN(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, nanAsync, input, config);\n }\n };\n}\n\n// src/schemas/never/never.ts\nfunction never(message) {\n return {\n type: \"never\",\n expects: \"never\",\n async: false,\n message,\n _parse(input, config) {\n return schemaIssue(this, never, input, config);\n }\n };\n}\n\n// src/schemas/never/neverAsync.ts\nfunction neverAsync(message) {\n return {\n type: \"never\",\n expects: \"never\",\n async: true,\n message,\n async _parse(input, config) {\n return schemaIssue(this, neverAsync, input, config);\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\nfunction nonNullable(wrapped, message) {\n return {\n type: \"non_nullable\",\n expects: \"!null\",\n async: false,\n wrapped,\n message,\n _parse(input, config) {\n if (input === null) {\n return schemaIssue(this, nonNullable, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\nfunction nonNullableAsync(wrapped, message) {\n return {\n type: \"non_nullable\",\n expects: \"!null\",\n async: true,\n wrapped,\n message,\n async _parse(input, config) {\n if (input === null) {\n return schemaIssue(this, nonNullableAsync, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\nfunction nonNullish(wrapped, message) {\n return {\n type: \"non_nullish\",\n expects: \"!null & !undefined\",\n async: false,\n wrapped,\n message,\n _parse(input, config) {\n if (input === null || input === void 0) {\n return schemaIssue(this, nonNullish, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\nfunction nonNullishAsync(wrapped, message) {\n return {\n type: \"non_nullish\",\n expects: \"!null & !undefined\",\n async: true,\n wrapped,\n message,\n async _parse(input, config) {\n if (input === null || input === void 0) {\n return schemaIssue(this, nonNullishAsync, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\nfunction nonOptional(wrapped, message) {\n return {\n type: \"non_optional\",\n expects: \"!undefined\",\n async: false,\n wrapped,\n message,\n _parse(input, config) {\n if (input === void 0) {\n return schemaIssue(this, nonOptional, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\nfunction nonOptionalAsync(wrapped, message) {\n return {\n type: \"non_optional\",\n expects: \"!undefined\",\n async: true,\n wrapped,\n message,\n async _parse(input, config) {\n if (input === void 0) {\n return schemaIssue(this, nonOptionalAsync, input, config);\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\nfunction nullable(wrapped, default_) {\n return {\n type: \"nullable\",\n expects: `${wrapped.expects} | null`,\n async: false,\n wrapped,\n default: default_,\n _parse(input, config) {\n if (input === null) {\n const override = getDefault(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullable/nullableAsync.ts\nfunction nullableAsync(wrapped, default_) {\n return {\n type: \"nullable\",\n expects: `${wrapped.expects} | null`,\n async: true,\n wrapped,\n default: default_,\n async _parse(input, config) {\n if (input === null) {\n const override = await getDefaultAsync(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullish/nullish.ts\nfunction nullish(wrapped, default_) {\n return {\n type: \"nullish\",\n expects: `${wrapped.expects} | null | undefined`,\n async: false,\n wrapped,\n default: default_,\n _parse(input, config) {\n if (input === null || input === void 0) {\n const override = getDefault(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/nullish/nullishAsync.ts\nfunction nullishAsync(wrapped, default_) {\n return {\n type: \"nullish\",\n expects: `${wrapped.expects} | null | undefined`,\n async: true,\n wrapped,\n default: default_,\n async _parse(input, config) {\n if (input === null || input === void 0) {\n const override = await getDefaultAsync(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/null/null.ts\nfunction null_(message) {\n return {\n type: \"null\",\n expects: \"null\",\n async: false,\n message,\n _parse(input, config) {\n if (input === null) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, null_, input, config);\n }\n };\n}\n\n// src/schemas/null/nullAsync.ts\nfunction nullAsync(message) {\n return {\n type: \"null\",\n expects: \"null\",\n async: true,\n message,\n async _parse(input, config) {\n if (input === null) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, nullAsync, input, config);\n }\n };\n}\n\n// src/schemas/number/number.ts\nfunction number(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"number\",\n expects: \"number\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"number\" && !isNaN(input)) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, number, input, config);\n }\n };\n}\n\n// src/schemas/number/numberAsync.ts\nfunction numberAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"number\",\n expects: \"number\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"number\" && !isNaN(input)) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, numberAsync, input, config);\n }\n };\n}\n\n// src/schemas/object/object.ts\nfunction object(entries, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n let cachedEntries;\n return {\n type: \"object\",\n expects: \"Object\",\n async: false,\n entries,\n rest,\n message,\n pipe,\n _parse(input, config) {\n if (input && typeof input === \"object\") {\n cachedEntries = cachedEntries ?? Object.entries(this.entries);\n let typed = true;\n let issues;\n const output = {};\n for (const [key, schema] of cachedEntries) {\n const value2 = input[key];\n const result = schema._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n if (result.output !== void 0 || key in input) {\n output[key] = result.output;\n }\n }\n if (this.rest && !(config?.abortEarly && issues)) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n const result = this.rest._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n }\n if (typed) {\n return pipeResult(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, object, input, config);\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\nfunction objectAsync(entries, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n let cachedEntries;\n return {\n type: \"object\",\n expects: \"Object\",\n async: true,\n entries,\n rest,\n message,\n pipe,\n async _parse(input, config) {\n if (input && typeof input === \"object\") {\n cachedEntries = cachedEntries ?? Object.entries(this.entries);\n let typed = true;\n let issues;\n const output = {};\n await Promise.all([\n Promise.all(\n cachedEntries.map(async ([key, schema]) => {\n if (!(config?.abortEarly && issues)) {\n const value2 = input[key];\n const result = await schema._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n if (result.output !== void 0 || key in input) {\n output[key] = result.output;\n }\n }\n }\n })\n ),\n this.rest && Promise.all(\n Object.entries(input).map(async ([key, value2]) => {\n if (!(config?.abortEarly && issues)) {\n if (!(key in this.entries)) {\n const result = await this.rest._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n }\n })\n )\n ]).catch(() => null);\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, objectAsync, input, config);\n }\n };\n}\n\n// src/schemas/optional/optional.ts\nfunction optional(wrapped, default_) {\n return {\n type: \"optional\",\n expects: `${wrapped.expects} | undefined`,\n async: false,\n wrapped,\n default: default_,\n _parse(input, config) {\n if (input === void 0) {\n const override = getDefault(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/optional/optionalAsync.ts\nfunction optionalAsync(wrapped, default_) {\n return {\n type: \"optional\",\n expects: `${wrapped.expects} | undefined`,\n async: true,\n wrapped,\n default: default_,\n async _parse(input, config) {\n if (input === void 0) {\n const override = await getDefaultAsync(this);\n if (override === void 0) {\n return schemaResult(true, input);\n }\n input = override;\n }\n return this.wrapped._parse(input, config);\n }\n };\n}\n\n// src/schemas/picklist/picklist.ts\nfunction picklist(options, message) {\n return {\n type: \"picklist\",\n expects: options.map(stringify).join(\" | \"),\n async: false,\n options,\n message,\n _parse(input, config) {\n if (this.options.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, picklist, input, config);\n }\n };\n}\n\n// src/schemas/picklist/picklistAsync.ts\nfunction picklistAsync(options, message) {\n return {\n type: \"picklist\",\n expects: options.map(stringify).join(\" | \"),\n async: true,\n options,\n message,\n async _parse(input, config) {\n if (this.options.includes(input)) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, picklistAsync, input, config);\n }\n };\n}\n\n// src/schemas/string/string.ts\nfunction string(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"string\",\n expects: \"string\",\n async: false,\n message,\n pipe,\n _parse(input, config) {\n if (typeof input === \"string\") {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, string, input, config);\n }\n };\n}\n\n// src/schemas/string/stringAsync.ts\nfunction stringAsync(arg1, arg2) {\n const [message, pipe] = defaultArgs(arg1, arg2);\n return {\n type: \"string\",\n expects: \"string\",\n async: true,\n message,\n pipe,\n async _parse(input, config) {\n if (typeof input === \"string\") {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, stringAsync, input, config);\n }\n };\n}\n\n// src/schemas/record/utils/recordArgs/recordArgs.ts\nfunction recordArgs(arg1, arg2, arg3, arg4) {\n if (typeof arg2 === \"object\" && !Array.isArray(arg2)) {\n const [message2, pipe2] = defaultArgs(arg3, arg4);\n return [arg1, arg2, message2, pipe2];\n }\n const [message, pipe] = defaultArgs(\n arg2,\n arg3\n );\n return [string(), arg1, message, pipe];\n}\n\n// src/schemas/record/values.ts\nvar BLOCKED_KEYS = [\"__proto__\", \"prototype\", \"constructor\"];\n\n// src/schemas/record/record.ts\nfunction record(arg1, arg2, arg3, arg4) {\n const [key, value2, message, pipe] = recordArgs(arg1, arg2, arg3, arg4);\n return {\n type: \"record\",\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message,\n pipe,\n _parse(input, config) {\n if (input && typeof input === \"object\") {\n let typed = true;\n let issues;\n const output = {};\n for (const [inputKey, inputValue] of Object.entries(input)) {\n if (!BLOCKED_KEYS.includes(inputKey)) {\n let pathItem;\n const keyResult = this.key._parse(inputKey, config);\n if (keyResult.issues) {\n pathItem = {\n type: \"record\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyResult.issues) {\n issue.path = [pathItem];\n issues?.push(issue);\n }\n if (!issues) {\n issues = keyResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n const valueResult = this.value._parse(inputValue, config);\n if (valueResult.issues) {\n pathItem = pathItem ?? {\n type: \"record\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueResult.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = valueResult.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!keyResult.typed || !valueResult.typed) {\n typed = false;\n }\n if (keyResult.typed) {\n output[keyResult.output] = valueResult.output;\n }\n }\n }\n if (typed) {\n return pipeResult(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, record, input, config);\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\nfunction recordAsync(arg1, arg2, arg3, arg4) {\n const [key, value2, message, pipe] = recordArgs(arg1, arg2, arg3, arg4);\n return {\n type: \"record\",\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message,\n pipe,\n async _parse(input, config) {\n if (input && typeof input === \"object\") {\n let typed = true;\n let issues;\n const output = {};\n await Promise.all(\n // Note: `Object.entries(...)` converts each key to a string\n Object.entries(input).map(async ([inputKey, inputValue]) => {\n if (!BLOCKED_KEYS.includes(inputKey)) {\n let pathItem;\n const [keyResult, valueResult] = await Promise.all(\n [\n { schema: this.key, value: inputKey, origin: \"key\" },\n { schema: this.value, value: inputValue, origin: \"value\" }\n ].map(async ({ schema, value: value3, origin }) => {\n if (!(config?.abortEarly && issues)) {\n const result = await schema._parse(value3, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n pathItem = pathItem ?? {\n type: \"record\",\n origin,\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n throw null;\n }\n }\n return result;\n }\n }\n })\n ).catch(() => []);\n if (!keyResult?.typed || !valueResult?.typed) {\n typed = false;\n }\n if (keyResult?.typed && valueResult) {\n output[keyResult.output] = valueResult.output;\n }\n }\n })\n );\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, recordAsync, input, config);\n }\n };\n}\n\n// src/schemas/set/set.ts\nfunction set(value2, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"set\",\n expects: \"Set\",\n async: false,\n value: value2,\n message,\n pipe,\n _parse(input, config) {\n if (input instanceof Set) {\n let key = 0;\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const result = this.value._parse(inputValue, config);\n if (result.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output.add(result.output);\n key++;\n }\n if (typed) {\n return pipeResult(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, set, input, config);\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\nfunction setAsync(value2, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"set\",\n expects: \"Set\",\n async: true,\n value: value2,\n message,\n pipe,\n async _parse(input, config) {\n if (input instanceof Set) {\n let typed = true;\n let issues;\n const output = /* @__PURE__ */ new Set();\n await Promise.all(\n Array.from(input.values()).map(async (inputValue, key) => {\n if (!(config?.abortEarly && issues)) {\n const result = await this.value._parse(inputValue, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key,\n value: inputValue\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output.add(result.output);\n }\n }\n })\n ).catch(() => null);\n if (typed) {\n return pipeResultAsync(this, output, config, issues);\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, setAsync, input, config);\n }\n };\n}\n\n// src/schemas/special/special.ts\nfunction special(check, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"special\",\n expects: \"unknown\",\n async: false,\n check,\n message,\n pipe,\n _parse(input, config) {\n if (this.check(input)) {\n return pipeResult(this, input, config);\n }\n return schemaIssue(this, special, input, config);\n }\n };\n}\n\n// src/schemas/special/specialAsync.ts\nfunction specialAsync(check, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"special\",\n expects: \"unknown\",\n async: true,\n check,\n message,\n pipe,\n async _parse(input, config) {\n if (await this.check(input)) {\n return pipeResultAsync(this, input, config);\n }\n return schemaIssue(this, specialAsync, input, config);\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\nfunction symbol(message) {\n return {\n type: \"symbol\",\n expects: \"symbol\",\n async: false,\n message,\n _parse(input, config) {\n if (typeof input === \"symbol\") {\n return schemaResult(true, input);\n }\n return schemaIssue(this, symbol, input, config);\n }\n };\n}\n\n// src/schemas/symbol/symbolAsync.ts\nfunction symbolAsync(message) {\n return {\n type: \"symbol\",\n expects: \"symbol\",\n async: true,\n message,\n async _parse(input, config) {\n if (typeof input === \"symbol\") {\n return schemaResult(true, input);\n }\n return schemaIssue(this, symbolAsync, input, config);\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\nfunction tuple(items, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return {\n type: \"tuple\",\n expects: \"Array\",\n async: false,\n items,\n rest,\n message,\n pipe,\n _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const result = this.items[key]._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n if (this.rest && !(config?.abortEarly && issues)) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const result = this.rest._parse(value2, config);\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n break;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n if (typed) {\n return pipeResult(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, tuple, input, config);\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\nfunction tupleAsync(items, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return {\n type: \"tuple\",\n expects: \"Array\",\n async: true,\n items,\n rest,\n message,\n pipe,\n async _parse(input, config) {\n if (Array.isArray(input)) {\n let typed = true;\n let issues;\n const output = [];\n await Promise.all([\n // Parse schema of each tuple item\n Promise.all(\n this.items.map(async (schema, key) => {\n if (!(config?.abortEarly && issues)) {\n const value2 = input[key];\n const result = await schema._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n })\n ),\n // If necessary parse schema of each rest item\n this.rest && Promise.all(\n input.slice(this.items.length).map(async (value2, index) => {\n if (!(config?.abortEarly && issues)) {\n const key = this.items.length + index;\n const result = await this.rest._parse(value2, config);\n if (!(config?.abortEarly && issues)) {\n if (result.issues) {\n const pathItem = {\n type: \"tuple\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of result.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n issues?.push(issue);\n }\n if (!issues) {\n issues = result.issues;\n }\n if (config?.abortEarly) {\n typed = false;\n throw null;\n }\n }\n if (!result.typed) {\n typed = false;\n }\n output[key] = result.output;\n }\n }\n })\n )\n ]).catch(() => null);\n if (typed) {\n return pipeResultAsync(\n this,\n output,\n config,\n issues\n );\n }\n return schemaResult(false, output, issues);\n }\n return schemaIssue(this, tupleAsync, input, config);\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\nfunction undefined_(message) {\n return {\n type: \"undefined\",\n expects: \"undefined\",\n async: false,\n message,\n _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, undefined_, input, config);\n }\n };\n}\n\n// src/schemas/undefined/undefinedAsync.ts\nfunction undefinedAsync(message) {\n return {\n type: \"undefined\",\n expects: \"undefined\",\n async: true,\n message,\n async _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, undefinedAsync, input, config);\n }\n };\n}\n\n// src/schemas/union/utils/subissues/subissues.ts\nfunction subissues(results) {\n let issues;\n if (results) {\n for (const result of results) {\n if (issues) {\n for (const issue of result.issues) {\n issues.push(issue);\n }\n } else {\n issues = result.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\nfunction union(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"union\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" | \"),\n async: false,\n options,\n message,\n pipe,\n _parse(input, config) {\n let validResult;\n let untypedResults;\n let typedResults;\n for (const schema of this.options) {\n const result = schema._parse(input, config);\n if (result.typed) {\n if (!result.issues) {\n validResult = result;\n break;\n } else {\n typedResults ? typedResults.push(result) : typedResults = [result];\n }\n } else {\n untypedResults ? untypedResults.push(result) : untypedResults = [result];\n }\n }\n if (validResult) {\n return pipeResult(this, validResult.output, config);\n }\n if (typedResults?.length) {\n const firstResult = typedResults[0];\n return pipeResult(\n this,\n firstResult.output,\n config,\n // Hint: If there is more than one typed result, we use a general\n // union issue with subissues because the issues could contradict\n // each other.\n typedResults.length === 1 ? firstResult.issues : schemaIssue(this, union, input, config, {\n reason: \"union\",\n issues: subissues(typedResults)\n }).issues\n );\n }\n if (untypedResults?.length === 1) {\n return untypedResults[0];\n }\n return schemaIssue(this, union, input, config, {\n issues: subissues(untypedResults)\n });\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\nfunction unionAsync(options, arg2, arg3) {\n const [message, pipe] = defaultArgs(arg2, arg3);\n return {\n type: \"union\",\n expects: [...new Set(options.map((option) => option.expects))].join(\" | \"),\n async: true,\n options,\n message,\n pipe,\n async _parse(input, config) {\n let validResult;\n let untypedResults;\n let typedResults;\n for (const schema of this.options) {\n const result = await schema._parse(input, config);\n if (result.typed) {\n if (!result.issues) {\n validResult = result;\n break;\n } else {\n typedResults ? typedResults.push(result) : typedResults = [result];\n }\n } else {\n untypedResults ? untypedResults.push(result) : untypedResults = [result];\n }\n }\n if (validResult) {\n return pipeResultAsync(this, validResult.output, config);\n }\n if (typedResults?.length) {\n const firstResult = typedResults[0];\n return pipeResultAsync(\n this,\n firstResult.output,\n config,\n // Hint: If there is more than one typed result, we use a general\n // union issue with subissues because the issues could contradict\n // each other.\n typedResults.length === 1 ? firstResult.issues : schemaIssue(this, unionAsync, input, config, {\n reason: \"union\",\n issues: subissues(typedResults)\n }).issues\n );\n }\n if (untypedResults?.length === 1) {\n return untypedResults[0];\n }\n return schemaIssue(this, unionAsync, input, config, {\n issues: subissues(untypedResults)\n });\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\nfunction unknown(pipe) {\n return {\n type: \"unknown\",\n expects: \"unknown\",\n async: false,\n pipe,\n _parse(input, config) {\n return pipeResult(this, input, config);\n }\n };\n}\n\n// src/schemas/unknown/unknownAsync.ts\nfunction unknownAsync(pipe) {\n return {\n type: \"unknown\",\n expects: \"unknown\",\n async: true,\n pipe,\n async _parse(input, config) {\n return pipeResultAsync(this, input, config);\n }\n };\n}\n\n// src/schemas/variant/variant.ts\nfunction variant(key, options, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n let cachedExpectedKey;\n return {\n type: \"variant\",\n expects: \"Object\",\n async: false,\n key,\n options,\n message,\n pipe,\n _parse(input, config) {\n if (input && typeof input === \"object\") {\n if (this.key in input || !cachedExpectedKey) {\n let expectedKey;\n let variantResult;\n const parseOptions = (options2) => {\n for (const schema of options2) {\n if (schema.type === \"object\") {\n const keySchema = schema.entries[this.key];\n const keyResult = keySchema._parse(\n input[this.key],\n config\n );\n if (!cachedExpectedKey) {\n expectedKey ? expectedKey.push(keySchema.expects) : expectedKey = [keySchema.expects];\n }\n if (!keyResult.issues) {\n const dataResult = schema._parse(input, config);\n if (!dataResult.issues) {\n variantResult = dataResult;\n break;\n }\n if (!variantResult || !variantResult.typed && dataResult.typed) {\n variantResult = dataResult;\n }\n }\n } else if (schema.type === \"variant\") {\n parseOptions(schema.options);\n if (variantResult && !variantResult.issues) {\n break;\n }\n }\n }\n };\n parseOptions(this.options);\n cachedExpectedKey = cachedExpectedKey || [...new Set(expectedKey)].join(\" | \");\n if (variantResult) {\n if (variantResult.typed) {\n return pipeResult(\n this,\n variantResult.output,\n config,\n variantResult.issues\n );\n }\n return variantResult;\n }\n }\n const value2 = input[this.key];\n return schemaIssue(this, variant, value2, config, {\n expected: cachedExpectedKey,\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: this.key,\n value: value2\n }\n ]\n });\n }\n return schemaIssue(this, variant, input, config);\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\nfunction variantAsync(key, options, arg3, arg4) {\n const [message, pipe] = defaultArgs(arg3, arg4);\n let cachedExpectedKey;\n return {\n type: \"variant\",\n expects: \"Object\",\n async: true,\n key,\n options,\n message,\n pipe,\n async _parse(input, config) {\n if (input && typeof input === \"object\") {\n if (this.key in input || !cachedExpectedKey) {\n let expectedKey;\n let variantResult;\n const parseOptions = async (options2) => {\n for (const schema of options2) {\n if (schema.type === \"object\") {\n const keySchema = schema.entries[this.key];\n const keyResult = await keySchema._parse(\n input[this.key],\n config\n );\n if (!cachedExpectedKey) {\n expectedKey ? expectedKey.push(keySchema.expects) : expectedKey = [keySchema.expects];\n }\n if (!keyResult.issues) {\n const dataResult = await schema._parse(input, config);\n if (!dataResult.issues) {\n variantResult = dataResult;\n break;\n }\n if (!variantResult || !variantResult.typed && dataResult.typed) {\n variantResult = dataResult;\n }\n }\n } else if (schema.type === \"variant\") {\n await parseOptions(schema.options);\n if (variantResult && !variantResult.issues) {\n break;\n }\n }\n }\n };\n await parseOptions(this.options);\n cachedExpectedKey = cachedExpectedKey || [...new Set(expectedKey)].join(\" | \");\n if (variantResult) {\n if (variantResult.typed) {\n return pipeResultAsync(\n this,\n variantResult.output,\n config,\n variantResult.issues\n );\n }\n return variantResult;\n }\n }\n const value2 = input[this.key];\n return schemaIssue(this, variantAsync, value2, config, {\n expected: cachedExpectedKey,\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: this.key,\n value: value2\n }\n ]\n });\n }\n return schemaIssue(this, variantAsync, input, config);\n }\n };\n}\n\n// src/schemas/void/void.ts\nfunction void_(message) {\n return {\n type: \"void\",\n expects: \"void\",\n async: false,\n message,\n _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, void_, input, config);\n }\n };\n}\n\n// src/schemas/void/voidAsync.ts\nfunction voidAsync(message) {\n return {\n type: \"void\",\n expects: \"void\",\n async: true,\n message,\n async _parse(input, config) {\n if (input === void 0) {\n return schemaResult(true, input);\n }\n return schemaIssue(this, voidAsync, input, config);\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\nfunction keyof(schema) {\n return picklist(\n Object.keys(schema.entries)\n );\n}\n\n// src/methods/merge/merge.ts\nfunction merge(schemas, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return object(\n schemas.reduce(\n (entries, schema) => ({ ...entries, ...schema.entries }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/merge/mergeAsync.ts\nfunction mergeAsync(schemas, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return objectAsync(\n schemas.reduce(\n (entries, schema) => ({ ...entries, ...schema.entries }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/omit/omit.ts\nfunction omit(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? entries : { ...entries, [key]: schema2 },\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/omit/omitAsync.ts\nfunction omitAsync(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? entries : { ...entries, [key]: schema2 },\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config) {\n const result = schema._parse(input, getGlobalConfig(config));\n if (result.issues) {\n throw new ValiError(result.issues);\n }\n return result.output;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config) {\n const result = await schema._parse(input, getGlobalConfig(config));\n if (result.issues) {\n throw new ValiError(result.issues);\n }\n return result.output;\n}\n\n// src/methods/partial/partial.ts\nfunction partial(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: optional(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/partial/partialAsync.ts\nfunction partialAsync(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: optionalAsync(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/pick/pick.ts\nfunction pick(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? { ...entries, [key]: schema2 } : entries,\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/pick/pickAsync.ts\nfunction pickAsync(schema, keys, arg3, arg4, arg5) {\n const [rest, message, pipe] = restAndDefaultArgs(arg3, arg4, arg5);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => keys.includes(key) ? { ...entries, [key]: schema2 } : entries,\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/required/required.ts\nfunction required(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return object(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: nonOptional(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/required/requiredAsync.ts\nfunction requiredAsync(schema, arg2, arg3, arg4) {\n const [rest, message, pipe] = restAndDefaultArgs(arg2, arg3, arg4);\n return objectAsync(\n Object.entries(schema.entries).reduce(\n (entries, [key, schema2]) => ({\n ...entries,\n [key]: nonOptionalAsync(schema2)\n }),\n {}\n ),\n rest,\n message,\n pipe\n );\n}\n\n// src/methods/safeParse/safeParse.ts\nfunction safeParse(schema, input, config) {\n const result = schema._parse(input, getGlobalConfig(config));\n return {\n typed: result.typed,\n success: !result.issues,\n output: result.output,\n issues: result.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\nasync function safeParseAsync(schema, input, config) {\n const result = await schema._parse(input, getGlobalConfig(config));\n return {\n typed: result.typed,\n success: !result.issues,\n output: result.output,\n issues: result.issues\n };\n}\n\n// src/methods/transform/transform.ts\nfunction transform(schema, action, arg1) {\n return {\n ...schema,\n _parse(input, config) {\n const result = schema._parse(input, config);\n if (result.issues) {\n result.typed = false;\n } else {\n result.output = action(result.output, { issues: result.issues });\n if (arg1) {\n if (Array.isArray(arg1)) {\n return pipeResult(\n { type: typeof result.output, pipe: arg1 },\n result.output,\n config\n );\n }\n return arg1._parse(result.output, config);\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/transform/transformAsync.ts\nfunction transformAsync(schema, action, arg1) {\n return {\n ...schema,\n async: true,\n async _parse(input, config) {\n const result = await schema._parse(input, config);\n if (result.issues) {\n result.typed = false;\n } else {\n result.output = await action(result.output, { issues: result.issues });\n if (arg1) {\n if (Array.isArray(arg1)) {\n return pipeResultAsync(\n { type: typeof result.output, pipe: arg1 },\n result.output,\n config\n );\n }\n return arg1._parse(result.output, config);\n }\n }\n return result;\n }\n };\n}\n\n// src/methods/unwrap/unwrap.ts\nfunction unwrap(schema) {\n return schema.wrapped;\n}\n\n// src/regex.ts\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[A-Z\\d]{2}(?:[A-Z\\d]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = /^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$/u;\nvar HEXADECIMAL_REGEX = /^(0h|0x)?[\\da-f]+$/iu;\nvar HEX_COLOR_REGEX = /^#([\\da-f]{3}|[\\da-f]{4}|[\\da-f]{6}|[\\da-f]{8})$/iu;\nvar IMEI_REGEX = /^\\d{2}(?:[ /|-]?\\d{6}){2}[ /|-]?\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?Z$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar OCTAL_REGEX = /^(0o)?[0-7]+$/iu;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-z]{26}$/iu;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/transformations/toCustom/toCustom.ts\nfunction toCustom(action) {\n return {\n type: \"to_custom\",\n async: false,\n _parse(input) {\n return actionOutput(action(input));\n }\n };\n}\n\n// src/transformations/toCustom/toCustomAsync.ts\nfunction toCustomAsync(action) {\n return {\n type: \"to_custom\",\n async: true,\n async _parse(input) {\n return actionOutput(await action(input));\n }\n };\n}\n\n// src/transformations/toLowerCase/toLowerCase.ts\nfunction toLowerCase() {\n return {\n type: \"to_lower_case\",\n async: false,\n _parse(input) {\n return actionOutput(input.toLocaleLowerCase());\n }\n };\n}\n\n// src/transformations/toMaxValue/toMaxValue.ts\nfunction toMaxValue(requirement) {\n return {\n type: \"to_max_value\",\n async: false,\n requirement,\n _parse(input) {\n return actionOutput(input > this.requirement ? this.requirement : input);\n }\n };\n}\n\n// src/transformations/toMinValue/toMinValue.ts\nfunction toMinValue(requirement) {\n return {\n type: \"to_min_value\",\n async: false,\n requirement,\n _parse(input) {\n return actionOutput(input < this.requirement ? this.requirement : input);\n }\n };\n}\n\n// src/transformations/toTrimmed/toTrimmed.ts\nfunction toTrimmed() {\n return {\n type: \"to_trimmed\",\n async: false,\n _parse(input) {\n return actionOutput(input.trim());\n }\n };\n}\n\n// src/transformations/toTrimmedEnd/toTrimmedEnd.ts\nfunction toTrimmedEnd() {\n return {\n type: \"to_trimmed_end\",\n async: false,\n _parse(input) {\n return actionOutput(input.trimEnd());\n }\n };\n}\n\n// src/transformations/toTrimmedStart/toTrimmedStart.ts\nfunction toTrimmedStart() {\n return {\n type: \"to_trimmed_start\",\n async: false,\n _parse(input) {\n return actionOutput(input.trimStart());\n }\n };\n}\n\n// src/transformations/toUpperCase/toUpperCase.ts\nfunction toUpperCase() {\n return {\n type: \"to_upper_case\",\n async: false,\n _parse(input) {\n return actionOutput(input.toUpperCase());\n }\n };\n}\n\n// src/validations/bic/bic.ts\nfunction bic(message) {\n return {\n type: \"bic\",\n expects: null,\n async: false,\n message,\n requirement: BIC_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, bic, input, \"BIC\");\n }\n };\n}\n\n// src/validations/bytes/bytes.ts\nfunction bytes(requirement, message) {\n return {\n type: \"bytes\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 === this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, bytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/creditCard/creditCard.ts\nvar SANITIZE_REGEX = /[- ]+/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n /^5[1-5]\\d{2}|(222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(6[27]\\d{14}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\nfunction creditCard(message) {\n return {\n type: \"credit_card\",\n expects: null,\n async: false,\n message,\n requirement: (input) => {\n const sanitized = input.replace(SANITIZE_REGEX, \"\");\n return PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && isLuhnAlgo(sanitized);\n },\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, creditCard, input, \"credit card\");\n }\n };\n}\n\n// src/validations/cuid2/cuid2.ts\nfunction cuid2(message) {\n return {\n type: \"cuid2\",\n expects: null,\n async: false,\n message,\n requirement: CUID2_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, cuid2, input, \"Cuid2\");\n }\n };\n}\n\n// src/validations/custom/custom.ts\nfunction custom(requirement, message) {\n return {\n type: \"custom\",\n expects: null,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, custom, input, \"input\");\n }\n };\n}\n\n// src/validations/custom/customAsync.ts\nfunction customAsync(requirement, message) {\n return {\n type: \"custom\",\n expects: null,\n async: true,\n message,\n requirement,\n async _parse(input) {\n if (await this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, customAsync, input, \"input\");\n }\n };\n}\n\n// src/validations/decimal/decimal.ts\nfunction decimal(message) {\n return {\n type: \"decimal\",\n expects: null,\n async: false,\n message,\n requirement: DECIMAL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, decimal, input, \"decimal\");\n }\n };\n}\n\n// src/validations/email/email.ts\nfunction email(message) {\n return {\n type: \"email\",\n expects: null,\n async: false,\n message,\n requirement: EMAIL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, email, input, \"email\");\n }\n };\n}\n\n// src/validations/emoji/emoji.ts\nfunction emoji(message) {\n return {\n type: \"emoji\",\n expects: null,\n async: false,\n message,\n requirement: EMOJI_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, emoji, input, \"emoji\");\n }\n };\n}\n\n// src/validations/endsWith/endsWith.ts\nfunction endsWith(requirement, message) {\n return {\n type: \"ends_with\",\n expects: `\"${requirement}\"`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.endsWith(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n endsWith,\n input,\n \"end\",\n `\"${input.slice(-this.requirement.length)}\"`\n );\n }\n };\n}\n\n// src/validations/every/every.ts\nfunction every(requirement, message) {\n return {\n type: \"every\",\n expects: null,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.every(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, every, input, \"input\");\n }\n };\n}\n\n// src/validations/excludes/excludes.ts\nfunction excludes(requirement, message) {\n const received = stringify(requirement);\n return {\n type: \"excludes\",\n expects: `!${received}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (!input.includes(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, excludes, input, \"content\", received);\n }\n };\n}\n\n// src/validations/finite/finite.ts\nfunction finite(message) {\n return {\n type: \"finite\",\n expects: null,\n async: false,\n message,\n requirement: Number.isFinite,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, finite, input, \"finite\");\n }\n };\n}\n\n// src/validations/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\nfunction hash(types, message) {\n return {\n type: \"hash\",\n expects: null,\n async: false,\n message,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, hash, input, \"hash\");\n }\n };\n}\n\n// src/validations/hexadecimal/hexadecimal.ts\nfunction hexadecimal(message) {\n return {\n type: \"hexadecimal\",\n expects: null,\n async: false,\n message,\n requirement: HEXADECIMAL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, hexadecimal, input, \"hexadecimal\");\n }\n };\n}\n\n// src/validations/hexColor/hexColor.ts\nfunction hexColor(message) {\n return {\n type: \"hex_color\",\n expects: null,\n async: false,\n message,\n requirement: HEX_COLOR_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, hexColor, input, \"hex color\");\n }\n };\n}\n\n// src/validations/imei/imei.ts\nfunction imei(message) {\n return {\n type: \"imei\",\n expects: null,\n async: false,\n message,\n requirement: [IMEI_REGEX, isLuhnAlgo],\n _parse(input) {\n if (this.requirement[0].test(input) && this.requirement[1](input)) {\n return actionOutput(input);\n }\n return actionIssue(this, imei, input, \"IMEI\");\n }\n };\n}\n\n// src/validations/includes/includes.ts\nfunction includes(requirement, message) {\n const expects = stringify(requirement);\n return {\n type: \"includes\",\n expects,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.includes(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, includes, input, \"content\", `!${expects}`);\n }\n };\n}\n\n// src/validations/integer/integer.ts\nfunction integer(message) {\n return {\n type: \"integer\",\n expects: null,\n async: false,\n message,\n requirement: Number.isInteger,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, integer, input, \"integer\");\n }\n };\n}\n\n// src/validations/ip/ip.ts\nfunction ip(message) {\n return {\n type: \"ip\",\n expects: null,\n async: false,\n message,\n // TODO: It is strange that we have an OR relationship between requirements\n requirement: [IPV4_REGEX, IPV6_REGEX],\n _parse(input) {\n if (this.requirement[0].test(input) || this.requirement[1].test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ip, input, \"IP\");\n }\n };\n}\n\n// src/validations/ipv4/ipv4.ts\nfunction ipv4(message) {\n return {\n type: \"ipv4\",\n expects: null,\n async: false,\n message,\n requirement: IPV4_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ipv4, input, \"IPv4\");\n }\n };\n}\n\n// src/validations/ipv6/ipv6.ts\nfunction ipv6(message) {\n return {\n type: \"ipv6\",\n expects: null,\n async: false,\n message,\n requirement: IPV6_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ipv6, input, \"IPv6\");\n }\n };\n}\n\n// src/validations/isoDate/isoDate.ts\nfunction isoDate(message) {\n return {\n type: \"iso_date\",\n expects: null,\n async: false,\n message,\n requirement: ISO_DATE_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoDate, input, \"date\");\n }\n };\n}\n\n// src/validations/isoDateTime/isoDateTime.ts\nfunction isoDateTime(message) {\n return {\n type: \"iso_date_time\",\n expects: null,\n async: false,\n message,\n requirement: ISO_DATE_TIME_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoDateTime, input, \"date-time\");\n }\n };\n}\n\n// src/validations/isoTime/isoTime.ts\nfunction isoTime(message) {\n return {\n type: \"iso_time\",\n expects: null,\n async: false,\n message,\n requirement: ISO_TIME_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoTime, input, \"time\");\n }\n };\n}\n\n// src/validations/isoTimeSecond/isoTimeSecond.ts\nfunction isoTimeSecond(message) {\n return {\n type: \"iso_time_second\",\n expects: null,\n async: false,\n message,\n requirement: ISO_TIME_SECOND_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoTimeSecond, input, \"time second\");\n }\n };\n}\n\n// src/validations/isoTimestamp/isoTimestamp.ts\nfunction isoTimestamp(message) {\n return {\n type: \"iso_timestamp\",\n expects: null,\n async: false,\n message,\n requirement: ISO_TIMESTAMP_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoTimestamp, input, \"timestamp\");\n }\n };\n}\n\n// src/validations/isoWeek/isoWeek.ts\nfunction isoWeek(message) {\n return {\n type: \"iso_week\",\n expects: null,\n async: false,\n message,\n requirement: ISO_WEEK_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, isoWeek, input, \"week\");\n }\n };\n}\n\n// src/validations/length/length.ts\nfunction length(requirement, message) {\n return {\n type: \"length\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length === this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, length, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/mac/mac.ts\nfunction mac(message) {\n return {\n type: \"mac\",\n expects: null,\n async: false,\n message,\n // TODO: It is strange that we have an OR relationship between requirements\n requirement: [MAC48_REGEX, MAC64_REGEX],\n _parse(input) {\n if (this.requirement[0].test(input) || this.requirement[1].test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, mac, input, \"MAC\");\n }\n };\n}\n\n// src/validations/mac48/mac48.ts\nfunction mac48(message) {\n return {\n type: \"mac48\",\n expects: null,\n async: false,\n message,\n requirement: MAC48_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, mac48, input, \"48-bit MAC\");\n }\n };\n}\n\n// src/validations/mac64/mac64.ts\nfunction mac64(message) {\n return {\n type: \"mac64\",\n expects: null,\n async: false,\n message,\n requirement: MAC64_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, mac64, input, \"64-bit MAC\");\n }\n };\n}\n\n// src/validations/maxBytes/maxBytes.ts\nfunction maxBytes(requirement, message) {\n return {\n type: \"max_bytes\",\n expects: `<=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, maxBytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/maxLength/maxLength.ts\nfunction maxLength(requirement, message) {\n return {\n type: \"max_length\",\n expects: `<=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, maxLength, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/maxSize/maxSize.ts\nfunction maxSize(requirement, message) {\n return {\n type: \"max_size\",\n expects: `<=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, maxSize, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/maxValue/maxValue.ts\nfunction maxValue(requirement, message) {\n return {\n type: \"max_value\",\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input <= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n maxValue,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\n\n// src/validations/minBytes/minBytes.ts\nfunction minBytes(requirement, message) {\n return {\n type: \"min_bytes\",\n expects: `>=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, minBytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/mimeType/mimeType.ts\nfunction mimeType(requirement, message) {\n return {\n type: \"mime_type\",\n expects: requirement.map((option) => `\"${option}\"`).join(\" | \"),\n async: false,\n message,\n requirement,\n _parse(input) {\n if (this.requirement.includes(input.type)) {\n return actionOutput(input);\n }\n return actionIssue(this, mimeType, input, \"MIME type\");\n }\n };\n}\n\n// src/validations/minLength/minLength.ts\nfunction minLength(requirement, message) {\n return {\n type: \"min_length\",\n expects: `>=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, minLength, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/minSize/minSize.ts\nfunction minSize(requirement, message) {\n return {\n type: \"min_size\",\n expects: `>=${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, minSize, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/minValue/minValue.ts\nfunction minValue(requirement, message) {\n return {\n type: \"min_value\",\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n minValue,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\n\n// src/validations/multipleOf/multipleOf.ts\nfunction multipleOf(requirement, message) {\n return {\n type: \"multiple_of\",\n expects: `%${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input % this.requirement === 0) {\n return actionOutput(input);\n }\n return actionIssue(this, multipleOf, input, \"multiple\", `${input}`);\n }\n };\n}\n\n// src/validations/notBytes/notBytes.ts\nfunction notBytes(requirement, message) {\n return {\n type: \"not_bytes\",\n expects: `!${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n const length2 = new TextEncoder().encode(input).length;\n if (length2 !== this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, notBytes, input, \"bytes\", `${length2}`);\n }\n };\n}\n\n// src/validations/notLength/notLength.ts\nfunction notLength(requirement, message) {\n return {\n type: \"not_length\",\n expects: `!${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.length !== this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, notLength, input, \"length\", `${input.length}`);\n }\n };\n}\n\n// src/validations/notSize/notSize.ts\nfunction notSize(requirement, message) {\n return {\n type: \"not_size\",\n expects: `!${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size !== this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, notSize, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/notValue/notValue.ts\nfunction notValue(requirement, message) {\n return {\n type: \"not_value\",\n expects: `!${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input < this.requirement || input > this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n notValue,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\n\n// src/validations/octal/octal.ts\nfunction octal(message) {\n return {\n type: \"octal\",\n expects: null,\n async: false,\n message,\n requirement: OCTAL_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, octal, input, \"octal\");\n }\n };\n}\n\n// src/validations/regex/regex.ts\nfunction regex(requirement, message) {\n return {\n type: \"regex\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, regex, input, \"format\");\n }\n };\n}\n\n// src/validations/safeInteger/safeInteger.ts\nfunction safeInteger(message) {\n return {\n type: \"safe_integer\",\n expects: null,\n async: false,\n message,\n requirement: Number.isSafeInteger,\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, safeInteger, input, \"safe integer\");\n }\n };\n}\n\n// src/validations/size/size.ts\nfunction size(requirement, message) {\n return {\n type: \"size\",\n expects: `${requirement}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.size === this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(this, size, input, \"size\", `${input.size}`);\n }\n };\n}\n\n// src/validations/some/some.ts\nfunction some(requirement, message) {\n return {\n type: \"some\",\n expects: null,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.some(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(this, some, input, \"input\");\n }\n };\n}\n\n// src/validations/startsWith/startsWith.ts\nfunction startsWith(requirement, message) {\n return {\n type: \"starts_with\",\n expects: `\"${requirement}\"`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input.startsWith(this.requirement)) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n startsWith,\n input,\n \"start\",\n `\"${input.slice(0, this.requirement.length)}\"`\n );\n }\n };\n}\n\n// src/validations/ulid/ulid.ts\nfunction ulid(message) {\n return {\n type: \"ulid\",\n expects: null,\n async: false,\n message,\n requirement: ULID_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, ulid, input, \"ULID\");\n }\n };\n}\n\n// src/validations/url/url.ts\nfunction url(message) {\n return {\n type: \"url\",\n expects: null,\n async: false,\n message,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n _parse(input) {\n if (this.requirement(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, url, input, \"URL\");\n }\n };\n}\n\n// src/validations/uuid/uuid.ts\nfunction uuid(message) {\n return {\n type: \"uuid\",\n expects: null,\n async: false,\n message,\n requirement: UUID_REGEX,\n _parse(input) {\n if (this.requirement.test(input)) {\n return actionOutput(input);\n }\n return actionIssue(this, uuid, input, \"UUID\");\n }\n };\n}\n\n// src/validations/value/value.ts\nfunction value(requirement, message) {\n return {\n type: \"value\",\n expects: `${requirement instanceof Date ? requirement.toJSON() : stringify(requirement)}`,\n async: false,\n message,\n requirement,\n _parse(input) {\n if (input <= this.requirement && input >= this.requirement) {\n return actionOutput(input);\n }\n return actionIssue(\n this,\n value,\n input,\n \"value\",\n input instanceof Date ? input.toJSON() : stringify(input)\n );\n }\n };\n}\nexport {\n BIC_REGEX,\n BrandSymbol,\n CUID2_REGEX,\n DECIMAL_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n OCTAL_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n actionIssue,\n actionOutput,\n any,\n anyAsync,\n array,\n arrayAsync,\n bic,\n bigint,\n bigintAsync,\n blob,\n blobAsync,\n boolean,\n booleanAsync,\n brand,\n bytes,\n coerce,\n coerceAsync,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n dateAsync,\n decimal,\n defaultArgs,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n email,\n emoji,\n endsWith,\n enumAsync,\n enum_,\n every,\n excludes,\n fallback,\n fallbackAsync,\n finite,\n flatten,\n forward,\n forwardAsync,\n getDefault,\n getDefaultAsync,\n getDefaults,\n getDefaultsAsync,\n getFallback,\n getFallbackAsync,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getSchemaMessage,\n getSpecificMessage,\n hash,\n hexColor,\n hexadecimal,\n i18n,\n imei,\n includes,\n instance,\n instanceAsync,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isLuhnAlgo,\n isOfType,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n literalAsync,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n maxBytes,\n maxLength,\n maxSize,\n maxValue,\n merge,\n mergeAsync,\n mimeType,\n minBytes,\n minLength,\n minSize,\n minValue,\n multipleOf,\n nan,\n nanAsync,\n never,\n neverAsync,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n notBytes,\n notLength,\n notSize,\n notValue,\n nullAsync,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n numberAsync,\n object,\n objectAsync,\n octal,\n omit,\n omitAsync,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n partial,\n partialAsync,\n pick,\n pickAsync,\n picklist,\n picklistAsync,\n pipeResult,\n pipeResultAsync,\n record,\n recordAsync,\n regex,\n required,\n requiredAsync,\n restAndDefaultArgs,\n safeInteger,\n safeParse,\n safeParseAsync,\n schemaIssue,\n schemaResult,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n some,\n special,\n specialAsync,\n startsWith,\n string,\n stringAsync,\n stringify,\n symbol,\n symbolAsync,\n toCustom,\n toCustomAsync,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toTrimmed,\n toTrimmedEnd,\n toTrimmedStart,\n toUpperCase,\n transform,\n transformAsync,\n tuple,\n tupleAsync,\n ulid,\n undefinedAsync,\n undefined_,\n union,\n unionAsync,\n unknown,\n unknownAsync,\n unwrap,\n url,\n uuid,\n value,\n variant,\n variantAsync,\n voidAsync,\n void_\n};\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","const types : {[key: string]: string[]} = {\"application/prs.cww\":[\"cww\"],\"application/prs.xsf+xml\":[\"xsf\"],\"application/vnd.1000minds.decision-model+xml\":[\"1km\"],\"application/vnd.3gpp.pic-bw-large\":[\"plb\"],\"application/vnd.3gpp.pic-bw-small\":[\"psb\"],\"application/vnd.3gpp.pic-bw-var\":[\"pvb\"],\"application/vnd.3gpp2.tcap\":[\"tcap\"],\"application/vnd.3m.post-it-notes\":[\"pwn\"],\"application/vnd.accpac.simply.aso\":[\"aso\"],\"application/vnd.accpac.simply.imp\":[\"imp\"],\"application/vnd.acucobol\":[\"acu\"],\"application/vnd.acucorp\":[\"atc\",\"acutc\"],\"application/vnd.adobe.air-application-installer-package+zip\":[\"air\"],\"application/vnd.adobe.formscentral.fcdt\":[\"fcdt\"],\"application/vnd.adobe.fxp\":[\"fxp\",\"fxpl\"],\"application/vnd.adobe.xdp+xml\":[\"xdp\"],\"application/vnd.adobe.xfdf\":[\"*xfdf\"],\"application/vnd.age\":[\"age\"],\"application/vnd.ahead.space\":[\"ahead\"],\"application/vnd.airzip.filesecure.azf\":[\"azf\"],\"application/vnd.airzip.filesecure.azs\":[\"azs\"],\"application/vnd.amazon.ebook\":[\"azw\"],\"application/vnd.americandynamics.acc\":[\"acc\"],\"application/vnd.amiga.ami\":[\"ami\"],\"application/vnd.android.package-archive\":[\"apk\"],\"application/vnd.anser-web-certificate-issue-initiation\":[\"cii\"],\"application/vnd.anser-web-funds-transfer-initiation\":[\"fti\"],\"application/vnd.antix.game-component\":[\"atx\"],\"application/vnd.apple.installer+xml\":[\"mpkg\"],\"application/vnd.apple.keynote\":[\"key\"],\"application/vnd.apple.mpegurl\":[\"m3u8\"],\"application/vnd.apple.numbers\":[\"numbers\"],\"application/vnd.apple.pages\":[\"pages\"],\"application/vnd.apple.pkpass\":[\"pkpass\"],\"application/vnd.aristanetworks.swi\":[\"swi\"],\"application/vnd.astraea-software.iota\":[\"iota\"],\"application/vnd.audiograph\":[\"aep\"],\"application/vnd.balsamiq.bmml+xml\":[\"bmml\"],\"application/vnd.blueice.multipass\":[\"mpm\"],\"application/vnd.bmi\":[\"bmi\"],\"application/vnd.businessobjects\":[\"rep\"],\"application/vnd.chemdraw+xml\":[\"cdxml\"],\"application/vnd.chipnuts.karaoke-mmd\":[\"mmd\"],\"application/vnd.cinderella\":[\"cdy\"],\"application/vnd.citationstyles.style+xml\":[\"csl\"],\"application/vnd.claymore\":[\"cla\"],\"application/vnd.cloanto.rp9\":[\"rp9\"],\"application/vnd.clonk.c4group\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"],\"application/vnd.cluetrust.cartomobile-config\":[\"c11amc\"],\"application/vnd.cluetrust.cartomobile-config-pkg\":[\"c11amz\"],\"application/vnd.commonspace\":[\"csp\"],\"application/vnd.contact.cmsg\":[\"cdbcmsg\"],\"application/vnd.cosmocaller\":[\"cmc\"],\"application/vnd.crick.clicker\":[\"clkx\"],\"application/vnd.crick.clicker.keyboard\":[\"clkk\"],\"application/vnd.crick.clicker.palette\":[\"clkp\"],\"application/vnd.crick.clicker.template\":[\"clkt\"],\"application/vnd.crick.clicker.wordbank\":[\"clkw\"],\"application/vnd.criticaltools.wbs+xml\":[\"wbs\"],\"application/vnd.ctc-posml\":[\"pml\"],\"application/vnd.cups-ppd\":[\"ppd\"],\"application/vnd.curl.car\":[\"car\"],\"application/vnd.curl.pcurl\":[\"pcurl\"],\"application/vnd.dart\":[\"dart\"],\"application/vnd.data-vision.rdz\":[\"rdz\"],\"application/vnd.dbf\":[\"dbf\"],\"application/vnd.dece.data\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"],\"application/vnd.dece.ttml+xml\":[\"uvt\",\"uvvt\"],\"application/vnd.dece.unspecified\":[\"uvx\",\"uvvx\"],\"application/vnd.dece.zip\":[\"uvz\",\"uvvz\"],\"application/vnd.denovo.fcselayout-link\":[\"fe_launch\"],\"application/vnd.dna\":[\"dna\"],\"application/vnd.dolby.mlp\":[\"mlp\"],\"application/vnd.dpgraph\":[\"dpg\"],\"application/vnd.dreamfactory\":[\"dfac\"],\"application/vnd.ds-keypoint\":[\"kpxx\"],\"application/vnd.dvb.ait\":[\"ait\"],\"application/vnd.dvb.service\":[\"svc\"],\"application/vnd.dynageo\":[\"geo\"],\"application/vnd.ecowin.chart\":[\"mag\"],\"application/vnd.enliven\":[\"nml\"],\"application/vnd.epson.esf\":[\"esf\"],\"application/vnd.epson.msf\":[\"msf\"],\"application/vnd.epson.quickanime\":[\"qam\"],\"application/vnd.epson.salt\":[\"slt\"],\"application/vnd.epson.ssf\":[\"ssf\"],\"application/vnd.eszigno3+xml\":[\"es3\",\"et3\"],\"application/vnd.ezpix-album\":[\"ez2\"],\"application/vnd.ezpix-package\":[\"ez3\"],\"application/vnd.fdf\":[\"*fdf\"],\"application/vnd.fdsn.mseed\":[\"mseed\"],\"application/vnd.fdsn.seed\":[\"seed\",\"dataless\"],\"application/vnd.flographit\":[\"gph\"],\"application/vnd.fluxtime.clip\":[\"ftc\"],\"application/vnd.framemaker\":[\"fm\",\"frame\",\"maker\",\"book\"],\"application/vnd.frogans.fnc\":[\"fnc\"],\"application/vnd.frogans.ltf\":[\"ltf\"],\"application/vnd.fsc.weblaunch\":[\"fsc\"],\"application/vnd.fujitsu.oasys\":[\"oas\"],\"application/vnd.fujitsu.oasys2\":[\"oa2\"],\"application/vnd.fujitsu.oasys3\":[\"oa3\"],\"application/vnd.fujitsu.oasysgp\":[\"fg5\"],\"application/vnd.fujitsu.oasysprs\":[\"bh2\"],\"application/vnd.fujixerox.ddd\":[\"ddd\"],\"application/vnd.fujixerox.docuworks\":[\"xdw\"],\"application/vnd.fujixerox.docuworks.binder\":[\"xbd\"],\"application/vnd.fuzzysheet\":[\"fzs\"],\"application/vnd.genomatix.tuxedo\":[\"txd\"],\"application/vnd.geogebra.file\":[\"ggb\"],\"application/vnd.geogebra.tool\":[\"ggt\"],\"application/vnd.geometry-explorer\":[\"gex\",\"gre\"],\"application/vnd.geonext\":[\"gxt\"],\"application/vnd.geoplan\":[\"g2w\"],\"application/vnd.geospace\":[\"g3w\"],\"application/vnd.gmx\":[\"gmx\"],\"application/vnd.google-apps.document\":[\"gdoc\"],\"application/vnd.google-apps.presentation\":[\"gslides\"],\"application/vnd.google-apps.spreadsheet\":[\"gsheet\"],\"application/vnd.google-earth.kml+xml\":[\"kml\"],\"application/vnd.google-earth.kmz\":[\"kmz\"],\"application/vnd.grafeq\":[\"gqf\",\"gqs\"],\"application/vnd.groove-account\":[\"gac\"],\"application/vnd.groove-help\":[\"ghf\"],\"application/vnd.groove-identity-message\":[\"gim\"],\"application/vnd.groove-injector\":[\"grv\"],\"application/vnd.groove-tool-message\":[\"gtm\"],\"application/vnd.groove-tool-template\":[\"tpl\"],\"application/vnd.groove-vcard\":[\"vcg\"],\"application/vnd.hal+xml\":[\"hal\"],\"application/vnd.handheld-entertainment+xml\":[\"zmm\"],\"application/vnd.hbci\":[\"hbci\"],\"application/vnd.hhe.lesson-player\":[\"les\"],\"application/vnd.hp-hpgl\":[\"hpgl\"],\"application/vnd.hp-hpid\":[\"hpid\"],\"application/vnd.hp-hps\":[\"hps\"],\"application/vnd.hp-jlyt\":[\"jlt\"],\"application/vnd.hp-pcl\":[\"pcl\"],\"application/vnd.hp-pclxl\":[\"pclxl\"],\"application/vnd.hydrostatix.sof-data\":[\"sfd-hdstx\"],\"application/vnd.ibm.minipay\":[\"mpy\"],\"application/vnd.ibm.modcap\":[\"afp\",\"listafp\",\"list3820\"],\"application/vnd.ibm.rights-management\":[\"irm\"],\"application/vnd.ibm.secure-container\":[\"sc\"],\"application/vnd.iccprofile\":[\"icc\",\"icm\"],\"application/vnd.igloader\":[\"igl\"],\"application/vnd.immervision-ivp\":[\"ivp\"],\"application/vnd.immervision-ivu\":[\"ivu\"],\"application/vnd.insors.igm\":[\"igm\"],\"application/vnd.intercon.formnet\":[\"xpw\",\"xpx\"],\"application/vnd.intergeo\":[\"i2g\"],\"application/vnd.intu.qbo\":[\"qbo\"],\"application/vnd.intu.qfx\":[\"qfx\"],\"application/vnd.ipunplugged.rcprofile\":[\"rcprofile\"],\"application/vnd.irepository.package+xml\":[\"irp\"],\"application/vnd.is-xpr\":[\"xpr\"],\"application/vnd.isac.fcs\":[\"fcs\"],\"application/vnd.jam\":[\"jam\"],\"application/vnd.jcp.javame.midlet-rms\":[\"rms\"],\"application/vnd.jisp\":[\"jisp\"],\"application/vnd.joost.joda-archive\":[\"joda\"],\"application/vnd.kahootz\":[\"ktz\",\"ktr\"],\"application/vnd.kde.karbon\":[\"karbon\"],\"application/vnd.kde.kchart\":[\"chrt\"],\"application/vnd.kde.kformula\":[\"kfo\"],\"application/vnd.kde.kivio\":[\"flw\"],\"application/vnd.kde.kontour\":[\"kon\"],\"application/vnd.kde.kpresenter\":[\"kpr\",\"kpt\"],\"application/vnd.kde.kspread\":[\"ksp\"],\"application/vnd.kde.kword\":[\"kwd\",\"kwt\"],\"application/vnd.kenameaapp\":[\"htke\"],\"application/vnd.kidspiration\":[\"kia\"],\"application/vnd.kinar\":[\"kne\",\"knp\"],\"application/vnd.koan\":[\"skp\",\"skd\",\"skt\",\"skm\"],\"application/vnd.kodak-descriptor\":[\"sse\"],\"application/vnd.las.las+xml\":[\"lasxml\"],\"application/vnd.llamagraphics.life-balance.desktop\":[\"lbd\"],\"application/vnd.llamagraphics.life-balance.exchange+xml\":[\"lbe\"],\"application/vnd.lotus-1-2-3\":[\"123\"],\"application/vnd.lotus-approach\":[\"apr\"],\"application/vnd.lotus-freelance\":[\"pre\"],\"application/vnd.lotus-notes\":[\"nsf\"],\"application/vnd.lotus-organizer\":[\"org\"],\"application/vnd.lotus-screencam\":[\"scm\"],\"application/vnd.lotus-wordpro\":[\"lwp\"],\"application/vnd.macports.portpkg\":[\"portpkg\"],\"application/vnd.mapbox-vector-tile\":[\"mvt\"],\"application/vnd.mcd\":[\"mcd\"],\"application/vnd.medcalcdata\":[\"mc1\"],\"application/vnd.mediastation.cdkey\":[\"cdkey\"],\"application/vnd.mfer\":[\"mwf\"],\"application/vnd.mfmp\":[\"mfm\"],\"application/vnd.micrografx.flo\":[\"flo\"],\"application/vnd.micrografx.igx\":[\"igx\"],\"application/vnd.mif\":[\"mif\"],\"application/vnd.mobius.daf\":[\"daf\"],\"application/vnd.mobius.dis\":[\"dis\"],\"application/vnd.mobius.mbk\":[\"mbk\"],\"application/vnd.mobius.mqy\":[\"mqy\"],\"application/vnd.mobius.msl\":[\"msl\"],\"application/vnd.mobius.plc\":[\"plc\"],\"application/vnd.mobius.txf\":[\"txf\"],\"application/vnd.mophun.application\":[\"mpn\"],\"application/vnd.mophun.certificate\":[\"mpc\"],\"application/vnd.mozilla.xul+xml\":[\"xul\"],\"application/vnd.ms-artgalry\":[\"cil\"],\"application/vnd.ms-cab-compressed\":[\"cab\"],\"application/vnd.ms-excel\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"],\"application/vnd.ms-excel.addin.macroenabled.12\":[\"xlam\"],\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":[\"xlsb\"],\"application/vnd.ms-excel.sheet.macroenabled.12\":[\"xlsm\"],\"application/vnd.ms-excel.template.macroenabled.12\":[\"xltm\"],\"application/vnd.ms-fontobject\":[\"eot\"],\"application/vnd.ms-htmlhelp\":[\"chm\"],\"application/vnd.ms-ims\":[\"ims\"],\"application/vnd.ms-lrm\":[\"lrm\"],\"application/vnd.ms-officetheme\":[\"thmx\"],\"application/vnd.ms-outlook\":[\"msg\"],\"application/vnd.ms-pki.seccat\":[\"cat\"],\"application/vnd.ms-pki.stl\":[\"*stl\"],\"application/vnd.ms-powerpoint\":[\"ppt\",\"pps\",\"pot\"],\"application/vnd.ms-powerpoint.addin.macroenabled.12\":[\"ppam\"],\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":[\"pptm\"],\"application/vnd.ms-powerpoint.slide.macroenabled.12\":[\"sldm\"],\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":[\"ppsm\"],\"application/vnd.ms-powerpoint.template.macroenabled.12\":[\"potm\"],\"application/vnd.ms-project\":[\"*mpp\",\"mpt\"],\"application/vnd.ms-word.document.macroenabled.12\":[\"docm\"],\"application/vnd.ms-word.template.macroenabled.12\":[\"dotm\"],\"application/vnd.ms-works\":[\"wps\",\"wks\",\"wcm\",\"wdb\"],\"application/vnd.ms-wpl\":[\"wpl\"],\"application/vnd.ms-xpsdocument\":[\"xps\"],\"application/vnd.mseq\":[\"mseq\"],\"application/vnd.musician\":[\"mus\"],\"application/vnd.muvee.style\":[\"msty\"],\"application/vnd.mynfc\":[\"taglet\"],\"application/vnd.neurolanguage.nlu\":[\"nlu\"],\"application/vnd.nitf\":[\"ntf\",\"nitf\"],\"application/vnd.noblenet-directory\":[\"nnd\"],\"application/vnd.noblenet-sealer\":[\"nns\"],\"application/vnd.noblenet-web\":[\"nnw\"],\"application/vnd.nokia.n-gage.ac+xml\":[\"*ac\"],\"application/vnd.nokia.n-gage.data\":[\"ngdat\"],\"application/vnd.nokia.n-gage.symbian.install\":[\"n-gage\"],\"application/vnd.nokia.radio-preset\":[\"rpst\"],\"application/vnd.nokia.radio-presets\":[\"rpss\"],\"application/vnd.novadigm.edm\":[\"edm\"],\"application/vnd.novadigm.edx\":[\"edx\"],\"application/vnd.novadigm.ext\":[\"ext\"],\"application/vnd.oasis.opendocument.chart\":[\"odc\"],\"application/vnd.oasis.opendocument.chart-template\":[\"otc\"],\"application/vnd.oasis.opendocument.database\":[\"odb\"],\"application/vnd.oasis.opendocument.formula\":[\"odf\"],\"application/vnd.oasis.opendocument.formula-template\":[\"odft\"],\"application/vnd.oasis.opendocument.graphics\":[\"odg\"],\"application/vnd.oasis.opendocument.graphics-template\":[\"otg\"],\"application/vnd.oasis.opendocument.image\":[\"odi\"],\"application/vnd.oasis.opendocument.image-template\":[\"oti\"],\"application/vnd.oasis.opendocument.presentation\":[\"odp\"],\"application/vnd.oasis.opendocument.presentation-template\":[\"otp\"],\"application/vnd.oasis.opendocument.spreadsheet\":[\"ods\"],\"application/vnd.oasis.opendocument.spreadsheet-template\":[\"ots\"],\"application/vnd.oasis.opendocument.text\":[\"odt\"],\"application/vnd.oasis.opendocument.text-master\":[\"odm\"],\"application/vnd.oasis.opendocument.text-template\":[\"ott\"],\"application/vnd.oasis.opendocument.text-web\":[\"oth\"],\"application/vnd.olpc-sugar\":[\"xo\"],\"application/vnd.oma.dd2+xml\":[\"dd2\"],\"application/vnd.openblox.game+xml\":[\"obgx\"],\"application/vnd.openofficeorg.extension\":[\"oxt\"],\"application/vnd.openstreetmap.data+xml\":[\"osm\"],\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":[\"pptx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slide\":[\"sldx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":[\"ppsx\"],\"application/vnd.openxmlformats-officedocument.presentationml.template\":[\"potx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":[\"xlsx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":[\"xltx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":[\"docx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":[\"dotx\"],\"application/vnd.osgeo.mapguide.package\":[\"mgp\"],\"application/vnd.osgi.dp\":[\"dp\"],\"application/vnd.osgi.subsystem\":[\"esa\"],\"application/vnd.palm\":[\"pdb\",\"pqa\",\"oprc\"],\"application/vnd.pawaafile\":[\"paw\"],\"application/vnd.pg.format\":[\"str\"],\"application/vnd.pg.osasli\":[\"ei6\"],\"application/vnd.picsel\":[\"efif\"],\"application/vnd.pmi.widget\":[\"wg\"],\"application/vnd.pocketlearn\":[\"plf\"],\"application/vnd.powerbuilder6\":[\"pbd\"],\"application/vnd.previewsystems.box\":[\"box\"],\"application/vnd.proteus.magazine\":[\"mgz\"],\"application/vnd.publishare-delta-tree\":[\"qps\"],\"application/vnd.pvi.ptid1\":[\"ptid\"],\"application/vnd.pwg-xhtml-print+xml\":[\"xhtm\"],\"application/vnd.quark.quarkxpress\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"],\"application/vnd.rar\":[\"rar\"],\"application/vnd.realvnc.bed\":[\"bed\"],\"application/vnd.recordare.musicxml\":[\"mxl\"],\"application/vnd.recordare.musicxml+xml\":[\"musicxml\"],\"application/vnd.rig.cryptonote\":[\"cryptonote\"],\"application/vnd.rim.cod\":[\"cod\"],\"application/vnd.rn-realmedia\":[\"rm\"],\"application/vnd.rn-realmedia-vbr\":[\"rmvb\"],\"application/vnd.route66.link66+xml\":[\"link66\"],\"application/vnd.sailingtracker.track\":[\"st\"],\"application/vnd.seemail\":[\"see\"],\"application/vnd.sema\":[\"sema\"],\"application/vnd.semd\":[\"semd\"],\"application/vnd.semf\":[\"semf\"],\"application/vnd.shana.informed.formdata\":[\"ifm\"],\"application/vnd.shana.informed.formtemplate\":[\"itp\"],\"application/vnd.shana.informed.interchange\":[\"iif\"],\"application/vnd.shana.informed.package\":[\"ipk\"],\"application/vnd.simtech-mindmapper\":[\"twd\",\"twds\"],\"application/vnd.smaf\":[\"mmf\"],\"application/vnd.smart.teacher\":[\"teacher\"],\"application/vnd.software602.filler.form+xml\":[\"fo\"],\"application/vnd.solent.sdkm+xml\":[\"sdkm\",\"sdkd\"],\"application/vnd.spotfire.dxp\":[\"dxp\"],\"application/vnd.spotfire.sfs\":[\"sfs\"],\"application/vnd.stardivision.calc\":[\"sdc\"],\"application/vnd.stardivision.draw\":[\"sda\"],\"application/vnd.stardivision.impress\":[\"sdd\"],\"application/vnd.stardivision.math\":[\"smf\"],\"application/vnd.stardivision.writer\":[\"sdw\",\"vor\"],\"application/vnd.stardivision.writer-global\":[\"sgl\"],\"application/vnd.stepmania.package\":[\"smzip\"],\"application/vnd.stepmania.stepchart\":[\"sm\"],\"application/vnd.sun.wadl+xml\":[\"wadl\"],\"application/vnd.sun.xml.calc\":[\"sxc\"],\"application/vnd.sun.xml.calc.template\":[\"stc\"],\"application/vnd.sun.xml.draw\":[\"sxd\"],\"application/vnd.sun.xml.draw.template\":[\"std\"],\"application/vnd.sun.xml.impress\":[\"sxi\"],\"application/vnd.sun.xml.impress.template\":[\"sti\"],\"application/vnd.sun.xml.math\":[\"sxm\"],\"application/vnd.sun.xml.writer\":[\"sxw\"],\"application/vnd.sun.xml.writer.global\":[\"sxg\"],\"application/vnd.sun.xml.writer.template\":[\"stw\"],\"application/vnd.sus-calendar\":[\"sus\",\"susp\"],\"application/vnd.svd\":[\"svd\"],\"application/vnd.symbian.install\":[\"sis\",\"sisx\"],\"application/vnd.syncml+xml\":[\"xsm\"],\"application/vnd.syncml.dm+wbxml\":[\"bdm\"],\"application/vnd.syncml.dm+xml\":[\"xdm\"],\"application/vnd.syncml.dmddf+xml\":[\"ddf\"],\"application/vnd.tao.intent-module-archive\":[\"tao\"],\"application/vnd.tcpdump.pcap\":[\"pcap\",\"cap\",\"dmp\"],\"application/vnd.tmobile-livetv\":[\"tmo\"],\"application/vnd.trid.tpt\":[\"tpt\"],\"application/vnd.triscape.mxs\":[\"mxs\"],\"application/vnd.trueapp\":[\"tra\"],\"application/vnd.ufdl\":[\"ufd\",\"ufdl\"],\"application/vnd.uiq.theme\":[\"utz\"],\"application/vnd.umajin\":[\"umj\"],\"application/vnd.unity\":[\"unityweb\"],\"application/vnd.uoml+xml\":[\"uoml\",\"uo\"],\"application/vnd.vcx\":[\"vcx\"],\"application/vnd.visio\":[\"vsd\",\"vst\",\"vss\",\"vsw\"],\"application/vnd.visionary\":[\"vis\"],\"application/vnd.vsf\":[\"vsf\"],\"application/vnd.wap.wbxml\":[\"wbxml\"],\"application/vnd.wap.wmlc\":[\"wmlc\"],\"application/vnd.wap.wmlscriptc\":[\"wmlsc\"],\"application/vnd.webturbo\":[\"wtb\"],\"application/vnd.wolfram.player\":[\"nbp\"],\"application/vnd.wordperfect\":[\"wpd\"],\"application/vnd.wqd\":[\"wqd\"],\"application/vnd.wt.stf\":[\"stf\"],\"application/vnd.xara\":[\"xar\"],\"application/vnd.xfdl\":[\"xfdl\"],\"application/vnd.yamaha.hv-dic\":[\"hvd\"],\"application/vnd.yamaha.hv-script\":[\"hvs\"],\"application/vnd.yamaha.hv-voice\":[\"hvp\"],\"application/vnd.yamaha.openscoreformat\":[\"osf\"],\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":[\"osfpvg\"],\"application/vnd.yamaha.smaf-audio\":[\"saf\"],\"application/vnd.yamaha.smaf-phrase\":[\"spf\"],\"application/vnd.yellowriver-custom-menu\":[\"cmp\"],\"application/vnd.zul\":[\"zir\",\"zirz\"],\"application/vnd.zzazz.deck+xml\":[\"zaz\"],\"application/x-7z-compressed\":[\"7z\"],\"application/x-abiword\":[\"abw\"],\"application/x-ace-compressed\":[\"ace\"],\"application/x-apple-diskimage\":[\"*dmg\"],\"application/x-arj\":[\"arj\"],\"application/x-authorware-bin\":[\"aab\",\"x32\",\"u32\",\"vox\"],\"application/x-authorware-map\":[\"aam\"],\"application/x-authorware-seg\":[\"aas\"],\"application/x-bcpio\":[\"bcpio\"],\"application/x-bdoc\":[\"*bdoc\"],\"application/x-bittorrent\":[\"torrent\"],\"application/x-blorb\":[\"blb\",\"blorb\"],\"application/x-bzip\":[\"bz\"],\"application/x-bzip2\":[\"bz2\",\"boz\"],\"application/x-cbr\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"],\"application/x-cdlink\":[\"vcd\"],\"application/x-cfs-compressed\":[\"cfs\"],\"application/x-chat\":[\"chat\"],\"application/x-chess-pgn\":[\"pgn\"],\"application/x-chrome-extension\":[\"crx\"],\"application/x-cocoa\":[\"cco\"],\"application/x-conference\":[\"nsc\"],\"application/x-cpio\":[\"cpio\"],\"application/x-csh\":[\"csh\"],\"application/x-debian-package\":[\"*deb\",\"udeb\"],\"application/x-dgc-compressed\":[\"dgc\"],\"application/x-director\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"],\"application/x-doom\":[\"wad\"],\"application/x-dtbncx+xml\":[\"ncx\"],\"application/x-dtbook+xml\":[\"dtb\"],\"application/x-dtbresource+xml\":[\"res\"],\"application/x-dvi\":[\"dvi\"],\"application/x-envoy\":[\"evy\"],\"application/x-eva\":[\"eva\"],\"application/x-font-bdf\":[\"bdf\"],\"application/x-font-ghostscript\":[\"gsf\"],\"application/x-font-linux-psf\":[\"psf\"],\"application/x-font-pcf\":[\"pcf\"],\"application/x-font-snf\":[\"snf\"],\"application/x-font-type1\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"],\"application/x-freearc\":[\"arc\"],\"application/x-futuresplash\":[\"spl\"],\"application/x-gca-compressed\":[\"gca\"],\"application/x-glulx\":[\"ulx\"],\"application/x-gnumeric\":[\"gnumeric\"],\"application/x-gramps-xml\":[\"gramps\"],\"application/x-gtar\":[\"gtar\"],\"application/x-hdf\":[\"hdf\"],\"application/x-httpd-php\":[\"php\"],\"application/x-install-instructions\":[\"install\"],\"application/x-iso9660-image\":[\"*iso\"],\"application/x-iwork-keynote-sffkey\":[\"*key\"],\"application/x-iwork-numbers-sffnumbers\":[\"*numbers\"],\"application/x-iwork-pages-sffpages\":[\"*pages\"],\"application/x-java-archive-diff\":[\"jardiff\"],\"application/x-java-jnlp-file\":[\"jnlp\"],\"application/x-keepass2\":[\"kdbx\"],\"application/x-latex\":[\"latex\"],\"application/x-lua-bytecode\":[\"luac\"],\"application/x-lzh-compressed\":[\"lzh\",\"lha\"],\"application/x-makeself\":[\"run\"],\"application/x-mie\":[\"mie\"],\"application/x-mobipocket-ebook\":[\"*prc\",\"mobi\"],\"application/x-ms-application\":[\"application\"],\"application/x-ms-shortcut\":[\"lnk\"],\"application/x-ms-wmd\":[\"wmd\"],\"application/x-ms-wmz\":[\"wmz\"],\"application/x-ms-xbap\":[\"xbap\"],\"application/x-msaccess\":[\"mdb\"],\"application/x-msbinder\":[\"obd\"],\"application/x-mscardfile\":[\"crd\"],\"application/x-msclip\":[\"clp\"],\"application/x-msdos-program\":[\"*exe\"],\"application/x-msdownload\":[\"*exe\",\"*dll\",\"com\",\"bat\",\"*msi\"],\"application/x-msmediaview\":[\"mvb\",\"m13\",\"m14\"],\"application/x-msmetafile\":[\"*wmf\",\"*wmz\",\"*emf\",\"emz\"],\"application/x-msmoney\":[\"mny\"],\"application/x-mspublisher\":[\"pub\"],\"application/x-msschedule\":[\"scd\"],\"application/x-msterminal\":[\"trm\"],\"application/x-mswrite\":[\"wri\"],\"application/x-netcdf\":[\"nc\",\"cdf\"],\"application/x-ns-proxy-autoconfig\":[\"pac\"],\"application/x-nzb\":[\"nzb\"],\"application/x-perl\":[\"pl\",\"pm\"],\"application/x-pilot\":[\"*prc\",\"*pdb\"],\"application/x-pkcs12\":[\"p12\",\"pfx\"],\"application/x-pkcs7-certificates\":[\"p7b\",\"spc\"],\"application/x-pkcs7-certreqresp\":[\"p7r\"],\"application/x-rar-compressed\":[\"*rar\"],\"application/x-redhat-package-manager\":[\"rpm\"],\"application/x-research-info-systems\":[\"ris\"],\"application/x-sea\":[\"sea\"],\"application/x-sh\":[\"sh\"],\"application/x-shar\":[\"shar\"],\"application/x-shockwave-flash\":[\"swf\"],\"application/x-silverlight-app\":[\"xap\"],\"application/x-sql\":[\"*sql\"],\"application/x-stuffit\":[\"sit\"],\"application/x-stuffitx\":[\"sitx\"],\"application/x-subrip\":[\"srt\"],\"application/x-sv4cpio\":[\"sv4cpio\"],\"application/x-sv4crc\":[\"sv4crc\"],\"application/x-t3vm-image\":[\"t3\"],\"application/x-tads\":[\"gam\"],\"application/x-tar\":[\"tar\"],\"application/x-tcl\":[\"tcl\",\"tk\"],\"application/x-tex\":[\"tex\"],\"application/x-tex-tfm\":[\"tfm\"],\"application/x-texinfo\":[\"texinfo\",\"texi\"],\"application/x-tgif\":[\"*obj\"],\"application/x-ustar\":[\"ustar\"],\"application/x-virtualbox-hdd\":[\"hdd\"],\"application/x-virtualbox-ova\":[\"ova\"],\"application/x-virtualbox-ovf\":[\"ovf\"],\"application/x-virtualbox-vbox\":[\"vbox\"],\"application/x-virtualbox-vbox-extpack\":[\"vbox-extpack\"],\"application/x-virtualbox-vdi\":[\"vdi\"],\"application/x-virtualbox-vhd\":[\"vhd\"],\"application/x-virtualbox-vmdk\":[\"vmdk\"],\"application/x-wais-source\":[\"src\"],\"application/x-web-app-manifest+json\":[\"webapp\"],\"application/x-x509-ca-cert\":[\"der\",\"crt\",\"pem\"],\"application/x-xfig\":[\"fig\"],\"application/x-xliff+xml\":[\"*xlf\"],\"application/x-xpinstall\":[\"xpi\"],\"application/x-xz\":[\"xz\"],\"application/x-zmachine\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"],\"audio/vnd.dece.audio\":[\"uva\",\"uvva\"],\"audio/vnd.digital-winds\":[\"eol\"],\"audio/vnd.dra\":[\"dra\"],\"audio/vnd.dts\":[\"dts\"],\"audio/vnd.dts.hd\":[\"dtshd\"],\"audio/vnd.lucent.voice\":[\"lvp\"],\"audio/vnd.ms-playready.media.pya\":[\"pya\"],\"audio/vnd.nuera.ecelp4800\":[\"ecelp4800\"],\"audio/vnd.nuera.ecelp7470\":[\"ecelp7470\"],\"audio/vnd.nuera.ecelp9600\":[\"ecelp9600\"],\"audio/vnd.rip\":[\"rip\"],\"audio/x-aac\":[\"*aac\"],\"audio/x-aiff\":[\"aif\",\"aiff\",\"aifc\"],\"audio/x-caf\":[\"caf\"],\"audio/x-flac\":[\"flac\"],\"audio/x-m4a\":[\"*m4a\"],\"audio/x-matroska\":[\"mka\"],\"audio/x-mpegurl\":[\"m3u\"],\"audio/x-ms-wax\":[\"wax\"],\"audio/x-ms-wma\":[\"wma\"],\"audio/x-pn-realaudio\":[\"ram\",\"ra\"],\"audio/x-pn-realaudio-plugin\":[\"rmp\"],\"audio/x-realaudio\":[\"*ra\"],\"audio/x-wav\":[\"*wav\"],\"chemical/x-cdx\":[\"cdx\"],\"chemical/x-cif\":[\"cif\"],\"chemical/x-cmdf\":[\"cmdf\"],\"chemical/x-cml\":[\"cml\"],\"chemical/x-csml\":[\"csml\"],\"chemical/x-xyz\":[\"xyz\"],\"image/prs.btif\":[\"btif\",\"btf\"],\"image/prs.pti\":[\"pti\"],\"image/vnd.adobe.photoshop\":[\"psd\"],\"image/vnd.airzip.accelerator.azv\":[\"azv\"],\"image/vnd.dece.graphic\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"],\"image/vnd.djvu\":[\"djvu\",\"djv\"],\"image/vnd.dvb.subtitle\":[\"*sub\"],\"image/vnd.dwg\":[\"dwg\"],\"image/vnd.dxf\":[\"dxf\"],\"image/vnd.fastbidsheet\":[\"fbs\"],\"image/vnd.fpx\":[\"fpx\"],\"image/vnd.fst\":[\"fst\"],\"image/vnd.fujixerox.edmics-mmr\":[\"mmr\"],\"image/vnd.fujixerox.edmics-rlc\":[\"rlc\"],\"image/vnd.microsoft.icon\":[\"ico\"],\"image/vnd.ms-dds\":[\"dds\"],\"image/vnd.ms-modi\":[\"mdi\"],\"image/vnd.ms-photo\":[\"wdp\"],\"image/vnd.net-fpx\":[\"npx\"],\"image/vnd.pco.b16\":[\"b16\"],\"image/vnd.tencent.tap\":[\"tap\"],\"image/vnd.valve.source.texture\":[\"vtf\"],\"image/vnd.wap.wbmp\":[\"wbmp\"],\"image/vnd.xiff\":[\"xif\"],\"image/vnd.zbrush.pcx\":[\"pcx\"],\"image/x-3ds\":[\"3ds\"],\"image/x-cmu-raster\":[\"ras\"],\"image/x-cmx\":[\"cmx\"],\"image/x-freehand\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"],\"image/x-icon\":[\"*ico\"],\"image/x-jng\":[\"jng\"],\"image/x-mrsid-image\":[\"sid\"],\"image/x-ms-bmp\":[\"*bmp\"],\"image/x-pcx\":[\"*pcx\"],\"image/x-pict\":[\"pic\",\"pct\"],\"image/x-portable-anymap\":[\"pnm\"],\"image/x-portable-bitmap\":[\"pbm\"],\"image/x-portable-graymap\":[\"pgm\"],\"image/x-portable-pixmap\":[\"ppm\"],\"image/x-rgb\":[\"rgb\"],\"image/x-tga\":[\"tga\"],\"image/x-xbitmap\":[\"xbm\"],\"image/x-xpixmap\":[\"xpm\"],\"image/x-xwindowdump\":[\"xwd\"],\"message/vnd.wfa.wsc\":[\"wsc\"],\"model/vnd.cld\":[\"cld\"],\"model/vnd.collada+xml\":[\"dae\"],\"model/vnd.dwf\":[\"dwf\"],\"model/vnd.gdl\":[\"gdl\"],\"model/vnd.gtw\":[\"gtw\"],\"model/vnd.mts\":[\"mts\"],\"model/vnd.opengex\":[\"ogex\"],\"model/vnd.parasolid.transmit.binary\":[\"x_b\"],\"model/vnd.parasolid.transmit.text\":[\"x_t\"],\"model/vnd.pytha.pyox\":[\"pyo\",\"pyox\"],\"model/vnd.sap.vds\":[\"vds\"],\"model/vnd.usda\":[\"usda\"],\"model/vnd.usdz+zip\":[\"usdz\"],\"model/vnd.valve.source.compiled-map\":[\"bsp\"],\"model/vnd.vtu\":[\"vtu\"],\"text/prs.lines.tag\":[\"dsc\"],\"text/vnd.curl\":[\"curl\"],\"text/vnd.curl.dcurl\":[\"dcurl\"],\"text/vnd.curl.mcurl\":[\"mcurl\"],\"text/vnd.curl.scurl\":[\"scurl\"],\"text/vnd.dvb.subtitle\":[\"sub\"],\"text/vnd.familysearch.gedcom\":[\"ged\"],\"text/vnd.fly\":[\"fly\"],\"text/vnd.fmi.flexstor\":[\"flx\"],\"text/vnd.graphviz\":[\"gv\"],\"text/vnd.in3d.3dml\":[\"3dml\"],\"text/vnd.in3d.spot\":[\"spot\"],\"text/vnd.sun.j2me.app-descriptor\":[\"jad\"],\"text/vnd.wap.wml\":[\"wml\"],\"text/vnd.wap.wmlscript\":[\"wmls\"],\"text/x-asm\":[\"s\",\"asm\"],\"text/x-c\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"],\"text/x-component\":[\"htc\"],\"text/x-fortran\":[\"f\",\"for\",\"f77\",\"f90\"],\"text/x-handlebars-template\":[\"hbs\"],\"text/x-java-source\":[\"java\"],\"text/x-lua\":[\"lua\"],\"text/x-markdown\":[\"mkd\"],\"text/x-nfo\":[\"nfo\"],\"text/x-opml\":[\"opml\"],\"text/x-org\":[\"*org\"],\"text/x-pascal\":[\"p\",\"pas\"],\"text/x-processing\":[\"pde\"],\"text/x-sass\":[\"sass\"],\"text/x-scss\":[\"scss\"],\"text/x-setext\":[\"etx\"],\"text/x-sfv\":[\"sfv\"],\"text/x-suse-ymp\":[\"ymp\"],\"text/x-uuencode\":[\"uu\"],\"text/x-vcalendar\":[\"vcs\"],\"text/x-vcard\":[\"vcf\"],\"video/vnd.dece.hd\":[\"uvh\",\"uvvh\"],\"video/vnd.dece.mobile\":[\"uvm\",\"uvvm\"],\"video/vnd.dece.pd\":[\"uvp\",\"uvvp\"],\"video/vnd.dece.sd\":[\"uvs\",\"uvvs\"],\"video/vnd.dece.video\":[\"uvv\",\"uvvv\"],\"video/vnd.dvb.file\":[\"dvb\"],\"video/vnd.fvt\":[\"fvt\"],\"video/vnd.mpegurl\":[\"mxu\",\"m4u\"],\"video/vnd.ms-playready.media.pyv\":[\"pyv\"],\"video/vnd.uvvu.mp4\":[\"uvu\",\"uvvu\"],\"video/vnd.vivo\":[\"viv\"],\"video/x-f4v\":[\"f4v\"],\"video/x-fli\":[\"fli\"],\"video/x-flv\":[\"flv\"],\"video/x-m4v\":[\"m4v\"],\"video/x-matroska\":[\"mkv\",\"mk3d\",\"mks\"],\"video/x-mng\":[\"mng\"],\"video/x-ms-asf\":[\"asf\",\"asx\"],\"video/x-ms-vob\":[\"vob\"],\"video/x-ms-wm\":[\"wm\"],\"video/x-ms-wmv\":[\"wmv\"],\"video/x-ms-wmx\":[\"wmx\"],\"video/x-ms-wvx\":[\"wvx\"],\"video/x-msvideo\":[\"avi\"],\"video/x-sgi-movie\":[\"movie\"],\"video/x-smv\":[\"smv\"],\"x-conference/x-cooltalk\":[\"ice\"]};\nObject.freeze(types);\nexport default types;","const types : {[key: string]: string[]} = {\"application/andrew-inset\":[\"ez\"],\"application/appinstaller\":[\"appinstaller\"],\"application/applixware\":[\"aw\"],\"application/appx\":[\"appx\"],\"application/appxbundle\":[\"appxbundle\"],\"application/atom+xml\":[\"atom\"],\"application/atomcat+xml\":[\"atomcat\"],\"application/atomdeleted+xml\":[\"atomdeleted\"],\"application/atomsvc+xml\":[\"atomsvc\"],\"application/atsc-dwd+xml\":[\"dwd\"],\"application/atsc-held+xml\":[\"held\"],\"application/atsc-rsat+xml\":[\"rsat\"],\"application/automationml-aml+xml\":[\"aml\"],\"application/automationml-amlx+zip\":[\"amlx\"],\"application/bdoc\":[\"bdoc\"],\"application/calendar+xml\":[\"xcs\"],\"application/ccxml+xml\":[\"ccxml\"],\"application/cdfx+xml\":[\"cdfx\"],\"application/cdmi-capability\":[\"cdmia\"],\"application/cdmi-container\":[\"cdmic\"],\"application/cdmi-domain\":[\"cdmid\"],\"application/cdmi-object\":[\"cdmio\"],\"application/cdmi-queue\":[\"cdmiq\"],\"application/cpl+xml\":[\"cpl\"],\"application/cu-seeme\":[\"cu\"],\"application/cwl\":[\"cwl\"],\"application/dash+xml\":[\"mpd\"],\"application/dash-patch+xml\":[\"mpp\"],\"application/davmount+xml\":[\"davmount\"],\"application/docbook+xml\":[\"dbk\"],\"application/dssc+der\":[\"dssc\"],\"application/dssc+xml\":[\"xdssc\"],\"application/ecmascript\":[\"ecma\"],\"application/emma+xml\":[\"emma\"],\"application/emotionml+xml\":[\"emotionml\"],\"application/epub+zip\":[\"epub\"],\"application/exi\":[\"exi\"],\"application/express\":[\"exp\"],\"application/fdf\":[\"fdf\"],\"application/fdt+xml\":[\"fdt\"],\"application/font-tdpfr\":[\"pfr\"],\"application/geo+json\":[\"geojson\"],\"application/gml+xml\":[\"gml\"],\"application/gpx+xml\":[\"gpx\"],\"application/gxf\":[\"gxf\"],\"application/gzip\":[\"gz\"],\"application/hjson\":[\"hjson\"],\"application/hyperstudio\":[\"stk\"],\"application/inkml+xml\":[\"ink\",\"inkml\"],\"application/ipfix\":[\"ipfix\"],\"application/its+xml\":[\"its\"],\"application/java-archive\":[\"jar\",\"war\",\"ear\"],\"application/java-serialized-object\":[\"ser\"],\"application/java-vm\":[\"class\"],\"application/javascript\":[\"*js\"],\"application/json\":[\"json\",\"map\"],\"application/json5\":[\"json5\"],\"application/jsonml+json\":[\"jsonml\"],\"application/ld+json\":[\"jsonld\"],\"application/lgr+xml\":[\"lgr\"],\"application/lost+xml\":[\"lostxml\"],\"application/mac-binhex40\":[\"hqx\"],\"application/mac-compactpro\":[\"cpt\"],\"application/mads+xml\":[\"mads\"],\"application/manifest+json\":[\"webmanifest\"],\"application/marc\":[\"mrc\"],\"application/marcxml+xml\":[\"mrcx\"],\"application/mathematica\":[\"ma\",\"nb\",\"mb\"],\"application/mathml+xml\":[\"mathml\"],\"application/mbox\":[\"mbox\"],\"application/media-policy-dataset+xml\":[\"mpf\"],\"application/mediaservercontrol+xml\":[\"mscml\"],\"application/metalink+xml\":[\"metalink\"],\"application/metalink4+xml\":[\"meta4\"],\"application/mets+xml\":[\"mets\"],\"application/mmt-aei+xml\":[\"maei\"],\"application/mmt-usd+xml\":[\"musd\"],\"application/mods+xml\":[\"mods\"],\"application/mp21\":[\"m21\",\"mp21\"],\"application/mp4\":[\"*mp4\",\"*mpg4\",\"mp4s\",\"m4p\"],\"application/msix\":[\"msix\"],\"application/msixbundle\":[\"msixbundle\"],\"application/msword\":[\"doc\",\"dot\"],\"application/mxf\":[\"mxf\"],\"application/n-quads\":[\"nq\"],\"application/n-triples\":[\"nt\"],\"application/node\":[\"cjs\"],\"application/octet-stream\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"],\"application/oda\":[\"oda\"],\"application/oebps-package+xml\":[\"opf\"],\"application/ogg\":[\"ogx\"],\"application/omdoc+xml\":[\"omdoc\"],\"application/onenote\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"],\"application/oxps\":[\"oxps\"],\"application/p2p-overlay+xml\":[\"relo\"],\"application/patch-ops-error+xml\":[\"xer\"],\"application/pdf\":[\"pdf\"],\"application/pgp-encrypted\":[\"pgp\"],\"application/pgp-keys\":[\"asc\"],\"application/pgp-signature\":[\"sig\",\"*asc\"],\"application/pics-rules\":[\"prf\"],\"application/pkcs10\":[\"p10\"],\"application/pkcs7-mime\":[\"p7m\",\"p7c\"],\"application/pkcs7-signature\":[\"p7s\"],\"application/pkcs8\":[\"p8\"],\"application/pkix-attr-cert\":[\"ac\"],\"application/pkix-cert\":[\"cer\"],\"application/pkix-crl\":[\"crl\"],\"application/pkix-pkipath\":[\"pkipath\"],\"application/pkixcmp\":[\"pki\"],\"application/pls+xml\":[\"pls\"],\"application/postscript\":[\"ai\",\"eps\",\"ps\"],\"application/provenance+xml\":[\"provx\"],\"application/pskc+xml\":[\"pskcxml\"],\"application/raml+yaml\":[\"raml\"],\"application/rdf+xml\":[\"rdf\",\"owl\"],\"application/reginfo+xml\":[\"rif\"],\"application/relax-ng-compact-syntax\":[\"rnc\"],\"application/resource-lists+xml\":[\"rl\"],\"application/resource-lists-diff+xml\":[\"rld\"],\"application/rls-services+xml\":[\"rs\"],\"application/route-apd+xml\":[\"rapd\"],\"application/route-s-tsid+xml\":[\"sls\"],\"application/route-usd+xml\":[\"rusd\"],\"application/rpki-ghostbusters\":[\"gbr\"],\"application/rpki-manifest\":[\"mft\"],\"application/rpki-roa\":[\"roa\"],\"application/rsd+xml\":[\"rsd\"],\"application/rss+xml\":[\"rss\"],\"application/rtf\":[\"rtf\"],\"application/sbml+xml\":[\"sbml\"],\"application/scvp-cv-request\":[\"scq\"],\"application/scvp-cv-response\":[\"scs\"],\"application/scvp-vp-request\":[\"spq\"],\"application/scvp-vp-response\":[\"spp\"],\"application/sdp\":[\"sdp\"],\"application/senml+xml\":[\"senmlx\"],\"application/sensml+xml\":[\"sensmlx\"],\"application/set-payment-initiation\":[\"setpay\"],\"application/set-registration-initiation\":[\"setreg\"],\"application/shf+xml\":[\"shf\"],\"application/sieve\":[\"siv\",\"sieve\"],\"application/smil+xml\":[\"smi\",\"smil\"],\"application/sparql-query\":[\"rq\"],\"application/sparql-results+xml\":[\"srx\"],\"application/sql\":[\"sql\"],\"application/srgs\":[\"gram\"],\"application/srgs+xml\":[\"grxml\"],\"application/sru+xml\":[\"sru\"],\"application/ssdl+xml\":[\"ssdl\"],\"application/ssml+xml\":[\"ssml\"],\"application/swid+xml\":[\"swidtag\"],\"application/tei+xml\":[\"tei\",\"teicorpus\"],\"application/thraud+xml\":[\"tfi\"],\"application/timestamped-data\":[\"tsd\"],\"application/toml\":[\"toml\"],\"application/trig\":[\"trig\"],\"application/ttml+xml\":[\"ttml\"],\"application/ubjson\":[\"ubj\"],\"application/urc-ressheet+xml\":[\"rsheet\"],\"application/urc-targetdesc+xml\":[\"td\"],\"application/voicexml+xml\":[\"vxml\"],\"application/wasm\":[\"wasm\"],\"application/watcherinfo+xml\":[\"wif\"],\"application/widget\":[\"wgt\"],\"application/winhlp\":[\"hlp\"],\"application/wsdl+xml\":[\"wsdl\"],\"application/wspolicy+xml\":[\"wspolicy\"],\"application/xaml+xml\":[\"xaml\"],\"application/xcap-att+xml\":[\"xav\"],\"application/xcap-caps+xml\":[\"xca\"],\"application/xcap-diff+xml\":[\"xdf\"],\"application/xcap-el+xml\":[\"xel\"],\"application/xcap-ns+xml\":[\"xns\"],\"application/xenc+xml\":[\"xenc\"],\"application/xfdf\":[\"xfdf\"],\"application/xhtml+xml\":[\"xhtml\",\"xht\"],\"application/xliff+xml\":[\"xlf\"],\"application/xml\":[\"xml\",\"xsl\",\"xsd\",\"rng\"],\"application/xml-dtd\":[\"dtd\"],\"application/xop+xml\":[\"xop\"],\"application/xproc+xml\":[\"xpl\"],\"application/xslt+xml\":[\"*xsl\",\"xslt\"],\"application/xspf+xml\":[\"xspf\"],\"application/xv+xml\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"],\"application/yang\":[\"yang\"],\"application/yin+xml\":[\"yin\"],\"application/zip\":[\"zip\"],\"audio/3gpp\":[\"*3gpp\"],\"audio/aac\":[\"adts\",\"aac\"],\"audio/adpcm\":[\"adp\"],\"audio/amr\":[\"amr\"],\"audio/basic\":[\"au\",\"snd\"],\"audio/midi\":[\"mid\",\"midi\",\"kar\",\"rmi\"],\"audio/mobile-xmf\":[\"mxmf\"],\"audio/mp3\":[\"*mp3\"],\"audio/mp4\":[\"m4a\",\"mp4a\"],\"audio/mpeg\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"],\"audio/ogg\":[\"oga\",\"ogg\",\"spx\",\"opus\"],\"audio/s3m\":[\"s3m\"],\"audio/silk\":[\"sil\"],\"audio/wav\":[\"wav\"],\"audio/wave\":[\"*wav\"],\"audio/webm\":[\"weba\"],\"audio/xm\":[\"xm\"],\"font/collection\":[\"ttc\"],\"font/otf\":[\"otf\"],\"font/ttf\":[\"ttf\"],\"font/woff\":[\"woff\"],\"font/woff2\":[\"woff2\"],\"image/aces\":[\"exr\"],\"image/apng\":[\"apng\"],\"image/avci\":[\"avci\"],\"image/avcs\":[\"avcs\"],\"image/avif\":[\"avif\"],\"image/bmp\":[\"bmp\",\"dib\"],\"image/cgm\":[\"cgm\"],\"image/dicom-rle\":[\"drle\"],\"image/dpx\":[\"dpx\"],\"image/emf\":[\"emf\"],\"image/fits\":[\"fits\"],\"image/g3fax\":[\"g3\"],\"image/gif\":[\"gif\"],\"image/heic\":[\"heic\"],\"image/heic-sequence\":[\"heics\"],\"image/heif\":[\"heif\"],\"image/heif-sequence\":[\"heifs\"],\"image/hej2k\":[\"hej2\"],\"image/hsj2\":[\"hsj2\"],\"image/ief\":[\"ief\"],\"image/jls\":[\"jls\"],\"image/jp2\":[\"jp2\",\"jpg2\"],\"image/jpeg\":[\"jpeg\",\"jpg\",\"jpe\"],\"image/jph\":[\"jph\"],\"image/jphc\":[\"jhc\"],\"image/jpm\":[\"jpm\",\"jpgm\"],\"image/jpx\":[\"jpx\",\"jpf\"],\"image/jxr\":[\"jxr\"],\"image/jxra\":[\"jxra\"],\"image/jxrs\":[\"jxrs\"],\"image/jxs\":[\"jxs\"],\"image/jxsc\":[\"jxsc\"],\"image/jxsi\":[\"jxsi\"],\"image/jxss\":[\"jxss\"],\"image/ktx\":[\"ktx\"],\"image/ktx2\":[\"ktx2\"],\"image/png\":[\"png\"],\"image/sgi\":[\"sgi\"],\"image/svg+xml\":[\"svg\",\"svgz\"],\"image/t38\":[\"t38\"],\"image/tiff\":[\"tif\",\"tiff\"],\"image/tiff-fx\":[\"tfx\"],\"image/webp\":[\"webp\"],\"image/wmf\":[\"wmf\"],\"message/disposition-notification\":[\"disposition-notification\"],\"message/global\":[\"u8msg\"],\"message/global-delivery-status\":[\"u8dsn\"],\"message/global-disposition-notification\":[\"u8mdn\"],\"message/global-headers\":[\"u8hdr\"],\"message/rfc822\":[\"eml\",\"mime\"],\"model/3mf\":[\"3mf\"],\"model/gltf+json\":[\"gltf\"],\"model/gltf-binary\":[\"glb\"],\"model/iges\":[\"igs\",\"iges\"],\"model/jt\":[\"jt\"],\"model/mesh\":[\"msh\",\"mesh\",\"silo\"],\"model/mtl\":[\"mtl\"],\"model/obj\":[\"obj\"],\"model/prc\":[\"prc\"],\"model/step+xml\":[\"stpx\"],\"model/step+zip\":[\"stpz\"],\"model/step-xml+zip\":[\"stpxz\"],\"model/stl\":[\"stl\"],\"model/u3d\":[\"u3d\"],\"model/vrml\":[\"wrl\",\"vrml\"],\"model/x3d+binary\":[\"*x3db\",\"x3dbz\"],\"model/x3d+fastinfoset\":[\"x3db\"],\"model/x3d+vrml\":[\"*x3dv\",\"x3dvz\"],\"model/x3d+xml\":[\"x3d\",\"x3dz\"],\"model/x3d-vrml\":[\"x3dv\"],\"text/cache-manifest\":[\"appcache\",\"manifest\"],\"text/calendar\":[\"ics\",\"ifb\"],\"text/coffeescript\":[\"coffee\",\"litcoffee\"],\"text/css\":[\"css\"],\"text/csv\":[\"csv\"],\"text/html\":[\"html\",\"htm\",\"shtml\"],\"text/jade\":[\"jade\"],\"text/javascript\":[\"js\",\"mjs\"],\"text/jsx\":[\"jsx\"],\"text/less\":[\"less\"],\"text/markdown\":[\"md\",\"markdown\"],\"text/mathml\":[\"mml\"],\"text/mdx\":[\"mdx\"],\"text/n3\":[\"n3\"],\"text/plain\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"],\"text/richtext\":[\"rtx\"],\"text/rtf\":[\"*rtf\"],\"text/sgml\":[\"sgml\",\"sgm\"],\"text/shex\":[\"shex\"],\"text/slim\":[\"slim\",\"slm\"],\"text/spdx\":[\"spdx\"],\"text/stylus\":[\"stylus\",\"styl\"],\"text/tab-separated-values\":[\"tsv\"],\"text/troff\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"],\"text/turtle\":[\"ttl\"],\"text/uri-list\":[\"uri\",\"uris\",\"urls\"],\"text/vcard\":[\"vcard\"],\"text/vtt\":[\"vtt\"],\"text/wgsl\":[\"wgsl\"],\"text/xml\":[\"*xml\"],\"text/yaml\":[\"yaml\",\"yml\"],\"video/3gpp\":[\"3gp\",\"3gpp\"],\"video/3gpp2\":[\"3g2\"],\"video/h261\":[\"h261\"],\"video/h263\":[\"h263\"],\"video/h264\":[\"h264\"],\"video/iso.segment\":[\"m4s\"],\"video/jpeg\":[\"jpgv\"],\"video/jpm\":[\"*jpm\",\"*jpgm\"],\"video/mj2\":[\"mj2\",\"mjp2\"],\"video/mp2t\":[\"ts\"],\"video/mp4\":[\"mp4\",\"mp4v\",\"mpg4\"],\"video/mpeg\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"],\"video/ogg\":[\"ogv\"],\"video/quicktime\":[\"qt\",\"mov\"],\"video/webm\":[\"webm\"]};\nObject.freeze(types);\nexport default types;","type TypeMap = { [key: string]: string[] };\n\nexport default class Mime {\n #extensionToType = new Map<string, string>();\n #typeToExtension = new Map<string, string>();\n #typeToExtensions = new Map<string, Set<string>>();\n\n constructor(...args: TypeMap[]) {\n for (const arg of args) {\n this.define(arg);\n }\n }\n\n /**\n * Define mimetype -> extension mappings. Each key is a mime-type that maps\n * to an array of extensions associated with the type. The first extension is\n * used as the default extension for the type.\n *\n * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});\n *\n * If a mapping for an extension has already been defined an error will be\n * thrown unless the `force` argument is set to `true`.\n *\n * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']});\n */\n define(typeMap: TypeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n // Lowercase thingz\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n\n if (!this.#typeToExtensions.has(type)) {\n this.#typeToExtensions.set(type, new Set<string>());\n }\n const allExtensions = this.#typeToExtensions.get(type);\n\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n\n extension = starred ? extension.slice(1) : extension;\n\n // Add to list of extensions for the type\n allExtensions?.add(extension);\n\n if (first) {\n // Map type to default extension (first in list)\n this.#typeToExtension.set(type, extension);\n }\n first = false;\n\n // Starred types are not eligible to be the default extension\n if (starred) continue;\n\n // Map extension to type\n const currentType = this.#extensionToType.get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(\n `\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`,\n );\n }\n this.#extensionToType.set(extension, type);\n }\n }\n\n return this;\n }\n\n /**\n * Get mime type associated with an extension\n */\n getType(path: string) {\n if (typeof path !== 'string') return null;\n\n // Remove chars preceeding `/` or `\\`\n const last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n\n // Remove chars preceeding '.'\n const ext = last.replace(/^.*\\./, '').toLowerCase();\n\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n\n // Extension-less file?\n if (!hasDot && hasPath) return null;\n\n return this.#extensionToType.get(ext) ?? null;\n }\n\n /**\n * Get default file extension associated with a mime type\n */\n getExtension(type: string) {\n if (typeof type !== 'string') return null;\n\n // Remove http header parameter(s) (specifically, charset)\n type = type?.split?.(';')[0];\n\n return (\n (type && this.#typeToExtension.get(type.trim().toLowerCase())) ?? null\n );\n }\n\n /**\n * Get all file extensions associated with a mime type\n */\n getAllExtensions(type: string) {\n if (typeof type !== 'string') return null;\n\n return this.#typeToExtensions.get(type.toLowerCase()) ?? null;\n }\n\n //\n // Private API, for internal use only. These APIs may change at any time\n //\n\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n\n Object.freeze(this);\n\n for (const extensions of this.#typeToExtensions.values()) {\n Object.freeze(extensions);\n }\n\n return this;\n }\n\n _getTestState() {\n return {\n types: this.#extensionToType,\n extensions: this.#typeToExtension,\n };\n }\n}\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\n\nexport { default as Mime } from './Mime.js';\n\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","import { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function isAIGeneratedActivity(activity: undefined | WebChatActivity) {\n return !!(activity && getOrgSchemaMessage(activity?.entities || [])?.keywords?.includes('AIGeneratedContent'));\n}\n","import { useMemo } from 'react';\nimport { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function useActivityAuthor(activity?: WebChatActivity | undefined) {\n return useMemo(() => {\n const entity = getOrgSchemaMessage(activity?.entities || []);\n return typeof entity?.author === 'string'\n ? {\n '@type': 'Person',\n description: undefined,\n image: undefined,\n name: entity?.author\n }\n : entity?.author;\n }, [activity]);\n}\n",":global(.webchat-fluent) .copilot-message-header {\n align-items: center;\n box-sizing: border-box;\n cursor: default;\n display: flex;\n flex-wrap: nowrap;\n gap: var(--webchat-spacingHorizontalS);\n max-width: var(--webchat__bubble--max-width);\n}\n\n:global(.webchat-fluent) .copilot-message-header__avatar {\n aspect-ratio: 1;\n background-color: var(--background-color);\n border-radius: var(--webchat-borderRadiusSmall);\n width: 20px;\n}\n\n:global(.webchat-fluent) .copilot-message-header__title {\n font-size: var(--webchat-fontSizeBase300);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightBase300);\n overflow: hidden;\n text-overflow: ellipsis;\n text-wrap: nowrap;\n}\n\n:global(.webchat-fluent) .copilot-message-header__ai-generated-content {\n align-items: center;\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: var(--webchat-borderRadiusMedium);\n color: var(--webchat-colorNeutralForeground3);\n display: flex;\n flex: none;\n font-size: var(--webchat-fontSizeBase100);\n height: 20px;\n line-height: var(--webchat-lineHeightBase100);\n padding-inline: var(--webchat-spacingHorizontalXS);\n}\n","import { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function isPreChatMessageActivity(\n activity: undefined | WebChatActivity\n): activity is WebChatActivity & { type: 'message' } {\n return !!(activity && getOrgSchemaMessage(activity?.entities || [])?.keywords?.includes('PreChatMessage'));\n}\n","import { hooks } from 'botframework-webchat-component';\nimport { type WebChatActivity } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { memo, useMemo } from 'react';\nimport { useStyles } from '../../styles/index.js';\nimport styles from './PreChatMessageActivity.module.css';\nimport StarterPromptsToolbar from './StarterPromptsToolbar.js';\nimport { useActivityAuthor } from '../activity/index.js';\n\ntype Props = Readonly<{ activity: WebChatActivity & { type: 'message' } }>;\n\nconst { useLocalizer, useRenderMarkdownAsHTML, useUIState } = hooks;\n\nconst PreChatMessageActivity = ({ activity }: Props) => {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML();\n const localize = useLocalizer();\n\n const author = useActivityAuthor(activity);\n\n const html = useMemo(\n () => (renderMarkdownAsHTML ? { __html: renderMarkdownAsHTML(author?.description || '') } : { __html: '' }),\n [author?.description, renderMarkdownAsHTML]\n );\n\n return (\n <div className={classNames['pre-chat-message-activity']}>\n {author && (\n <div\n className={cx(\n classNames['pre-chat-message-activity__body'],\n uiState === 'blueprint' && classNames['pre-chat-message-activity__body--blueprint']\n )}\n >\n {author.image && (\n <img\n alt={localize('AVATAR_ALT', author.name)}\n className={classNames['pre-chat-message-activity__body-avatar']}\n src={author.image}\n />\n )}\n {author.name && <h2 className={classNames['pre-chat-message-activity__body-title']}>{author.name}</h2>}\n {author.description && (\n // eslint-disable-next-line react/no-danger\n <div className={classNames['pre-chat-message-activity__body-subtitle']} dangerouslySetInnerHTML={html} />\n )}\n </div>\n )}\n <StarterPromptsToolbar\n cardActions={activity.suggestedActions?.actions || []}\n className={classNames['pre-chat-message-activity__toolbar']}\n />\n </div>\n );\n};\n\nPreChatMessageActivity.displayName = 'PreChatMessageActivity';\n\nexport default memo(PreChatMessageActivity);\n",":global(.webchat-fluent) .pre-chat-message-activity {\n box-sizing: border-box;\n display: grid;\n gap: var(--webchat-spacingHorizontalXXXL);\n grid-template-areas: 'body' 'toolbar';\n grid-template-rows: auto auto;\n padding: var(--webchat-spacingHorizontalXXXL) var(--webchat-spacingHorizontalM);\n position: relative;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body {\n align-items: center;\n display: flex;\n flex-flow: column nowrap;\n font-family: var(--webchat-fontFamilyBase);\n font-size: var(--webchat-fontSizeBase300);\n font-weight: var(--webchat-fontWeightRegular);\n gap: var(--webchat-spacingVerticalXS);\n grid-area: body;\n line-height: var(--webchat-lineHeightBase300);\n text-align: center;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body--blueprint {\n opacity: 60%;\n\n .pre-chat-message-activity__body-avatar {\n filter: grayscale(1);\n }\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body-avatar {\n border-radius: var(--webchat-borderRadiusMedium);\n height: 64px;\n margin-block-end: var(--webchat-spacingVerticalM);\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body-title {\n color: var(--webchat-colorNeutralForeground1);\n font-family: inherit;\n font-size: var(--webchat-fontSizeHero700);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightHero700);\n margin: 0;\n overflow-wrap: anywhere;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__body-subtitle {\n font-size: var(--webchat-fontSizeBase300);\n line-height: var(--webchat-lineHeightBase300);\n overflow-wrap: anywhere;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__toolbar {\n grid-area: toolbar;\n}\n","import { hooks } from 'botframework-webchat-api';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { Fragment, memo } from 'react';\nimport { useStyles } from '../../styles/index.js';\nimport StarterPromptsCardAction from './StarterPromptsCardAction.js';\nimport styles from './StarterPromptsToolbar.module.css';\n\nconst { useUIState } = hooks;\n\ntype Props = Readonly<{\n cardActions: readonly DirectLineCardAction[];\n className?: string | undefined;\n}>;\n\nconst StarterPromptsToolbar = ({ cardActions, className }: Props) => {\n const classNames = useStyles(styles);\n const [uiState] = useUIState();\n\n return (\n // TODO: Accessibility-wise, this should be role=\"toolbar\" with keyboard navigation.\n <div className={cx(className, classNames['pre-chat-message-activity__card-action-toolbar'])}>\n <div className={classNames['pre-chat-message-activity__card-action-toolbar-grid']}>\n {uiState === 'blueprint' ? (\n <Fragment>\n <StarterPromptsCardAction />\n <StarterPromptsCardAction />\n <StarterPromptsCardAction />\n </Fragment>\n ) : (\n cardActions\n .filter<DirectLineCardAction & { type: 'messageBack' }>(\n (card: DirectLineCardAction): card is DirectLineCardAction & { type: 'messageBack' } =>\n card.type === 'messageBack'\n )\n // There is no other usable keys in card actions.\n // eslint-disable-next-line react/no-array-index-key\n .map((cardAction, index) => <StarterPromptsCardAction key={index} messageBackAction={cardAction} />)\n )}\n </div>\n </div>\n );\n};\n\nStarterPromptsToolbar.displayName = 'StarterPromptsToolbar';\n\nexport default memo(StarterPromptsToolbar);\n","import { Components, hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useMemo } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { useStyles } from '../../styles/index.js';\nimport testIds from '../../testIds.js';\nimport styles from './StarterPromptsCardAction.module.css';\n\nconst { useFocus, useRenderMarkdownAsHTML, useSendBoxValue, useUIState } = hooks;\nconst { MonochromeImageMasker } = Components;\n\ntype Props = Readonly<{\n className?: string | undefined;\n messageBackAction?: (DirectLineCardAction & { type: 'messageBack' }) | undefined;\n}>;\n\nconst StarterPromptsCardAction = ({ className, messageBackAction }: Props) => {\n const [_, setSendBoxValue] = useSendBoxValue();\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const focus = useFocus();\n const inputTextRef = useRefFrom(messageBackAction?.displayText || messageBackAction?.text || '');\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML('message activity');\n const subtitleHTML = useMemo<{ __html: string } | undefined>(\n () => (renderMarkdownAsHTML ? { __html: renderMarkdownAsHTML(messageBackAction?.text || '') } : undefined),\n [messageBackAction?.text, renderMarkdownAsHTML]\n );\n const disabled = uiState === 'disabled';\n const title = messageBackAction && 'title' in messageBackAction && messageBackAction.title;\n\n // Every starter prompt card action must have \"title\" field.\n const shouldShowBlueprint = uiState === 'blueprint' || !title;\n\n const handleClick = useCallback(() => {\n setSendBoxValue(inputTextRef.current);\n\n // Focus on the send box after the value is \"pasted.\"\n focus('sendBox');\n }, [focus, inputTextRef, setSendBoxValue]);\n\n return shouldShowBlueprint ? (\n <div\n className={cx(className, classNames['pre-chat-message-activity__card-action-box'])}\n data-testid={testIds.preChatMessageActivityStarterPromptsCardAction}\n />\n ) : (\n <button\n aria-disabled={disabled ? true : undefined}\n className={cx(className, classNames['pre-chat-message-activity__card-action-box'])}\n data-testid={testIds.preChatMessageActivityStarterPromptsCardAction}\n onClick={disabled ? undefined : handleClick}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : undefined}\n type=\"button\"\n >\n <div className={classNames['pre-chat-message-activity__card-action-title']}>{title}</div>\n {'image' in messageBackAction && messageBackAction.image && (\n <MonochromeImageMasker\n className={classNames['pre-chat-message-activity__card-action-image']}\n src={messageBackAction.image}\n />\n )}\n <div\n className={classNames['pre-chat-message-activity__card-action-subtitle']}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={subtitleHTML}\n />\n </button>\n );\n};\n\nStarterPromptsCardAction.displayName = 'StarterPromptsCardAction';\n\nexport default memo(StarterPromptsCardAction);\n","import { useMemo, useRef } from 'react';\nimport type { RefObject } from 'react';\n\nexport default function useRefFrom<T>(value: T): RefObject<T> & { get current(): T } {\n const ref = useRef<T>();\n\n const readOnlyRef = useMemo(() => Object.create({}, { current: { get: () => ref.current } }), [ref]);\n\n ref.current = value;\n\n return readOnlyRef;\n}\n","const testIds = {\n preChatMessageActivityStarterPromptsCardAction: 'pre-chat message activity starter prompts card action',\n sendBoxContainer: 'send box container',\n sendBoxDropZone: 'send box drop zone',\n sendBoxSendButton: 'send box send button',\n sendBoxSuggestedAction: 'send box suggested action',\n sendBoxTextBox: 'send box text area',\n sendBoxTelephoneKeypadButton1: `send box telephone keypad button 1`,\n sendBoxTelephoneKeypadButton2: `send box telephone keypad button 2`,\n sendBoxTelephoneKeypadButton3: `send box telephone keypad button 3`,\n sendBoxTelephoneKeypadButton4: `send box telephone keypad button 4`,\n sendBoxTelephoneKeypadButton5: `send box telephone keypad button 5`,\n sendBoxTelephoneKeypadButton6: `send box telephone keypad button 6`,\n sendBoxTelephoneKeypadButton7: `send box telephone keypad button 7`,\n sendBoxTelephoneKeypadButton8: `send box telephone keypad button 8`,\n sendBoxTelephoneKeypadButton9: `send box telephone keypad button 9`,\n sendBoxTelephoneKeypadButton0: `send box telephone keypad button 0`,\n sendBoxTelephoneKeypadButtonStar: `send box telephone keypad button star`,\n sendBoxTelephoneKeypadButtonPound: `send box telephone keypad button pound`,\n sendBoxTelephoneKeypadToolbarButton: 'send box telephone keypad toolbar button',\n sendBoxUploadButton: 'send box upload button'\n};\n\nexport default testIds;\n",":global(.webchat-fluent) .pre-chat-message-activity__card-action-box {\n appearance: none;\n background-color: var(--webchat-colorNeutralBackground1);\n border: 0;\n border-radius: 16px;\n box-shadow: var(--webchat-shadow2);\n color: var(--webchat-colorNeutralForeground1);\n cursor: pointer;\n display: grid;\n gap: var(--webchat-spacingVerticalS);\n grid-template-areas: 'title' 'subtitle';\n grid-template-columns: 1fr;\n grid-template-rows: auto 1fr;\n overflow: hidden;\n padding: 16px 20px;\n text-align: left;\n transition: background-color var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n user-select: none;\n\n &:has(.pre-chat-message-activity__card-action-image) {\n grid-template-areas: 'image title' 'image subtitle';\n grid-template-columns: 20px 1fr;\n }\n\n &:empty {\n row-gap: 14px;\n }\n\n &[aria-disabled='true'],\n &:empty {\n cursor: default;\n }\n\n &[aria-disabled='true']:not(:empty) {\n background-color: var(--webchat-colorNeutralBackgroundDisabled);\n }\n\n &:hover:not([aria-disabled='true'], :empty) {\n background-color: var(--webchat-colorNeutralBackground1Hover);\n }\n\n &:active:not([aria-disabled='true'], :empty) {\n background-color: var(--webchat-colorNeutralBackground1Pressed);\n }\n\n &:focus-visible {\n outline: solid 2px var(--webchat-colorStrokeFocus2);\n outline-offset: -2px;\n }\n\n &:empty::after,\n &:empty::before {\n animation: blueprintAnimation 3s linear infinite;\n background-attachment: fixed;\n background-image: linear-gradient(\n -90deg,\n var(--webchat-colorNeutralStencil1) 0%,\n var(--webchat-colorNeutralStencil2) 50%,\n var(--webchat-colorNeutralStencil1) 100%\n );\n background-size: 300% 100%;\n content: '';\n display: block;\n }\n\n /* animation-* needs to position after animation shorthand. */\n @media (prefers-reduced-motion: reduce) {\n &:empty::after,\n &:empty::before {\n animation-delay: -1s;\n animation-play-state: paused;\n }\n }\n\n &:dir(rtl) {\n &:empty::after,\n &:empty::before {\n animation-direction: reverse;\n }\n }\n\n &:empty::after {\n border-radius: 16px;\n height: 16px;\n width: 100%;\n }\n\n &:empty::before {\n border-radius: 18px;\n height: 18px;\n width: 66%;\n }\n}\n\n@keyframes blueprintAnimation {\n from {\n background-position-x: 0%;\n }\n\n to {\n background-position-x: -300%;\n }\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-image {\n grid-area: image;\n height: 20px;\n width: 20px;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-subtitle {\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n font-weight: var(--webchat-fontWeightRegular);\n grid-area: subtitle;\n line-height: 20px;\n pointer-events: none; /* Links in subtitle are not clickable. */\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-title {\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n font-weight: var(--webchat-fontWeightSemibold);\n grid-area: title;\n line-height: 20px;\n}\n",":global(.webchat-fluent) .pre-chat-message-activity__card-action-toolbar {\n container-name: webchat-container;\n container-type: inline-size;\n}\n\n:global(.webchat-fluent) .pre-chat-message-activity__card-action-toolbar-grid {\n display: grid;\n gap: var(--webchat-spacingHorizontalM);\n grid-template-columns: 1fr 1fr 1fr;\n padding: 0;\n}\n\n/* TODO: What is the good width to show as 3 columns? Web Chat, by default, has a bubble max width of 480px. */\n@container webchat-container (width <= 480px) {\n :global(.webchat-fluent) .pre-chat-message-activity__card-action-toolbar-grid {\n grid-template-columns: 1fr;\n }\n}\n","import { hooks, type SendBoxFocusOptions } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useRef, useState, type FormEventHandler, type MouseEventHandler } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { SendIcon } from '../../icons';\nimport { useStyles, useVariantClassName } from '../../styles';\nimport testIds from '../../testIds';\nimport { DropZone } from '../dropZone';\nimport { SuggestedActions } from '../suggestedActions';\nimport { TelephoneKeypadSurrogate, useTelephoneKeypadShown, type DTMF } from '../telephoneKeypad';\nimport AddAttachmentButton from './AddAttachmentButton';\nimport Attachments from './Attachments';\nimport ErrorMessage from './ErrorMessage';\nimport useSubmitError from './private/useSubmitError';\nimport useTranscriptNavigation from './private/useTranscriptNavigation';\nimport useUniqueId from './private/useUniqueId';\nimport styles from './SendBox.module.css';\nimport TelephoneKeypadToolbarButton from './TelephoneKeypadToolbarButton';\nimport TextArea from './TextArea';\nimport { Toolbar, ToolbarButton, ToolbarSeparator } from './Toolbar';\n\nconst {\n useFocus,\n useLocalizer,\n useMakeThumbnail,\n useRegisterFocusSendBox,\n useSendBoxAttachments,\n useSendBoxValue,\n useSendMessage,\n useStyleOptions,\n useUIState\n} = hooks;\n\ntype Props = Readonly<{\n className?: string | undefined;\n isPrimary?: boolean | undefined;\n placeholder?: string | undefined;\n}>;\n\nfunction SendBox(props: Props) {\n const [{ hideTelephoneKeypadButton, hideUploadButton, maxMessageLength }] = useStyleOptions();\n const [attachments, setAttachments] = useSendBoxAttachments();\n const [globalMessage, setGlobalMessage] = useSendBoxValue();\n const [localMessage, setLocalMessage] = useState('');\n const [telephoneKeypadShown] = useTelephoneKeypadShown();\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const variantClassName = useVariantClassName(styles);\n const errorMessageId = useUniqueId('sendbox__error-message-id');\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const localize = useLocalizer();\n const makeThumbnail = useMakeThumbnail();\n const sendMessage = useSendMessage();\n const setFocus = useFocus();\n\n const message = props.isPrimary ? globalMessage : localMessage;\n const setMessage = props.isPrimary ? setGlobalMessage : setLocalMessage;\n const isBlueprint = uiState === 'blueprint';\n\n const [errorMessage, commitLatestError] = useSubmitError({ message, attachments });\n const isMessageLengthExceeded = !!maxMessageLength && message.length > maxMessageLength;\n const shouldShowMessageLength =\n !isBlueprint && !telephoneKeypadShown && maxMessageLength && isFinite(maxMessageLength);\n const shouldShowTelephoneKeypad = !isBlueprint && telephoneKeypadShown;\n\n useRegisterFocusSendBox(\n useCallback(\n ({ noKeyboard, waitUntil }: SendBoxFocusOptions) => {\n if (!inputRef.current) {\n return;\n }\n if (noKeyboard) {\n waitUntil(\n (async () => {\n const previousReadOnly = inputRef.current?.getAttribute('readonly');\n inputRef.current?.setAttribute('readonly', 'true');\n // TODO: [P2] We should update this logic to handle quickly-successive `focusCallback`.\n // If a succeeding `focusCallback` is being called, the `setTimeout` should run immediately.\n // Or the second `focusCallback` should not set `readonly` to `true`.\n // eslint-disable-next-line no-restricted-globals\n await new Promise(resolve => setTimeout(resolve, 0));\n inputRef.current?.focus();\n if (typeof previousReadOnly !== 'string') {\n inputRef.current?.removeAttribute('readonly');\n } else {\n inputRef.current?.setAttribute('readonly', previousReadOnly);\n }\n })()\n );\n } else {\n inputRef.current?.focus();\n }\n },\n [inputRef]\n )\n );\n\n const attachmentsRef = useRefFrom(attachments);\n const messageRef = useRefFrom(message);\n\n const handleSendBoxClick = useCallback<MouseEventHandler>(\n event => {\n if ('tabIndex' in event.target && typeof event.target.tabIndex === 'number' && event.target.tabIndex >= 0) {\n return;\n }\n\n setFocus('sendBox');\n },\n [setFocus]\n );\n\n const handleMessageChange: React.FormEventHandler<HTMLTextAreaElement> = useCallback(\n event => setMessage(event.currentTarget.value),\n [setMessage]\n );\n\n const handleAddFiles = useCallback(\n async (inputFiles: File[]) => {\n const newAttachments = Object.freeze(\n await Promise.all(\n inputFiles.map(file =>\n makeThumbnail(file).then(thumbnailURL =>\n Object.freeze({\n blob: file,\n ...(thumbnailURL && { thumbnailURL })\n })\n )\n )\n )\n );\n\n setAttachments(newAttachments);\n\n // TODO: Currently in the UX, we have no way to remove attachments.\n // Keep concatenating doesn't make sense in current UX.\n // When end-user can remove attachment, we should enable the code again.\n // setAttachments(attachments => attachments.concat(newAttachments));\n },\n [makeThumbnail, setAttachments]\n );\n\n const handleFormSubmit: FormEventHandler<HTMLFormElement> = useCallback(\n event => {\n event.preventDefault();\n const error = commitLatestError();\n\n if (error !== 'empty' && !isMessageLengthExceeded) {\n sendMessage(messageRef.current, undefined, { attachments: attachmentsRef.current });\n\n setMessage('');\n setAttachments([]);\n }\n\n setFocus('sendBox');\n },\n [\n commitLatestError,\n isMessageLengthExceeded,\n setFocus,\n sendMessage,\n setMessage,\n messageRef,\n attachmentsRef,\n setAttachments\n ]\n );\n\n const handleTelephoneKeypadButtonClick = useCallback(\n // TODO: We need more official way of sending DTMF.\n (dtmf: DTMF) => sendMessage(`/DTMFKey ${dtmf}`),\n [sendMessage]\n );\n\n const handleTranscriptNavigation = useTranscriptNavigation();\n\n const aria = {\n 'aria-invalid': 'false' as const,\n ...(errorMessage && {\n 'aria-describedby': errorMessageId,\n 'aria-errormessage': errorMessageId,\n 'aria-invalid': 'true' as const\n })\n };\n\n return (\n <form\n {...aria}\n className={cx(classNames['sendbox'], variantClassName, props.className)}\n data-testid={testIds.sendBoxContainer}\n onSubmit={handleFormSubmit}\n >\n <SuggestedActions />\n <div\n className={cx(classNames['sendbox__sendbox'])}\n onClickCapture={handleSendBoxClick}\n onKeyDown={handleTranscriptNavigation}\n >\n <TextArea\n aria-label={isMessageLengthExceeded ? localize('TEXT_INPUT_LENGTH_EXCEEDED_ALT') : localize('TEXT_INPUT_ALT')}\n className={cx(classNames['sendbox__sendbox-text'], classNames['sendbox__text-area--in-grid'])}\n data-testid={testIds.sendBoxTextBox}\n hidden={shouldShowTelephoneKeypad}\n onInput={handleMessageChange}\n placeholder={props.placeholder ?? localize('TEXT_INPUT_PLACEHOLDER')}\n ref={inputRef}\n value={message}\n />\n <TelephoneKeypadSurrogate\n autoFocus={true}\n className={classNames['sendbox__telephone-keypad--in-grid']}\n isHorizontal={false}\n onButtonClick={handleTelephoneKeypadButtonClick}\n />\n <Attachments attachments={attachments} className={classNames['sendbox__attachment--in-grid']} />\n <div className={cx(classNames['sendbox__sendbox-controls'], classNames['sendbox__sendbox-controls--in-grid'])}>\n {shouldShowMessageLength && (\n <div\n className={cx(classNames['sendbox__text-counter'], {\n [classNames['sendbox__text-counter--error']]: isMessageLengthExceeded\n })}\n >\n {`${message.length}/${maxMessageLength}`}\n </div>\n )}\n <Toolbar>\n {!hideTelephoneKeypadButton && <TelephoneKeypadToolbarButton />}\n {!hideUploadButton && <AddAttachmentButton onFilesAdded={handleAddFiles} />}\n <ToolbarSeparator />\n <ToolbarButton\n aria-label={localize('TEXT_INPUT_SEND_BUTTON_ALT')}\n data-testid={testIds.sendBoxSendButton}\n disabled={isMessageLengthExceeded || shouldShowTelephoneKeypad}\n type=\"submit\"\n >\n <SendIcon />\n </ToolbarButton>\n </Toolbar>\n </div>\n <DropZone onFilesAdded={handleAddFiles} />\n <ErrorMessage error={errorMessage} id={errorMessageId} />\n </div>\n </form>\n );\n}\n\nconst PrimarySendBox = memo((props: Exclude<Props, 'primary'>) => <SendBox {...props} isPrimary={true} />);\n\nPrimarySendBox.displayName = 'PrimarySendBox';\n\nexport default memo(SendBox);\n\nexport { PrimarySendBox };\n","import React, { memo } from 'react';\n\nfunction AddDocumentIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 2a2 2 0 0 0-2 2v5.2c.32-.08.66-.15 1-.18V4a1 1 0 0 1 1-1h4v3.5c0 .83.67 1.5 1.5 1.5H15v8a1 1 0 0 1-1 1h-3.6c-.18.36-.4.7-.66 1H14a2 2 0 0 0 2-2V7.41c0-.4-.16-.78-.44-1.06l-3.91-3.91A1.5 1.5 0 0 0 10.59 2H6Zm8.8 5h-3.3a.5.5 0 0 1-.5-.5V3.2L14.8 7ZM10 14.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0Zm-4-2a.5.5 0 0 0-1 0V14H3.5a.5.5 0 0 0 0 1H5v1.5a.5.5 0 0 0 1 0V15h1.5a.5.5 0 0 0 0-1H6v-1.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(AddDocumentIcon);\n","import React, { memo } from 'react';\n\nfunction AttachmentIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"m4.83 10.48 5.65-5.65a3 3 0 0 1 4.25 4.24L8 15.8a1.5 1.5 0 0 1-2.12-2.12l6-6.01a.5.5 0 1 0-.7-.71l-6 6.01a2.5 2.5 0 0 0 3.53 3.54l6.71-6.72a4 4 0 1 0-5.65-5.66L4.12 9.78a.5.5 0 0 0 .7.7Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(AttachmentIcon);\n","import React, { memo } from 'react';\n\nfunction InfoSmallIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 16 16\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 7.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3Zm.25-2a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1ZM2 8a6 6 0 1 1 12 0A6 6 0 0 1 2 8Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(InfoSmallIcon);\n","import React, { memo } from 'react';\n\nfunction SendIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.18 2.11a.5.5 0 0 1 .54-.06l15 7.5a.5.5 0 0 1 0 .9l-15 7.5a.5.5 0 0 1-.7-.58L3.98 10 2.02 2.63a.5.5 0 0 1 .16-.52Zm2.7 8.39-1.61 6.06L16.38 10 3.27 3.44 4.88 9.5h6.62a.5.5 0 1 1 0 1H4.88Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(SendIcon);\n","import React, { memo } from 'react';\n\nfunction TelephoneKeypadIcon(props: Readonly<{ readonly className?: string }>) {\n return (\n <svg\n aria-hidden=\"true\"\n className={props.className}\n height=\"1em\"\n viewBox=\"0 0 20 20\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Zm0 4a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM7.25 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM10 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM11.25 16a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM14 5.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM15.25 8a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM14 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n}\n\nexport default memo(TelephoneKeypadIcon);\n","import { hooks } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useEffect, useRef, useState, type DragEventHandler } from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\nimport { AddDocumentIcon } from '../../icons';\nimport testIds from '../../testIds';\nimport styles from './DropZone.module.css';\nimport { useStyles } from '../../styles';\n\nconst { useLocalizer } = hooks;\n\nconst handleDragOver: DragEventHandler<HTMLDivElement> = event => {\n // This is for preventing the browser from opening the dropped file in a new tab.\n event.preventDefault();\n};\n\n// Notes: For files dragging from outside of browser, it only tell us if it is a \"File\" instead of \"text/plain\" or \"text/uri-list\".\n// For images dragging inside of browser, it only tell us that it is \"text/plain\", \"text/uri-list\" and \"text/html\". But not \"image/*\".\n// So we cannot allowlist what is droppable.\n// We are using case-insensitive of type \"files\" so we can drag in WebDriver.\nconst isFilesTransferEvent = (event: DragEvent) =>\n !!event.dataTransfer?.types?.some(type => type.toLowerCase() === 'files');\n\nfunction isDescendantOf(target: Node, ancestor: Node): boolean {\n let current = target.parentNode;\n\n while (current) {\n if (current === ancestor) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return false;\n}\n\nconst DropZone = (props: { readonly onFilesAdded: (files: File[]) => void }) => {\n const [dropZoneState, setDropZoneState] = useState<false | 'visible' | 'droppable'>(false);\n const classNames = useStyles(styles);\n const dropZoneRef = useRef<HTMLDivElement>(null);\n const localize = useLocalizer();\n const onFilesAddedRef = useRefFrom(props.onFilesAdded);\n\n useEffect(() => {\n let entranceCounter = 0;\n\n const handleDragEnter = (event: DragEvent) => {\n entranceCounter++;\n\n if (isFilesTransferEvent(event)) {\n setDropZoneState(\n dropZoneRef.current &&\n (event.target === dropZoneRef.current ||\n (event.target instanceof HTMLElement && isDescendantOf(event.target, dropZoneRef.current)))\n ? 'droppable'\n : 'visible'\n );\n }\n };\n\n const handleDragLeave = () => --entranceCounter <= 0 && setDropZoneState(false);\n\n const handleDragEnd = () => {\n entranceCounter = 0;\n setDropZoneState(false);\n };\n\n document.addEventListener('dragenter', handleDragEnter, false);\n document.addEventListener('dragleave', handleDragLeave, false);\n document.addEventListener('dragend', handleDragEnd, false);\n\n return () => {\n document.removeEventListener('dragenter', handleDragEnter);\n document.removeEventListener('dragleave', handleDragLeave);\n document.removeEventListener('dragend', handleDragEnd);\n };\n }, [setDropZoneState]);\n\n const handleDrop = useCallback<DragEventHandler<HTMLDivElement>>(\n event => {\n event.preventDefault();\n\n setDropZoneState(false);\n\n if (!isFilesTransferEvent(event.nativeEvent)) {\n return;\n }\n\n onFilesAddedRef.current([...event.dataTransfer.files]);\n },\n [onFilesAddedRef, setDropZoneState]\n );\n\n return dropZoneState ? (\n <div\n className={cx(classNames['sendbox__attachment-drop-zone'], {\n [classNames['sendbox__attachment-drop-zone--droppable']]: dropZoneState === 'droppable'\n })}\n data-testid={testIds.sendBoxDropZone}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n ref={dropZoneRef}\n >\n <AddDocumentIcon className={classNames['sendbox__attachment-drop-zone-icon']} />\n {localize('TEXT_INPUT_DROP_ZONE')}\n </div>\n ) : null;\n};\n\nDropZone.displayName = 'DropZone';\n\nexport default memo(DropZone);\n",":global(.webchat-fluent) .sendbox__attachment-drop-zone {\n background-color: var(--webchat-colorNeutralBackground4);\n border-radius: inherit;\n cursor: copy;\n display: grid;\n gap: 8px;\n inset: 0;\n place-content: center;\n place-items: center;\n position: absolute;\n transition: all var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n}\n\n:global(.webchat-fluent) .sendbox__attachment-drop-zone--droppable {\n background-color: var(--webchat-colorBrandBackground2Hover);\n}\n\n:global(.webchat-fluent) .sendbox__attachment-drop-zone-icon {\n height: 36px;\n /* Set \"pointer-events: none\" to ignore dragging over the icon. Otherwise, when dragging over the icon; it would disable the \"--droppable\" modifier.*/\n pointer-events: none;\n width: 36px;\n}\n","import { hooks } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, type ReactNode } from 'react';\nimport { useStyles } from '../../styles';\nimport { isPreChatMessageActivity } from '../preChatActivity';\nimport computeSuggestedActionText from './private/computeSuggestedActionText';\nimport RovingFocusProvider from './private/rovingFocus';\nimport SuggestedAction from './SuggestedAction';\nimport styles from './SuggestedActions.module.css';\n\nconst { useFocus, useLocalizer, useStyleOptions, useStyleSet, useSuggestedActions, useUIState } = hooks;\n\nfunction SuggestedActionStackedOrFlowContainer(\n props: Readonly<{\n 'aria-label'?: string | undefined;\n children?: ReactNode | undefined;\n className?: string | undefined;\n }>\n) {\n const [{ suggestedActionLayout }] = useStyleOptions();\n const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet();\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n\n return (\n <div\n aria-label={props['aria-label']}\n aria-orientation=\"vertical\"\n className={cx(\n classNames['suggested-actions'],\n suggestedActionsStyleSet + '',\n {\n [classNames['suggested-actions--flow']]: suggestedActionLayout === 'flow',\n [classNames['suggested-actions--stacked']]: suggestedActionLayout !== 'flow'\n },\n props.className\n )}\n role=\"toolbar\"\n >\n {uiState !== 'blueprint' && props.children}\n </div>\n );\n}\n\nfunction SuggestedActions() {\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const [suggestedActions, _, { activity }] = useSuggestedActions();\n const focus = useFocus();\n\n const handleEscapeKey = useCallback(() => {\n focus('sendBox');\n }, [focus]);\n\n const children = isPreChatMessageActivity(activity)\n ? [] // Do not show suggested actions for pre-chat message, suggested actions has already shown inlined.\n : suggestedActions.map((cardAction, index) => {\n const { displayText, image, imageAltText, text, type, value } = cardAction as {\n displayText?: string;\n image?: string;\n imageAltText?: string;\n text?: string;\n type:\n | 'call'\n | 'downloadFile'\n | 'imBack'\n | 'messageBack'\n | 'openUrl'\n | 'playAudio'\n | 'playVideo'\n | 'postBack'\n | 'showImage'\n | 'signin';\n value?: { [key: string]: any } | string;\n };\n\n if (!suggestedActions?.length) {\n return null;\n }\n\n return (\n <SuggestedAction\n buttonText={computeSuggestedActionText(cardAction)}\n displayText={displayText}\n image={image}\n // Image alt text should use `imageAltText` field and fallback to `text` field.\n // https://github.com/microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#image-alt-text\n imageAlt={image && (imageAltText || text)}\n itemIndex={index}\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n text={text}\n type={type}\n value={value}\n />\n );\n });\n\n return (\n <RovingFocusProvider onEscapeKey={handleEscapeKey}>\n <SuggestedActionStackedOrFlowContainer\n aria-label={localize('SUGGESTED_ACTIONS_LABEL_ALT')}\n className={classNames['suggested-actions']}\n >\n {children}\n </SuggestedActionStackedOrFlowContainer>\n </RovingFocusProvider>\n );\n}\n\nexport default memo(SuggestedActions);\n","import type { DirectLineCardAction } from 'botframework-webchat-core';\n\n// Please refer to this article to find out how to compute the \"button text\" for suggested action.\n// https://github.com/Microsoft/botframework-sdk/blob/main/specs/botframework-activity/botframework-activity.md#card-action\nexport default function computeSuggestedActionText(cardAction: DirectLineCardAction) {\n // \"CardAction\" must contains at least image or title.\n const { title } = cardAction as { title?: string };\n const { type, value } = cardAction;\n\n if (type === 'messageBack') {\n return title || cardAction.displayText;\n } else if (title) {\n return title;\n } else if (typeof value === 'string') {\n return value;\n }\n\n return JSON.stringify(value);\n}\n\n// TODO: [P1] This is copied from botframework-webchat-component. Think about what we should do to eliminate duplications.\n","/* eslint-disable no-magic-numbers */\nimport React, {\n type MutableRefObject,\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef\n} from 'react';\n\ntype ItemRef = MutableRefObject<HTMLElement | undefined>;\n\ntype RovingFocusContextType = {\n itemEffector: <T extends HTMLElement>(ref: MutableRefObject<T | null>, index: number) => () => void;\n};\n\nconst RovingFocusContext = createContext<RovingFocusContextType>({\n itemEffector: () => {\n // This will be implemented when using in <RovingFocusProvider>.\n throw new Error('botframework-webchat-fluent-theme rovingFocus: no provider for RovingFocusContext.');\n }\n});\n\nfunction RovingFocusProvider(\n props: Readonly<{\n children?: React.ReactNode | undefined;\n direction?: 'vertical' | 'horizontal' | undefined;\n onEscapeKey?: () => void;\n }>\n) {\n const activeItemIndexRef = useRef(0);\n const itemRefsRef = useRef<ItemRef[]>([]);\n\n const updateItemTabIndex = useCallback(\n ({ current }: ItemRef, index: number) =>\n current && (current.tabIndex = activeItemIndexRef.current === index ? 0 : -1),\n [activeItemIndexRef]\n );\n\n const setActiveItemIndex = useCallback(\n (valueOrFunction: number | ((value: number) => number)) => {\n // All calls to this function is expected to be under event handlers (post-rendering).\n let nextActiveItemIndex;\n\n if (typeof valueOrFunction === 'number') {\n nextActiveItemIndex = valueOrFunction;\n } else {\n nextActiveItemIndex = valueOrFunction(activeItemIndexRef.current);\n }\n\n // If the index points to no item, fallback to the first item.\n // This makes sure at least one of the item in the container is selected.\n if (nextActiveItemIndex && !itemRefsRef.current.at(nextActiveItemIndex)?.current) {\n nextActiveItemIndex = 0;\n }\n\n if (activeItemIndexRef.current !== nextActiveItemIndex) {\n activeItemIndexRef.current = nextActiveItemIndex;\n\n itemRefsRef.current.forEach((ref, index) => updateItemTabIndex(ref, index));\n itemRefsRef.current.at(nextActiveItemIndex)?.current?.focus();\n }\n },\n [updateItemTabIndex, itemRefsRef, activeItemIndexRef]\n );\n\n const handleFocus = useCallback(\n event => {\n const { target } = event;\n\n const index = itemRefsRef.current.findIndex(({ current }) => current === target);\n\n // prevent focusing the last element, if we didn't found the element focused\n if (index !== -1) {\n setActiveItemIndex(index);\n }\n },\n [itemRefsRef, setActiveItemIndex]\n );\n\n const handleSetNextActive = useCallback(\n (key: string) =>\n (currentIndex: number): number => {\n const isUnidirectional = !props.direction;\n const isVerticalMove = /up|down/iu.test(key) && props.direction === 'vertical';\n const isHorizontalMove = /left|right/iu.test(key) && props.direction === 'horizontal';\n const isForwardMove = /right|down/iu.test(key);\n const direction = isUnidirectional || isVerticalMove || isHorizontalMove ? (isForwardMove ? 1 : -1) : 0;\n // The `itemRefsRef` array could be a sparse array.\n // Thus, the next item may not be immediately next to the current one.\n const itemIndices = itemRefsRef.current.map((_, index) => index);\n const nextIndex = itemIndices.indexOf(currentIndex) + direction;\n\n return itemIndices.at(nextIndex) ?? 0;\n },\n [props.direction]\n );\n\n const handleKeyDown = useCallback<(event: KeyboardEvent) => void>(\n event => {\n const { key } = event;\n\n switch (key) {\n case 'Up':\n case 'ArrowUp':\n case 'Left':\n case 'ArrowLeft':\n case 'Down':\n case 'ArrowDown':\n case 'Right':\n case 'ArrowRight':\n setActiveItemIndex(handleSetNextActive(key));\n break;\n\n case 'Home':\n setActiveItemIndex(0);\n break;\n\n case 'End':\n setActiveItemIndex(-1);\n break;\n\n case 'Escape':\n props.onEscapeKey?.();\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n },\n [setActiveItemIndex, handleSetNextActive, props]\n );\n\n const itemEffector = useCallback(\n (ref, index) => {\n const { current } = ref;\n\n itemRefsRef.current[Number(index)] = ref;\n\n current.addEventListener('focus', handleFocus);\n current.addEventListener('keydown', handleKeyDown);\n\n updateItemTabIndex(ref, index);\n\n return () => {\n current.removeEventListener('focus', handleFocus);\n current.removeEventListener('keydown', handleKeyDown);\n\n delete itemRefsRef.current[Number(index)];\n };\n },\n [handleFocus, handleKeyDown, updateItemTabIndex, itemRefsRef]\n );\n\n const value = useMemo<RovingFocusContextType>(\n () => ({\n itemEffector\n }),\n [itemEffector]\n );\n\n return <RovingFocusContext.Provider value={value}>{props.children}</RovingFocusContext.Provider>;\n}\n\nexport function useRovingFocusItemRef<T extends HTMLElement>(itemIndex: number): MutableRefObject<T | null> {\n const ref = useRef<T>(null);\n\n const { itemEffector } = useContext(RovingFocusContext);\n\n useEffect(() => itemEffector(ref, itemIndex));\n\n return ref;\n}\n\nexport default memo(RovingFocusProvider);\n","import { hooks } from 'botframework-webchat-component';\nimport { type DirectLineCardAction } from 'botframework-webchat-core';\nimport cx from 'classnames';\nimport React, { MouseEventHandler, memo, useCallback } from 'react';\n\nimport { useStyles } from '../../styles';\nimport testIds from '../../testIds';\nimport AccessibleButton from './AccessibleButton';\nimport { useRovingFocusItemRef } from './private/rovingFocus';\nimport styles from './SuggestedAction.module.css';\n\nconst { useFocus, usePerformCardAction, useScrollToEnd, useStyleSet, useSuggestedActions, useUIState } = hooks;\n\ntype SuggestedActionProps = Readonly<{\n buttonText: string | undefined;\n className?: string | undefined;\n displayText?: string | undefined;\n image?: string | undefined;\n imageAlt?: string | undefined;\n itemIndex: number;\n text?: string | undefined;\n type?:\n | 'call'\n | 'downloadFile'\n | 'imBack'\n | 'messageBack'\n | 'openUrl'\n | 'playAudio'\n | 'playVideo'\n | 'postBack'\n | 'showImage'\n | 'signin';\n value?: any;\n}>;\n\nfunction SuggestedAction({\n buttonText,\n className,\n displayText,\n image,\n imageAlt,\n itemIndex,\n text,\n type,\n value\n}: SuggestedActionProps) {\n const [_, setSuggestedActions] = useSuggestedActions();\n const [{ suggestedAction: suggestedActionStyleSet }] = useStyleSet();\n const [uiState] = useUIState();\n const focus = useFocus();\n const focusRef = useRovingFocusItemRef<HTMLButtonElement>(itemIndex);\n const performCardAction = usePerformCardAction();\n const classNames = useStyles(styles);\n const scrollToEnd = useScrollToEnd();\n\n const handleClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n ({ target }) => {\n (async function () {\n // We need to focus to the send box before we are performing this card action.\n // The will make sure the focus is always on Web Chat.\n // Otherwise, the focus may momentarily send to `document.body` and screen reader will be confused.\n await focus('sendBoxWithoutKeyboard');\n\n // TODO: [P3] #XXX We should not destruct DirectLineCardAction into React props and pass them in. It makes typings difficult.\n // Instead, we should pass a \"cardAction\" props.\n performCardAction({ displayText, text, type, value } as DirectLineCardAction, { target });\n\n // Since \"openUrl\" action do not submit, the suggested action buttons do not hide after click.\n type === 'openUrl' && setSuggestedActions([]);\n\n scrollToEnd();\n })();\n },\n [displayText, focus, performCardAction, scrollToEnd, setSuggestedActions, text, type, value]\n );\n\n return (\n <AccessibleButton\n className={cx(classNames['suggested-action'], suggestedActionStyleSet + '', (className || '') + '')}\n data-testid={testIds.sendBoxSuggestedAction}\n disabled={uiState === 'disabled'}\n onClick={handleClick}\n ref={focusRef}\n type=\"button\"\n >\n {image && <img alt={imageAlt} className={classNames['suggested-action__image']} src={image} />}\n <span>{buttonText}</span>\n </AccessibleButton>\n );\n}\n\nexport default memo(SuggestedAction);\n","import React, { MouseEventHandler, ReactNode, forwardRef, memo, useRef } from 'react';\n\nconst preventDefaultHandler: MouseEventHandler<HTMLButtonElement> = event => event.preventDefault();\n\ntype AccessibleButtonProps = Readonly<{\n 'aria-hidden'?: boolean | undefined;\n 'data-testid'?: string | undefined;\n children?: ReactNode | undefined;\n className?: string | undefined;\n disabled?: boolean | undefined;\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n tabIndex?: number | undefined;\n type: 'button';\n}>;\n\n// Differences between <button> and <AccessibleButton>:\n// - Disable behavior\n// - When the widget is disabled\n// - Set \"aria-disabled\" attribute to \"true\"\n// - Set \"readonly\" attribute\n// - Set \"tabIndex\" to -1\n// - Remove \"onClick\" handler\n// - Why this is needed\n// - Browser compatibility: when the widget is disabled, different browser send focus to different places\n// - When the widget become disabled, it's reasonable to keep the focus on the same widget for an extended period of time\n// - When the user presses TAB after the current widget is disabled, it should jump to the next non-disabled widget\n\n// Developers using this accessible widget will need to:\n// - Style the disabled widget themselves, using CSS query `:disabled, [aria-disabled=\"true\"] {}`\n// - Modify all code that check disabled through \"disabled\" attribute to use aria-disabled=\"true\" instead\n// - aria-disabled=\"true\" is the source of truth\n// - If the widget is contained by a <form>, the developer need to filter out some `onSubmit` event caused by this widget\n\nconst AccessibleButton = forwardRef<HTMLButtonElement, AccessibleButtonProps>(\n (\n { 'aria-hidden': ariaHidden, children, className, 'data-testid': dataTestId, disabled, onClick, tabIndex },\n forwardedRef\n ) => {\n const targetRef = useRef<HTMLButtonElement>(null);\n\n const ref = forwardedRef || targetRef;\n\n return (\n <button\n aria-disabled={disabled ? 'true' : undefined}\n aria-hidden={ariaHidden}\n className={className}\n data-testid={dataTestId}\n onClick={disabled ? preventDefaultHandler : onClick}\n ref={ref}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : tabIndex}\n type=\"button\"\n >\n {children}\n </button>\n );\n }\n);\n\nexport default memo(AccessibleButton);\n",":global(.webchat-fluent) .suggested-action {\n align-items: center;\n background: transparent;\n border-radius: var(--webchat-borderRadiusXLarge);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorBrandStroke2);\n color: currentColor;\n cursor: pointer;\n display: flex;\n font-family: var(--webchat__font--primary);\n font-size: var(--webchat-fontSizeBase200);\n gap: var(--webchat-spacingHorizontalXS);\n padding: var(--webchat-spacingVerticalXS) var(--webchat-spacingHorizontalS);\n text-align: start;\n transition: all var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n\n @media (hover: hover) {\n &:not([aria-disabled='true']):hover {\n background-color: var(--webchat-colorBrandBackground2Hover);\n color: var(--webchat-colorBrandForeground2Hover);\n }\n }\n &:not([aria-disabled='true']):active {\n background-color: var(--webchat-colorBrandBackground2Pressed);\n color: var(--webchat-colorBrandForeground2Pressed);\n }\n &[aria-disabled='true'] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n cursor: not-allowed;\n }\n}\n\n:global(.webchat-fluent) .suggested-action__image {\n font-size: var(--webchat-fontSizeBase200);\n height: 1em;\n width: 1em;\n}\n",":global(.webchat-fluent) .suggested-actions {\n align-items: flex-end;\n align-self: flex-end;\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:not(:empty) {\n padding-block-end: 8px;\n padding-inline-start: 4px;\n }\n\n &.suggested-actions--flow {\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n }\n\n &.suggested-actions--stacked {\n flex-direction: column;\n }\n}\n","import React, { memo, useMemo, useState, type ReactNode } from 'react';\n\nimport Context from './private/Context';\n\ntype Props = Readonly<{ children?: ReactNode | undefined }>;\n\nconst Provider = memo(({ children }: Props) => {\n const [shown, setShown] = useState(false);\n\n const context = useMemo(\n () =>\n Object.freeze({\n setShown,\n shown\n }),\n [setShown, shown]\n );\n\n return <Context.Provider value={context}>{children}</Context.Provider>;\n});\n\nexport default Provider;\n","import { createContext, type Dispatch, type SetStateAction } from 'react';\n\ntype ContextType = Readonly<{\n setShown: Dispatch<SetStateAction<boolean>>;\n shown: boolean;\n}>;\n\nconst Context = createContext<ContextType>(\n new Proxy({} as ContextType, {\n get() {\n throw new Error('botframework-webchat: This hook can only used under its corresponding <Provider>.');\n }\n })\n);\n\nContext.displayName = 'TelephoneKeypad.Context';\n\nexport default Context;\n","import React, { memo } from 'react';\n\nimport type { PropsOf } from '../../types';\nimport TelephoneKeypad from './private/TelephoneKeypad';\nimport useShown from './useShown';\n\ntype Props = PropsOf<typeof TelephoneKeypad>;\n\nconst TelephoneKeypadSurrogate = memo((props: Props) => (useShown()[0] ? <TelephoneKeypad {...props} /> : null));\n\nTelephoneKeypadSurrogate.displayName = 'TelephoneKeypad.Surrogate';\n\nexport default TelephoneKeypadSurrogate;\n","import { Components } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo, useCallback, useEffect, useRef, type KeyboardEventHandler, type ReactNode } from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\nimport Button from './Button';\n// import HorizontalDialPadController from './HorizontalDialPadController';\nimport testIds from '../../../testIds';\nimport { type DTMF } from '../types';\nimport useShown from '../useShown';\nimport styles from './TelephoneKeypad.module.css';\nimport { useStyles } from '../../../styles';\nimport { InfoSmallIcon } from '../../../icons';\n\nconst { LocalizedString } = Components;\n\ntype Props = Readonly<{\n autoFocus?: boolean | undefined;\n className?: string | undefined;\n isHorizontal: boolean;\n onButtonClick: (button: DTMF) => void;\n}>;\n\nconst Orientation = memo(\n ({ children, isHorizontal }: Readonly<{ children?: ReactNode | undefined; isHorizontal: boolean }>) => {\n const classNames = useStyles(styles);\n\n return isHorizontal ? null : ( // <HorizontalDialPadController>{children}</HorizontalDialPadController>\n <div className={classNames['telephone-keypad__box']}>{children}</div>\n );\n }\n);\n\nOrientation.displayName = 'TelephoneKeypad:Orientation';\n\nconst TelephoneKeypad = memo(({ autoFocus, className, onButtonClick, isHorizontal }: Props) => {\n const autoFocusRef = useRefFrom(autoFocus);\n const classNames = useStyles(styles);\n const firstButtonRef = useRef<HTMLButtonElement>(null);\n const onButtonClickRef = useRefFrom(onButtonClick);\n const [, setShown] = useShown();\n\n const handleButton1Click = useCallback(() => onButtonClickRef.current?.('1'), [onButtonClickRef]);\n const handleButton2Click = useCallback(() => onButtonClickRef.current?.('2'), [onButtonClickRef]);\n const handleButton3Click = useCallback(() => onButtonClickRef.current?.('3'), [onButtonClickRef]);\n const handleButton4Click = useCallback(() => onButtonClickRef.current?.('4'), [onButtonClickRef]);\n const handleButton5Click = useCallback(() => onButtonClickRef.current?.('5'), [onButtonClickRef]);\n const handleButton6Click = useCallback(() => onButtonClickRef.current?.('6'), [onButtonClickRef]);\n const handleButton7Click = useCallback(() => onButtonClickRef.current?.('7'), [onButtonClickRef]);\n const handleButton8Click = useCallback(() => onButtonClickRef.current?.('8'), [onButtonClickRef]);\n const handleButton9Click = useCallback(() => onButtonClickRef.current?.('9'), [onButtonClickRef]);\n const handleButton0Click = useCallback(() => onButtonClickRef.current?.('0'), [onButtonClickRef]);\n const handleButtonStarClick = useCallback(() => onButtonClickRef.current?.('*'), [onButtonClickRef]);\n const handleButtonPoundClick = useCallback(() => onButtonClickRef.current?.('#'), [onButtonClickRef]);\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLDivElement>>(\n event => {\n if (event.key === 'Escape') {\n // TODO: Should send focus to the send box.\n setShown(false);\n }\n },\n [setShown]\n );\n\n useEffect(() => {\n autoFocusRef.current && firstButtonRef.current?.focus();\n }, [autoFocusRef, firstButtonRef]);\n\n return (\n <div className={cx(classNames['telephone-keypad'], className)} onKeyDown={handleKeyDown}>\n <Orientation isHorizontal={isHorizontal}>\n <Button\n button=\"1\"\n data-testid={testIds.sendBoxTelephoneKeypadButton1}\n onClick={handleButton1Click}\n ref={firstButtonRef}\n />\n <Button\n button=\"2\"\n data-testid={testIds.sendBoxTelephoneKeypadButton2}\n onClick={handleButton2Click}\n ruby=\"ABC\"\n />\n <Button\n button=\"3\"\n data-testid={testIds.sendBoxTelephoneKeypadButton3}\n onClick={handleButton3Click}\n ruby=\"DEF\"\n />\n <Button\n button=\"4\"\n data-testid={testIds.sendBoxTelephoneKeypadButton4}\n onClick={handleButton4Click}\n ruby=\"GHI\"\n />\n <Button\n button=\"5\"\n data-testid={testIds.sendBoxTelephoneKeypadButton5}\n onClick={handleButton5Click}\n ruby=\"JKL\"\n />\n <Button\n button=\"6\"\n data-testid={testIds.sendBoxTelephoneKeypadButton6}\n onClick={handleButton6Click}\n ruby=\"MNO\"\n />\n <Button\n button=\"7\"\n data-testid={testIds.sendBoxTelephoneKeypadButton7}\n onClick={handleButton7Click}\n ruby=\"PQRS\"\n />\n <Button\n button=\"8\"\n data-testid={testIds.sendBoxTelephoneKeypadButton8}\n onClick={handleButton8Click}\n ruby=\"TUV\"\n />\n <Button\n button=\"9\"\n data-testid={testIds.sendBoxTelephoneKeypadButton9}\n onClick={handleButton9Click}\n ruby=\"WXYZ\"\n />\n <Button button=\"*\" data-testid={testIds.sendBoxTelephoneKeypadButtonStar} onClick={handleButtonStarClick} />\n <Button button=\"0\" data-testid={testIds.sendBoxTelephoneKeypadButton0} onClick={handleButton0Click} ruby=\"+\" />\n <Button button=\"#\" data-testid={testIds.sendBoxTelephoneKeypadButtonPound} onClick={handleButtonPoundClick} />\n </Orientation>\n <div className={classNames['telephone-keypad__info-message']}>\n <InfoSmallIcon />\n <LocalizedString\n linkClassName={classNames['telephone-keypad__info-message-link']}\n stringIds=\"TELEPHONE_KEYPAD_INPUT_MESSAGE\"\n />\n </div>\n </div>\n );\n});\n\nTelephoneKeypad.displayName = 'TelephoneKeypad';\n\nexport default TelephoneKeypad;\n","import React, { forwardRef, memo, useCallback, type Ref } from 'react';\n\nimport { useRefFrom } from 'use-ref-from';\n\nimport { type DTMF } from '../types';\n\nimport styles from './Button.module.css';\nimport { useStyles } from '../../../styles';\n\ntype Props = Readonly<{\n button: DTMF;\n ['data-testid']?: string | undefined;\n onClick?: (() => void) | undefined;\n ruby?: string | undefined;\n}>;\n\nconst Button = memo(\n forwardRef(({ button, 'data-testid': dataTestId, onClick, ruby }: Props, ref: Ref<HTMLButtonElement>) => {\n const classNames = useStyles(styles);\n const onClickRef = useRefFrom(onClick);\n\n const handleClick = useCallback(() => onClickRef.current?.(), [onClickRef]);\n\n return (\n <button\n className={classNames['telephone-keypad__button']}\n data-testid={dataTestId}\n onClick={handleClick}\n ref={ref}\n type=\"button\"\n >\n <span className={classNames['telephone-keypad__button__text']}>{button === '*' ? '\\u2217' : button}</span>\n {!!ruby && <ruby className={classNames['telephone-keypad__button__ruby']}>{ruby}</ruby>}\n </button>\n );\n })\n);\n\nButton.displayName = 'TelephoneKeypad.Button';\n\nexport default Button;\n",":global(.webchat-fluent) .telephone-keypad__button {\n -webkit-user-select: none;\n align-items: center;\n appearance: none;\n /* backgroundColor: isDarkTheme() || isHighContrastTheme() ? black : white, */\n background-color: White;\n border-radius: 100%;\n\n /* Whitelabel styles */\n /* border: `solid 1px ${isHighContrastTheme() ? white : isDarkTheme() ? gray160 : gray40}`, */\n /* color: inherit; */\n\n border: solid 1px var(--webchat-colorNeutralStroke1);\n color: var(--webchat-colorGray200);\n font-weight: var(--webchat-fontWeightSemibold);\n\n cursor: pointer;\n display: flex;\n flex-direction: column;\n height: 60px;\n opacity: 0.7;\n padding: 0;\n position: relative;\n touch-action: none;\n user-select: none;\n width: 60px;\n\n &:hover {\n /* backgroundColor: isHighContrastTheme() ? gray210 : isDarkTheme() ? gray150 : gray30 */\n background-color: var(--webchat-colorGray30);\n }\n}\n\n:global(.webchat-fluent) .telephone-keypad__button__ruby {\n /* color: isHighContrastTheme() ? white : isDarkTheme() ? gray40 : gray160, */\n color: var(--webchat-colorGray190);\n font-size: 10px;\n}\n\n:global(.webchat-fluent) .telephone-keypad__button__text {\n font-size: 24px;\n margin-top: 8px;\n}\n\n:global(.webchat-fluent) .telephone-keypad--horizontal {\n & .telephone-keypad__button {\n height: 32px;\n justify-content: center;\n margin: 8px 4px;\n width: 32px;\n }\n\n .telephone-keypad__button__ruby {\n display: none;\n }\n\n & .telephone-keypad__button__text {\n font-size: 20px;\n margin-top: 0;\n }\n}\n","import { useContext, useMemo, type Dispatch, type SetStateAction } from 'react';\n\nimport Context from './private/Context';\n\nexport default function useShown(): readonly [boolean, Dispatch<SetStateAction<boolean>>] {\n const { setShown, shown } = useContext(Context);\n\n return useMemo(() => Object.freeze([shown, setShown]), [shown, setShown]);\n}\n",":global(.webchat-fluent) .telephone-keypad {\n /* Commented out whitelabel styles for now. */\n /* background: getHighContrastDarkThemeColor(highContrastColor: black, darkThemeColor: gray190, string, defaultColor: gray10), */\n /* borderRadius: '8px 8px 0px 0px; */\n /* boxShadow: '-3px 0px 7px 0px rgba(0, 0, 0, 0.13), -0.6px 0px 1.8px 0px rgba(0, 0, 0, 0.10)', */\n\n align-items: center;\n background: var(--webchat-colorNeutralBackground1);\n /* border: isHighContrastTheme() ? `1px solid ${white}` : none; */\n border: none;\n border-radius: var(--webchat-borderRadiusXLarge);\n /* boxShadow: var(--shadow16); */\n display: flex;\n flex-direction: column;\n font-family: var(--webchat-fontFamilyBase);\n justify-content: center;\n /* margin: var(--spacingHorizontalMNudge)' */\n}\n\n:global(.webchat-fluent) .telephone-keypad__box {\n box-sizing: border-box;\n display: grid;\n gap: 16px;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(4, 1fr);\n justify-items: center;\n padding: 16px;\n width: 100%;\n}\n\n:global(.webchat-fluent) .telephone-keypad__info-message {\n align-items: center;\n color: var(--webchat-colorNeutralForeground4);\n display: flex;\n font-size: 12px;\n gap: 6px;\n margin-block-end: 6px;\n}\n\n:global(.webchat-fluent) .telephone-keypad__info-message-link {\n color: var(--webchat-colorBrandForegroundLink);\n text-decoration-color: transparent;\n\n &:target {\n color: var(--webchat-colorBrandForegroundLinkSelected);\n }\n &:hover {\n color: var(--webchat-colorBrandForegroundLinkHover);\n text-decoration: underline 1px currentColor;\n }\n &:active {\n color: var(--webchat-colorBrandForegroundLinkPressed);\n }\n &:focus-visible {\n outline: none;\n text-decoration: underline 1px double var(--webchat-colorStrokeFocus2);\n }\n}\n","import { hooks } from 'botframework-webchat-component';\nimport React, { useCallback, useRef, type ChangeEventHandler, memo } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { AttachmentIcon } from '../../icons';\nimport testIds from '../../testIds';\nimport { ToolbarButton } from './Toolbar';\nimport styles from './AddAttachmentButton.module.css';\nimport { useStyles } from '../../styles';\n\nconst { useLocalizer, useStyleOptions } = hooks;\n\nfunction AddAttachmentButton(\n props: Readonly<{\n disabled?: boolean | undefined;\n onFilesAdded: ((files: File[]) => void) | undefined;\n }>\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const [{ uploadAccept, uploadMultiple }] = useStyleOptions();\n const onFilesAddedRef = useRefFrom(props.onFilesAdded);\n\n const handleClick = useCallback(() => inputRef.current?.click(), [inputRef]);\n\n const handleFileChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n ({ target: { files } }) => {\n if (files) {\n onFilesAddedRef.current?.([...files]);\n\n if (inputRef.current) {\n inputRef.current.value = '';\n }\n }\n },\n [inputRef, onFilesAddedRef]\n );\n\n return (\n <div className={classNames['sendbox__add-attachment']}>\n <input\n accept={uploadAccept}\n aria-disabled={props.disabled}\n aria-hidden=\"true\"\n className={classNames['sendbox__add-attachment-input']}\n multiple={uploadMultiple}\n onInput={props.disabled ? undefined : handleFileChange}\n readOnly={props.disabled}\n ref={inputRef}\n role=\"button\"\n tabIndex={-1}\n type=\"file\"\n />\n <ToolbarButton\n aria-label={localize('TEXT_INPUT_UPLOAD_BUTTON_ALT')}\n data-testid={testIds.sendBoxUploadButton}\n onClick={handleClick}\n >\n <AttachmentIcon />\n </ToolbarButton>\n </div>\n );\n}\n\nexport default memo(AddAttachmentButton);\n","import { hooks } from 'botframework-webchat-api';\nimport cx from 'classnames';\nimport React, { memo, type MouseEventHandler, type ReactNode } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './Toolbar.module.css';\n\nconst { useUIState } = hooks;\n\nconst preventDefaultHandler: MouseEventHandler<HTMLButtonElement> = event => event.preventDefault();\n\nexport const ToolbarButton = memo(\n (\n props: Readonly<{\n 'aria-label'?: string | undefined;\n children?: ReactNode | undefined;\n className?: string | undefined;\n 'data-testid'?: string | undefined;\n disabled?: boolean | undefined;\n onClick?: MouseEventHandler<HTMLButtonElement> | undefined;\n selected?: boolean | undefined;\n type?: 'button' | 'submit' | undefined;\n }>\n ) => {\n const classNames = useStyles(styles);\n const [uiState] = useUIState();\n\n const disabled = props.disabled || uiState === 'disabled';\n\n return (\n <button\n aria-disabled={disabled ? 'true' : undefined}\n aria-label={props['aria-label']}\n className={cx(classNames['sendbox__toolbar-button'], props.className, {\n [classNames['sendbox__toolbar-button--selected']]: props.selected\n })}\n data-testid={props['data-testid']}\n onClick={disabled ? preventDefaultHandler : props.onClick}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : undefined}\n type={props.type === 'submit' ? 'submit' : 'button'}\n >\n {props.children}\n </button>\n );\n }\n);\n\nToolbarButton.displayName = 'ToolbarButton';\n\nexport const Toolbar = memo((props: Readonly<{ children?: ReactNode | undefined; className?: string | undefined }>) => {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n\n return (\n <div className={cx(classNames['sendbox__toolbar'], props.className)}>\n {uiState !== 'blueprint' && props.children}\n </div>\n );\n});\n\nToolbar.displayName = 'Toolbar';\n\nexport const ToolbarSeparator = memo(\n (props: Readonly<{ children?: ReactNode | undefined; className?: string | undefined }>) => {\n const classNames = useStyles(styles);\n\n return (\n <div\n aria-orientation=\"vertical\"\n className={cx(classNames['sendbox__toolbar-separator'], props.className)}\n role=\"separator\"\n />\n );\n }\n);\n\nToolbarSeparator.displayName = 'ToolbarSeparator';\n",":global(.webchat-fluent) .sendbox__toolbar {\n --webchat__sendbox-button-height: 32px;\n\n display: flex;\n gap: 4px;\n height: var(--webchat__sendbox-button-height);\n margin-inline-start: auto;\n}\n\n:global(.webchat-fluent) .sendbox__toolbar-button {\n align-items: center;\n appearance: none;\n aspect-ratio: 1;\n background: transparent;\n border-radius: var(--webchat-borderRadiusSmall);\n border: none;\n color: currentColor;\n cursor: pointer;\n display: flex;\n height: var(--webchat__sendbox-button-height);\n justify-content: center;\n padding: 3px;\n\n > svg {\n font-size: 20px;\n pointer-events: none;\n }\n\n &.sendbox__toolbar-button--selected {\n color: var(--webchat-colorNeutralForeground2BrandSelected);\n }\n\n @media (hover: hover) {\n &:not([aria-disabled='true']):hover {\n color: var(--webchat-colorNeutralForeground2BrandHover);\n }\n }\n\n &:not([aria-disabled='true']):active {\n color: var(--webchat-colorNeutralForeground2BrandPressed);\n }\n\n &[aria-disabled='true'] {\n color: var(--webchat-colorNeutralForegroundDisabled);\n cursor: not-allowed;\n }\n}\n\n:global(.webchat-fluent) .sendbox__toolbar-separator {\n align-self: center;\n border-inline-end: 1px solid var(--webchat-colorNeutralStroke2);\n height: 28px;\n\n &:first-child,\n &:last-child,\n &:only-child {\n display: none;\n }\n}\n",":global(.webchat-fluent) .sendbox__add-attachment {\n display: grid;\n}\n\n:global(.webchat-fluent) .sendbox__add-attachment-input {\n font-size: 0;\n height: 0;\n opacity: 0;\n width: 1px; /* iOS Safari does not honor 0px for the width. */\n}\n","import { hooks } from 'botframework-webchat-component';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './Attachments.module.css';\n\nconst { useLocalizer, useUIState } = hooks;\n\nconst attachmentsPluralStringIds = {\n one: 'TEXT_INPUT_ATTACHMENTS_ONE',\n two: 'TEXT_INPUT_ATTACHMENTS_TWO',\n few: 'TEXT_INPUT_ATTACHMENTS_FEW',\n many: 'TEXT_INPUT_ATTACHMENTS_MANY',\n other: 'TEXT_INPUT_ATTACHMENTS_OTHER'\n};\n\nfunction Attachments({\n attachments,\n className\n}: Readonly<{\n readonly attachments: readonly Readonly<{ blob: Blob | File; thumbnailURL?: URL | undefined }>[];\n readonly className?: string | undefined;\n}>) {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n const localizeWithPlural = useLocalizer({ plural: true });\n\n return uiState !== 'blueprint' && attachments.length ? (\n <div className={cx(classNames['sendbox__attachment'], className)}>\n {localizeWithPlural(attachmentsPluralStringIds, attachments.length)}\n </div>\n ) : null;\n}\n\nexport default memo(Attachments);\n",":global(.webchat-fluent) .sendbox__attachment {\n border-radius: var(--webchat-borderRadiusLarge);\n border: 1px solid var(--webchat-colorNeutralStroke1);\n cursor: default;\n padding: 6px 8px;\n width: fit-content;\n}\n","import { useLiveRegion } from 'botframework-webchat-component/internal';\nimport React, { memo } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './ErrorMessage.module.css';\n\ntype ErrorMessageProps = Readonly<{\n error?: string | undefined;\n id: string;\n}>;\n\nfunction ErrorMessage({ error, id }: ErrorMessageProps) {\n const classNames = useStyles(styles);\n\n useLiveRegion(() => error && <div className=\"sendbox__error-message__status\">{error}</div>, [error]);\n\n return (\n // eslint-disable-next-line react/forbid-dom-props\n <span className={classNames['sendbox__error-message']} id={id}>\n {error}\n </span>\n );\n}\n\nErrorMessage.displayName = 'ErrorMessage';\n\nexport default memo(ErrorMessage);\n",":global(.webchat-fluent) .sendbox__error-message {\n color: transparent;\n font-size: 0;\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n width: 0;\n}\n","import { hooks } from 'botframework-webchat-component';\nimport { useCallback, useMemo, useState } from 'react';\nimport { useRefFrom } from 'use-ref-from';\n\nconst { useConnectivityStatus, useLocalizer } = hooks;\n\ntype ErrorMessageStringMap = ReadonlyMap<SendError, string>;\n\ntype SendError = 'empty' | 'offline';\n\nconst useSubmitError = ({\n attachments,\n message\n}: Readonly<{\n attachments: readonly Readonly<{ blob: Blob | File; thumbnailURL?: URL | undefined }>[];\n message: string;\n}>) => {\n const [connectivityStatus] = useConnectivityStatus();\n const [error, setError] = useState<SendError | undefined>();\n const localize = useLocalizer();\n\n const submitErrorRef = useRefFrom<'empty' | 'offline' | undefined>(\n connectivityStatus !== 'connected' && connectivityStatus !== 'reconnected'\n ? 'offline'\n : !message && !attachments.length\n ? 'empty'\n : undefined\n );\n\n const errorMessageStringMap = useMemo<ErrorMessageStringMap>(\n () =>\n Object.freeze(\n new Map<SendError, string>()\n .set('empty', localize('SEND_BOX_IS_EMPTY_TOOLTIP_ALT'))\n // TODO: [P0] We should add a new string for \"Cannot send message while offline.\"\n .set('offline', localize('CONNECTIVITY_STATUS_ALT_FATAL'))\n ),\n [localize]\n );\n\n // TODO: we may want to improve this later e.g. to avoid re-render\n // Reset visible error if there is a value\n const hasValue = !!message?.trim();\n if (error === 'empty' && hasValue) {\n setError(undefined);\n }\n\n const commitLatestError = useCallback(() => {\n setError(submitErrorRef.current);\n return submitErrorRef.current;\n }, [submitErrorRef]);\n\n return useMemo<Readonly<[string | undefined, () => typeof submitErrorRef.current]>>(\n () => Object.freeze([error && errorMessageStringMap.get(error), commitLatestError]),\n [error, errorMessageStringMap, commitLatestError]\n );\n};\n\nexport default useSubmitError;\n","import { useCallback, type KeyboardEvent } from 'react';\nimport { hooks } from 'botframework-webchat-component';\n\nconst { useScrollDown, useScrollUp } = hooks;\n\nexport default function useTranscriptNavigation() {\n const scrollDown = useScrollDown();\n const scrollUp = useScrollUp();\n\n return useCallback(\n (event: KeyboardEvent<unknown>) => {\n if (event.target instanceof HTMLTextAreaElement && event.target.value) {\n return;\n }\n\n const { ctrlKey, metaKey, shiftKey } = event;\n\n if (ctrlKey || metaKey || shiftKey) {\n return;\n }\n\n let handled = true;\n\n switch (event.key) {\n case 'End':\n scrollDown({ displacement: Infinity });\n break;\n\n case 'Home':\n scrollUp({ displacement: Infinity });\n break;\n\n case 'PageDown':\n scrollDown();\n break;\n\n case 'PageUp':\n scrollUp();\n break;\n\n default:\n handled = false;\n break;\n }\n\n if (handled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [scrollDown, scrollUp]\n );\n}\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport { useMemo } from 'react';\n// TODO: fix math-random fails to import crypto\n// import random from 'math-random';\n\nexport default function useUniqueId(prefix?: string): string {\n const id = useMemo(() => Math.random().toString(36).substr(2, 5), []);\n\n prefix = prefix ? `${prefix}--` : '';\n\n return `${prefix}${id}`;\n}\n",":global(.webchat-fluent) .sendbox {\n --webchat__sendbox--padding: var(--webchat__padding--sendbox);\n\n color: var(--webchat-colorNeutralForeground1);\n font-family: var(--webchat-fontFamilyBase);\n padding: var(--webchat__sendbox--padding);\n text-rendering: optimizeLegibility;\n\n --webchat-sendbox-attachment-area-active: ;\n --webchat-sendbox-border-radius: var(--webchat-borderRadiusLarge);\n}\n\n/* Copilot variant */\n:global(.webchat-fluent) .sendbox.variant-copilot {\n .sendbox__text-counter:not(.sendbox__text-counter--error) {\n visibility: hidden;\n }\n}\n\n:global(.webchat-fluent) .sendbox__sendbox {\n background-color: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-sendbox-border-radius);\n border: 1px solid var(--webchat-colorNeutralStroke1);\n display: grid;\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n gap: 6px;\n grid-template:\n [telephone-keypad-start] 'text-area' [telephone-keypad-end]\n var(--webchat-sendbox-attachment-area-active)\n 'controls' / [telephone-keypad] 1fr;\n line-height: 20px;\n padding: 8px;\n position: relative;\n\n &:has(.sendbox__attachment--in-grid) {\n --webchat-sendbox-attachment-area-active: 'attachment';\n }\n\n &:focus-within {\n border-color: var(--webchat-colorNeutralStroke1Selected);\n }\n\n &::after {\n border-bottom-left-radius: var(--webchat-sendbox-border-radius);\n border-bottom-right-radius: var(--webchat-sendbox-border-radius);\n border-bottom: var(--webchat-strokeWidthThicker) solid var(--webchat-colorCompoundBrandForeground1Hover);\n bottom: -1px;\n clip-path: inset(calc(100% - var(--webchat-strokeWidthThicker)) 50% 0 50%);\n content: '';\n height: var(--webchat-sendbox-border-radius);\n left: -1px;\n position: absolute;\n right: -1px;\n transition: clip-path var(--webchat-durationUltraFast) var(--webchat-curveAccelerateMid);\n }\n\n &:focus-within::after {\n clip-path: inset(calc(100% - var(--webchat-strokeWidthThicker)) 0 0 0);\n transition: clip-path var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n }\n\n > .sendbox__text-area--in-grid {\n grid-area: text-area;\n }\n\n > .sendbox__attachment--in-grid {\n grid-area: attachment;\n }\n\n > .sendbox__sendbox-controls--in-grid {\n grid-area: controls;\n }\n\n > .sendbox__telephone-keypad--in-grid {\n grid-area: telephone-keypad;\n }\n}\n\n:global(.webchat-fluent) .sendbox__sendbox-text {\n background-color: transparent;\n border: none;\n flex: auto;\n font-family: var(--webchat-fontFamilyBase);\n font-size: 14px;\n line-height: 20px;\n outline: none;\n padding: 4px 4px 0;\n resize: none;\n\n /* Prevent zoom on focus on iOS */\n @media only screen and (hover: none) and (pointer: coarse) {\n &:focus-within {\n font-size: 16px;\n }\n }\n}\n\n:global(.webchat-fluent) .sendbox__sendbox-controls {\n align-items: center;\n display: flex;\n padding-inline-start: 4px;\n}\n\n:global(.webchat-fluent) .sendbox__text-counter {\n color: var(--webchat-colorNeutralForeground4);\n cursor: default;\n font-family: var(--webchat-fontFamilyNumeric);\n font-size: 10px;\n line-height: 14px;\n margin-inline-end: 4px;\n}\n\n:global(.webchat-fluent) .sendbox__text-counter--error {\n color: var(--webchat-colorStatusDangerForeground1);\n}\n","import React, { memo, useCallback } from 'react';\n\nimport { hooks } from 'botframework-webchat-component';\nimport { TelephoneKeypadIcon } from '../../icons';\nimport testIds from '../../testIds';\nimport { useTelephoneKeypadShown } from '../telephoneKeypad';\nimport { ToolbarButton } from './Toolbar';\n\nconst { useLocalizer } = hooks;\n\nconst TelephoneKeypadToolbarButton = memo(() => {\n const [telephoneKeypadShown, setTelephoneKeypadShown] = useTelephoneKeypadShown();\n const localize = useLocalizer();\n\n const handleClick = useCallback(() => setTelephoneKeypadShown(shown => !shown), [setTelephoneKeypadShown]);\n\n return (\n <ToolbarButton\n aria-label={localize('TEXT_INPUT_TELEPHONE_KEYPAD_BUTTON_ALT')}\n data-testid={testIds.sendBoxTelephoneKeypadToolbarButton}\n onClick={handleClick}\n selected={telephoneKeypadShown}\n >\n <TelephoneKeypadIcon />\n </ToolbarButton>\n );\n});\n\nTelephoneKeypadToolbarButton.displayName = 'SendBox.TelephoneKeypadToolbarButton';\n\nexport default TelephoneKeypadToolbarButton;\n","import { hooks } from 'botframework-webchat-api';\nimport cx from 'classnames';\nimport React, { forwardRef, Fragment, useCallback, type FormEventHandler, type KeyboardEventHandler } from 'react';\nimport { useStyles } from '../../styles';\nimport styles from './TextArea.module.css';\n\nconst { useUIState } = hooks;\n\nconst TextArea = forwardRef<\n HTMLTextAreaElement,\n Readonly<{\n 'aria-label'?: string | undefined;\n className?: string | undefined;\n 'data-testid'?: string | undefined;\n\n /**\n * `true`, if the text area should be hidden but stay in the DOM, otherwise, `false`.\n *\n * Keeping the element in the DOM while making it invisible to users and PWDs is useful in these scenarios:\n *\n * - When the DTMF keypad is going away, we need to send focus to the text area before we unmount DTMF keypad,\n * This ensures the flow of focus did not sent to document body\n */\n hidden?: boolean | undefined;\n onInput?: FormEventHandler<HTMLTextAreaElement> | undefined;\n placeholder?: string | undefined;\n startRows?: number | undefined;\n value?: string | undefined;\n }>\n>((props, ref) => {\n const [uiState] = useUIState();\n const classNames = useStyles(styles);\n\n const disabled = uiState === 'disabled';\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLTextAreaElement>>(event => {\n // Shift+Enter adds a new line\n // Enter requests related form submission\n if (!event.shiftKey && event.key === 'Enter') {\n event.preventDefault();\n\n if ('form' in event.target && event.target.form instanceof HTMLFormElement) {\n event.target?.form?.requestSubmit();\n }\n }\n }, []);\n\n return (\n <div\n className={cx(\n classNames['sendbox__text-area'],\n { [classNames['sendbox__text-area--hidden']]: props.hidden },\n props.className\n )}\n role={props.hidden ? 'hidden' : undefined}\n >\n {uiState === 'blueprint' ? (\n <div\n className={cx(\n classNames['sendbox__text-area-doppelganger'],\n classNames['sendbox__text-area-input--scroll'],\n classNames['sendbox__text-area-shared']\n )}\n >\n {' '}\n </div>\n ) : (\n <Fragment>\n <div\n className={cx(\n classNames['sendbox__text-area-doppelganger'],\n classNames['sendbox__text-area-input--scroll'],\n classNames['sendbox__text-area-shared']\n )}\n >\n {props.value || props.placeholder}{' '}\n </div>\n <textarea\n aria-disabled={disabled}\n aria-label={props['aria-label']}\n className={cx(\n classNames['sendbox__text-area-input'],\n classNames['sendbox__text-area-input--scroll'],\n classNames['sendbox__text-area-shared']\n )}\n data-testid={props['data-testid']}\n onInput={props.onInput}\n onKeyDown={handleKeyDown}\n placeholder={props.placeholder}\n readOnly={disabled}\n ref={ref}\n rows={props.startRows ?? 1}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={props.hidden ? -1 : undefined}\n value={props.value}\n />\n </Fragment>\n )}\n </div>\n );\n});\n\nTextArea.displayName = 'TextArea';\n\nexport default TextArea;\n",":global(.webchat-fluent) .sendbox__text-area {\n display: grid;\n grid-template-areas: 'main';\n max-height: 200px;\n overflow: hidden;\n}\n\n:global(.webchat-fluent) .sendbox__text-area--hidden {\n /* TODO: Not perfect way of hiding the text box. */\n height: 0;\n visibility: collapse;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-shared {\n border: none;\n font: inherit;\n grid-area: main;\n outline: inherit;\n overflow-wrap: anywhere;\n resize: inherit;\n scrollbar-gutter: stable;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-doppelganger {\n overflow: hidden;\n visibility: hidden;\n white-space: pre-wrap;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-input {\n background-color: inherit;\n color: currentColor;\n height: 100%;\n padding: 0;\n}\n\n:global(.webchat-fluent) .sendbox__text-area-input--scroll {\n /* Edge uses -webkit-scrollbar if scrollbar-* is not set */\n scrollbar-color: unset;\n scrollbar-width: unset;\n /* Firefox */\n -moz-scrollbar-color: var(--webchat-colorNeutralBackground5) var(--webchat-colorNeutralForeground2);\n -moz-scrollbar-width: thin;\n\n /* Chrome, Edge, and Safari */\n &::-webkit-scrollbar {\n width: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background-color: var(--webchat-colorNeutralBackground5);\n border-radius: 16px;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: var(--webchat-colorNeutralForeground2);\n border-radius: 16px;\n }\n\n &::-webkit-scrollbar-corner {\n background-color: var(--webchat-colorNeutralBackground5);\n }\n}\n","import React, { type ReactNode } from 'react';\nimport cx from 'classnames';\nimport styles from './Theme.module.css';\nimport { useStyles, useVariantClassName } from '../../styles';\n\nexport const rootClassName = 'webchat-fluent';\n\nexport default function Theme(props: Readonly<{ readonly children: ReactNode | undefined }>) {\n const classNames = useStyles(styles);\n const variantClassName = useVariantClassName(styles);\n return <div className={cx(rootClassName, classNames['theme'], variantClassName)}>{props.children}</div>;\n}\n",":global {\n /* biome-ignore format: do not print each class on the new line */\n .a, .b, .c, .d, .e, .f, .g, .h, .i, .j, .k, .l, .m, .n, .o, .p, .q, .r, .s, .t, .v, .w, .u, .x, .y, .z,\n .A, .B, .C, .D, .E, .F, .G, .H, .I, .J, .K, .L, .M, .N, .O, .P, .Q, .R, .S, .T, .V, .W, .U, .X, .Y, .Z {\n /* esbuild considers empty global classes as used and removes them due to lack of rules */\n }\n}\n\n:global(.webchat-fluent).theme {\n display: contents;\n\n --webchat-colorNeutralForegroundDisabled: var(--colorNeutralForegroundDisabled, #bdbdbd);\n --webchat-colorNeutralForeground1: var(--colorNeutralForeground1, #242424);\n --webchat-colorNeutralForeground1Hover: var(--colorNeutralForeground1Hover, #242424);\n --webchat-colorNeutralForeground1Pressed: var(--colorNeutralForeground1Pressed, #242424);\n --webchat-colorNeutralForeground2: var(--colorNeutralForeground2, #424242);\n --webchat-colorNeutralForeground2BrandHover: var(--colorNeutralForeground2BrandHover, #02729c);\n --webchat-colorNeutralForeground2BrandPressed: var(--colorNeutralForeground2BrandPressed, #01678c);\n --webchat-colorNeutralForeground2BrandSelected: var(--colorNeutralForeground2BrandSelected, #067191);\n --webchat-colorNeutralForeground3: var(--colorNeutralForeground3, #616161);\n --webchat-colorNeutralForeground4: var(--colorNeutralForeground4, #707070);\n --webchat-colorNeutralForeground5: var(--colorNeutralForeground5, #7e7e7e);\n\n --webchat-colorNeutralBackgroundDisabled: var(--colorNeutralBackgroundDisabled, #f0f0f0);\n --webchat-colorNeutralBackground1: var(--colorNeutralBackground1, #ffffff);\n --webchat-colorNeutralBackground1Hover: var(--colorNeutralBackground1Hover, #f5f5f5);\n --webchat-colorNeutralBackground1Pressed: var(--colorNeutralBackground1Pressed, #e0e0e0);\n --webchat-colorNeutralBackground3: var(--colorNeutralBackground3, #f5f5f5);\n --webchat-colorNeutralBackground4: var(--colorNeutralBackground4, #f0f0f0);\n --webchat-colorNeutralBackground5: var(--colorNeutralBackground5, #ebebeb);\n --webchat-colorNeutralBackground6: var(--colorNeutralBackground6, #e6e6e6);\n\n --webchat-colorNeutralStencil1: var(--colorNeutralStencil1, #e6e6e6); /* #575757 for dark mode */\n --webchat-colorNeutralStencil2: var(--colorNeutralStencil2, #fafafa); /* #333333 for dark mode */\n\n --webchat-colorTransparentBackground: var(--colorTransparentBackground, rgba(0, 0, 0, 0.4));\n\n --webchat-colorNeutralStrokeDisabled: var(--colorNeutralStrokeDisabled, #e0e0e0);\n --webchat-colorNeutralStroke1: var(--colorNeutralStroke1, #d1d1d1);\n --webchat-colorNeutralStroke1Hover: var(--colorNeutralStroke1Hover, #c7c7c7);\n --webchat-colorNeutralStroke1Pressed: var(--colorNeutralStroke1Pressed, #b3b3b3);\n --webchat-colorNeutralStroke1Selected: var(--colorNeutralStroke1Selected, #bdbdbd);\n --webchat-colorNeutralStroke2: var(--colorNeutralStroke2, #e0e0e0);\n\n --webchat-colorStrokeFocus2: var(--colorStrokeFocus2, #000000);\n\n --webchat-colorBrandStroke2: var(--colorBrandStroke2, #9edcf7);\n --webchat-colorBrandStroke2Pressed: var(--colorBrandStroke2Pressed, #01384d);\n\n --webchat-colorTransparentStroke: var(--colorTransparentStroke, transparent);\n\n --webchat-colorBrandForeground1: var(--colorBrandForeground1, #01678c);\n --webchat-colorBrandForeground2Hover: var(--colorBrandForeground2Hover, #015a7a);\n --webchat-colorBrandForeground2Pressed: var(--colorBrandForeground2Pressed, #01384d);\n\n --webchat-colorBrandForegroundLink: var(--colorBrandForegroundLink, #01678c);\n --webchat-colorBrandForegroundLinkHover: var(--colorBrandForegroundLinkHover, #015a7a);\n --webchat-colorBrandForegroundLinkPressed: var(--colorBrandForegroundLinkPressed, #014259);\n --webchat-colorBrandForegroundLinkSelected: var(--colorBrandForegroundLinkSelected, #01678c);\n\n --webchat-colorBrandBackground2: var(--colorBrandBackground2, #def2fc);\n --webchat-colorBrandBackground2Hover: var(--colorBrandBackground2Hover, #bee7fa);\n --webchat-colorBrandBackground2Pressed: var(--colorBrandBackground2Pressed, #7fd2f5);\n\n --webchat-colorCompoundBrandForeground1Hover: var(--colorCompoundBrandForeground1Hover, #02729c);\n\n --webchat-colorStatusDangerForeground1: var(--colorStatusDangerForeground1, #b10e1c);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/colors.ts */\n --webchat-colorGray30: var(--colorGray30, #edebe9);\n --webchat-colorGray160: var(--colorGray160, #323130);\n --webchat-colorGray190: var(--colorGray190, #201f1e);\n --webchat-colorGray200: var(--colorGray200, #1b1a19);\n\n /* New greys from the link above not exposed by Fluent */\n --webchat-colorGrey8: #141414;\n --webchat-colorGrey14: #242424;\n --webchat-colorGrey92: #ebebeb;\n --webchat-colorGrey98: #fafafa;\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/utils/shadows.ts */\n --webchat-shadow2: var(--shadow2, 0 0 2px rgba(0, 0, 0, 12%), 0 1px 2px rgba(0, 0, 0, 14%));\n --webchat-shadow4: var(--shadow4, 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14));\n --webchat-shadow16: var(--shadow16, 0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108));\n --webchat-shadow64: var(--shadow64, 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.14));\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/spacings.ts */\n --webchat-spacingHorizontalNone: var(--spacingHorizontalNone, 0);\n --webchat-spacingHorizontalXXS: var(--spacingHorizontalXXS, 2px);\n --webchat-spacingHorizontalXS: var(--spacingHorizontalXS, 4px);\n --webchat-spacingHorizontalSNudge: var(--spacingHorizontalSNudge, 6px);\n --webchat-spacingHorizontalS: var(--spacingHorizontalS, 8px);\n --webchat-spacingHorizontalMNudge: var(--spacingHorizontalMNudge, 10px);\n --webchat-spacingHorizontalM: var(--spacingHorizontalM, 12px);\n --webchat-spacingHorizontalL: var(--spacingHorizontalL, 16px);\n --webchat-spacingHorizontalXL: var(--spacingHorizontalXL, 20px);\n --webchat-spacingHorizontalXXL: var(--spacingHorizontalXXL, 24px);\n --webchat-spacingHorizontalXXXL: var(--spacingHorizontalXXXL, 32px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/spacings.ts */\n --webchat-spacingVerticalNone: var(--spacingVerticalNone, 0);\n --webchat-spacingVerticalXXS: var(--spacingVerticalXXS, 2px);\n --webchat-spacingVerticalXS: var(--spacingVerticalXS, 4px);\n --webchat-spacingVerticalSNudge: var(--spacingVerticalSNudge, 6px);\n --webchat-spacingVerticalS: var(--spacingVerticalS, 8px);\n --webchat-spacingVerticalMNudge: var(--spacingVerticalMNudge, 10px);\n --webchat-spacingVerticalM: var(--spacingVerticalM, 12px);\n --webchat-spacingVerticalL: var(--spacingVerticalL, 16px);\n --webchat-spacingVerticalXL: var(--spacingVerticalXL, 20px);\n --webchat-spacingVerticalXXL: var(--spacingVerticalXXL, 24px);\n --webchat-spacingVerticalXXXL: var(--spacingVerticalXXXL, 32px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts */\n --webchat-fontFamilyBase: var(\n --fontFamilyBase,\n 'Segoe UI',\n 'Segoe UI Web (West European)',\n -apple-system,\n BlinkMacSystemFont,\n Roboto,\n 'Helvetica Neue',\n sans-serif\n );\n --webchat-fontFamilyMonospace: var(--fontFamilyMonospace, Consolas, 'Courier New', Courier, monospace);\n --webchat-fontFamilyNumeric: var(\n --fontFamilyNumeric,\n Bahnschrift,\n 'Segoe UI',\n 'Segoe UI Web (West European)',\n -apple-system,\n BlinkMacSystemFont,\n Roboto,\n 'Helvetica Neue',\n sans-serif\n );\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts */\n --webchat-fontWeightRegular: var(--fontWeightRegular, 400);\n --webchat-fontWeightSemibold: var(--fontWeightSemibold, 600);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/fonts.ts */\n --webchat-fontSizeBase100: var(--fontSizeBase100, 10px);\n --webchat-fontSizeBase200: var(--fontSizeBase200, 12px);\n --webchat-fontSizeBase300: var(--fontSizeBase300, 14px);\n --webchat-fontSizeBase400: var(--fontSizeBase400, 16px);\n --webchat-fontSizeBase500: var(--fontSizeBase500, 20px);\n --webchat-fontSizeBase600: var(--fontSizeBase600, 24px);\n --webchat-fontSizeHero700: var(--fontSizeHero700, 28px);\n --webchat-fontSizeHero800: var(--fontSizeHero800, 32px);\n --webchat-fontSizeHero900: var(--fontSizeHero900, 40px);\n\n --webchat-lineHeightBase100: var(--lineHeightBase100, 14px);\n --webchat-lineHeightBase200: var(--lineHeightBase200, 16px);\n --webchat-lineHeightBase300: var(--lineHeightBase300, 20px);\n --webchat-lineHeightBase400: var(--lineHeightBase400, 22px);\n --webchat-lineHeightBase500: var(--lineHeightBase500, 28px);\n --webchat-lineHeightBase600: var(--lineHeightBase600, 32px);\n --webchat-lineHeightHero700: var(--lineHeightHero700, 36px);\n --webchat-lineHeightHero800: var(--lineHeightHero800, 40px);\n --webchat-lineHeightHero900: var(--lineHeightHero900, 52px);\n --webchat-lineHeightHero1000: var(--lineHeightHero1000, 92px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/borderRadius.ts */\n --webchat-borderRadiusSmall: var(--borderRadiusSmall, 2px);\n --webchat-borderRadiusMedium: var(--borderRadiusMedium, 4px);\n --webchat-borderRadiusLarge: var(--borderRadiusLarge, 6px);\n --webchat-borderRadiusXLarge: var(--borderRadiusXLarge, 8px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/strokeWidths.ts */\n --webchat-strokeWidthThin: var(--strokeWidthThin, 1px);\n --webchat-strokeWidthThick: var(--strokeWidthThick, 2px);\n --webchat-strokeWidthThicker: var(--strokeWidthThicker, 3px);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/durations.ts */\n --webchat-durationUltraFast: var(--durationUltraFast, 0);\n --webchat-durationNormal: var(--durationNormal, 200ms);\n --webchat-durationUltraSlow: var(--durationUltraSlow, 500ms);\n\n /* https://github.com/microsoft/fluentui/blob/master/packages/tokens/src/global/curves.ts */\n --webchat-curveAccelerateMid: var(--curveAccelerateMid, cubic-bezier(1, 0, 1, 1));\n --webchat-curveDecelerateMid: var(--curveDecelerateMid, cubic-bezier(0, 0, 0, 1));\n}\n\n@media (prefers-reduced-motion) {\n :global(.webchat-fluent).theme {\n --webchat-durationUltraFast: 0.01ms;\n --webchat-durationNormal: 0.01ms;\n }\n}\n\n/* Style Options override */\n:global(.webchat-fluent).theme :global(.webchat__css-custom-properties) {\n --webchat__color--accent: var(--webchat-colorBrandForeground1);\n --webchat__color--subtle: var(--webchat-colorNeutralForeground2);\n --webchat__color--timestamp: var(--webchat-colorNeutralForeground3);\n --webchat__font--primary: var(--webchat-fontFamilyBase);\n --webchat__font-size--small: var(--webchat-fontSizeBase200);\n --webchat__font-size--medium: var(--webchat-fontSizeBase300);\n --webchat__line-height--small: var(--webchat-lineHeightBase200);\n --webchat__line-height--medium: var(--webchat-lineHeightBase300);\n --webchat__max-width--bubble: var(--webchat-bubble-maxWidth);\n --webchat__min-height--bubble: var(--webchat-bubble-minHeight);\n --webchat__padding--regular: var(--webchat-spacingVerticalS);\n --webchat__padding--sendbox: var(--webchat-spacingVerticalNone) var(--webchat-spacingHorizontalMNudge)\n var(--webchat-spacingHorizontalMNudge);\n\n --webchat__border-animation--color-1: #464feb;\n --webchat__border-animation--color-2: #47cffa;\n --webchat__border-animation--color-3: #b47cf8;\n}\n\n:global(.webchat-fluent).theme.variant-copilot :global(.webchat__css-custom-properties) {\n --webchat__padding--sendbox: var(--webchat-spacingVerticalNone) var(--webchat-spacingHorizontalXL)\n var(--webchat-spacingVerticalMNudge) var(--webchat-spacingHorizontalMNudge);\n}\n\n/* Transcript surface */\n:global(.webchat-fluent).theme :global(.webchat__surface) {\n background-color: var(--webchat__color--surface);\n}\n\n:global(.webchat-fluent).theme.variant-copilot :global(.webchat__surface) {\n box-sizing: border-box;\n padding-inline-start: var(--webchat-spacingHorizontalMNudge);\n}\n\n/* Scrollbars */\n:global(.webchat-fluent).theme :global(.webchat__basic-transcript .webchat__basic-transcript__scrollable),\n:global(.webchat-fluent).theme :global(.webchat__view-code-dialog__code-body),\n:global(.webchat-fluent).theme :global(.webchat__render-markdown [data-math-type='block']),\n:global(.webchat-fluent).theme :global(.webchat__view-code-dialog__body) {\n /* Edge uses -webkit-scrollbar if scrollbar-* is not set */\n scrollbar-color: unset;\n scrollbar-width: unset;\n /* Firefox */\n -moz-scrollbar-color: var(--webchat-colorNeutralForeground5) transparent;\n -moz-scrollbar-width: thin;\n\n &::-webkit-scrollbar {\n height: var(--webchat-spacingVerticalMNudge);\n width: var(--webchat-spacingVerticalMNudge);\n visibility: hidden;\n }\n\n &::-webkit-scrollbar-corner {\n background: transparent;\n }\n\n &:hover::-webkit-scrollbar {\n height: var(--webchat-spacingVerticalMNudge);\n width: var(--webchat-spacingVerticalMNudge);\n }\n\n &:hover::-webkit-scrollbar-thumb {\n background-clip: padding-box;\n background-color: var(--webchat-colorNeutralForeground5);\n border-radius: 10px;\n border-right: 4px solid transparent;\n border: 3px solid transparent;\n }\n\n &:hover::-webkit-scrollbar-thumb:hover {\n background-clip: padding-box;\n background-color: var(--webchat-colorNeutralForeground5);\n border-radius: 10px;\n border-right: 2px solid transparent;\n border: 1px solid transparent;\n }\n}\n\n:global(.webchat-fluent).theme.variant-copilot\n :global(.webchat__basic-transcript .webchat__basic-transcript__scrollable) {\n scrollbar-gutter: stable;\n}\n\n/* Transcript focus indicator color when in focus-visible state */\n:global(.webchat-fluent).theme\n :global(\n .webchat__basic-transcript\n .webchat__basic-transcript__terminator:focus-visible\n + .webchat__basic-transcript__focus-indicator\n ) {\n border-color: var(--webchat-colorStrokeFocus2);\n}\n\n/* Transcript Activity indicator without focus-visible state */\n:global(.webchat-fluent).theme\n :global(.webchat__basic-transcript:not(:focus-visible) .webchat__basic-transcript__activity-indicator--focus) {\n /* Hide activity focus when no focus-visible state */\n display: none;\n}\n\n/* Transcript Focus indicator when activity focused */\n:global(.webchat-fluent).theme\n :global(.webchat__basic-transcript:focus-visible:has(.webchat__basic-transcript__activity-indicator--focus)) {\n :global(.webchat__basic-transcript__focus-indicator) {\n /* Hide transcript focus when an activity is focused */\n display: none;\n }\n}\n\n/* Transcript focused activity */\n:global(.webchat-fluent).theme\n :global(\n .webchat__basic-transcript:focus-visible\n .webchat__basic-transcript__activity:has(.webchat__basic-transcript__activity-indicator--focus)\n ) {\n :global(.webchat__basic-transcript__activity-indicator--focus) {\n /* Hide transcript activity focus when the activity is focused */\n display: none;\n }\n\n :global(.webchat__bubble)::after,\n :global(.pre-chat-message-activity)::after {\n border-radius: var(--webchat__bubble--border-radius);\n content: '';\n inset: 0;\n outline-offset: 0;\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n pointer-events: none;\n position: absolute;\n }\n\n :global(.pre-chat-message-activity)::after {\n border-radius: var(--webchat-borderRadiusMedium);\n outline-offset: -3px;\n }\n\n :global(.liner-message-activity__text) {\n border-radius: 20px;\n outline-offset: 4px;\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n }\n}\n\n/* Transcript filer in copilot variant */\n:global(.webchat-fluent).theme.variant-copilot :global(.webchat__basic-transcript .webchat__basic-transcript__filler) {\n /* No filler unless pre-chat activity, see next rule */\n flex-grow: 0;\n}\n\n/* Transcript with a single pre-chat activity */\n:global(.webchat-fluent).theme\n :global(\n .webchat__basic-transcript:has(.webchat__basic-transcript__activity:only-child):has(.pre-chat-message-activity)\n .webchat__basic-transcript__filler\n ) {\n /* limit grow to half of the size to center the activity */\n flex-grow: 0.5;\n}\n\n/* Modal */\n:global(.webchat-fluent).theme :global(.webchat__modal-dialog) {\n height: 100%;\n display: grid;\n place-items: center;\n\n &::backdrop {\n background-color: var(--webchat-colorTransparentBackground);\n }\n\n :global(.webchat__modal-dialog__box) {\n background-color: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-borderRadiusXLarge);\n position: relative;\n color: var(--webchat-colorNeutralForeground1);\n box-shadow: var(--webchat-shadow64);\n }\n\n :global(.webchat__modal-dialog__close-button) {\n color: var(--webchat-colorNeutralForeground1);\n transition: background-color var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n }\n\n /* TODO: align with original fluent modal styles in WebChat as they don't match v9 anymore */\n :global(.webchat__modal-dialog__close-button):not(:active):hover {\n background-color: var(--webchat-colorNeutralBackground3);\n }\n\n :global(.webchat__modal-dialog__close-button):focus:active {\n background-color: var(--webchat-colorNeutralBackground4);\n }\n\n :global(.webchat__modal-dialog__close-button):not(:focus-visible) {\n border: none;\n }\n\n :global(.webchat__modal-dialog__close-button):focus {\n border-color: var(--webchat-colorStrokeFocus2);\n }\n\n :global(.webchat__modal-dialog__close-button-image) {\n fill: currentColor;\n }\n}\n\n/* Code block */\n:global(.webchat-fluent).theme :global(.webchat__code-block) {\n border: none;\n font-family: var(--webchat-fontFamilyMonospace);\n font-size: var(--webchat-fontSizeBase300);\n\n --webchat__code-block__copy-button--color: var(--webchat-colorNeutralForeground1);\n --webchat__code-block__copy-button--background: var(--webchat-colorNeutralBackground3);\n\n :global(.webchat__code-block-copy-button) {\n background: transparent;\n border: none;\n color: var(--webchat__code-block__copy-button--color);\n height: 20px;\n margin-inline-start: var(--webchat-spacingHorizontalS);\n padding: 0;\n width: 20px;\n transition: background-color var(--webchat-durationNormal) var(--webchat-curveDecelerateMid);\n\n :global(.webchat__code-block-copy-button__icon) {\n background-color: currentColor;\n }\n\n &:hover {\n background: var(--webchat__code-block__copy-button--background);\n color: var(--webchat__code-block__copy-button--color);\n }\n\n &:active {\n background: var(--webchat__code-block__copy-button--background);\n color: var(--webchat__code-block__copy-button--color);\n }\n\n &:focus {\n color: var(--webchat__code-block__copy-button--color);\n outline-color: currentColor;\n }\n }\n\n &:global(:has(.webchat__code-block__body:focus-visible)):focus-within {\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n outline-offset: calc(var(--webchat-strokeWidthThick) * -1);\n\n :global(.webchat__code-block__body) {\n outline: none;\n }\n }\n\n &:global(:has(> .webchat__code-block__theme--github-dark-default)) {\n --webchat__background--code-block: var(--codeBlockBackground, var(--webchat-colorGrey8));\n --webchat__code-block__copy-button--background: var(\n --codeBlockCopyButtonBackgroundPressed,\n var(--webchat-colorGrey14)\n );\n --webchat__code-block__copy-button--color: var(--codeBlockCopyButtonForeground, var(--webchat__color--code-block));\n --webchat__color--code-block: var(--codeBlockForeground, var(--webchat-colorGrey98));\n }\n\n &:global(:has(> .webchat__code-block__theme--github-light-default)) {\n --webchat__background--code-block: var(--codeBlockBackground, var(--webchat-colorGrey98));\n --webchat__code-block__copy-button--background: var(--codeBlockBackgroundPressed, var(--webchat-colorGrey92));\n --webchat__code-block__copy-button--color: var(--codeBlockCopyButtonForeground, var(--webchat__color--code-block));\n --webchat__color--code-block: var(--codeBlockForeground, var(--webchat-colorGrey8));\n }\n}\n\n/* View Code dialog */\n:global(.webchat-fluent).theme :global(.webchat__modal-dialog.webchat__view-code-dialog) {\n :global(.webchat__modal-dialog__close-button-layout) {\n display: flex;\n padding: var(--webchat-spacingVerticalS) var(--webchat-spacingHorizontalS);\n }\n\n :global(.webchat__modal-dialog__close-button) {\n align-items: center;\n aspect-ratio: 1;\n display: flex;\n height: var(--webchat-lineHeightBase300);\n justify-content: center;\n padding: 0;\n width: unset;\n }\n\n :global(.webchat__code-block-copy-button) {\n --webchat__code-block__copy-button--color: var(--webchat-colorNeutralForeground1);\n --webchat__code-block__copy-button--background: var(--webchat-colorNeutralBackground3);\n\n margin-block-start: var(--webchat-spacingVerticalS);\n position: absolute;\n right: 32px;\n top: 0;\n }\n\n :global(.webchat__modal-dialog__box) {\n width: fit-content;\n }\n\n :global(.webchat__modal-dialog__body) {\n margin: 0;\n padding: var(--webchat-spacingVerticalS) var(--webchat-spacingHorizontalM);\n }\n\n :global(.webchat__view-code-dialog__title) {\n font-size: var(--webchat-fontSizeBase300);\n font-weight: var(--webchat-fontWeightSemibold);\n line-height: var(--webchat-lineHeightBase300);\n }\n\n :global(.webchat__view-code-dialog__body) {\n font-family: var(--webchat-fontFamilyMonospace);\n font-size: var(--webchat-fontSizeBase300);\n margin: 0 calc(var(--webchat-spacingHorizontalM) * -1);\n padding: 0 var(--webchat-spacingHorizontalM);\n }\n\n :global(.webchat__view-code-dialog__footer) {\n color: var(--webchat-colorNeutralForeground4);\n font-size: var(--webchat-fontSizeBase100);\n line-height: var(--webchat-lineHeightBase100);\n }\n\n :global(.webchat__view-code-dialog__link) {\n color: var(--webchat-colorBrandForegroundLink);\n text-decoration-color: transparent;\n\n &:target {\n color: var(--webchat-colorBrandForegroundLinkSelected);\n }\n &:hover {\n color: var(--webchat-colorBrandForegroundLinkHover);\n text-decoration: underline 1px currentColor;\n }\n &:active {\n color: var(--webchat-colorBrandForegroundLinkPressed);\n }\n &:focus-visible {\n outline: none;\n text-decoration: underline 1px double var(--webchat-colorStrokeFocus2);\n }\n }\n}\n\n/* Activity button */\n:global(.webchat-fluent).theme :global(.webchat__activity-button) {\n background: var(--webchat-colorNeutralBackground1);\n border-radius: var(--webchat-borderRadiusMedium);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke1);\n color: var(--webchat-colorNeutralForeground1);\n gap: var(--webchat-spacingHorizontalXS);\n padding: 5px var(--webchat-spacingHorizontalM);\n\n &:hover {\n background: var(--webchat-colorNeutralBackground1Hover);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke1Hover);\n color: var(--webchat-colorNeutralForeground1Hover);\n }\n\n &:active {\n background: var(--webchat-colorNeutralBackground1Pressed);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke1Pressed);\n color: var(--webchat-colorNeutralForeground1Pressed);\n }\n\n &:focus-visible {\n background: var(--webchat-colorNeutralBackground1);\n outline: var(--webchat-strokeWidthThick) solid var(--webchat-colorStrokeFocus2);\n outline-offset: calc(var(--webchat-strokeWidthThick) * -1);\n }\n\n &[aria-disabled='true'] {\n background: var(--webchat-colorNeutralBackgroundDisabled);\n border: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStrokeDisabled);\n color: var(--webchat-colorNeutralForegroundDisabled);\n }\n\n :global(.webchat__activity-button__icon) {\n height: 20px;\n width: 20px;\n }\n}\n\n/* Copy button */\n:global(.webchat-fluent).theme :global(.webchat__activity-copy-button) {\n :global(.webchat__activity-copy-button__copied-text) {\n background-color: var(--webchat-colorNeutralBackground1);\n }\n\n &:global(.webchat__activity-copy-button--copied) :global(.webchat__activity-copy-button__copied-text) {\n animation-duration: var(--webchat-durationUltraSlow);\n }\n}\n\n/* Monochrome image masker */\n:global(.webchat-fluent).theme :global(.webchat__monochrome-image-masker) {\n background-color: var(--webchat-colorNeutralForeground4);\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\n\nexport default function isLinerMessageActivity(\n activity: undefined | WebChatActivity\n): activity is WebChatActivity & { type: 'message'; from: { role: 'channel' } } {\n return !!(activity && activity.from.role === 'channel' && activity.type === 'message' && 'text' in activity);\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport React, { memo } from 'react';\nimport { useStyles } from '../../../styles/index.js';\nimport styles from './LinerMessageActivity.module.css';\n\ntype Props = Readonly<{ activity: WebChatActivity & { type: 'message' } }>;\n\nconst LinerMessageActivity = ({ activity }: Props) => {\n const classNames = useStyles(styles);\n\n return (\n <div className={classNames['liner-message-activity']} role=\"separator\">\n <span className={classNames['liner-message-activity__text']}>{activity.text}</span>\n </div>\n );\n};\n\nLinerMessageActivity.displayName = 'LinerMessageActivity';\n\nexport default memo(LinerMessageActivity);\n",":global(.webchat-fluent) .liner-message-activity {\n align-items: center;\n box-sizing: border-box;\n color: var(--webchat-colorNeutralForeground3);\n display: flex;\n flex-direction: row;\n font-family: var(--webchat__font--primary);\n font-size: var(--webchat-fontSizeBase200);\n font-weight: var(--webchat-fontWeightRegular);\n gap: var(--webchat-spacingHorizontalM);\n line-height: var(--webchat-lineHeightBase200);\n padding: var(--webchat-spacingVerticalSNudge) var(--webchat-spacingHorizontalM);\n text-align: center;\n width: 100%;\n\n &::before,\n &::after {\n border-top: var(--webchat-strokeWidthThin) solid var(--webchat-colorNeutralStroke2);\n content: '';\n display: flex;\n flex: auto;\n min-width: 8px;\n }\n}\n\n:global(.webchat-fluent) .liner-message-activity__text {\n text-align: center;\n}\n","import { injectMetaTag } from 'inject-meta-tag';\n\nimport FluentThemeProvider from './private/FluentThemeProvider';\nimport testIds from './testIds';\n\nconst buildTool = process.env['build_tool'];\nconst moduleFormat = process.env['module_format'];\nconst version = process.env['npm_package_version'];\n\nconst buildInfo = { buildTool, moduleFormat, version };\n\ninjectMetaTag(\n 'botframework-webchat:fluent-theme',\n `version=${process.env['npm_package_version']}; build-tool=${process.env['build_tool']}; module-format=${process.env['module_format']}`\n);\n\nexport { FluentThemeProvider, buildInfo, testIds };\n","import { FluentThemeProvider, testIds } from './index';\n\n(globalThis as any).WebChat = {\n ...(globalThis as any).WebChat,\n FluentThemeProvider,\n testIds: {\n ...(globalThis as any).WebChat?.testIds,\n ...testIds\n }\n};\n"],"mappings":"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","names":["require_botframework_webchat_component","__commonJSMin","exports","module","require_decorator","__commonJSMin","exports","module","require_react","__commonJSMin","exports","module","require_classnames","__commonJSMin","exports","module","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","require_crypto","__commonJSMin","exports","module","global","require_browser","__commonJSMin","exports","module","crypto","max","u32","require_simple_update_in_production_min","__commonJSMin","exports","module","t","e","l","c","r","n","o","a","i","u","p","y","b","v","f","d","s","g","x","h","m","require_botframework_webchat_api","__commonJSMin","exports","module","require_global_this","__commonJSMin","exports","module","check","it","require_fails","__commonJSMin","exports","module","exec","require_function_bind_native","__commonJSMin","exports","module","fails","test","require_function_apply","__commonJSMin","exports","module","NATIVE_BIND","FunctionPrototype","apply","call","require_function_uncurry_this","__commonJSMin","exports","module","NATIVE_BIND","FunctionPrototype","call","uncurryThisWithBind","fn","require_classof_raw","__commonJSMin","exports","module","uncurryThis","toString","stringSlice","it","require_function_uncurry_this_clause","__commonJSMin","exports","module","classofRaw","uncurryThis","fn","require_is_callable","__commonJSMin","exports","module","documentAll","argument","require_descriptors","__commonJSMin","exports","module","fails","require_function_call","__commonJSMin","exports","module","NATIVE_BIND","call","require_object_property_is_enumerable","__commonJSMin","exports","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","__commonJSMin","exports","module","bitmap","value","require_indexed_object","__commonJSMin","exports","module","uncurryThis","fails","classof","$Object","split","it","require_is_null_or_undefined","__commonJSMin","exports","module","it","require_require_object_coercible","__commonJSMin","exports","module","isNullOrUndefined","$TypeError","it","require_to_indexed_object","__commonJSMin","exports","module","IndexedObject","requireObjectCoercible","it","require_is_object","__commonJSMin","exports","module","isCallable","it","require_path","__commonJSMin","exports","module","require_get_built_in","__commonJSMin","exports","module","path","globalThis","isCallable","aFunction","variable","namespace","method","require_object_is_prototype_of","__commonJSMin","exports","module","uncurryThis","require_environment_user_agent","__commonJSMin","exports","module","globalThis","navigator","userAgent","require_environment_v8_version","__commonJSMin","exports","module","globalThis","userAgent","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","__commonJSMin","exports","module","V8_VERSION","fails","globalThis","$String","symbol","require_use_symbol_as_uid","__commonJSMin","exports","module","NATIVE_SYMBOL","require_is_symbol","__commonJSMin","exports","module","getBuiltIn","isCallable","isPrototypeOf","USE_SYMBOL_AS_UID","$Object","it","$Symbol","require_try_to_string","__commonJSMin","exports","module","$String","argument","require_a_callable","__commonJSMin","exports","module","isCallable","tryToString","$TypeError","argument","require_get_method","__commonJSMin","exports","module","aCallable","isNullOrUndefined","V","P","func","require_ordinary_to_primitive","__commonJSMin","exports","module","call","isCallable","isObject","$TypeError","input","pref","fn","val","require_is_pure","__commonJSMin","exports","module","require_define_global_property","__commonJSMin","exports","module","globalThis","defineProperty","key","value","require_shared_store","__commonJSMin","exports","module","IS_PURE","globalThis","defineGlobalProperty","SHARED","store","require_shared","__commonJSMin","exports","module","store","key","value","require_to_object","__commonJSMin","exports","module","requireObjectCoercible","$Object","argument","require_has_own_property","__commonJSMin","exports","module","uncurryThis","toObject","hasOwnProperty","it","key","require_uid","__commonJSMin","exports","module","uncurryThis","id","postfix","toString","key","require_well_known_symbol","__commonJSMin","exports","module","globalThis","shared","hasOwn","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","__commonJSMin","exports","module","call","isObject","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","$TypeError","TO_PRIMITIVE","input","pref","exoticToPrim","result","require_to_property_key","__commonJSMin","exports","module","toPrimitive","isSymbol","argument","key","require_document_create_element","__commonJSMin","exports","module","globalThis","isObject","document","EXISTS","it","require_ie8_dom_define","__commonJSMin","exports","module","DESCRIPTORS","fails","createElement","require_object_get_own_property_descriptor","__commonJSMin","exports","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","O","P","require_is_forced","__commonJSMin","exports","module","fails","isCallable","replacement","isForced","feature","detection","value","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","__commonJSMin","exports","module","uncurryThis","aCallable","NATIVE_BIND","bind","fn","that","require_v8_prototype_define_bug","__commonJSMin","exports","module","DESCRIPTORS","fails","require_an_object","__commonJSMin","exports","module","isObject","$String","$TypeError","argument","require_object_define_property","__commonJSMin","exports","DESCRIPTORS","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$TypeError","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","O","P","Attributes","current","require_create_non_enumerable_property","__commonJSMin","exports","module","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","key","value","require_export","__commonJSMin","exports","module","globalThis","apply","uncurryThis","isCallable","getOwnPropertyDescriptor","isForced","path","bind","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","Wrapper","b","c","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","key","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","require_math_trunc","__commonJSMin","exports","module","ceil","floor","x","n","require_to_integer_or_infinity","__commonJSMin","exports","module","trunc","argument","number","require_to_absolute_index","__commonJSMin","exports","module","toIntegerOrInfinity","max","min","index","length","integer","require_to_length","__commonJSMin","exports","module","toIntegerOrInfinity","min","argument","len","require_length_of_array_like","__commonJSMin","exports","module","toLength","obj","require_array_includes","__commonJSMin","exports","module","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","O","length","index","value","require_hidden_keys","__commonJSMin","exports","module","require_object_keys_internal","__commonJSMin","exports","module","uncurryThis","hasOwn","toIndexedObject","indexOf","hiddenKeys","push","object","names","O","i","result","key","require_enum_bug_keys","__commonJSMin","exports","module","require_object_keys","__commonJSMin","exports","module","internalObjectKeys","enumBugKeys","O","require_object_define_properties","__commonJSMin","exports","DESCRIPTORS","V8_PROTOTYPE_DEFINE_BUG","definePropertyModule","anObject","toIndexedObject","objectKeys","O","Properties","props","keys","length","index","key","require_html","__commonJSMin","exports","module","getBuiltIn","require_shared_key","__commonJSMin","exports","module","shared","uid","keys","key","require_object_create","__commonJSMin","exports","module","anObject","definePropertiesModule","enumBugKeys","hiddenKeys","html","documentCreateElement","sharedKey","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","temp","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","NullProtoObject","length","O","Properties","result","require_es_object_create","__commonJSMin","$","DESCRIPTORS","create","require_create","__commonJSMin","exports","module","path","Object","P","D","require_create","__commonJSMin","exports","module","parent","require_create","__commonJSMin","exports","module","require_internal","__commonJSMin","exports","module","injectMeta","name","content","document","metaElement","createElement","setAttribute","head","appendChild","error","console","concat","import_botframework_webchat_component","import_decorator","import_react","import_classnames","import_react","import_react","import_react","import_react","createComposer","Provider","defaults","displayName","Composer","children","props","value","React","VariantContext","VariantComposer","createComposer","VariantComposer_default","useVariants","variant","VariantContext","createStyle","content","style","makeCreateStyles","contents","fluentStyleContent","createStyles_default","n","import_react","useStyles","styles","useMemo","baseClassName","resultClassName","useStyles_default","import_react","useVariantClassName","styles","classNames","f","variants","useVariants","variant","value","ActivityDecorator_default","activity-decorator","variant-fluent","variant-copilot","import_react","import_botframework_webchat_component","import_react","import_botframework_webchat_component","useStyleOptions","useActivityStyleOptions","activity","styleOptions","import_math_random","createSymbol","name","CANCEL","CHANNEL_END_TYPE","IO","SELF_CANCELLATION","createSymbol","TASK","TASK_CANCEL","TERMINATE","SAGA_LOCATION","_extends","n","e","t","undef","v","notUndef","func","f","string","s","array","promise","p","func","iterator","it","stringableFunc","f","func","symbol","sym","konst","v","kTrue","noop","assignWithSymbols","target","source","_extends","s","flatMap","mapper","arr","_ref","remove","array","item","index","kThrow","err","kReturn","value","makeIterator","next","thro","name","iterator","internalErr","err","createEmptyArray","n","shouldTerminate","res","TERMINATE","shouldCancel","TASK_CANCEL","shouldComplete","createAllStyleChildCallbacks","shape","parentCallback","keys","totalCount","completedCount","completed","results","array","createEmptyArray","childCallbacks","checkEnd","key","chCbAtKey","isErr","noop","getMetaInfo","fn","getLocation","instrumented","SAGA_LOCATION","BUFFER_OVERFLOW","ON_OVERFLOW_THROW","ON_OVERFLOW_SLIDE","ON_OVERFLOW_EXPAND","ringBuffer","limit","overflowAction","arr","length","pushIndex","popIndex","push","it","take","flush","items","doubledLimit","ON_OVERFLOW_THROW","BUFFER_OVERFLOW","ON_OVERFLOW_SLIDE","ON_OVERFLOW_EXPAND","expanding","initialSize","ringBuffer","ON_OVERFLOW_EXPAND","TAKE","PUT","ALL","RACE","CALL","CPS","FORK","JOIN","CANCEL","SELECT","ACTION_CHANNEL","CANCELLED","FLUSH","GET_CONTEXT","SET_CONTEXT","deferred","def","resolve","reject","redux_saga_deferred_esm_default","deferred","queue","semaphore","exec","task","suspend","release","asap","flush","immediately","array","patterns","input","p","matcher","predicate","_predicate","string","pattern","symbol","wildcard","kTrue","matcherCreator","stringableFunc","func","END","CHANNEL_END_TYPE","isEnd","a","CLOSED_CHANNEL_WITH_TAKERS","channel","buffer$1","expanding","closed","takers","checkForbiddenStates","internalErr","CLOSED_CHANNEL_WITH_TAKERS","put","input","cb","take","END","remove","flush","close","arr","i","len","taker","RUNNING","CANCELLED","ABORTED","DONE","resolvePromise","promise","cb","cancelPromise","CANCEL","func","error","current","nextSagaId","_effectRunnerMap","getIteratorMetaInfo","iterator","fn","getMetaInfo","createTaskIterator","_ref","context","args","result","resolved","next","arg","makeIterator","err","runPutEffect","env","_ref2","channel","action","resolve","asap","runTakeEffect","_ref3","_ref3$channel","pattern","maybe","takeCb","input","isEnd","TERMINATE","notUndef","matcher","runCallEffect","_ref4","_ref5","task","proc","runCPSEffect","_ref6","cpsCb","res","undef","runForkEffect","_ref7","_ref8","detached","parent","taskIterator","meta","immediately","child","runJoinEffect","taskOrTasks","_ref9","joinSingleTask","taskToJoin","joiner","remove","array","childCallbacks","createAllStyleChildCallbacks","t","i","cancelSingleTask","taskToCancel","runCancelEffect","_ref10","SELF_CANCELLATION","runAllEffect","effects","_ref11","digestEffect","effectId","keys","key","runRaceEffect","_ref12","response","createEmptyArray","childCbs","completed","chCbAtKey","isErr","shouldComplete","noop","runSelectEffect","_ref13","selector","state","runChannelEffect","_ref14","buffer","chan","match","taker","close","runCancelledEffect","data","_ref15","runFlushEffect","runGetContextEffect","prop","_ref16","runSetContextEffect","props","_ref17","assignWithSymbols","effectRunnerMap","TAKE","PUT","ALL","RACE","CALL","CPS","FORK","JOIN","SELECT","ACTION_CHANNEL","FLUSH","GET_CONTEXT","SET_CONTEXT","forkQueue","mainTask","onAbort","cont","tasks","addTask","getTasks","abort","cancelAll","formatLocation","fileName","lineNumber","effectLocationAsString","effect","location","getLocation","code","source","sagaLocationAsString","sagaMeta","name","cancelledTasksAsString","sagaStack","cancelledTasks","flatMap","crashedEffect","addSagaFrame","frame","clear","setCrashedEffect","toString","firstSaga","otherSagas","crashedEffectLocation","errorMessage","s","newTask","parentContext","parentEffectId","isRoot","_task","status","taskResult","taskError","deferredEnd","cancelledDueToErrorTasks","queue","end","cancel","TASK_CANCEL","setContext","toPromise","redux_saga_deferred_esm_default","TASK","iterator$1","finalRunEffect","runEffect","cancelMain","executingContext","shouldCancel","shouldTerminate","currCb","IO","effectRunner","label","effectSettled","RUN_SAGA_SIGNATURE","NON_GENERATOR_ERR","import_simple_update_in","ValiError","issues","BrandSymbol","actionIssue","context","reference","input","label","received","actionOutput","output","defaultArgs","arg1","arg2","store","getGlobalConfig","config","store","store2","getGlobalMessage","lang","store2","store3","getSchemaMessage","lang","store3","store4","getSpecificMessage","reference","lang","store4","i18n","schema","context","reference","config","issue","message","getSpecificMessage","getSchemaMessage","getGlobalMessage","schemaResult","typed","output","issues","stringify","input","type","pipeIssue","context","config","issue","received","schemaIssue2","i18n","pipeResult","action","result","actionIssue2","restAndDefaultArgs","arg1","arg2","arg3","error2","pipe2","defaultArgs","error","pipe","schemaIssue","context","reference","input","config","other","received","stringify","expected","issue","i18n","getFallback","schema","info","fallback","schema","fallback2","input","config","result","schemaResult","getFallback","getDefault","schema","array","item","arg2","arg3","message","pipe","defaultArgs","input","config","typed","issues","output","key","value2","result","pathItem","issue","pipeResult","schemaResult","schemaIssue","lazy","getter","input","config","literal","literal_","message","stringify","input","config","schemaResult","schemaIssue","number","arg1","arg2","message","pipe","defaultArgs","input","config","pipeResult","schemaIssue","object","entries","arg2","arg3","arg4","rest","message","pipe","restAndDefaultArgs","cachedEntries","input","config","typed","issues","output","key","schema","value2","result","pathItem","issue","pipeResult","schemaResult","schemaIssue","optional","wrapped","default_","input","config","override","getDefault","schemaResult","string","arg1","arg2","message","pipe","defaultArgs","input","config","pipeResult","schemaIssue","subissues","results","issues","result","issue","union","options","arg2","arg3","message","pipe","defaultArgs","option","input","config","validResult","untypedResults","typedResults","schema","pipeResult","firstResult","schemaIssue","unknown","pipe","input","config","pipeResult","parse","schema","input","config","result","getGlobalConfig","ValiError","transform","schema","action","arg1","input","config","result","pipeResult","integer","message","input","actionOutput","actionIssue","minValue","requirement","message","stringify","input","actionOutput","actionIssue","value","requirement","message","stringify","input","actionOutput","actionIssue","import_simple_update_in","InvalidTokenError","import_simple_update_in","types","other_default","types","standard_default","Mime","args","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","arg","typeMap","force","type","extensions","ext","__classPrivateFieldGet","allExtensions","first","extension","starred","currentType","path","last","hasPath","src_default","Mime_default","standard_default","other_default","require_global_this","__commonJSMin","exports","module","check","it","require_fails","exec","require_function_bind_native","fails","R","test","require_function_apply","NATIVE_BIND","er","FunctionPrototype","apply","call","require_function_uncurry_this","uncurryThisWithBind","fn","require_classof_raw","uncurryThis","T","toString","stringSlice","require_function_uncurry_this_clause","classofRaw","tr","require_is_callable","documentAll","argument","require_descriptors","require_function_call","require_object_property_is_enumerable","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","V","descriptor","require_create_property_descriptor","bitmap","value","require_indexed_object","classof","$Object","split","require_is_null_or_undefined","require_require_object_coercible","isNullOrUndefined","ir","$TypeError","require_to_indexed_object","IndexedObject","Ct","requireObjectCoercible","Tr","require_is_object","isCallable","q","require_path","require_get_built_in","path","Or","globalThis","c","aFunction","variable","namespace","method","require_object_is_prototype_of","require_environment_user_agent","navigator","userAgent","require_environment_v8_version","$","process","Deno","versions","v8","match","version","require_symbol_constructor_detection","V8_VERSION","Zr","$String","symbol","require_use_symbol_as_uid","NATIVE_SYMBOL","re","require_is_symbol","getBuiltIn","j","isPrototypeOf","Sr","USE_SYMBOL_AS_UID","ee","$Symbol","require_try_to_string","require_a_callable","tryToString","nr","require_get_method","aCallable","w","P","func","require_ordinary_to_primitive","O","isObject","g","input","pref","val","require_is_pure","require_define_global_property","defineProperty","key","require_shared_store","IS_PURE","G","defineGlobalProperty","oi","SHARED","store","require_shared","ar","require_to_object","require_has_own_property","toObject","pi","hasOwnProperty","require_uid","id","postfix","require_well_known_symbol","shared","oe","hasOwn","D","uid","ue","Symbol","WellKnownSymbolsStore","createWellKnownSymbol","name","require_to_primitive","isSymbol","te","getMethod","mr","ordinaryToPrimitive","ti","wellKnownSymbol","b","TO_PRIMITIVE","exoticToPrim","result","require_to_property_key","toPrimitive","Si","require_document_create_element","document","EXISTS","require_ie8_dom_define","DESCRIPTORS","C","createElement","le","require_object_get_own_property_descriptor","propertyIsEnumerableModule","It","createPropertyDescriptor","Jr","toIndexedObject","jt","toPropertyKey","ce","IE8_DOM_DEFINE","fe","$getOwnPropertyDescriptor","require_is_forced","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","require_function_bind_context","Kr","bind","that","require_v8_prototype_define_bug","require_an_object","require_object_define_property","V8_PROTOTYPE_DEFINE_BUG","ji","anObject","A","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","require_create_non_enumerable_property","definePropertyModule","gr","object","require_export","Wr","wi","pe","ur","createNonEnumerableProperty","sr","wrapConstructor","NativeConstructor","Wrapper","a","options","source","TARGET","GLOBAL","STATIC","PROTO","nativeSource","target","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","require_environment","userAgentStartsWith","require_environment_is_node","ENVIRONMENT","Ee","require_define_built_in","require_function_uncurry_this_accessor","require_is_possible_prototype","require_a_possible_prototype","isPossiblePrototype","Ki","require_object_set_prototype_of","uncurryThisAccessor","Wi","aPossiblePrototype","Ji","CORRECT_SETTER","setter","proto","require_to_string_tag_support","TO_STRING_TAG","require_classof","TO_STRING_TAG_SUPPORT","wr","CORRECT_ARGUMENTS","tryGet","tag","require_object_to_string","_r","require_set_to_string_tag","en","TAG","SET_METHOD","require_define_built_in_accessor","require_set_species","defineBuiltInAccessor","un","SPECIES","CONSTRUCTOR_NAME","Constructor","require_an_instance","Prototype","require_inspect_source","functionToString","require_is_constructor","inspectSource","Se","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","require_a_constructor","isConstructor","Tn","require_species_constructor","aConstructor","Sn","defaultConstructor","S","require_html","require_array_slice","require_validate_arguments_length","passed","required","require_environment_is_ios","require_task","html","In","arraySlice","wn","validateArgumentsLength","_n","IS_IOS","me","IS_NODE","Pr","set","clear","Dispatch","Function","MessageChannel","String","counter","queue","ONREADYSTATECHANGE","$location","defer","channel","port","run","runner","eventListener","event","globalPostMessageDefer","handler","args","require_safe_get_built_in","require_queue","Queue","item","entry","tail","next","require_environment_is_ios_pebble","require_environment_is_webos_webkit","require_microtask","safeGetBuiltIn","Vn","macrotask","Ne","je","IS_IOS_PEBBLE","Hn","IS_WEBOS_WEBKIT","zn","MutationObserver","Promise","microtask","notify","toggle","node","promise","then","flush","parent","error","require_host_report_errors","require_perform","require_weak_map_basic_detection","WeakMap","require_shared_key","keys","require_hidden_keys","require_internal_state","NATIVE_WEAK_MAP","sa","sharedKey","la","hiddenKeys","pa","OBJECT_ALREADY_INITIALIZED","TypeError","get","has","enforce","getterFor","TYPE","state","metadata","STATE","require_promise_native_constructor","require_promise_constructor_detection","NativePromiseConstructor","J","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","resolve","FakePromise","constructor","require_new_promise_capability","PromiseCapability","reject","$$resolve","$$reject","require_es_promise_constructor","_","defineBuiltIn","Te","setPrototypeOf","Yi","setToStringTag","an","setSpecies","vn","anInstance","speciesConstructor","Rn","task","ta","hostReportErrors","na","perform","jr","InternalStateModule","da","PromiseConstructorDetection","z","newPromiseCapabilityModule","F","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","setInternalState","PromiseConstructor","PromisePrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","isThenable","callReaction","reaction","ok","domain","exited","onHandleUnhandled","isReject","reactions","onUnhandled","dispatchEvent","reason","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","require_iterators","require_is_array_iterator_method","Iterators","Xe","ITERATOR","ArrayPrototype","require_math_trunc","ceil","floor","x","n","require_to_integer_or_infinity","trunc","Ja","number","require_to_length","toIntegerOrInfinity","Ya","min","len","require_length_of_array_like","toLength","Xa","obj","require_get_iterator_method","require_get_iterator","getIteratorMethod","Ze","usingIterator","iteratorMethod","require_iterator_close","iterator","kind","innerResult","innerError","require_iterate","isArrayIteratorMethod","Ka","lengthOfArrayLike","ro","getIterator","no","iteratorClose","uo","Result","stopped","ResultPrototype","iterable","unboundFunction","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","index","length","step","stop","condition","callFn","require_check_correctness_of_iteration","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","require_promise_statics_incorrect_iteration","checkCorrectnessOfIteration","ho","require_es_promise_all","iterate","rt","PROMISE_STATICS_INCORRECT_ITERATION","tt","capability","$promiseResolve","values","remaining","alreadyCalled","require_es_promise_catch","require_es_promise_race","require_es_promise_reject","r","capabilityReject","require_promise_resolve","promiseCapability","require_es_promise_resolve","promiseResolve","go","PromiseConstructorWrapper","CHECK_WRAPPER","require_es_promise","Va","To","So","bo","mo","wo","require_es_promise_with_resolvers","require_with_resolvers","Co","at","promiseWithResolvers","No","require_esnext_promise_with_resolvers","Do","Ao","Uo","Lo","import_with_resolvers","Yo","$o","CONNECT","CONNECT_FULFILLED","CONNECT_FULFILLING","CONNECT_PENDING","CONNECT_REJECTED","CONNECT_STILL_PENDING","DISCONNECT","DISCONNECT_PENDING","DISCONNECT_REJECTED","DISCONNECT_FULFILLED","POST_ACTIVITY","POST_ACTIVITY_FULFILLED","POST_ACTIVITY_IMPEDED","POST_ACTIVITY_PENDING","POST_ACTIVITY_REJECTED","ActivityClientState_exports","__export","SENDING","SEND_FAILED","SENT","DictateState_exports","DICTATING","IDLE","STARTING","STOPPING","WILL_START","RECONNECT","RECONNECT_FULFILLED","RECONNECT_FULFILLING","RECONNECT_PENDING","RECONNECT_REJECTED","streamSequenceSchema","number","integer","minValue","livestreamingActivitySchema","union","object","optional","string","literal","DEFAULT_STATE","EMPTY_ARRAY","DEFAULT_STATE","DEFAULT_STATE","getType","mime","orgSchemaProperty","schema","fallback","optional","union","transform","array","orgSchemaProperty_default","singularToArray","value","parse","orgSchemaProperties","thingEntries","string","lazy","action","thing","entries","object","unknown","parseThing","data","project","action","entries","thing","orgSchemaProperty_default","union","string","value","lazy","project","definedTerm","entries","thing","orgSchemaProperty_default","string","person","entries","object","orgSchemaProperty_default","string","creativeWork","thing","union","orgSchemaProperties","lazy","definedTerm","parseCreativeWork","data","parse","getOrgSchemaMessage","graph","messageEntity","entity","parseThing","message","parseCreativeWork","isAIGeneratedActivity","activity","Cn","import_react","useActivityAuthor","activity","entity","Cn","CopilotMessageHeader_default","copilot-message-header","copilot-message-header__avatar","copilot-message-header__title","copilot-message-header__ai-generated-content","useLocalizer","CopilotMessageHeader","activity","botAvatarImage","botAvatarBackgroundColor","useActivityStyleOptions","classNames","f","CopilotMessageHeader_default","localize","isAIGenerated","isAIGeneratedActivity","avatarStyle","author","useActivityAuthor","avatarImage","botTitle","React","ActivityDecorator","activity","children","classNames","f","ActivityDecorator_default","variants","useVariants","variantClassName","useVariantClassName","shouldRenderHeader","React","cx","CopilotMessageHeader_default","isPreChatMessageActivity","activity","Cn","import_botframework_webchat_component","import_classnames","import_react","PreChatMessageActivity_default","pre-chat-message-activity","pre-chat-message-activity__body","pre-chat-message-activity__body--blueprint","pre-chat-message-activity__body-avatar","pre-chat-message-activity__body-title","pre-chat-message-activity__body-subtitle","pre-chat-message-activity__toolbar","import_botframework_webchat_api","import_classnames","import_react","import_botframework_webchat_component","import_classnames","import_react","import_react","useRefFrom","value","ref","useRef","readOnlyRef","useMemo","_Object$create","current","get","testIds","testIds_default","StarterPromptsCardAction_default","pre-chat-message-activity__card-action-box","pre-chat-message-activity__card-action-image","blueprintAnimation","pre-chat-message-activity__card-action-subtitle","pre-chat-message-activity__card-action-title","useFocus","useRenderMarkdownAsHTML","useSendBoxValue","useUIState","MonochromeImageMasker","StarterPromptsCardAction","className","messageBackAction","_","setSendBoxValue","uiState","classNames","f","StarterPromptsCardAction_default","focus","inputTextRef","useRefFrom","renderMarkdownAsHTML","subtitleHTML","disabled","title","shouldShowBlueprint","handleClick","React","cx","testIds_default","StarterPromptsToolbar_default","pre-chat-message-activity__card-action-toolbar","webchat-container","pre-chat-message-activity__card-action-toolbar-grid","useUIState","StarterPromptsToolbar","cardActions","className","classNames","f","StarterPromptsToolbar_default","uiState","React","cx","StarterPromptsCardAction_default","card","cardAction","index","useLocalizer","useRenderMarkdownAsHTML","useUIState","PreChatMessageActivity","activity","uiState","classNames","f","PreChatMessageActivity_default","renderMarkdownAsHTML","localize","author","useActivityAuthor","html","React","cx","StarterPromptsToolbar_default","import_botframework_webchat_component","import_classnames","import_react","import_react","AddDocumentIcon","props","React","AddDocumentIcon_default","import_react","AttachmentIcon","props","React","AttachmentIcon_default","import_react","InfoSmallIcon","props","React","InfoSmallIcon_default","import_react","SendIcon","props","React","SendIcon_default","import_react","TelephoneKeypadIcon","props","React","TelephoneKeypadIcon_default","import_botframework_webchat_component","import_classnames","import_react","DropZone_default","sendbox__attachment-drop-zone","sendbox__attachment-drop-zone--droppable","sendbox__attachment-drop-zone-icon","useLocalizer","handleDragOver","event","isFilesTransferEvent","type","isDescendantOf","target","ancestor","current","DropZone","props","dropZoneState","setDropZoneState","classNames","f","DropZone_default","dropZoneRef","localize","onFilesAddedRef","useRefFrom","entranceCounter","handleDragEnter","handleDragLeave","handleDragEnd","handleDrop","React","cx","testIds_default","AddDocumentIcon_default","import_botframework_webchat_component","import_classnames","import_react","computeSuggestedActionText","cardAction","title","type","value","import_react","RovingFocusContext","RovingFocusProvider","props","activeItemIndexRef","itemRefsRef","updateItemTabIndex","current","index","setActiveItemIndex","valueOrFunction","nextActiveItemIndex","ref","handleFocus","event","target","handleSetNextActive","key","currentIndex","isUnidirectional","isVerticalMove","isHorizontalMove","isForwardMove","direction","itemIndices","_","nextIndex","handleKeyDown","itemEffector","value","React","useRovingFocusItemRef","itemIndex","rovingFocus_default","import_botframework_webchat_component","import_classnames","import_react","import_react","preventDefaultHandler","event","AccessibleButton","ariaHidden","children","className","dataTestId","disabled","onClick","tabIndex","forwardedRef","targetRef","React","AccessibleButton_default","SuggestedAction_default","suggested-action","suggested-action__image","useFocus","usePerformCardAction","useScrollToEnd","useStyleSet","useSuggestedActions","useUIState","SuggestedAction","buttonText","className","displayText","image","imageAlt","itemIndex","text","type","value","_","setSuggestedActions","suggestedActionStyleSet","uiState","focus","focusRef","useRovingFocusItemRef","performCardAction","classNames","f","SuggestedAction_default","scrollToEnd","handleClick","target","React","AccessibleButton_default","cx","testIds_default","SuggestedActions_default","suggested-actions","suggested-actions--flow","suggested-actions--stacked","useFocus","useLocalizer","useStyleOptions","useStyleSet","useSuggestedActions","useUIState","SuggestedActionStackedOrFlowContainer","props","suggestedActionLayout","suggestedActionsStyleSet","uiState","classNames","f","SuggestedActions_default","React","cx","SuggestedActions","localize","suggestedActions","_","activity","focus","handleEscapeKey","children","isPreChatMessageActivity","cardAction","index","displayText","image","imageAltText","text","type","value","SuggestedAction_default","computeSuggestedActionText","rovingFocus_default","import_react","import_react","Context","Context_default","Provider","children","shown","setShown","context","React","Context_default","Provider_default","import_react","import_botframework_webchat_component","import_classnames","import_react","import_react","Button_default","telephone-keypad__button","telephone-keypad__button__ruby","telephone-keypad__button__text","telephone-keypad--horizontal","Button","button","dataTestId","onClick","ruby","ref","classNames","f","Button_default","onClickRef","useRefFrom","handleClick","React","import_react","useShown","setShown","shown","Context_default","TelephoneKeypad_default","telephone-keypad","telephone-keypad__box","telephone-keypad__info-message","telephone-keypad__info-message-link","LocalizedString","Orientation","children","isHorizontal","classNames","f","TelephoneKeypad_default","React","TelephoneKeypad","autoFocus","className","onButtonClick","autoFocusRef","useRefFrom","firstButtonRef","onButtonClickRef","setShown","useShown","handleButton1Click","handleButton2Click","handleButton3Click","handleButton4Click","handleButton5Click","handleButton6Click","handleButton7Click","handleButton8Click","handleButton9Click","handleButton0Click","handleButtonStarClick","handleButtonPoundClick","handleKeyDown","event","cx","Button_default","testIds_default","InfoSmallIcon_default","TelephoneKeypadSurrogate","props","useShown","React","TelephoneKeypad_default","Surrogate_default","import_botframework_webchat_component","import_react","import_botframework_webchat_api","import_classnames","import_react","Toolbar_default","sendbox__toolbar","sendbox__toolbar-button","sendbox__toolbar-button--selected","sendbox__toolbar-separator","useUIState","preventDefaultHandler","event","ToolbarButton","props","classNames","f","Toolbar_default","uiState","disabled","React","cx","Toolbar","ToolbarSeparator","AddAttachmentButton_default","sendbox__add-attachment","sendbox__add-attachment-input","useLocalizer","useStyleOptions","AddAttachmentButton","props","inputRef","classNames","f","AddAttachmentButton_default","localize","uploadAccept","uploadMultiple","onFilesAddedRef","useRefFrom","handleClick","handleFileChange","files","React","ToolbarButton","testIds_default","AttachmentIcon_default","import_botframework_webchat_component","import_classnames","import_react","Attachments_default","sendbox__attachment","useLocalizer","useUIState","attachmentsPluralStringIds","Attachments","attachments","className","uiState","classNames","f","Attachments_default","localizeWithPlural","React","cx","import_internal","import_react","ErrorMessage_default","sendbox__error-message","ErrorMessage","error","id","classNames","f","ErrorMessage_default","React","import_botframework_webchat_component","import_react","useConnectivityStatus","useLocalizer","useSubmitError","attachments","message","connectivityStatus","error","setError","localize","submitErrorRef","useRefFrom","errorMessageStringMap","hasValue","commitLatestError","useSubmitError_default","import_react","import_botframework_webchat_component","useScrollDown","useScrollUp","useTranscriptNavigation","scrollDown","scrollUp","event","ctrlKey","metaKey","shiftKey","handled","import_react","useUniqueId","prefix","id","SendBox_default","sendbox","variant-copilot","sendbox__text-counter","sendbox__text-counter--error","sendbox__sendbox","sendbox__attachment--in-grid","sendbox__text-area--in-grid","sendbox__sendbox-controls--in-grid","sendbox__telephone-keypad--in-grid","sendbox__sendbox-text","sendbox__sendbox-controls","import_react","import_botframework_webchat_component","useLocalizer","TelephoneKeypadToolbarButton","telephoneKeypadShown","setTelephoneKeypadShown","useShown","localize","handleClick","shown","React","ToolbarButton","testIds_default","TelephoneKeypadIcon_default","TelephoneKeypadToolbarButton_default","import_botframework_webchat_api","import_classnames","import_react","TextArea_default","sendbox__text-area","sendbox__text-area--hidden","sendbox__text-area-shared","sendbox__text-area-doppelganger","sendbox__text-area-input","sendbox__text-area-input--scroll","useUIState","TextArea","props","ref","uiState","classNames","f","TextArea_default","disabled","handleKeyDown","event","React","cx","useFocus","useLocalizer","useMakeThumbnail","useRegisterFocusSendBox","useSendBoxAttachments","useSendBoxValue","useSendMessage","useStyleOptions","useUIState","SendBox","props","hideTelephoneKeypadButton","hideUploadButton","maxMessageLength","attachments","setAttachments","globalMessage","setGlobalMessage","localMessage","setLocalMessage","telephoneKeypadShown","useShown","uiState","classNames","f","SendBox_default","variantClassName","useVariantClassName","errorMessageId","useUniqueId","inputRef","localize","makeThumbnail","sendMessage","setFocus","message","setMessage","isBlueprint","errorMessage","commitLatestError","useSubmitError_default","isMessageLengthExceeded","shouldShowMessageLength","shouldShowTelephoneKeypad","noKeyboard","waitUntil","previousReadOnly","resolve","attachmentsRef","useRefFrom","messageRef","handleSendBoxClick","event","handleMessageChange","handleAddFiles","inputFiles","newAttachments","file","thumbnailURL","handleFormSubmit","handleTelephoneKeypadButtonClick","dtmf","handleTranscriptNavigation","useTranscriptNavigation","aria","React","cx","testIds_default","SuggestedActions_default","TextArea_default","Surrogate_default","Attachments_default","Toolbar","TelephoneKeypadToolbarButton_default","AddAttachmentButton_default","ToolbarSeparator","ToolbarButton","SendIcon_default","DropZone_default","ErrorMessage_default","PrimarySendBox","import_react","import_classnames","Theme_default","theme","variant-copilot","rootClassName","Theme","props","classNames","f","Theme_default","variantClassName","useVariantClassName","React","cx","isLinerMessageActivity","activity","import_react","LinerMessageActivity_default","liner-message-activity","liner-message-activity__text","LinerMessageActivity","activity","classNames","f","LinerMessageActivity_default","React","LinerActivity_default","ThemeProvider","activityMiddleware","next","args","activity","isPreChatMessageActivity","React","PreChatMessageActivity_default","isLinerMessageActivity","LinerActivity_default","renderActivity","ActivityDecorator_default","sendBoxMiddleware","PrimarySendBox","styles","createStyles_default","FluentThemeProvider","children","variant","VariantComposer_default","Theme","Provider_default","FluentThemeProvider_default","injectMeta","FluentThemeProvider_default","testIds_default"]}