@carbon/ai-chat 0.1.1-alpha4 → 0.1.1-react17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.js +1 -1
- package/dist/aiChatEntry2.js +1 -1
- package/dist/web-components/cds-aichat-container/App.js +1 -1
- package/dist/web-components/cds-aichat-container/App.js.map +1 -1
- package/dist/web-components/cds-aichat-container/index.js +3 -3
- package/dist/web-components/cds-aichat-container/index.js.map +1 -1
- package/dist/web-components/cds-aichat-container/moduleFederationPluginUtils.js.map +1 -1
- package/dist/web-components/cds-aichat-custom-element/App.js +1 -1
- package/dist/web-components/cds-aichat-custom-element/App.js.map +1 -1
- package/dist/web-components/cds-aichat-custom-element/index.js +2 -2
- package/dist/web-components/cds-aichat-custom-element/index.js.map +1 -1
- package/dist/web-components/cds-aichat-custom-element/moduleFederationPluginUtils.js.map +1 -1
- package/package.json +1 -1
- package/dist/createReact18.js +0 -1
- package/dist/web-components/cds-aichat-container/createReact18.js +0 -2
- package/dist/web-components/cds-aichat-container/createReact18.js.map +0 -1
- package/dist/web-components/cds-aichat-custom-element/createReact18.js +0 -2
- package/dist/web-components/cds-aichat-custom-element/createReact18.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moduleFederationPluginUtils.js","sources":["../../../../../../../../../../internal-packages/shared/utils/lang/stringUtils.ts","../../../../../../../../../../internal-packages/types/eventBusTypes.ts","../../../../../../../../../../internal-packages/shared/types/eventBusTypes.ts","../../../../../node_modules/dayjs/dayjs.min.js","../../../../../../../../../../internal-packages/shared/types/AlternateSuggestionsConfig.ts","../../../../../node_modules/reselect/es/defaultMemoize.js","../../../../../node_modules/reselect/es/index.js","../../../../../../../../../../internal-packages/shared/store/selectors.ts","../../../../../../../../../../internal-packages/shared/utils/processUtils.ts","../../../../../../../../../../internal-packages/shared/utils/alternateSuggestionsUtils.ts","../../../../../node_modules/@carbon/colors/es/index.js","../../../../../node_modules/simple-swizzle/index.js","../../../../../node_modules/simple-swizzle/node_modules/is-arrayish/index.js","../../../../../node_modules/color-string/index.js","../../../../../node_modules/color-name/index.js","../../../../../node_modules/color/node_modules/color-convert/conversions.js","../../../../../node_modules/color/node_modules/color-name/index.js","../../../../../node_modules/color/node_modules/color-convert/route.js","../../../../../node_modules/color/node_modules/color-convert/index.js","../../../../../node_modules/color/index.js","../../../../../../../../../../internal-packages/shared/utils/colors.ts","../../../../../../../../../../internal-packages/shared/utils/styleUtils.ts","../../../../../../../../../../internal-packages/shared/utils/timeUtils.ts","../../../../../../../../../../internal-packages/shared/services/mockStorage.ts","../../../../../../../../../../internal-packages/shared/services/deviceIDStorage.ts","../../../../../../../../../../internal-packages/shared/services/TrackService.ts","../../../../../../../../../../internal-packages/types/carbonTypes.ts","../../../../../node_modules/dayjs/locale/en.js","../../../../../../../../../../internal-packages/shared/utils/languages.tsx","../../../../../../../../../../internal-packages/shared/contexts/LanguagePackContext.tsx","../../../../../../../../../../internal-packages/shared/hooks/useLanguagePack.tsx","../../../../../node_modules/@carbon/icon-helpers/es/index.js","../../../../../node_modules/prop-types/index.js","../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../node_modules/@carbon/icons-react/es/Icon.js","../../../../../node_modules/@carbon/icons-react/es/generated/bucket-6.js","../../../../../node_modules/classnames/index.js","../../../../../../../../../../internal-packages/shared/components/ErrorIcon.tsx","../../../../../../../../../../internal-packages/shared/components/responseTypes/error/InlineError.tsx","../../../../../../../../../../internal-packages/shared/utils/moduleFederationPluginUtils.ts"],"sourcesContent":["/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * Determines if the given ID is a valid UUID. The string must consist of 32 hexadecimal characters (case does not\n * matter). Dashes are optional between each section but when present, must be in the correct location. The standard\n * UUID format has character lengths \"8-4-4-4-12\".\n *\n * @param id The ID to test.\n * @returns Returns true to indicate if the ID is a valid UUID or false otherwise.\n */\nfunction isValidUUID(id: any): boolean {\n return (\n typeof id === 'string' && id.match(/^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$/i) !== null\n );\n}\n\n/**\n * Determines if the given string is a \"empty\" string. That is a string that has no value or is the literal string\n * \"null\".\n */\nfunction isEmptyString(value: string) {\n return !value || value === 'null';\n}\n\n/**\n * Parses out the text directive from the given URL if it is present and returns the \"start\" piece from it. The format\n * of the hash is \"[prefix-,]start[,end][,-suffix]\".\n *\n * @see \"URL Fragment Text Directives\" - https://wicg.github.io/scroll-to-text-fragment/\n */\nfunction parseTextDirective(url: string) {\n if (url) {\n const parsedURL = new URL(url);\n if (parsedURL.hash?.startsWith('#:~:text=')) {\n const parameters = parsedURL.hash.split('=');\n const textFragment = parameters[1];\n if (textFragment) {\n // Strip out the prefix (*-,) and suffix (,-*).\n const startAndEnd = textFragment.replace(/(.+-,)*(.*)(,-.+)/, '$2');\n const textPieces = startAndEnd.split(',');\n\n // Only return the start text.\n const start = textPieces[0];\n if (start) {\n // Percent-decode the final result.\n return decodeURIComponent(start);\n }\n }\n }\n }\n\n return null;\n}\n\n/**\n * Attempts to parse the given value into a JSON object. If that fails, this will just return the value.\n */\nfunction tryJSONParse(data: any) {\n if (data) {\n try {\n return JSON.parse(data);\n } catch (e) {\n // Ignore.\n }\n }\n return data;\n}\n\n/**\n * Sometimes we are passed back \"null\" as a string! In that case, instead of showing \"null\" as a title or body, we\n * convert it to a real null value.\n *\n * @param str A string for the title or body of the search card.\n */\nfunction convertToEmptyStringIfStringifiedNull(str: string) {\n return str === 'null' ? null : str;\n}\n\n/**\n * Under the covers before it gets to us, a title/body may have been a stringified array. We need to remove the [\"\"]\n * if that is the case.\n *\n * @param str A string for the title or body of the search card.\n */\nfunction convertPossibleStringifiedArrayToFirstString(str: string): string {\n if (typeof str === 'string' && str.startsWith('[\"') && str.endsWith('\"]')) {\n try {\n [str] = JSON.parse(str);\n } catch (error) {\n // Not an array of strings, so do nothing.\n }\n }\n return str;\n}\n\nexport {\n isValidUUID,\n isEmptyString,\n parseTextDirective,\n tryJSONParse,\n convertToEmptyStringIfStringifiedNull,\n convertPossibleStringifiedArrayToFirstString,\n};\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This file contains the type definitions for the event bus.\n */\n\nimport {\n AgentProfile,\n GenericItem,\n MessageRequest,\n MessageResponse,\n} from 'submodules/wa-fd-types-public/wa-types-chat';\nimport { DeepPartial } from 'ts-essentials';\n\nimport { FileUpload, ViewState } from './apiTypes';\nimport { ButtonItem, Message, PartialOrCompleteItemChunk, TourStepGenericItem } from './messageTypes';\nimport { AgentsOnlineStatus } from './serviceDeskTypes';\n\nexport const enum BusEventType {\n CLOSE_PANEL_BUTTON_TOGGLED = 'closePanelButton:toggled',\n PRE_RECEIVE = 'pre:receive',\n RECEIVE = 'receive',\n PRE_SEND = 'pre:send',\n SEND = 'send',\n VIEW_PRE_CHANGE = 'view:pre:change',\n VIEW_CHANGE = 'view:change',\n MESSAGE_ITEM_CUSTOM = 'messageItemCustom',\n CUSTOM_RESPONSE = 'customResponse',\n USER_DEFINED_RESPONSE = 'userDefinedResponse',\n PROCESS_OPEN = 'process:open',\n PROCESS_CLOSE = 'process:close',\n PROCESS_CANCEL = 'process:cancel',\n HISTORY_BEGIN = 'history:begin',\n HISTORY_END = 'history:end',\n IDENTITY_EXPIRED = 'identityTokenExpired',\n PRE_RESTART_CONVERSATION = 'pre:restartConversation',\n RESTART_CONVERSATION = 'restartConversation',\n CHAT_READY = 'chat:ready',\n CUSTOM_PANEL_PRE_OPEN = 'customPanel:pre:open',\n CUSTOM_PANEL_OPEN = 'customPanel:open',\n CUSTOM_PANEL_PRE_CLOSE = 'customPanel:pre:close',\n CUSTOM_PANEL_CLOSE = 'customPanel:close',\n SESSION_EXPIRED = 'sessionExpired',\n TOUR_START = 'tour:start',\n TOUR_END = 'tour:end',\n TOUR_STEP = 'tour:step',\n\n /**\n * This event is fired before web chat processes a message received from a human agent from a service desk.\n */\n AGENT_PRE_RECEIVE = 'agent:pre:receive',\n\n /**\n * This event is fired after web chat processes a message received from a human agent from a service desk.\n */\n AGENT_RECEIVE = 'agent:receive',\n\n /**\n * This event is fired before web chat sends a message to a human agent from a service desk.\n */\n AGENT_PRE_SEND = 'agent:pre:send',\n\n /**\n * This event is fired after web chat sends a message to a human agent from a service desk.\n */\n AGENT_SEND = 'agent:send',\n\n /**\n * This event is fired before a chat with a service desk has started. This occurs as soon as the user clicks the\n * \"Request agent\" button and before any attempt is made to communicate with the service desk.\n */\n AGENT_PRE_START_CHAT = 'agent:pre:startChat',\n\n /**\n * This event is fired before a chat with an agent is ended. This occurs after the user has selected \"Yes\" from the\n * confirmation modal but it can also be fired if the chat is ended by the agent. Note that this is not fired if a\n * request for an agent is cancelled. The agent:endChat event however is fired in that case.\n */\n AGENT_PRE_END_CHAT = 'agent:pre:endChat',\n\n /**\n * This event is fired after a chat with an agent has ended. This is fired after {@link AGENT_PRE_END_CHAT} but\n * can be fired both from the user leaving the chat or the agent ending the chat.\n */\n AGENT_END_CHAT = 'agent:endChat',\n\n /**\n * This event is fired after web chat calls \"areAnyAgentsOnline\" for a service desk. It will report the value returned\n * from that call. This is particularly useful if some custom code wants to take action if no agents are online.\n */\n AGENT_ARE_ANY_AGENTS_ONLINE = 'agent:areAnyAgentsOnline',\n\n /**\n * This event is fired before a message between the user and a live agent is added to session history. It allows\n * the customer to modify the message in order to do things like remove PII from being stored by IBM watsonx\n * Assistant.\n */\n AGENT_PRE_SESSION_HISTORY = 'agent:pre:sessionHistory',\n\n GENESYS_MESSENGER_AUTH_PROVIDER = 'agent:genesysMessenger:AuthProvider',\n GENESYS_MESSENGER_GET_AUTH_CODE = 'agent:genesysMessenger:getAuthCode',\n GENESYS_MESSENGER_REAUTHENTICATE = 'agent:genesysMessenger:reAuthenticate',\n GENESYS_MESSENGER_LOGGED_OUT = 'agent:genesysMessenger:loggedOut',\n GENESYS_MESSENGER_AUTH_ERROR = 'agent:genesysMessenger:authError',\n NICE_DFO_GET_AUTH_CODE = 'agent:niceDFO:getAuthCode',\n\n CHUNK_USER_DEFINED_RESPONSE = 'chunk:userDefinedResponse',\n\n ALL_EVENTS = '*',\n}\n\n/**\n * The possible reasons why the view may be changed.\n */\nexport enum ViewChangeReason {\n /**\n * Indicates the web chat has loaded for the first time and a view is trying to open. If {@link openChatByDefault} is\n * true then the main window will be trying to open, otherwise the launcher will be trying to open.\n */\n WEB_CHAT_LOADED = 'webChatLoaded',\n\n /**\n * Indicates the user clicked on our built-in launcher button that opened either a tour or the main window.\n */\n LAUNCHER_CLICKED = 'launcherClicked',\n\n /**\n * Indicates the view is trying to change after loading session history.\n */\n SESSION_HISTORY = 'sessionHistory',\n\n /**\n * Indicates the main window was opened by a call to {@link ChatInstance.openWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_OPEN_WINDOW = 'calledOpenWindow',\n\n /**\n * Indicates the main window was opened because a link ID was found that started a specific conversation.\n */\n LINK_ID = 'linkID',\n\n /**\n * Indicates the main window was opened from a tour.\n */\n TOUR_OPENED_OTHER_VIEW = 'tourOpenedOtherView',\n\n /**\n * Indicates the {@link ChatInstance.restartConversation} method was used while a tour was visible.\n */\n CALLED_RESTART_CONVERSATION = 'calledRestartConversation',\n\n /**\n * Indicates the main window is being opened as a result of a channel transfer.\n */\n CHANNEL_TRANSFER = 'channelTransfer',\n\n /**\n * Indicates the user clicked on our built-in minimize button that closed to either the launcher or a tour.\n */\n MAIN_WINDOW_MINIMIZED = 'mainWindowMinimized',\n\n /**\n * Indicates the main window was closed by a call to {@link ChatInstance.closeWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_CLOSE_WINDOW = 'calledCloseWindow',\n\n /**\n * Indicates a tour was started by the start tour button in the main window.\n */\n TOUR_CARD_STARTED_TOUR = 'tourCardStartedTour',\n\n /**\n * Indicates a tour was resumed by the resume button in the main window.\n */\n TOUR_CARD_RESUMED_TOUR = 'tourCardResumedTour',\n\n /**\n * Indicates a tour was restarted by the restart button in the main window.\n */\n TOUR_CARD_RESTARTED_TOUR = 'tourCardRestartedTour',\n\n /**\n * Indicates a tour was started by the {@link startTour} instance method.\n */\n CALLED_START_TOUR = 'calledStartTour',\n\n /**\n * Indicates a tour was started by a tour response type that included the 'skip_card' flag.\n */\n TOUR_SKIP_CARD = 'tourSkipCard',\n\n /**\n * Indicates the user clicked the close and restart button that minimized to the launcher.\n */\n MAIN_WINDOW_CLOSED_AND_RESTARTED = 'mainWindowClosedAndRestarted',\n\n /**\n * Indicates the user clicked on the minimize button within the tour to close to the launcher.\n */\n TOUR_MINIMIZED = 'tourMinimized',\n\n /**\n * Indicates the close button was used to close a tour.\n */\n TOUR_CLOSED = 'tourClosed',\n\n /**\n * Indicates the done button was used to close a tour.\n */\n TOUR_DONE = 'tourDone',\n\n /**\n * Indicates the view was changed by a call to {@link ChatInstance.changeView}.\n */\n CALLED_CHANGE_VIEW = 'calledChangeView',\n\n /**\n * Indicates the {@link ChatInstance.tours.endTour} method was used to close a tour.\n */\n CALLED_END_TOUR = 'calledEndTour',\n}\n\n/**\n * The different sources that can cause a send event to occur.\n */\nexport enum MessageSendSource {\n /**\n * The user has entered a value from the main input on the message list.\n */\n MESSAGE_INPUT = 'messageInput',\n\n /**\n * The user has entered a value from the input on the home screen.\n */\n HOME_SCREEN_INPUT = 'homeScreenInput',\n\n /**\n * The user clicked a button from an option response.\n */\n OPTION_BUTTON = 'optionButton',\n\n /**\n * The user selected a value from a dropdown for an option response.\n */\n OPTION_DROP_DOWN = 'optionDropDown',\n\n /**\n * The automatic follow-up message that occurs after a skip-user-input response.\n */\n SKIP_USER_INPUT = 'skipUserInput',\n\n /**\n * The message was sent as an automatic re-send when web chat is loaded. This occurs when web chat sees that the\n * last message request did not receive a response.\n */\n HYDRATE_RESEND = 'hydrateResend',\n\n /**\n * The message was sent as an event history update.\n */\n HISTORY_UPDATE = 'historyUpdate',\n\n /**\n * An external call to the public \"instance.send\" method was made.\n */\n INSTANCE_SEND = 'instanceSend',\n\n /**\n * The user chose a value from the date picker.\n */\n DATE_PICKER = 'datePicker',\n\n /**\n * The user clicked a post back button from a button response.\n */\n POST_BACK_BUTTON = 'postBackButton',\n\n /**\n * A link ID was detected on the page and an automatic \"welcome request\" was sent.\n */\n LINK_ID = 'linkID',\n\n /**\n * The user clicked a starter from the home screen.\n */\n HOME_SCREEN_STARTER = 'homeScreenStarter',\n\n /**\n * The user made a choice from a disambiguation response.\n */\n DISAMBIGUATION = 'disambiguation',\n\n /**\n * The startTour method has called.\n */\n START_TOUR_METHOD = 'startTourMethod',\n\n /**\n * A default request for the welcome message was made.\n */\n WELCOME_REQUEST = 'welcomeRequest',\n\n /**\n * This is used for message events.\n */\n EVENT = 'event',\n\n /**\n * Some other source.\n */\n OTHER = 'other',\n\n /**\n * The user chose an alternate response message from the suggestions menu.\n */\n SUGGESTIONS_MESSAGE = 'suggestionsMessage',\n\n /**\n * The user chose a home screen starter from the suggestions menu.\n */\n SUGGESTIONS_STARTER = 'suggestionsStarter',\n\n /**\n * The user chose the contact option from the suggestions menu.\n */\n SUGGESTIONS_CONTACT = 'suggestionsContact',\n\n /**\n * A 3rd strike occurred and an automatic suggestions contact message was sent.\n */\n SUGGESTIONS_3RD_STRIKE = 'suggestions3rdStrike',\n}\n\n/**\n * The possible reasons why a tour could be started. Purposefully not firing this event when the restart button is\n * clicked.\n */\nexport enum TourStartReason {\n /**\n * If the {@link startTour} instance method was used to start the tour.\n */\n START_TOUR_METHOD = 'start_tour_method',\n\n /**\n * If the skip_card property was true within the tour json.\n */\n SKIP_CARD = 'skip_card',\n\n /**\n * If the user clicked the tour card's start button.\n */\n START_TOUR_CLICKED = 'start_tour_clicked',\n}\n\n/**\n * The possible reasons why a tour could have ended. Purposefully not firing this event when the close button is clicked\n * or the {@link endTour} instance method is used.\n */\nexport enum TourEndReason {\n /**\n * If the user clicked the done button.\n */\n DONE_CLICKED = 'done_clicked',\n}\n\n// The discriminating union of all the possible bus event types.\nexport interface BusEvent {\n /**\n * The type of this event.\n */\n type: BusEventType;\n}\n\nexport type BusEventWithElement = BusEventCustomizationResponseLeft | BusEventCustomizationRequestLeft;\n\n/**\n * This event is for the\n */\nexport interface BusEventClosePanelButtonClicked extends BusEvent {\n type: BusEventType.CLOSE_PANEL_BUTTON_TOGGLED;\n}\n\nexport interface BusEventPreReceive extends BusEvent {\n type: BusEventType.PRE_RECEIVE;\n data: MessageResponse;\n\n /**\n * Defaulted to true. If true then changes made to the message object in pre:receive will be saved in the session\n * history for the length of the session. If the changes are saved then the message will look the same to the end user\n * before and after page change/reload as long as the session history feature is enabled. If updateHistory is false\n * the changes will not be saved in the history. While the message will still initially update successfully if this is\n * false, the changes won't be preserved and the end user will see the original message (that was received before the\n * pre:receive changes) when a page change/reload occurs.\n */\n updateHistory: boolean;\n}\n\nexport interface BusEventReceive extends BusEvent {\n type: BusEventType.RECEIVE;\n data: MessageResponse;\n}\n\nexport interface BusEventPreSend extends BusEvent {\n type: BusEventType.PRE_SEND;\n data: MessageRequest;\n\n /**\n * The source of the message being sent.\n */\n source: MessageSendSource;\n\n /**\n * An optional payload object that was provided as part of the \"onBeforeSend\" callback from an input field.\n */\n beforeSendPayload?: unknown;\n}\n\nexport interface BusEventSend extends BusEvent {\n type: BusEventType.SEND;\n data: MessageRequest;\n\n /**\n * The source of the message being sent.\n */\n source: MessageSendSource;\n\n /**\n * An optional payload object that was provided as part of the \"onBeforeSend\" callback from an input field.\n */\n beforeSendPayload?: unknown;\n}\n\nexport interface BusEventAgentPreReceive extends BusEvent {\n type: BusEventType.AGENT_PRE_RECEIVE;\n data: MessageResponse;\n agentProfile?: AgentProfile;\n}\n\nexport interface BusEventAgentReceive extends BusEvent {\n type: BusEventType.AGENT_RECEIVE;\n data: MessageResponse;\n agentProfile?: AgentProfile;\n}\n\nexport interface BusEventAgentPreSend extends BusEvent {\n type: BusEventType.AGENT_PRE_SEND;\n data: MessageRequest;\n files: FileUpload[];\n}\n\nexport interface BusEventAgentSend extends BusEvent {\n type: BusEventType.AGENT_SEND;\n data: MessageRequest;\n files: FileUpload[];\n}\n\nexport interface BusEventViewPreChange extends BusEvent {\n type: BusEventType.VIEW_PRE_CHANGE;\n\n /**\n * The reason the view is changing.\n */\n reason: ViewChangeReason;\n\n /**\n * The previous view state before this event.\n */\n oldViewState: ViewState;\n\n /**\n * The new view state that web chat is going to switch to. This new state can be changed by the event handler.\n */\n newViewState: ViewState;\n\n /**\n * This is used by the event handler to indicate that the view change should be cancelled and web chat's view should\n * not be changed.\n */\n cancelViewChange: boolean;\n}\n\nexport interface BusEventViewChange extends BusEvent {\n type: BusEventType.VIEW_CHANGE;\n\n /**\n * The reason the view is changing.\n */\n reason: ViewChangeReason;\n\n /**\n * The previous view state from before the view:pre:change event.\n */\n oldViewState: ViewState;\n\n /**\n * The new view state that web chat has switched to. This new state can be changed by the event handler.\n */\n newViewState: ViewState;\n\n /**\n * This is used by the event handler to indicate that the view change should be cancelled and web chat's view should\n * not be changed. Since the view has already changed when this event is fired, this property will cause the view to\n * change back. Note that the view change events are *not* fired when the view changes back.\n */\n cancelViewChange: boolean;\n}\n\nexport interface BusEventReset extends BusEvent {\n type: BusEventType.RESTART_CONVERSATION;\n}\n\nexport interface BusEventChatReady extends BusEvent {\n type: BusEventType.CHAT_READY;\n}\n\nexport interface BusEventPreReset extends BusEvent {\n type: BusEventType.PRE_RESTART_CONVERSATION;\n}\n\n/**\n * A list of custom event types that can trigger a custom event.\n */\nexport enum CustomEventType {\n BUTTON_ITEM_CLICKED = 'buttonItemClicked',\n}\n\n/**\n * This describes a custom event that can be authored with the button response type of type \"option\". When clicked,\n * this event will fire and provide information authored in the custom event.\n */\nexport interface BusEventMessageItemCustom extends BusEvent {\n type: BusEventType.MESSAGE_ITEM_CUSTOM;\n\n /**\n * The event type that triggered the custom event.\n */\n customEventType: CustomEventType;\n\n /**\n * The button item that triggered this custom event.\n */\n messageItem: ButtonItem;\n\n /**\n * The full message response that contained the button item that triggered this custom event.\n */\n fullMessage: MessageResponse;\n}\n\nexport interface BusEventUserDefinedResponse extends BusEvent {\n type: BusEventType.USER_DEFINED_RESPONSE;\n data: {\n /**\n * The individual message item that is being displayed in this custom response.\n */\n message: GenericItem;\n\n /**\n * The full message (response or request) that contains the message item.\n */\n fullMessage: Message;\n\n /**\n * The element to which customers can add the custom code to render for the custom response.\n */\n element?: HTMLElement;\n\n /**\n * An assignable property that the event listener can assign that will indicate if the response is supposed to\n * be full width.\n */\n fullWidth?: boolean;\n };\n}\n\nexport interface BusEventChunkUserDefinedResponse extends BusEvent {\n type: BusEventType.CHUNK_USER_DEFINED_RESPONSE;\n data: {\n /**\n * The individual message item that is being displayed in this custom response.\n */\n messageItem: DeepPartial<GenericItem>;\n\n /**\n * The full chunk that contained the user defined response.\n */\n chunk: PartialOrCompleteItemChunk;\n\n /**\n * The element to which customers can add the custom code to render for the custom response.\n */\n element?: HTMLElement;\n\n /**\n * An assignable property that the event listener can assign that will indicate if the response is supposed to\n * be full width.\n */\n fullWidth?: boolean;\n };\n}\n\nexport interface BusEventCustomResponse extends Omit<BusEventUserDefinedResponse, 'type'> {\n type: BusEventType.CUSTOM_RESPONSE;\n}\n\nexport interface BusEventProcessOpen extends BusEvent {\n type: BusEventType.PROCESS_OPEN;\n}\n\nexport interface BusEventProcessClose extends BusEvent {\n type: BusEventType.PROCESS_CLOSE;\n}\n\nexport interface BusEventProcessCancel extends BusEvent {\n type: BusEventType.PROCESS_CANCEL;\n}\n\nexport interface BusEventIdentityExpired extends BusEvent {\n type: BusEventType.IDENTITY_EXPIRED;\n\n /**\n * JWT string that is expected to be updated when this event is fired with a new identityToken.\n */\n identityToken: string;\n}\n\n/**\n * The event is fired whenever the widget begins processing a list of messages that have been loaded from history.\n * This event may be fired not only when the history is first loaded but it may be fired later during the life of\n * the widget if additional messages are loaded from history.\n *\n * This event is fired when this process begins. This is fired before all the \"pre:receive\" and \"receive\" events are\n * fired which means that the messages here are the original messages before any possible modifications by the event\n * handlers.\n */\nexport interface BusEventHistoryBegin extends BusEvent {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.HISTORY_BEGIN;\n\n /**\n * The list of all the messages that are being loaded by this history event.\n */\n messages: Message[];\n}\n\n/**\n * The event is fired whenever the widget begins processing a list of messages that have been loaded from history.\n * This event may be fired not only when the history is first loaded but it may be fired later during the life of\n * the widget if additional messages are loaded from history.\n *\n * This event is fired when this process ends. This is fired after all the \"pre:receive\" and \"receive\" events are\n * fired which means that the messages here are the potentially modified messages after any possible modifications\n * by the event handlers.\n */\nexport interface BusEventHistoryEnd extends BusEvent {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.HISTORY_END;\n\n /**\n * The list of all the messages that were loaded by this history event.\n */\n messages: Message[];\n}\n\n/**\n * This is the base event for a customization event that is fired for messages in the web chat.\n */\nexport interface BaseBusEventCustomizationMessage {\n /**\n * The element to the left of the message where the custom content can be attached.\n */\n element: HTMLElement;\n\n /**\n * The individual message item that is being rendered. For a message response, this will be one of the values\n * from the message generic array. For a message request, this will be the message input.\n */\n messageItem: GenericItem;\n\n /**\n * The message response the given message item belongs to.\n */\n message: Message;\n\n /**\n * This is a callback function that can be used to change the z-index of this message item.\n */\n setItemZIndex: (zIndex: number) => void;\n}\n\n/**\n * This event is fired when UI customization events are enabled and a message item for a message response is\n * mounted. This event will contain an element on the left side of the message where custom content can be inserted.\n */\nexport interface BusEventCustomizationResponseLeft extends BusEvent, BaseBusEventCustomizationMessage {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.CUSTOMIZATION_RESPONSE_LEFT;\n}\n\n/**\n * This event is fired when UI customization events are enabled and a message item for a message request is\n * mounted. This event will contain an element on the left side of the message where custom content can be inserted.\n */\nexport interface BusEventCustomizationRequestLeft extends BusEvent, BaseBusEventCustomizationMessage {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.CUSTOMIZATION_REQUEST_LEFT;\n}\n\n/**\n * The catch-all event that covers the firing of all the other events.\n */\nexport interface BusEventAllEvents extends BusEvent {\n type: BusEventType.ALL_EVENTS;\n [key: string]: any;\n}\n\nexport interface BusEventCustomPanelPreOpen extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_PRE_OPEN;\n}\n\nexport interface BusEventCustomPanelOpen extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_OPEN;\n}\n\nexport interface BusEventCustomPanelPreClose extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_PRE_CLOSE;\n}\n\nexport interface BusEventCustomPanelClose extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_CLOSE;\n}\n\n/**\n * Fired when a tour is started. The tour could be started upon receipt of a tour message with skip_card true, when a\n * developer used the {@link startTour} instance method, or when the start tour card is clicked by the user.\n * Purposefully not firing this event when the restart button is clicked.\n */\nexport interface BusEventTourStart extends BusEvent {\n type: BusEventType.TOUR_START;\n\n /**\n * The reason for the tour starting.\n */\n reason: TourStartReason;\n}\n\n/**\n * Fired when the tour is ended by clicking the done button at the end of the tour. Purposefully not firing this event\n * when the close button is clicked or the {@link endTour} instance method is used.\n */\nexport interface BusEventTourEnd extends BusEvent {\n type: BusEventType.TOUR_END;\n\n /**\n * The reason for the tour ending.\n */\n reason: TourEndReason;\n}\n\n/**\n * Fired when a new step is shown to the user. This could be caused by a tour starting/restarting, the user clicking the\n * next or previous buttons within the tour, or by a developer calling the {@link goToNextStep} or {@link goToStep}\n * instance methods. Purposefully not firing this event when a tour is resumed.\n */\nexport interface BusEventTourStep extends BusEvent {\n type: BusEventType.TOUR_STEP;\n\n /**\n * The details of the new step item.\n */\n step: TourStepGenericItem;\n}\n\n/**\n * This event is fired before the user is connected to a service desk. This occurs as soon as the user clicks the\n * \"Request agent\" button and before any attempt is made to communicate with the service desk.\n */\nexport interface BusEventAgentPreStartChat<TPayloadType = unknown> extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_PRE_START_CHAT;\n\n /**\n * The message that was used to trigger the connection to the agent.\n */\n message: MessageResponse;\n\n /**\n * This flag can be set by a listener to indicate that the connection process should be cancelled.\n */\n cancelStartChat?: boolean;\n\n /**\n * Some arbitrary payload of data that will be passed to the service desk when a chat is started.\n */\n preStartChatPayload?: TPayloadType;\n\n /**\n * The key that can be provided for the agent app configuration to load an agent app version of web chat.\n */\n sessionHistoryKey: string;\n}\n\n/**\n * This event is fired before a chat with an agent is ended. This occurs after the user has selected \"Yes\" from the\n * confirmation modal but it can also be fired if the chat is ended by the agent.\n */\nexport interface BusEventAgentPreEndChat<TPayloadType = unknown> extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_PRE_END_CHAT;\n\n /**\n * Indicates if the chat was ended by the agent.\n */\n endedByAgent: boolean;\n\n /**\n * An arbitrary payload object that a listener may set. This payload will be passed to the service desk\n * {@link ServiceDesk#endChat} function.\n */\n preEndChatPayload: TPayloadType;\n\n /**\n * This value may be set by a listener to indicate that the process of ending the chat should be cancelled.\n */\n cancelEndChat: boolean;\n}\n\n/**\n * This event is fired after a chat with an agent has ended. This is fired after {@link AGENT_PRE_END_CHAT} but\n * can be fired both from the user leaving the chat or the agent ending the chat.\n */\nexport interface BusEventAgentEndChat extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_END_CHAT;\n\n /**\n * Indicates if the chat was ended by the agent.\n */\n endedByAgent: boolean;\n\n /**\n * Indicates if the chat was ended because the request for an agent was cancelled or an error occurred while\n * starting the chat. This means the start never fully started.\n */\n requestCancelled: boolean;\n}\n\n/**\n * This event is fired after web chat calls \"areAnyAgentsOnline\" for a service desk. It will report the value returned\n * from that call. This is particularly useful if some custom code wants to take action if no agents are online.\n */\nexport interface BusEventAgentAreAnyAgentsOnline extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_ARE_ANY_AGENTS_ONLINE;\n\n /**\n * The result that was returned from \"areAnyAgentsOnline\". If an error occurred, this will be\n * {@link AgentsOnlineStatus.OFFLINE}.\n */\n areAnyAgentsOnline: AgentsOnlineStatus;\n}\n\n/**\n * This event is fired before a message from a live agent or the user (to an agent) is added to session history. It\n * gives the customer the opportunity to filter out PII from the messages so they are not stored by IBM watsonx\n * Assistant.\n */\nexport interface BusEventAgentPreSessionHistory extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_PRE_SESSION_HISTORY;\n\n /**\n * The message that is to be saved in session history.\n */\n message: MessageRequest | MessageResponse;\n}\n\nexport interface BusEventGenesysMessengerAuthProvider extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_AUTH_PROVIDER;\n\n /**\n * The AuthProvider plugin that was created.\n */\n authProvider: unknown;\n}\n\nexport interface BusEventGenesysMessengerGetAuthCode extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_GET_AUTH_CODE;\n\n /**\n * The event provided by Genesys.\n */\n genesysEvent: unknown;\n}\n\nexport interface BusEventGenesysMessengerAuthError extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_AUTH_ERROR;\n\n /**\n * The error provided by Genesys.\n */\n genesysError: unknown;\n}\n\nexport interface BusEventGenesysMessengerLoggedOut extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_LOGGED_OUT;\n\n /**\n * The event provided by Genesys.\n */\n genesysEvent: unknown;\n}\n\nexport interface BusEventGenesysMessengerReauthenticate extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_REAUTHENTICATE;\n\n /**\n * The event provided by Genesys.\n */\n genesysEvent: unknown;\n}\n\nexport interface BusEventNiceDFOGetAuthCode extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.NICE_DFO_GET_AUTH_CODE;\n\n /**\n * The authentication code set by the event handler. This code will be provided to Nice.\n */\n authCode: string;\n\n /**\n * The visitor ID code set by the event handler. This code will be provided to Nice.\n */\n visitorID?: string;\n}\n\nexport interface BusEventSessionExpired extends BusEvent {\n type: BusEventType.SESSION_EXPIRED;\n session: {\n id: string;\n };\n}\n\ndeclare module 'submodules/wa-fd-types-public/agent-events-types' {\n export interface AgentProfile {\n /**\n * Indicates if the agent's profile information should be hidden. This will hide the entire avatar line\n * including the agent name, avatar and timestamp.\n */\n hidden?: boolean;\n }\n}\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport type { EventBusHandler, TypeAndHandler } from 'internal-packages/types/ChatInstance';\nimport {\n type BaseBusEventCustomizationMessage,\n type BusEvent,\n type BusEventAgentAreAnyAgentsOnline,\n type BusEventAgentEndChat,\n type BusEventAgentPreEndChat,\n type BusEventAgentPreReceive,\n type BusEventAgentPreSend,\n type BusEventAgentPreSessionHistory,\n type BusEventAgentPreStartChat,\n type BusEventAgentReceive,\n type BusEventAgentSend,\n type BusEventAllEvents,\n type BusEventChatReady,\n type BusEventChunkUserDefinedResponse,\n type BusEventClosePanelButtonClicked,\n type BusEventCustomizationRequestLeft,\n type BusEventCustomizationResponseLeft,\n type BusEventCustomPanelClose,\n type BusEventCustomPanelOpen,\n type BusEventCustomPanelPreClose,\n type BusEventCustomPanelPreOpen,\n type BusEventCustomResponse,\n type BusEventGenesysMessengerAuthError,\n type BusEventGenesysMessengerAuthProvider,\n type BusEventGenesysMessengerGetAuthCode,\n type BusEventGenesysMessengerLoggedOut,\n type BusEventGenesysMessengerReauthenticate,\n type BusEventHistoryBegin,\n type BusEventHistoryEnd,\n type BusEventIdentityExpired,\n type BusEventMessageItemCustom,\n type BusEventNiceDFOGetAuthCode,\n type BusEventPreReceive,\n type BusEventPreReset,\n type BusEventPreSend,\n type BusEventProcessCancel,\n type BusEventProcessClose,\n type BusEventProcessOpen,\n type BusEventReceive,\n type BusEventReset,\n type BusEventSend,\n type BusEventSessionExpired,\n type BusEventTourEnd,\n type BusEventTourStart,\n type BusEventTourStep,\n BusEventType,\n type BusEventUserDefinedResponse,\n type BusEventViewChange,\n type BusEventViewPreChange,\n type BusEventWithElement,\n CustomEventType,\n MessageSendSource,\n TourEndReason,\n TourStartReason,\n ViewChangeReason,\n} from 'internal-packages/types/eventBusTypes';\n\ndeclare module 'internal-packages/types/eventBusTypes' {\n const enum BusEventType {\n WINDOW_PRE_OPEN = 'window:pre:open',\n WINDOW_OPEN = 'window:open',\n WINDOW_PRE_CLOSE = 'window:pre:close',\n WINDOW_CLOSE = 'window:close',\n CUSTOMIZATION_RESPONSE_LEFT = 'customization:message:response:item:left',\n CUSTOMIZATION_REQUEST_LEFT = 'customization:message:request:item:left',\n }\n}\n\nexport interface BusEventWindowPreClose extends BusEvent {\n type: BusEventType.WINDOW_PRE_CLOSE;\n\n /**\n * The reason for the main window being closed.\n */\n reason: MainWindowCloseReason;\n\n /**\n * This is used by the event handler to indicate that the close should be cancelled and web chat should remain open.\n */\n cancelClose: boolean;\n}\n\nexport interface BusEventWindowPreOpen extends BusEvent {\n type: BusEventType.WINDOW_PRE_OPEN;\n\n /**\n * The reason for the main window being opened.\n */\n reason: MainWindowOpenReason;\n\n /**\n * This is used by the event handler to indicate that the open should be cancelled and web chat should remain closed.\n */\n cancelOpen: boolean;\n}\n\nexport interface BusEventWindowOpen extends BusEvent {\n type: BusEventType.WINDOW_OPEN;\n\n /**\n * The reason for the main window being opened.\n */\n reason: MainWindowOpenReason;\n\n /**\n * This is used by the event handler to indicate that the open should be cancelled and web chat should remain\n * closed. Since the window is already open when this event is fired, this property will cause the window to\n * close. Note that the window close events are *not* fired when this occurs.\n */\n cancelOpen: boolean;\n}\n\nexport interface BusEventWindowClose extends BusEvent {\n type: BusEventType.WINDOW_CLOSE;\n\n /**\n * The reason for the main window being closed.\n */\n reason: MainWindowCloseReason;\n}\n\nexport type UICustomizationEventType =\n | BusEventType.CUSTOMIZATION_RESPONSE_LEFT\n | BusEventType.CUSTOMIZATION_REQUEST_LEFT;\n\n/**\n * The possible reasons why the chat window may be opened.\n */\nexport enum MainWindowOpenReason {\n /**\n * Indicates the user clicked on our built-in launcher button that opened the main window.\n */\n DEFAULT_LAUNCHER = 'default_launcher',\n\n /**\n * Indicates the main window was opened because {@link PublicConfig.openChatByDefault} was set to true.\n */\n OPEN_BY_DEFAULT = 'open_by_default',\n\n /**\n * Indicates the main window was opened as a result of session history.\n */\n SESSION_HISTORY = 'session_history',\n\n /**\n * Indicates the main window was opened by a call to {@link ChatInstance.openWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_OPEN_WINDOW = 'called_open_window',\n\n /**\n * Indicates the main window was opened because a link ID was found that started a specific conversation.\n */\n LINK = 'link',\n\n /**\n * Indicates the main window was opened from a tour.\n *\n * @deprecated This reason is unclear so it's no longer being used. window:open events that used this reason will now\n * use the {@link TOUR_OPENED_OTHER_VIEW} reason instead. Since this reason was only added for beta tours we're\n * ok with removing it without a major release.\n */\n FROM_TOUR = 'from_tour',\n\n /**\n * Indicates the main window was opened from a tour.\n */\n TOUR_OPENED_OTHER_VIEW = 'tour_opened_other_view',\n\n /**\n * Indicates the {@link ChatInstance.restartConversation} method was used while a tour was visible.\n */\n CALLED_RESTART_CONVERSATION = 'called_restart_conversation',\n\n /**\n * Indicates the main window is being opened as a result of a channel transfer.\n */\n CHANNEL_TRANSFER = 'channel_transfer',\n}\n\n/**\n * The possible reasons why the chat window may be closed.\n */\nexport enum MainWindowCloseReason {\n /**\n * Indicates the user clicked on our built-in minimize button that closed to the launcher.\n */\n DEFAULT_MINIMIZE = 'default_minimize',\n\n /**\n * Indicates the main window was closed by a call to {@link ChatInstance.closeWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_CLOSE_WINDOW = 'called_close_window',\n\n /**\n * Indicates the main window was closed to open a tour. This either happens when a tour is started from a TourCard, or\n * when the main window is closed with the minimize button, or the {@link ChatInstance.closeWindow}\n * function, and there's an active tour to be shown.\n *\n * @deprecated This reason is unclear and was being used for many different scenarios so it's been removed.\n * window:close events that used this reason now use one of the following reasons; {@link TOUR_CARD_STARTED_TOUR},\n * {@link TOUR_CARD_RESUMED_TOUR}, {@link TOUR_CARD_RESTARTED_TOUR}, {@link CALLED_START_TOUR}, and\n * {@link TOUR_SKIP_CARD}. Since this reason was only added for beta tours we're ok with removing it without a major\n * release.\n */\n OPEN_TOUR = 'open_tour',\n\n /**\n * Indicates a tour was started by the start tour button in the main window.\n */\n TOUR_CARD_STARTED_TOUR = 'tour_card_started_tour',\n\n /**\n * Indicates a tour was resumed by the resume button in the main window.\n */\n TOUR_CARD_RESUMED_TOUR = 'tour_card_resumed_tour',\n\n /**\n * Indicates a tour was restarted by the restart button in the main window.\n */\n TOUR_CARD_RESTARTED_TOUR = 'tour_card_restarted_tour',\n\n /**\n * Indicates a tour was started by the {@link startTour} instance method.\n */\n CALLED_START_TOUR = 'called_start_tour',\n\n /**\n * Indicates a tour was started by a tour response type that included the 'skip_card' flag.\n */\n TOUR_SKIP_CARD = 'tour_skip_card',\n\n /**\n * Indicates the user clicked the close and restart button that minimized to the launcher.\n */\n MAIN_WINDOW_CLOSED_AND_RESTARTED = 'main_window_closed_and_restarted',\n}\n\n/**\n * A map from the old {@link MainWindowOpenReason}s to the new {@link ViewChangeReason}s.\n */\nexport const OpenReasonsToViewReasons = new Map([\n [MainWindowOpenReason.CALLED_OPEN_WINDOW, ViewChangeReason.CALLED_OPEN_WINDOW],\n [MainWindowOpenReason.DEFAULT_LAUNCHER, ViewChangeReason.LAUNCHER_CLICKED],\n [MainWindowOpenReason.LINK, ViewChangeReason.LINK_ID],\n [MainWindowOpenReason.OPEN_BY_DEFAULT, ViewChangeReason.WEB_CHAT_LOADED],\n [MainWindowOpenReason.SESSION_HISTORY, ViewChangeReason.SESSION_HISTORY],\n [MainWindowOpenReason.TOUR_OPENED_OTHER_VIEW, ViewChangeReason.TOUR_OPENED_OTHER_VIEW],\n [MainWindowOpenReason.CALLED_RESTART_CONVERSATION, ViewChangeReason.CALLED_RESTART_CONVERSATION],\n [MainWindowOpenReason.CHANNEL_TRANSFER, ViewChangeReason.CHANNEL_TRANSFER],\n]);\n\n/**\n * A map from the old {@link MainWindowCloseReason}s to the new {@link ViewChangeReason}s.\n */\nexport const CloseReasonsToViewReasons = new Map([\n [MainWindowCloseReason.CALLED_CLOSE_WINDOW, ViewChangeReason.CALLED_CLOSE_WINDOW],\n [MainWindowCloseReason.DEFAULT_MINIMIZE, ViewChangeReason.MAIN_WINDOW_MINIMIZED],\n [MainWindowCloseReason.TOUR_CARD_STARTED_TOUR, ViewChangeReason.TOUR_CARD_STARTED_TOUR],\n [MainWindowCloseReason.TOUR_CARD_RESUMED_TOUR, ViewChangeReason.TOUR_CARD_RESUMED_TOUR],\n [MainWindowCloseReason.TOUR_CARD_RESTARTED_TOUR, ViewChangeReason.TOUR_CARD_RESTARTED_TOUR],\n [MainWindowCloseReason.CALLED_START_TOUR, ViewChangeReason.CALLED_START_TOUR],\n [MainWindowCloseReason.TOUR_SKIP_CARD, ViewChangeReason.TOUR_SKIP_CARD],\n [MainWindowCloseReason.MAIN_WINDOW_CLOSED_AND_RESTARTED, ViewChangeReason.MAIN_WINDOW_CLOSED_AND_RESTARTED],\n]);\n\nexport {\n BaseBusEventCustomizationMessage,\n BusEvent,\n BusEventAgentAreAnyAgentsOnline,\n BusEventAgentEndChat,\n BusEventAgentPreEndChat,\n BusEventAgentPreReceive,\n BusEventAgentPreSend,\n BusEventAgentPreSessionHistory,\n BusEventAgentPreStartChat,\n BusEventAgentReceive,\n BusEventAgentSend,\n BusEventAllEvents,\n BusEventChatReady,\n BusEventChunkUserDefinedResponse,\n BusEventClosePanelButtonClicked,\n BusEventCustomizationRequestLeft,\n BusEventCustomizationResponseLeft,\n BusEventCustomPanelClose,\n BusEventCustomPanelOpen,\n BusEventCustomPanelPreClose,\n BusEventCustomPanelPreOpen,\n BusEventCustomResponse,\n BusEventGenesysMessengerAuthError,\n BusEventGenesysMessengerAuthProvider,\n BusEventGenesysMessengerGetAuthCode,\n BusEventGenesysMessengerLoggedOut,\n BusEventGenesysMessengerReauthenticate,\n BusEventHistoryBegin,\n BusEventHistoryEnd,\n BusEventIdentityExpired,\n BusEventMessageItemCustom,\n BusEventNiceDFOGetAuthCode,\n BusEventPreReceive,\n BusEventPreReset,\n BusEventPreSend,\n BusEventProcessCancel,\n BusEventProcessClose,\n BusEventProcessOpen,\n BusEventReceive,\n BusEventReset,\n BusEventSend,\n BusEventSessionExpired,\n BusEventTourEnd,\n BusEventTourStart,\n BusEventTourStep,\n BusEventType,\n BusEventUserDefinedResponse,\n BusEventViewChange,\n BusEventViewPreChange,\n BusEventWithElement,\n CustomEventType,\n EventBusHandler,\n MessageSendSource,\n TourEndReason,\n TourStartReason,\n TypeAndHandler,\n ViewChangeReason,\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This interface contains the config options that control the alternate suggestions features.\n */\ninterface AlternateSuggestionsConfig {\n /**\n * Indicates if alternate suggestions are on.\n */\n is_on: boolean;\n\n /**\n * Indicates how the contact option should appear in the suggestions list. This value will be treated as\n * {@link AlternateSuggestionsContactType.ALWAYS} if not provided.\n */\n contact_option?: AlternateSuggestionsContactType;\n\n /**\n * The label for the button displayed to the end user for the \"contact us/agent\" option that can appear in the\n * suggestions list. This value is sent to the bot as an utterance when selected. If this value is not provided,\n * a default value will be used.\n */\n contact_label?: string;\n}\n\n/**\n * This enum represents the different ways the \"contact us/agent\" option may be presented in suggestions list.\n */\nenum AlternateSuggestionsContactType {\n /**\n * Indicates that the contact option should never be shown as a suggestion.\n */\n NEVER = 'never',\n\n /**\n * Indicates that the contact option should always be shown as a suggestion.\n */\n ALWAYS = 'always',\n\n /**\n * Indicates that the contact option should only be shown as an option if there is currently one or more strikes.\n */\n ONE_STRIKE = 'one_strike',\n}\n\nexport { AlternateSuggestionsContactType, AlternateSuggestionsConfig };\n","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2021, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { AgentDisplayState, AppState } from 'internal-packages/shared/types/AppState';\nimport { createSelector } from 'reselect';\nimport { SkillType } from 'submodules/wa-fd-types-public/integration-configuration-types';\n\nimport { EnglishLanguagePack } from '../types/LanguagePack';\n\n/**\n * Returns the main config from the app state.\n */\nconst selectMainConfig = (state: AppState) => state.config.remote.mainConfig;\n\n/**\n * Returns the current bot input state.\n */\nconst selectBotInputState = (state: AppState) => state.botInputState;\n\n/**\n * Returns the current agent input state.\n */\nconst selectAgentInputState = (state: AppState) => state.agentState.inputState;\n\n/**\n * Returns the agent state from the app state.\n */\nconst selectAgentState = (state: AppState) => state.agentState;\n\n/**\n * Returns the persisted agent state from the app state.\n */\nconst selectPersistedAgentState = (state: AppState) => state.persistedToBrowserStorage.chatState.agentState;\n\n/**\n * Determines if the main config indicates that a search skill is attached to the assistant. Note that this only\n * works after the main config has been loaded.\n */\nconst selectHasSearchSkill = createSelector(\n [selectMainConfig],\n mainConfig =>\n mainConfig?.assistant?.skills?.some((skill: { type: SkillType }) => skill.type === SkillType.SEARCH) ?? false,\n);\n\n/**\n * Returns the agent state for the purposes of display of the chat widget. This state is different then the real state\n * in that it takes into account if the agent conversation is suspended. If it is suspended, then various elements about\n * the agent are hidden from the UI and user messages are routed to the assistant instead of the service desk.\n */\nconst selectAgentDisplayState = createSelector(\n [selectAgentState, selectPersistedAgentState],\n (agentState, persistedAgentState): AgentDisplayState => {\n if (persistedAgentState.isSuspended) {\n return {\n isConnectingOrConnected: false,\n disableInput: false,\n isAgentTyping: false,\n inputPlaceholderKey: null,\n };\n }\n\n const { isReconnecting, isConnecting, isAgentTyping } = agentState;\n const { isConnected } = persistedAgentState;\n\n let inputPlaceholderKey: keyof EnglishLanguagePack;\n if (isConnecting) {\n inputPlaceholderKey = 'agent_inputPlaceholderConnecting';\n } else if (isReconnecting) {\n inputPlaceholderKey = 'agent_inputPlaceholderReconnecting';\n }\n\n return {\n isAgentTyping,\n isConnectingOrConnected: isConnecting || isConnected,\n disableInput: isConnecting || isReconnecting,\n inputPlaceholderKey,\n };\n },\n);\n\n/**\n * Indicates if the chat is configured currently for interacting with a human agent. If true, the user is either\n * connecting or connected to a human agent with a service desk and the interaction is not suspended.\n */\nconst selectIsInputToAgent = createSelector(\n [selectAgentDisplayState],\n agentDisplayState => agentDisplayState.isConnectingOrConnected,\n);\n\n/**\n * Returns the current input state. Which state is used depends on whether the user is connected or connecting to a\n * human agent.\n */\nconst selectInputState = createSelector(\n [selectIsInputToAgent, selectAgentInputState, selectBotInputState],\n (isInputToAgent, agentInputState, botInputState) => (isInputToAgent ? agentInputState : botInputState),\n);\n\nexport { selectHasSearchSkill, selectAgentDisplayState, selectInputState, selectIsInputToAgent };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { RemoteMainConfig } from 'internal-packages/shared/types/RemoteConfig';\nimport { Message } from 'internal-packages/shared/types/watsonAssistantAPITypes';\nimport { SkillType } from 'submodules/wa-fd-types-public/integration-configuration-types';\nimport { DIALOG_ROOT, DialogState, MAIN_SKILL, MessageContext } from 'submodules/wa-fd-types-public/wa-types';\n\nimport { isResponse } from './messageUtils';\nimport { consoleError } from './miscUtils';\n\n/**\n * Returns the internal name of the dialog skill given a message. This will always return some value even if there isn't\n * actually a dialog skill attached so any code should use this defensively if acting on a non-dialog skill would be\n * bad.\n */\nfunction getDialogSkillID(context: MessageContext, mainConfig: RemoteMainConfig) {\n // Look for the dialog skill.\n const info = mainConfig.assistant?.skills?.find(info => info.type === SkillType.DIALOG);\n if (info?.skill_reference) {\n return info.skill_reference;\n }\n\n if (context?.skills) {\n // If it's not found, then try the \"main skill\". This is the default name for dialog skills.\n if (context.skills[MAIN_SKILL]) {\n return MAIN_SKILL;\n }\n // If still not found, return the first skill. This really shouldn't happen but make sure we return something in\n // case the skill was somehow renamed or there is no dialog skill.\n return Object.keys(context.skills)[0];\n }\n\n // If no skills are found, just default to the \"main skill\". This can happen in the classic experience preview\n // link where the web chat config is missing. It is a reasonable guess that the skill has a dialog skill but it's not\n // guaranteed.\n return MAIN_SKILL;\n}\n\n/**\n * Gets the dialog state out of the LocalMessage object. The state is stored as a base64 encoded JSON string,\n * so this function has to decode (atob) and parse it into an object (JSON.parse).\n *\n * @param message The message request object that contains the message context and dialog state.\n * @param mainConfig The main config that contains info about the skills.\n */\nfunction getDialogState(message: Message, mainConfig: RemoteMainConfig): DialogState {\n const DEFAULT_DIALOG_STATE: DialogState = {\n dialog_stack: [{ dialog_node: DIALOG_ROOT }],\n digressed: false,\n };\n\n if (!isResponse(message)) {\n return DEFAULT_DIALOG_STATE;\n }\n\n let dialogState: DialogState;\n const dialogSkillID = getDialogSkillID(message?.context, mainConfig);\n try {\n if (dialogSkillID && message?.context?.skills?.[dialogSkillID]?.system?.state) {\n dialogState = JSON.parse(atob(message.context.skills[dialogSkillID].system.state));\n } else {\n dialogState = DEFAULT_DIALOG_STATE;\n }\n } catch (error) {\n consoleError('Error parsing skill state', error);\n dialogState = DEFAULT_DIALOG_STATE;\n }\n return dialogState;\n}\n\nexport { getDialogSkillID, DIALOG_ROOT, getDialogState };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport {\n AlternateSuggestionsConfig,\n AlternateSuggestionsContactType,\n} from 'internal-packages/shared/types/AlternateSuggestionsConfig';\nimport { AppState } from 'internal-packages/shared/types/AppState';\nimport { HomeScreenStarterButton } from 'internal-packages/shared/types/HomeScreenConfig';\nimport { LanguagePack } from 'internal-packages/shared/types/LanguagePack';\nimport { MessageRequest, MessageResponse, Option } from 'submodules/wa-fd-types-public/wa-types';\n\nimport { TrackEventProps } from '../services/TrackService';\nimport { selectAgentDisplayState } from '../store/selectors';\nimport {\n isAnythingElse,\n isConversationalSearchItem,\n isEmptySearchResultItem,\n isRepeatResponse,\n isResponse,\n isSearchResultItem,\n} from './messageUtils';\nimport { getDialogState } from './processUtils';\n\n/**\n * This interface represents a suggestion that can appear in the suggestions list.\n */\ninterface SuggestionListItem {\n /**\n * The option or suggestion that will be sent to the assistant when the suggestion is selected.\n */\n option: Option;\n\n /**\n * Indicates if this suggestion represents the \"contact\" suggestion.\n */\n isContactSuggestion?: boolean;\n\n /**\n * Indicates if the suggestion should be displayed as selected.\n */\n isSelected: boolean;\n}\n\n/**\n * A default {@link Option} object that can be used to for contacting the customer or an agent.\n */\nconst CONTACT_OPTION = (label: string): Option => {\n return {\n label,\n value: {\n input: {\n text: label,\n },\n },\n };\n};\n\n/**\n * A default {@link SuggestionListItem} object that can be used to for contacting the customer or an agent.\n */\nconst CONTACT_SUGGESTION_ITEM = (label: string): SuggestionListItem => {\n return {\n isSelected: false,\n isContactSuggestion: true,\n option: CONTACT_OPTION(label),\n };\n};\n\n/**\n * Returns the label to use for the \"contact\" button on the suggestions list.\n */\nfunction getContactLabel(config: AlternateSuggestionsConfig, languagePack: LanguagePack) {\n return config.contact_label || languagePack.suggestions_connectToAgent;\n}\n\n/**\n * Determines if the given message is a repeat of the previous response from the bot. This function decides that a\n * duplicate has occurred if the nodes for both messages are the same. We exclude search results from this chance\n * since it's different to determine if search results are a repeat.\n */\nfunction isDuplicateOfPrevious(state: AppState, response: MessageResponse) {\n if (isResponse(response) && !isSearchResultItem(response.output.generic[0])) {\n const { allMessageItemsByID, allMessagesByID, botMessageState, config } = state;\n const { localMessageIDs } = botMessageState;\n const { mainConfig } = config.remote;\n\n // We need to start at the end of the message list and work our way backward until we find a message item\n // belonging to a different original message and that is a message response (output).\n let index = localMessageIDs.length - 1;\n let previousResponse: MessageResponse;\n for (; index >= 0; index--) {\n const message = allMessagesByID[allMessageItemsByID[localMessageIDs[index]].fullMessageID];\n if (message.id !== response.id && isResponse(message)) {\n previousResponse = message;\n break;\n }\n }\n\n if (isRepeatResponse(response, previousResponse)) {\n // We've hit a duplicate node but it's possible it's a return from a digression which we don't want to count.\n const dialogState = getDialogState(response, mainConfig);\n return !dialogState.digressed;\n }\n }\n\n return false;\n}\n\n/**\n * Determines if the given response is an alternate suggestions strike. This occurs if the response is the anything else\n * node or if the response is a repeat of the same node as the previous response.\n */\nfunction isStrike(response: MessageResponse, state: AppState, trackEvent?: TrackEventProps) {\n const agentDisplayState = selectAgentDisplayState(state);\n if (\n state.persistedToBrowserStorage.chatState.suggestionsPersistedState.numStrikes === 2 &&\n agentDisplayState.isConnectingOrConnected\n ) {\n // If we're at the second strike and the user is already connected to an agent. Don't trigger a third strike\n // which will just result in another agent card appearing.\n return false;\n }\n\n const request = state.allMessagesByID[response.request_id] as MessageRequest;\n if (response.context?.global?.system?.skip_user_input || request?.context?.global?.system?.skip_user_input) {\n // When we get a skip_user_input response, that will not contribute to strikes.\n return false;\n }\n\n const firstItem = response.output.generic[0];\n const isEmptySearch = isSearchResultItem(firstItem) && isEmptySearchResultItem(firstItem);\n\n // If we get empty search results, that counts as a strike.\n if (isEmptySearch) {\n if (trackEvent) {\n trackEvent.suggestionsStrikeReason = 'Empty Search';\n }\n return true;\n }\n\n // Conversational search items should not trigger strikes.\n if (isConversationalSearchItem(firstItem)) {\n return false;\n }\n\n // The anything else node counts as a strike unless it has (non-empty) search results.\n if (isAnythingElse(response) && !isSearchResultItem(firstItem)) {\n if (trackEvent) {\n trackEvent.suggestionsStrikeReason = 'Anything Else';\n }\n return true;\n }\n\n if (isDuplicateOfPrevious(state, response)) {\n if (trackEvent) {\n trackEvent.suggestionsStrikeReason = 'Bot Repeating';\n }\n return true;\n }\n\n return false;\n}\n\n/**\n * Indicates if the given messages should trigger a third strike for suggestions. This will result in the\n * suggestions \"contact\" option being activated. We only do this on the third strike and if the configuration says\n * that using the contact option is allowed.\n */\nfunction shouldMessageActivateThirdStrike(message: MessageResponse, state: AppState) {\n const { config } = state.alternateSuggestionsState;\n const { numStrikes } = state.persistedToBrowserStorage.chatState.suggestionsPersistedState;\n return (\n config.is_on &&\n config.contact_option !== AlternateSuggestionsContactType.NEVER &&\n numStrikes === 2 &&\n isStrike(message, state)\n );\n}\n\n/**\n * Determines if the given item is either a {@link SuggestionListItem} or a {@link HomeScreenStarterButton}.\n */\nfunction isSuggestionListItem(value: SuggestionListItem | HomeScreenStarterButton): value is SuggestionListItem {\n return Boolean((value as SuggestionListItem)?.option);\n}\n\nexport {\n CONTACT_OPTION,\n CONTACT_SUGGESTION_ITEM,\n isStrike,\n getContactLabel,\n shouldMessageActivateThirdStrike,\n SuggestionListItem,\n isSuggestionListItem,\n};\n","/**\n * Copyright IBM Corp. 2018, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar black = '#000000';\nvar black100 = black;\nvar blackHover = '#212121';\nvar white = '#ffffff';\nvar white0 = white;\nvar whiteHover = '#e8e8e8';\nvar yellow10 = '#fcf4d6';\nvar yellow20 = '#fddc69';\nvar yellow30 = '#f1c21b';\nvar yellow40 = '#d2a106';\nvar yellow50 = '#b28600';\nvar yellow60 = '#8e6a00';\nvar yellow70 = '#684e00';\nvar yellow80 = '#483700';\nvar yellow90 = '#302400';\nvar yellow100 = '#1c1500';\nvar yellow = {\n 10: yellow10,\n 20: yellow20,\n 30: yellow30,\n 40: yellow40,\n 50: yellow50,\n 60: yellow60,\n 70: yellow70,\n 80: yellow80,\n 90: yellow90,\n 100: yellow100\n};\nvar yellow10Hover = '#f8e6a0';\nvar yellow20Hover = '#fccd27';\nvar yellow30Hover = '#ddb00e';\nvar yellow40Hover = '#bc9005';\nvar yellow50Hover = '#9e7700';\nvar yellow60Hover = '#755800';\nvar yellow70Hover = '#806000';\nvar yellow80Hover = '#5c4600';\nvar yellow90Hover = '#3d2e00';\nvar yellow100Hover = '#332600';\nvar yellowHover = {\n 10: yellow10Hover,\n 20: yellow20Hover,\n 30: yellow30Hover,\n 40: yellow40Hover,\n 50: yellow50Hover,\n 60: yellow60Hover,\n 70: yellow70Hover,\n 80: yellow80Hover,\n 90: yellow90Hover,\n 100: yellow100Hover\n};\nvar orange10 = '#fff2e8';\nvar orange20 = '#ffd9be';\nvar orange30 = '#ffb784';\nvar orange40 = '#ff832b';\nvar orange50 = '#eb6200';\nvar orange60 = '#ba4e00';\nvar orange70 = '#8a3800';\nvar orange80 = '#5e2900';\nvar orange90 = '#3e1a00';\nvar orange100 = '#231000';\nvar orange = {\n 10: orange10,\n 20: orange20,\n 30: orange30,\n 40: orange40,\n 50: orange50,\n 60: orange60,\n 70: orange70,\n 80: orange80,\n 90: orange90,\n 100: orange100\n};\nvar orange10Hover = '#ffe2cc';\nvar orange20Hover = '#ffc69e';\nvar orange30Hover = '#ff9d57';\nvar orange40Hover = '#fa6800';\nvar orange50Hover = '#cc5500';\nvar orange60Hover = '#9e4200';\nvar orange70Hover = '#a84400';\nvar orange80Hover = '#753300';\nvar orange90Hover = '#522200';\nvar orange100Hover = '#421e00';\nvar orangeHover = {\n 10: orange10Hover,\n 20: orange20Hover,\n 30: orange30Hover,\n 40: orange40Hover,\n 50: orange50Hover,\n 60: orange60Hover,\n 70: orange70Hover,\n 80: orange80Hover,\n 90: orange90Hover,\n 100: orange100Hover\n};\nvar red10 = '#fff1f1';\nvar red20 = '#ffd7d9';\nvar red30 = '#ffb3b8';\nvar red40 = '#ff8389';\nvar red50 = '#fa4d56';\nvar red60 = '#da1e28';\nvar red70 = '#a2191f';\nvar red80 = '#750e13';\nvar red90 = '#520408';\nvar red100 = '#2d0709';\nvar red = {\n 10: red10,\n 20: red20,\n 30: red30,\n 40: red40,\n 50: red50,\n 60: red60,\n 70: red70,\n 80: red80,\n 90: red90,\n 100: red100\n};\nvar red100Hover = '#540d11';\nvar red90Hover = '#66050a';\nvar red80Hover = '#921118';\nvar red70Hover = '#c21e25';\nvar red60Hover = '#b81922';\nvar red50Hover = '#ee0713';\nvar red40Hover = '#ff6168';\nvar red30Hover = '#ff99a0';\nvar red20Hover = '#ffc2c5';\nvar red10Hover = '#ffe0e0';\nvar redHover = {\n 100: red100Hover,\n 90: red90Hover,\n 80: red80Hover,\n 70: red70Hover,\n 60: red60Hover,\n 50: red50Hover,\n 40: red40Hover,\n 30: red30Hover,\n 20: red20Hover,\n 10: red10Hover\n};\nvar magenta10 = '#fff0f7';\nvar magenta20 = '#ffd6e8';\nvar magenta30 = '#ffafd2';\nvar magenta40 = '#ff7eb6';\nvar magenta50 = '#ee5396';\nvar magenta60 = '#d02670';\nvar magenta70 = '#9f1853';\nvar magenta80 = '#740937';\nvar magenta90 = '#510224';\nvar magenta100 = '#2a0a18';\nvar magenta = {\n 10: magenta10,\n 20: magenta20,\n 30: magenta30,\n 40: magenta40,\n 50: magenta50,\n 60: magenta60,\n 70: magenta70,\n 80: magenta80,\n 90: magenta90,\n 100: magenta100\n};\nvar magenta100Hover = '#53142f';\nvar magenta90Hover = '#68032e';\nvar magenta80Hover = '#8e0b43';\nvar magenta70Hover = '#bf1d63';\nvar magenta60Hover = '#b0215f';\nvar magenta50Hover = '#e3176f';\nvar magenta40Hover = '#ff57a0';\nvar magenta30Hover = '#ff94c3';\nvar magenta20Hover = '#ffbdda';\nvar magenta10Hover = '#ffe0ef';\nvar magentaHover = {\n 100: magenta100Hover,\n 90: magenta90Hover,\n 80: magenta80Hover,\n 70: magenta70Hover,\n 60: magenta60Hover,\n 50: magenta50Hover,\n 40: magenta40Hover,\n 30: magenta30Hover,\n 20: magenta20Hover,\n 10: magenta10Hover\n};\nvar purple10 = '#f6f2ff';\nvar purple20 = '#e8daff';\nvar purple30 = '#d4bbff';\nvar purple40 = '#be95ff';\nvar purple50 = '#a56eff';\nvar purple60 = '#8a3ffc';\nvar purple70 = '#6929c4';\nvar purple80 = '#491d8b';\nvar purple90 = '#31135e';\nvar purple100 = '#1c0f30';\nvar purple = {\n 10: purple10,\n 20: purple20,\n 30: purple30,\n 40: purple40,\n 50: purple50,\n 60: purple60,\n 70: purple70,\n 80: purple80,\n 90: purple90,\n 100: purple100\n};\nvar purple100Hover = '#341c59';\nvar purple90Hover = '#40197b';\nvar purple80Hover = '#5b24ad';\nvar purple70Hover = '#7c3dd6';\nvar purple60Hover = '#7822fb';\nvar purple50Hover = '#9352ff';\nvar purple40Hover = '#ae7aff';\nvar purple30Hover = '#c5a3ff';\nvar purple20Hover = '#dcc7ff';\nvar purple10Hover = '#ede5ff';\nvar purpleHover = {\n 100: purple100Hover,\n 90: purple90Hover,\n 80: purple80Hover,\n 70: purple70Hover,\n 60: purple60Hover,\n 50: purple50Hover,\n 40: purple40Hover,\n 30: purple30Hover,\n 20: purple20Hover,\n 10: purple10Hover\n};\nvar blue10 = '#edf5ff';\nvar blue20 = '#d0e2ff';\nvar blue30 = '#a6c8ff';\nvar blue40 = '#78a9ff';\nvar blue50 = '#4589ff';\nvar blue60 = '#0f62fe';\nvar blue70 = '#0043ce';\nvar blue80 = '#002d9c';\nvar blue90 = '#001d6c';\nvar blue100 = '#001141';\nvar blue = {\n 10: blue10,\n 20: blue20,\n 30: blue30,\n 40: blue40,\n 50: blue50,\n 60: blue60,\n 70: blue70,\n 80: blue80,\n 90: blue90,\n 100: blue100\n};\nvar blue100Hover = '#001f75';\nvar blue90Hover = '#00258a';\nvar blue80Hover = '#0039c7';\nvar blue70Hover = '#0053ff';\nvar blue60Hover = '#0050e6';\nvar blue50Hover = '#1f70ff';\nvar blue40Hover = '#5c97ff';\nvar blue30Hover = '#8ab6ff';\nvar blue20Hover = '#b8d3ff';\nvar blue10Hover = '#dbebff';\nvar blueHover = {\n 100: blue100Hover,\n 90: blue90Hover,\n 80: blue80Hover,\n 70: blue70Hover,\n 60: blue60Hover,\n 50: blue50Hover,\n 40: blue40Hover,\n 30: blue30Hover,\n 20: blue20Hover,\n 10: blue10Hover\n};\nvar cyan10 = '#e5f6ff';\nvar cyan20 = '#bae6ff';\nvar cyan30 = '#82cfff';\nvar cyan40 = '#33b1ff';\nvar cyan50 = '#1192e8';\nvar cyan60 = '#0072c3';\nvar cyan70 = '#00539a';\nvar cyan80 = '#003a6d';\nvar cyan90 = '#012749';\nvar cyan100 = '#061727';\nvar cyan = {\n 10: cyan10,\n 20: cyan20,\n 30: cyan30,\n 40: cyan40,\n 50: cyan50,\n 60: cyan60,\n 70: cyan70,\n 80: cyan80,\n 90: cyan90,\n 100: cyan100\n};\nvar cyan10Hover = '#cceeff';\nvar cyan20Hover = '#99daff';\nvar cyan30Hover = '#57beff';\nvar cyan40Hover = '#059fff';\nvar cyan50Hover = '#0f7ec8';\nvar cyan60Hover = '#005fa3';\nvar cyan70Hover = '#0066bd';\nvar cyan80Hover = '#00498a';\nvar cyan90Hover = '#013360';\nvar cyan100Hover = '#0b2947';\nvar cyanHover = {\n 10: cyan10Hover,\n 20: cyan20Hover,\n 30: cyan30Hover,\n 40: cyan40Hover,\n 50: cyan50Hover,\n 60: cyan60Hover,\n 70: cyan70Hover,\n 80: cyan80Hover,\n 90: cyan90Hover,\n 100: cyan100Hover\n};\nvar teal10 = '#d9fbfb';\nvar teal20 = '#9ef0f0';\nvar teal30 = '#3ddbd9';\nvar teal40 = '#08bdba';\nvar teal50 = '#009d9a';\nvar teal60 = '#007d79';\nvar teal70 = '#005d5d';\nvar teal80 = '#004144';\nvar teal90 = '#022b30';\nvar teal100 = '#081a1c';\nvar teal = {\n 10: teal10,\n 20: teal20,\n 30: teal30,\n 40: teal40,\n 50: teal50,\n 60: teal60,\n 70: teal70,\n 80: teal80,\n 90: teal90,\n 100: teal100\n};\nvar teal10Hover = '#acf6f6';\nvar teal20Hover = '#57e5e5';\nvar teal30Hover = '#25cac8';\nvar teal40Hover = '#07aba9';\nvar teal50Hover = '#008a87';\nvar teal60Hover = '#006b68';\nvar teal70Hover = '#007070';\nvar teal80Hover = '#005357';\nvar teal90Hover = '#033940';\nvar teal100Hover = '#0f3034';\nvar tealHover = {\n 10: teal10Hover,\n 20: teal20Hover,\n 30: teal30Hover,\n 40: teal40Hover,\n 50: teal50Hover,\n 60: teal60Hover,\n 70: teal70Hover,\n 80: teal80Hover,\n 90: teal90Hover,\n 100: teal100Hover\n};\nvar green10 = '#defbe6';\nvar green20 = '#a7f0ba';\nvar green30 = '#6fdc8c';\nvar green40 = '#42be65';\nvar green50 = '#24a148';\nvar green60 = '#198038';\nvar green70 = '#0e6027';\nvar green80 = '#044317';\nvar green90 = '#022d0d';\nvar green100 = '#071908';\nvar green = {\n 10: green10,\n 20: green20,\n 30: green30,\n 40: green40,\n 50: green50,\n 60: green60,\n 70: green70,\n 80: green80,\n 90: green90,\n 100: green100\n};\nvar green10Hover = '#b6f6c8';\nvar green20Hover = '#74e792';\nvar green30Hover = '#36ce5e';\nvar green40Hover = '#3bab5a';\nvar green50Hover = '#208e3f';\nvar green60Hover = '#166f31';\nvar green70Hover = '#11742f';\nvar green80Hover = '#05521c';\nvar green90Hover = '#033b11';\nvar green100Hover = '#0d300f';\nvar greenHover = {\n 10: green10Hover,\n 20: green20Hover,\n 30: green30Hover,\n 40: green40Hover,\n 50: green50Hover,\n 60: green60Hover,\n 70: green70Hover,\n 80: green80Hover,\n 90: green90Hover,\n 100: green100Hover\n};\nvar coolGray10 = '#f2f4f8';\nvar coolGray20 = '#dde1e6';\nvar coolGray30 = '#c1c7cd';\nvar coolGray40 = '#a2a9b0';\nvar coolGray50 = '#878d96';\nvar coolGray60 = '#697077';\nvar coolGray70 = '#4d5358';\nvar coolGray80 = '#343a3f';\nvar coolGray90 = '#21272a';\nvar coolGray100 = '#121619';\nvar coolGray = {\n 10: coolGray10,\n 20: coolGray20,\n 30: coolGray30,\n 40: coolGray40,\n 50: coolGray50,\n 60: coolGray60,\n 70: coolGray70,\n 80: coolGray80,\n 90: coolGray90,\n 100: coolGray100\n};\nvar coolGray10Hover = '#e4e9f1';\nvar coolGray20Hover = '#cdd3da';\nvar coolGray30Hover = '#adb5bd';\nvar coolGray40Hover = '#9199a1';\nvar coolGray50Hover = '#757b85';\nvar coolGray60Hover = '#585e64';\nvar coolGray70Hover = '#5d646a';\nvar coolGray80Hover = '#434a51';\nvar coolGray90Hover = '#2b3236';\nvar coolGray100Hover = '#222a2f';\nvar coolGrayHover = {\n 10: coolGray10Hover,\n 20: coolGray20Hover,\n 30: coolGray30Hover,\n 40: coolGray40Hover,\n 50: coolGray50Hover,\n 60: coolGray60Hover,\n 70: coolGray70Hover,\n 80: coolGray80Hover,\n 90: coolGray90Hover,\n 100: coolGray100Hover\n};\nvar gray10 = '#f4f4f4';\nvar gray20 = '#e0e0e0';\nvar gray30 = '#c6c6c6';\nvar gray40 = '#a8a8a8';\nvar gray50 = '#8d8d8d';\nvar gray60 = '#6f6f6f';\nvar gray70 = '#525252';\nvar gray80 = '#393939';\nvar gray90 = '#262626';\nvar gray100 = '#161616';\nvar gray = {\n 10: gray10,\n 20: gray20,\n 30: gray30,\n 40: gray40,\n 50: gray50,\n 60: gray60,\n 70: gray70,\n 80: gray80,\n 90: gray90,\n 100: gray100\n};\nvar gray10Hover = '#e8e8e8';\nvar gray20Hover = '#d1d1d1';\nvar gray30Hover = '#b5b5b5';\nvar gray40Hover = '#999999';\nvar gray50Hover = '#7a7a7a';\nvar gray60Hover = '#5e5e5e';\nvar gray70Hover = '#636363';\nvar gray80Hover = '#474747';\nvar gray90Hover = '#333333';\nvar gray100Hover = '#292929';\nvar grayHover = {\n 10: gray10Hover,\n 20: gray20Hover,\n 30: gray30Hover,\n 40: gray40Hover,\n 50: gray50Hover,\n 60: gray60Hover,\n 70: gray70Hover,\n 80: gray80Hover,\n 90: gray90Hover,\n 100: gray100Hover\n};\nvar warmGray10 = '#f7f3f2';\nvar warmGray20 = '#e5e0df';\nvar warmGray30 = '#cac5c4';\nvar warmGray40 = '#ada8a8';\nvar warmGray50 = '#8f8b8b';\nvar warmGray60 = '#726e6e';\nvar warmGray70 = '#565151';\nvar warmGray80 = '#3c3838';\nvar warmGray90 = '#272525';\nvar warmGray100 = '#171414';\nvar warmGray = {\n 10: warmGray10,\n 20: warmGray20,\n 30: warmGray30,\n 40: warmGray40,\n 50: warmGray50,\n 60: warmGray60,\n 70: warmGray70,\n 80: warmGray80,\n 90: warmGray90,\n 100: warmGray100\n};\nvar warmGray10Hover = '#f0e8e6';\nvar warmGray20Hover = '#d8d0cf';\nvar warmGray30Hover = '#b9b3b1';\nvar warmGray40Hover = '#9c9696';\nvar warmGray50Hover = '#7f7b7b';\nvar warmGray60Hover = '#605d5d';\nvar warmGray70Hover = '#696363';\nvar warmGray80Hover = '#4c4848';\nvar warmGray90Hover = '#343232';\nvar warmGray100Hover = '#2c2626';\nvar warmGrayHover = {\n 10: warmGray10Hover,\n 20: warmGray20Hover,\n 30: warmGray30Hover,\n 40: warmGray40Hover,\n 50: warmGray50Hover,\n 60: warmGray60Hover,\n 70: warmGray70Hover,\n 80: warmGray80Hover,\n 90: warmGray90Hover,\n 100: warmGray100Hover\n};\nvar colors = {\n black: {\n 100: black\n },\n blue: blue,\n coolGray: coolGray,\n cyan: cyan,\n gray: gray,\n green: green,\n magenta: magenta,\n orange: orange,\n purple: purple,\n red: red,\n teal: teal,\n warmGray: warmGray,\n white: {\n 0: white\n },\n yellow: yellow\n};\nvar hoverColors = {\n whiteHover: whiteHover,\n blackHover: blackHover,\n blueHover: blueHover,\n coolGrayHover: coolGrayHover,\n cyanHover: cyanHover,\n grayHover: grayHover,\n greenHover: greenHover,\n magentaHover: magentaHover,\n orangeHover: orangeHover,\n purpleHover: purpleHover,\n redHover: redHover,\n tealHover: tealHover,\n warmGrayHover: warmGrayHover,\n yellowHover: yellowHover\n};\n\n/**\n * Copyright IBM Corp. 2018, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Parse a given hexcode string into an rgba statement with the given opacity\n * @param {string} hexcode\n * @param {number} opacity\n * @returns {string}\n */\nfunction rgba(hexcode, opacity) {\n var values = [hexcode.substring(1, 3), hexcode.substring(3, 5), hexcode.substring(5, 7)].map(function (string) {\n return parseInt(string, 16);\n });\n return \"rgba(\".concat(values[0], \", \").concat(values[1], \", \").concat(values[2], \", \").concat(opacity, \")\");\n}\n\nexport { black, black100, blackHover, blue, blue10, blue100, blue100Hover, blue10Hover, blue20, blue20Hover, blue30, blue30Hover, blue40, blue40Hover, blue50, blue50Hover, blue60, blue60Hover, blue70, blue70Hover, blue80, blue80Hover, blue90, blue90Hover, blueHover, colors, coolGray, coolGray10, coolGray100, coolGray100Hover, coolGray10Hover, coolGray20, coolGray20Hover, coolGray30, coolGray30Hover, coolGray40, coolGray40Hover, coolGray50, coolGray50Hover, coolGray60, coolGray60Hover, coolGray70, coolGray70Hover, coolGray80, coolGray80Hover, coolGray90, coolGray90Hover, coolGrayHover, cyan, cyan10, cyan100, cyan100Hover, cyan10Hover, cyan20, cyan20Hover, cyan30, cyan30Hover, cyan40, cyan40Hover, cyan50, cyan50Hover, cyan60, cyan60Hover, cyan70, cyan70Hover, cyan80, cyan80Hover, cyan90, cyan90Hover, cyanHover, gray, gray10, gray100, gray100Hover, gray10Hover, gray20, gray20Hover, gray30, gray30Hover, gray40, gray40Hover, gray50, gray50Hover, gray60, gray60Hover, gray70, gray70Hover, gray80, gray80Hover, gray90, gray90Hover, grayHover, green, green10, green100, green100Hover, green10Hover, green20, green20Hover, green30, green30Hover, green40, green40Hover, green50, green50Hover, green60, green60Hover, green70, green70Hover, green80, green80Hover, green90, green90Hover, greenHover, hoverColors, magenta, magenta10, magenta100, magenta100Hover, magenta10Hover, magenta20, magenta20Hover, magenta30, magenta30Hover, magenta40, magenta40Hover, magenta50, magenta50Hover, magenta60, magenta60Hover, magenta70, magenta70Hover, magenta80, magenta80Hover, magenta90, magenta90Hover, magentaHover, orange, orange10, orange100, orange100Hover, orange10Hover, orange20, orange20Hover, orange30, orange30Hover, orange40, orange40Hover, orange50, orange50Hover, orange60, orange60Hover, orange70, orange70Hover, orange80, orange80Hover, orange90, orange90Hover, orangeHover, purple, purple10, purple100, purple100Hover, purple10Hover, purple20, purple20Hover, purple30, purple30Hover, purple40, purple40Hover, purple50, purple50Hover, purple60, purple60Hover, purple70, purple70Hover, purple80, purple80Hover, purple90, purple90Hover, purpleHover, red, red10, red100, red100Hover, red10Hover, red20, red20Hover, red30, red30Hover, red40, red40Hover, red50, red50Hover, red60, red60Hover, red70, red70Hover, red80, red80Hover, red90, red90Hover, redHover, rgba, teal, teal10, teal100, teal100Hover, teal10Hover, teal20, teal20Hover, teal30, teal30Hover, teal40, teal40Hover, teal50, teal50Hover, teal60, teal60Hover, teal70, teal70Hover, teal80, teal80Hover, teal90, teal90Hover, tealHover, warmGray, warmGray10, warmGray100, warmGray100Hover, warmGray10Hover, warmGray20, warmGray20Hover, warmGray30, warmGray30Hover, warmGray40, warmGray40Hover, warmGray50, warmGray50Hover, warmGray60, warmGray60Hover, warmGray70, warmGray70Hover, warmGray80, warmGray80Hover, warmGray90, warmGray90Hover, warmGrayHover, white, white0, whiteHover, yellow, yellow10, yellow100, yellow100Hover, yellow10Hover, yellow20, yellow20Hover, yellow30, yellow30Hover, yellow40, yellow40Hover, yellow50, yellow50Hover, yellow60, yellow60Hover, yellow70, yellow70Hover, yellow80, yellow80Hover, yellow90, yellow90Hover, yellowHover };\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * A set of utilities for manipulating colors.\n */\n\nimport { gray100, white } from '@carbon/colors';\nimport Color from 'color';\n\nimport { consoleError } from './miscUtils';\n\n// The minimum allowed contrast for accessibility rules.\nconst MIN_CONTRAST = 4.5;\n\n/**\n * Converts the given hexadecimal formatted color string into an array with the red, blue and green components\n * separated. This function requires the string to be either a 3 or 6 digit hexadecimal code with a leading hash\n * mark. It does not validate that the string is in the proper format.\n */\nfunction hexCodeToRGB(color: string): [number, number, number] {\n if (color.length === 7) {\n const red = color.substring(1, 3);\n const blue = color.substring(3, 5);\n const green = color.substring(5, 7);\n return [parseInt(red, 16), parseInt(blue, 16), parseInt(green, 16)];\n }\n if (color.length === 4) {\n const red = color.substring(1, 2);\n const blue = color.substring(2, 3);\n const green = color.substring(3, 4);\n return [parseInt(red + red, 16), parseInt(blue + blue, 16), parseInt(green + green, 16)];\n }\n consoleError(`Unsupported color code: \"${color}\"`);\n return [0, 0, 0];\n}\n\n/**\n * Calculates the contrast ratio between the two colors. Contrast values can range from 1 to 21. A value of 4.5 is\n * considered the minimum between a foreground and background color to meet accessibility guidelines.\n *\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nfunction calculateContrast(color1: string, color2: string) {\n const rgb1 = hexCodeToRGB(color1);\n const rgb2 = hexCodeToRGB(color2);\n\n const luminance1 = calculateRelativeLuminance(rgb1);\n const luminance2 = calculateRelativeLuminance(rgb2);\n\n let contrast;\n if (luminance1 > luminance2) {\n contrast = (luminance1 + 0.05) / (luminance2 + 0.05);\n } else {\n contrast = (luminance2 + 0.05) / (luminance1 + 0.05);\n }\n\n return contrast;\n}\n\n/**\n * Calculates the relative luminance of the given color (provided as separate RGB values).\n *\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nfunction calculateRelativeLuminance([r8, g8, b8]: [number, number, number]): number {\n const rRGB = r8 / 255;\n const gRGB = g8 / 255;\n const bRGB = b8 / 255;\n\n const R = rRGB <= 0.03928 ? rRGB / 12.92 : ((rRGB + 0.055) / 1.055) ** 2.4;\n const G = gRGB <= 0.03928 ? gRGB / 12.92 : ((gRGB + 0.055) / 1.055) ** 2.4;\n const B = bRGB <= 0.03928 ? bRGB / 12.92 : ((bRGB + 0.055) / 1.055) ** 2.4;\n\n const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n return luminance;\n}\n\n/**\n * Returns either a white or a black color to use as the text color on a background of the given background color.\n * This will ensure that the text color chosen is of sufficient contrast.\n */\nfunction whiteOrBlackText(background: string): string {\n return calculateContrast(gray100, background) >= MIN_CONTRAST ? gray100 : white;\n}\n\n/**\n * Adjust a given color's lightness by a specified number of percentage points.\n */\nfunction adjustLightness(token: string, shift: number) {\n const original = Color(token).hsl().object();\n\n return Color({ ...original, l: original.l + shift })\n .round()\n .hex()\n .toLowerCase();\n}\n\nexport { MIN_CONTRAST, adjustLightness, whiteOrBlackText, hexCodeToRGB, calculateContrast };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This file contains utility functions to process CSS for web chat. It deals with things like transforming Object Maps\n * of CSS variables into CSS and properly injecting default Carbon colors into CSS variables.\n */\n\nimport { blue60, gray10, gray80, gray100, white } from '@carbon/colors';\nimport { ThemeState } from 'internal-packages/shared/types/AppState';\nimport { CarbonTheme, CarbonThemeClassNames } from 'internal-packages/shared/types/carbonTypes';\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\nimport { RemoteStyleConfig } from 'internal-packages/shared/types/RemoteConfig';\n\nimport { NamespaceService } from '../services/NamespaceService';\nimport { IS_MOBILE } from './browserUtils';\nimport { adjustLightness, calculateContrast, hexCodeToRGB, MIN_CONTRAST, whiteOrBlackText } from './colors';\nimport { WA_CONSOLE_PREFIX } from './constants';\n\n// The prefix that is added to each CSS variable in the application.\nconst CSS_VAR_PREFIX = '--cds-';\nconst CSS_CHAT_PREFIX = 'chat-';\n\n// Regex to determine a 3 or 6 digit hexadecimal color\nconst HEXADECIMAL_REGEX = /#([a-f0-9]{3}){1,2}\\b/i;\n\n// Some carbon colors need to be overridden in order to support our theming options. Map the overrides for the light\n// themes here.\nconst INTERNAL_OVERRIDES_LIGHT_THEME_MAP = {\n // In light themes make the quick action chat buttons black since the default link blue may not match the users theme.\n '$chat-button': '#000000',\n '$chat-button-text-hover': '#525252',\n};\n\n// Some carbon colors need to be overridden in order to support our theming options. Map the overrides for the dark\n// themes here.\nconst INTERNAL_OVERRIDES_DARK_THEME_MAP = {\n // In dark themes make the quick action chat buttons white since the default light link blue may not match the users\n // theme.\n '$chat-button': '#ffffff',\n '$chat-button-text-hover': '#f4f4f4',\n};\n\n/**\n * Converts the given map of CSS variable into a string that is formatted for inserting into a style tag.\n */\nfunction convertCSSVariablesToString(\n cssVariables: ObjectMap<string>,\n namespace: NamespaceService,\n useShadowRoot?: boolean,\n): string {\n // First convert the variables to a CSS string.\n const pieces = Object.keys(cssVariables).map(key => {\n const value = cssVariables[key];\n if (value === undefined) {\n return '';\n }\n\n const fullName = key.startsWith('$')\n ? `${CSS_VAR_PREFIX}${key.replace(/^\\$/, '')}`\n : `${CSS_VAR_PREFIX}${CSS_CHAT_PREFIX}${key}`;\n return `${fullName}:${value};`;\n });\n\n let cssVariablesString = '';\n const allValues = pieces.join('');\n const prefix = useShadowRoot ? '' : `#WACContainer${namespace.suffix}`;\n if (allValues.length > 0) {\n // Including a namespace in the styles allows us to support multiple widgets on the same page without their styles\n // conflicting.\n const rule = `${prefix}.WACContainer .cds--white, ${prefix}.WACContainer .cds--g10, ${prefix}.WACContainer .cds--g90, ${prefix}.WACContainer .cds--g100`;\n cssVariablesString = `${rule}${useShadowRoot ? `, :host` : ''}{${allValues}}`;\n }\n\n return cssVariablesString;\n}\n\n/**\n * This will generate a set of CSS variables that will overwrite the default values based on the customizations that\n * are specified in the given remote config.\n *\n * @param remoteStyles The set of customized styles.\n * @param carbonTheme The Carbon theme that is being used.\n */\nfunction remoteStylesToCSSVars(remoteStyles: RemoteStyleConfig, carbonTheme: CarbonTheme): ObjectMap<string> {\n const cssOverrides: ObjectMap<string> = {};\n\n const primaryColor = remoteStyles['BASE-primary-color'];\n const secondaryColor = remoteStyles['BASE-secondary-color'];\n const accentColor = remoteStyles['BASE-accent-color'];\n\n if (!IS_MOBILE) {\n if (remoteStyles['BASE-height']) {\n // We need to change the max-height value in order for web chat's height to change.\n cssOverrides['BASE-max-height'] = remoteStyles['BASE-height'];\n }\n\n if (remoteStyles['BASE-width']) {\n cssOverrides['BASE-width'] = remoteStyles['BASE-width'];\n }\n }\n\n if (primaryColor) {\n cssOverrides['PRIMARY-color'] = primaryColor;\n cssOverrides['PRIMARY-color-text'] = whiteOrBlackText(primaryColor);\n cssOverrides['PRIMARY-color-hover'] = adjustLightness(primaryColor, -8);\n cssOverrides['PRIMARY-color-active'] = adjustLightness(primaryColor, -10);\n\n // We need to calculate the focus color for the buttons in the header. The focus color for the white and g10\n // themes is the same as the accent color. For g90 and g100, the focus color is white.\n const useAccentColor = accentColor || blue60;\n const tryFocusColor = carbonTheme === CarbonTheme.G90 || carbonTheme === CarbonTheme.G100 ? white : useAccentColor;\n\n let useFocusColor;\n if (calculateContrast(primaryColor, tryFocusColor) >= MIN_CONTRAST) {\n // The default color works fine.\n useFocusColor = tryFocusColor;\n } else if (tryFocusColor !== useAccentColor && calculateContrast(primaryColor, useAccentColor) >= MIN_CONTRAST) {\n // The default doesn't work so let's try the accent.\n useFocusColor = useAccentColor;\n } else if (tryFocusColor !== white && calculateContrast(primaryColor, white) >= MIN_CONTRAST) {\n // The accent doesn't work, so let's try white.\n useFocusColor = white;\n } else {\n // If white doesn't work, then gray100 will.\n useFocusColor = gray100;\n }\n\n if (useFocusColor !== tryFocusColor) {\n cssOverrides['PRIMARY-color-focus'] = useFocusColor;\n }\n }\n\n if (secondaryColor) {\n cssOverrides['SECONDARY-color'] = secondaryColor;\n cssOverrides['SECONDARY-color-text'] = whiteOrBlackText(secondaryColor);\n } else if (carbonTheme === CarbonTheme.G90 || carbonTheme === CarbonTheme.G100) {\n // We don't like the default Carbon color for the sent text bubble in the g90 and g100 color themes.\n cssOverrides['SECONDARY-color'] = `var(${CSS_VAR_PREFIX}layer-02)`;\n cssOverrides['SECONDARY-color-text'] = `var(${CSS_VAR_PREFIX}text-primary);`;\n }\n\n if (accentColor) {\n const colorMap = ACCENT_COLOR_MAPS[carbonTheme];\n\n // The custom color basically corresponds to Blue 60 are we will replace all the occurrences of Blue 60 with\n // that custom color. For the other shades of blue, we will calculate a relative color from the custom color and\n // replace those colors with this calculated color.\n const accentBlue20 = adjustLightness(accentColor, 40);\n const accentBlue60Hover = adjustLightness(accentColor, -8);\n const accentBlue80 = adjustLightness(accentColor, -20);\n\n fillValues(cssOverrides, colorMap.blue20, accentBlue20);\n fillValues(cssOverrides, colorMap.blue60, accentColor);\n fillValues(cssOverrides, colorMap.blue60Hover, accentBlue60Hover);\n fillValues(cssOverrides, colorMap.blue80, accentBlue80);\n\n // Update the launcher variables with the appropriate accent colors for the button states.\n cssOverrides['LAUNCHER-color-background'] = accentColor;\n cssOverrides['LAUNCHER-color-background-hover'] = accentBlue60Hover;\n cssOverrides['LAUNCHER-color-background-active'] = accentBlue80;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-background'] = accentColor;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-hover'] = accentBlue60Hover;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-active'] = accentBlue80;\n\n cssOverrides['ACCENT-color'] = accentColor;\n const accentColorRGB = hexCodeToRGB(accentColor);\n cssOverrides['ACCENT-color-r'] = accentColorRGB[0].toString();\n cssOverrides['ACCENT-color-g'] = accentColorRGB[1].toString();\n cssOverrides['ACCENT-color-b'] = accentColorRGB[2].toString();\n\n // The ghost button text color defaults to $link-01 but since we've decided to not override $link-01, we need to\n // change the color of the ghost button separately.\n cssOverrides['ACCENT-color-ghost-text'] = accentColor;\n\n // Now figure out what font color would go with a background color that's \"Blue 60\".\n const accentColorBW = whiteOrBlackText(accentColor);\n cssOverrides['ACCENT-color-text'] = accentColorBW;\n cssOverrides['ACCENT-color-background-hover'] = accentBlue60Hover;\n cssOverrides['ACCENT-color-background-active'] = accentBlue80;\n\n // Update the launcher variables with the appropriate BW colors.\n cssOverrides['LAUNCHER-color-focus-border'] = accentColorBW;\n cssOverrides['LAUNCHER-color-avatar'] = accentColorBW;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-text'] = accentColorBW;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-focus-border'] = accentColorBW;\n cssOverrides['LAUNCHER-MOBILE-color-text'] = accentColorBW;\n\n // This color is either black or white and is based on the contrast difference with the accent color. Its primary use\n // is the color of button on top of the accent color.\n cssOverrides['ACCENT-color-bw'] = accentColorBW;\n\n // When ACCENT-color-bw is used as a button color we need a hover and active color.\n cssOverrides['ACCENT-color-bw-hover'] = adjustLightness(accentColorBW, -8);\n\n // The active color is a little darker than the hover color.\n cssOverrides['ACCENT-color-bw-active'] = adjustLightness(accentColorBW, -10);\n\n // Also need an inverse of ACCENT-color-bw so that we can have accessible text within our bw buttons.\n cssOverrides['ACCENT-color-bw-inverse'] = accentColorBW === gray100 ? white : gray100;\n\n // Need a slightly more gray version of the bw accent color.\n cssOverrides['ACCENT-color-bw-gray'] = accentColorBW === gray100 ? gray80 : gray10;\n\n // A slightly darker or lighter accent color (darker if the accent color was already dark, lighter if it was already\n // light). Used for the launcher experiments where we only have one accent color but really need two.\n cssOverrides['ACCENT-color-pastel'] =\n accentColorBW === gray100 ? adjustLightness(accentColor, 20) : adjustLightness(accentColor, -15);\n }\n\n return cssOverrides;\n}\n\n/**\n * This structure maintains a map for each of the named colors in Carbon that are a shade of blue. When the tooling\n * specifies a custom accent color, we will replace all occurrences of Blue 60 in each of the Carbon color themes\n * with that accent color as well as appropriate adjustments of the accent color for each of the shades of blue.\n *\n * Note: to preserve the color of links as their default Carbon colors, $link-01 and $inverse-link are excluded from\n * these maps.\n */\n\nconst ACCENT_COLOR_MAPS: Record<CarbonTheme, { [key: string]: string[] }> = {\n white: {\n blue20: ['$highlight'],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$icon-interactive',\n '$focus',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$button-tertiary-active'],\n },\n g10: {\n blue20: ['$highlight'],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$icon-interactive',\n '$focus',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$button-tertiary-active'],\n },\n g90: {\n blue20: [],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$focus-inverse',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$highlight', '$button-tertiary-active'],\n },\n g100: {\n blue20: [],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$focus-inverse',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$highlight', '$button-tertiary-active'],\n },\n};\n\n/**\n * Sets the given value for each property of the given set of names in the given map.\n *\n * @param styles The set of styles that need to be replaced.\n * @param propertyNames The names of the styles to replace.\n * @param value The value to replace each of the styles with.\n */\nfunction fillValues(styles: ObjectMap<string>, propertyNames: string[], value: string) {\n propertyNames.forEach(propertyName => {\n styles[propertyName] = value;\n });\n}\n\n/**\n * This function will merge the CSS variables from the public and remote configurations. Any variables in the public\n * configuration will override values in the remote configuration. Any values in the remote configuration that are\n * the empty string will be ignored.\n */\nfunction mergeCSSVariables(\n publicVars: ObjectMap<string>,\n remoteStyles: RemoteStyleConfig,\n carbonTheme: CarbonTheme,\n useAITheme: boolean,\n): ObjectMap<string> {\n carbonTheme = carbonTheme || CarbonTheme.G10;\n useAITheme = useAITheme || false;\n publicVars = publicVars || {};\n\n const internalOverrides = createInternalCSSOverridesMap(carbonTheme, useAITheme);\n const result = { ...internalOverrides, ...publicVars };\n\n Object.entries(result).forEach(([key, value]) => {\n // Variables starting with \"$\" are carbon theme tokens and should all be colors\n if (key.startsWith('$') && !value.match(HEXADECIMAL_REGEX)) {\n console.warn(\n `${WA_CONSOLE_PREFIX} You tried to call \"updateCSSVariables\" with an invalid value for \"${key}\": \"${publicVars[key]}\". You must use hexadecimal values for colors.`,\n );\n // Delete color values that are not in hexadecimal format to ensure we can use them in methods in ./colors.\n delete result[key];\n }\n });\n\n const remoteVars = remoteStylesToCSSVars(remoteStyles || {}, carbonTheme);\n\n Object.entries(remoteVars).forEach(([key, value]) => {\n if (value !== '' && publicVars[key] === undefined) {\n result[key] = value;\n }\n });\n\n return result;\n}\n\n/**\n * This function replaces the default carbon colors for some specific scss variables. After this function is called the\n * public and remote values in mergeCSSVariables can override whatever is set here.\n */\nfunction createInternalCSSOverridesMap(carbonTheme: CarbonTheme, useAITheme: boolean): ObjectMap<string> {\n let internalOverridesMap = {};\n if (!useAITheme) {\n // Some carbon colors need to be overridden in order to support our theming options (when the user isn't using the\n // AI theme). For now these overrides only apply to the quick action chat buttons since their carbon default, link\n // blue, may not match the users theme. But this could be extended to other overrides in the future.\n if ([CarbonTheme.G10, CarbonTheme.WHITE].includes(carbonTheme)) {\n // In light themes make the quick action chat buttons black.\n internalOverridesMap = {\n ...internalOverridesMap,\n ...INTERNAL_OVERRIDES_LIGHT_THEME_MAP,\n };\n } else if ([CarbonTheme.G90, CarbonTheme.G100].includes(carbonTheme)) {\n // In dark themes make the quick action chat buttons white.\n internalOverridesMap = {\n ...internalOverridesMap,\n ...INTERNAL_OVERRIDES_DARK_THEME_MAP,\n };\n }\n }\n return internalOverridesMap;\n}\n\n// Given a themeState determine which classNames should be used on the \"WACContainer--render\" element.\nfunction getThemeClassNames(themeState: ThemeState) {\n let themeClassnames: string;\n switch (themeState?.carbonTheme) {\n case CarbonTheme.WHITE:\n themeClassnames = CarbonThemeClassNames.WHITE;\n break;\n case CarbonTheme.G10:\n themeClassnames = CarbonThemeClassNames.G10;\n break;\n case CarbonTheme.G90:\n themeClassnames = CarbonThemeClassNames.G90;\n break;\n case CarbonTheme.G100:\n themeClassnames = CarbonThemeClassNames.G100;\n break;\n default:\n themeClassnames = CarbonThemeClassNames.G10;\n break;\n }\n\n if (themeState?.useAITheme) {\n themeClassnames += ' WAC--aiTheme';\n }\n\n return themeClassnames;\n}\n\nexport {\n CSS_VAR_PREFIX,\n CSS_CHAT_PREFIX,\n INTERNAL_OVERRIDES_LIGHT_THEME_MAP,\n INTERNAL_OVERRIDES_DARK_THEME_MAP,\n remoteStylesToCSSVars,\n mergeCSSVariables,\n convertCSSVariablesToString,\n getThemeClassNames,\n};\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport dayjs from 'dayjs';\n\nimport { consoleError } from './miscUtils';\n\n/**\n * The name of the system default timezone that is lazily calculated. An example returned value is \"America/Chicago\".\n */\nlet cachedTimeZone: string;\n\nfunction timestampToDateString(timestamp: number | Date | string) {\n // Returns date string in localized format e.g. \"August 16, 2018\" for US English.\n return dayjs(timestamp).format('LL');\n}\n\n/**\n * Returns the time from the given timestamp localized into the user's current timezone and formatted with the\n * current locale.\n */\nfunction timestampToTimeString(timestamp: number | Date | string) {\n return dayjs(timestamp).format('LT');\n}\n\n/**\n * Returns the timezone for legacy browsers that don't support Intl.DateTimeFormat. This will use a JS library to\n * guess the timezone.\n */\nfunction getTimeZoneLegacy(): Promise<string> {\n return import(/* webpackChunkName: \"jstz\" */ 'jstimezonedetect' as any)\n .then(({ default: jstz }) => jstz.determine().name())\n .catch(error => {\n consoleError('[getTimeZoneLegacy]', error);\n });\n}\n\n/**\n * Returns the name of the system default timezone. An example returned value is \"America/Chicago\".\n */\nasync function getTimeZone(): Promise<string> {\n if (!cachedTimeZone) {\n const timeZone =\n Intl?.DateTimeFormat && typeof Intl.DateTimeFormat().resolvedOptions === 'function'\n ? Intl.DateTimeFormat().resolvedOptions().timeZone\n : undefined;\n if (timeZone) {\n cachedTimeZone = timeZone;\n } else {\n cachedTimeZone = await getTimeZoneLegacy();\n }\n }\n return cachedTimeZone;\n}\n\nexport { timestampToDateString, timestampToTimeString, getTimeZone };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\n\n// This file is a mock of the localStorage API. In IE11 when developing on localhost, we can get access denied errors.\n// This is just a small fallback for that use case.\n\nlet innerStorage: ObjectMap<any> = {};\n\nconst storage: Storage = {\n getItem(key: string) {\n return innerStorage[key];\n },\n setItem(key: string, value: string) {\n innerStorage[key] = value;\n },\n removeItem(key: string) {\n delete innerStorage[key];\n },\n length: Object.keys(innerStorage).length,\n clear() {\n innerStorage = {};\n },\n key(index: number) {\n return Object.keys(innerStorage)[index];\n },\n};\n\nexport default storage;\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This module is responsible for managing the storage of a deviceID across a session. This way if a userID is provided\n * part way through a session, Amplitude can match that userID up with the previous events in the session.\n *\n * See https://help.amplitude.com/hc/en-us/articles/115003135607-Tracking-Unique-Users#h_5c321a51-5d16-43f0-a4fe-f907567ad63b\n */\n\nimport { IS_SESSION_STORAGE } from '../utils/browserUtils';\nimport { uuid, UUIDType } from '../utils/lang/uuid';\nimport { consoleError } from '../utils/miscUtils';\nimport mockStorage from './mockStorage';\n\n// The prefix of the key in browser storage that contains the session id for a particular user.\nconst DEVICE_ID_KEY = 'IBM_WAC_DEVICE_ID';\n\n// We use sessionStorage instead of localStorage to not have to have a public cookie policy that must be accepted in EU.\nconst storage: Storage = IS_SESSION_STORAGE() ? window.sessionStorage : mockStorage;\n\n/**\n * Get the session object for the device id. Use integrationID here just to super duper ensure uniqueness.\n */\nfunction getOrSetDeviceID(integrationID: string): string {\n try {\n const deviceID = storage.getItem(DEVICE_ID_KEY);\n if (deviceID) {\n return deviceID;\n }\n const id = uuid(UUIDType.DEVICE_ID);\n const newDeviceID = `${integrationID}:${id}`;\n storage.setItem(DEVICE_ID_KEY, newDeviceID);\n return newDeviceID;\n } catch (error) {\n consoleError('Error in getOrSetDeviceID', error);\n return undefined;\n }\n}\n\nexport { getOrSetDeviceID, DEVICE_ID_KEY };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This module is responsible for tracking events through amplitude. It tracks each user's triggered event and\n * specific properties for that event.\n *\n * Amplitude creates their user profiles using a combination of device_id and user_id. If a user_id is added to\n * a session with a given device_id, that device is then added to the user profile. We make use of this by\n * assigning a device_id in sessionStorage to be used across an entire session. If a user_id is not defined\n * (say JWT has not been passed in yet), we don't define it. When we DO get the user_id, amplitude then knows to\n * supply it to the rest of the session.\n *\n * See\n * https://help.amplitude.com/hc/en-us/articles/115003135607-Tracking-Unique-Users#h_5c321a51-5d16-43f0-a4fe-f907567ad63b\n */\n\nimport { BusEventType, TypeAndHandler } from 'internal-packages/shared/types/eventBusTypes';\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\nimport { LauncherType } from 'internal-packages/shared/types/PublicConfig';\nimport { GenericItem, MessageResponse, OptionItem, SuggestionItem } from 'submodules/wa-fd-types-public/wa-types';\n\nimport { AMPLITUDE_API_KEY } from '../environmentVariables';\nimport { BROWSER_INFO, getURLHostnameAndPath, IS_PHONE, IS_TABLET } from '../utils/browserUtils';\nimport { HEADER_CONTENT_TYPE, MIME_JSON, WriteableElementName } from '../utils/constants';\nimport { asArray } from '../utils/lang/arrayUtils';\nimport { getOptionType, hasSupportedServiceDesk, hasTourUserDefinedType } from '../utils/messageUtils';\nimport { consoleError, debugLog } from '../utils/miscUtils';\nimport { VERSION } from '../utils/versionUtils';\nimport { getOrSetDeviceID } from './deviceIDStorage';\nimport { BuiltInServiceDesk } from './haa/humanAgentUtils';\nimport { ResponseTrackData } from './MessageService';\nimport { ServiceManager } from './ServiceManager';\n\n/**\n * The Set of valid out-of-the-box service desk integration types that can be reported from tooling. We need this\n * because previous version of tooling would record the user clicking custom service desk tiles in the UI which is\n * not info that is reliable. We're not filtering those out to just the OOTBs.\n */\nconst BuiltInServiceDeskValues = new Set(Object.values(BuiltInServiceDesk));\n\nenum MessageRetryStatus {\n RETRYING = 'Retrying',\n FAILED = 'Failed',\n SUCCESS_AFTER_RETRY = 'SuccessAfterRetry',\n}\n\ninterface TrackEvent {\n /**\n * For calls that track docs, we pass in a userID (just a cooked guid)\n */\n user_id: string;\n\n /**\n * The response type being used in event.\n * E.g. for input message: text, options (buttons, dropdown) ...\n * E.g. for bot message: text, options (button, dropdown), image, pause, search, connect to human agent,\n * disambiguation\n */\n event_type: string;\n\n /**\n * Map of properties to send with the event.\n * Can contain all properties of TrackEventProps that are not set elsewhere on the TrackEvent\n */\n event_properties: ObjectMap<any>;\n\n /**\n * The user properties that should be updated with the event\n */\n user_properties?: ObjectMap<any>;\n\n /**\n * A unique I'd consist of the userID and a timestamp\n */\n session_id?: number;\n\n /**\n * Group account information so the event is connected to the group\n */\n groups?: {\n 'Service Instance': string;\n Integration: string;\n };\n}\n\ninterface TrackEventProps extends Partial<ResponseTrackData> {\n /**\n * The name of the event being tracked.\n */\n eventName: string;\n\n /**\n * The description of the event being tracked.\n */\n eventDescription?: string;\n\n /**\n * The user properties that should be updated with the event\n */\n user_properties?: ObjectMap<any>;\n\n /**\n * The response type being used in event.\n * E.g. for input message: text, options (buttons, dropdown) ...\n * E.g. for bot message: text, options (button, dropdown), image, pause, search, connect to human agent,\n * disambiguation\n */\n type?: string;\n\n /**\n * If we have a non-session or non-JWT based message failure, we send a tracking event with a 'Failure' status. If we\n * are able to resolve with re-tries, we send an event with ''SuccessAfterRetry'.\n */\n messageStatus?: MessageRetryStatus;\n\n /**\n * When logging a message retry, this is the amount of time the previous request took.\n */\n lastRequestTime?: number;\n\n /**\n * When logging a message retry, this is the response code of the last response.\n */\n lastResponseCode?: number;\n\n /**\n * When logging a message retry, this is the number of retry being performed (starts at 1).\n */\n retryNumber?: number;\n\n /**\n * Type of launcher being used.\n */\n launcherType?: LauncherType | string;\n\n /**\n * The direction the user toggled to view.\n * E.g. 'To agent' versus 'To bot'\n */\n direction?: string;\n\n /**\n * Number of options being shown.\n * E.g. in terms of disambiguation - 2, 3, 4... (total of options shown)\n */\n optionsShown?: number;\n\n /**\n * Which option did the user click on.\n * E.g. in terms of disambiguation - 1, 2... (first option, second option, etc.)\n */\n optionSelected?: number;\n\n /**\n * Whether there is an \"Anything else\" option included in suggestion (disambiguation).\n * Currently, we cannot get this information. Need to chat with dialog to include.\n */\n anythingElse?: boolean;\n\n /**\n * Whether the given response it an anything else node.\n */\n isAnythingElseNode?: boolean;\n\n /**\n * The current sessionID (called assistantSessionID to avoid confusion since Amplitude has their own session_id key\n * that is a UNIX timestamp)\n */\n assistantSessionID?: string;\n\n /**\n * For calls that track docs, we pass in a userID (just a cooked guid)\n */\n userID?: string;\n\n /**\n * Name of the browser\n */\n browserName?: string;\n\n /**\n * Browser version\n */\n browserVersion?: string;\n\n /**\n * Browser OS\n */\n browserOS?: string;\n\n /**\n * Browser device type\n */\n browserDeviceType?: string;\n\n /**\n * The number of strikes with suggestions.\n */\n suggestionsNumStrikes?: number;\n\n /**\n * The reason a strike occurred with suggestions.\n */\n suggestionsStrikeReason?: string;\n\n /**\n * The number of alternate responses that were received from the bot.\n */\n suggestionsNumAlternateResponses?: number;\n\n /**\n * The number of suggestions that were computer for the user. This doesn't take into account if the suggestions\n * list was actually opened.\n */\n suggestionsNumAvailable?: number;\n\n /**\n * Indicates if the Connect to agent option was one of the available suggestions.\n */\n suggestionsConnectToAgentAvailable?: boolean;\n\n /**\n * Indicates if the user selected the \"Connect to agent\" option from the menu.\n */\n suggestionType?: 'Alternate Response' | 'Contact Option' | 'Home Screen Starter' | 'Search' | 'Unknown';\n\n /**\n * Indicates if the suggestions menu is opened or closed or if the state was changed between the full and strike\n * opened states.\n */\n suggestionsMenuIsOpened?: 'Opened' | 'Closed' | 'Expanded' | 'Collapsed';\n\n /**\n * Indicates the reason why the suggestions menu was opened or closed.\n */\n suggestionsToggledReason?: 'User' | 'Strike' | 'Event' | 'Search';\n\n /**\n * The page search route, preceded by '?=to' in the url.\n */\n docsPageName?: string;\n\n /**\n * The hash '#' in the url.\n */\n docsSectionName?: string;\n\n /**\n * Indicates if the root node was hit based on the dialog state.\n */\n nodeLevel?: 'Root node' | 'Not root node';\n\n /**\n * The type of event that was subscribed to.\n */\n subscriptionEventType?: BusEventType | BusEventType[];\n\n /**\n * When web chat was loaded, this indicates what type of page link was used.\n */\n pageLinkType?: 'Text' | 'None';\n\n /**\n * The writeable element Deb has added custom content to.\n */\n element?: WriteableElementName;\n\n /**\n * The amount of time between the time when the widget began to be loaded and when the \"Widget Loaded\" track event\n * is fired.\n */\n loadTime?: number;\n\n /**\n * The number of steps in a tour that was started.\n */\n numberOfSteps?: number;\n\n /**\n * If the tour was started by skipping the tour card.\n */\n skipTourCard?: boolean;\n\n /**\n * Indicates if the {@link GenericItem} from the generic item array within the {@link MessageResponse} output is the\n * welcome node.\n */\n isWelcomeNode?: boolean;\n}\n\n// The parameters to send on fetch requests.\n// Note: The content-type must be application/json per amplitude's HTTP API v2 docs.\n// https://developers.amplitude.com/docs/http-api-v2#request-format\nconst FETCH_PARAMETERS = {\n method: 'POST',\n headers: {\n [HEADER_CONTENT_TYPE]: MIME_JSON,\n },\n};\n\nconst NOT_SET = 'not set';\n\nconst API_KEY = AMPLITUDE_API_KEY; // Defaults to Amplitude testing environment API key if none provided.\n\nconst POST_URL = '/2/httpapi';\n\n// Use the Group Identify API to set or update properties of particular groups. However, these updates will only affect events going forward.\nconst GROUP_POST_URL = `/groupidentify?api_key=${API_KEY}`;\n\n// Use the Identify API to set the User ID for a particular Device ID or update user properties of a particular user without sending an event.\n// However, these updates will only affect events going forward.\nconst IDENTIFY_POST_URL = `/identify?api_key=${API_KEY}`;\n\nconst MAX_AMPLITUDE_EVENTS = 10;\n\n// Returns the current device type, differentiating between; phone, tablet, and desktop.\n// eslint-disable-next-line no-nested-ternary\nconst BROWSER_DEVICE_TYPE = IS_TABLET ? 'tablet' : IS_PHONE ? 'phone' : 'desktop';\n\nclass TrackService {\n /**\n * The service manager to use to access services.\n */\n serviceManager: ServiceManager;\n\n /**\n * The host\n */\n endpointPath: string;\n\n /**\n * Queue for events that are ready to send to Amplitude. We do not send events immediately to prevent overloading the\n * limit of 10/second per device.\n */\n private eventQueue: TrackEvent[] = [];\n\n /**\n * We keep track of the first userID we use, this way we don't end up switching the userID and confusing amplitude\n * partway through.\n */\n private firstUserID: string;\n\n /**\n * We need to add user_properties to the first batch of events, this variable is used to determine if the properties\n * have been added to the first batch or not.\n */\n private firstBatchUserProperties: boolean = false;\n\n /**\n * Flag indicating whether to disable the sending of identity calls.\n */\n private isIdentifyEnabled: boolean;\n\n /**\n * Flag indicating whether to disable the sending of tracking events.\n */\n private isEventEnabled: boolean;\n\n constructor(\n serviceManager: ServiceManager,\n isIdentifyEnabled: boolean,\n isEventEnabled: boolean,\n endpointPath: string,\n ) {\n this.serviceManager = serviceManager;\n this.isIdentifyEnabled = isIdentifyEnabled;\n this.isEventEnabled = isEventEnabled;\n this.endpointPath = endpointPath;\n }\n\n /**\n * Returns the type of launcher being used, so we can compare open rates across different launchers.\n */\n getLauncherType() {\n const { config } = this.serviceManager.store.getState();\n if (config.public.showLauncher === false) {\n return 'Custom';\n }\n return 'Default';\n }\n\n /**\n * Pushes an event onto the eventQueue and starts the sendEvents loop if event is the first event in the eventQueue\n *\n * @param event The event to send to Amplitude\n */\n pushEvent(event: TrackEvent) {\n this.eventQueue.push(event);\n // If this is the only event in the queue start the sendEvents loop\n if (this.eventQueue.length === 1) {\n this.sendEvents();\n }\n }\n\n /**\n * Batches events from the eventQueue and sends them to Amplitude. Repeats for additional events in the queue.\n * For more information see: https://developers.amplitude.com/#Http-Api-V2\n */\n sendEvents() {\n // Using setTimeout to allow for multiple events to be added to the eventQueue in a single browser tick before\n // they are sent to Amplitude in a batch.\n setTimeout(() => {\n if (this.eventQueue.length) {\n // Amplitude v2 api has an event batch size limit of 10 events\n const eventBatch = this.eventQueue.splice(0, MAX_AMPLITUDE_EVENTS);\n\n if (!this.firstBatchUserProperties) {\n // Need to add user properties to all events in the first batch otherwise there will be events in the first\n // batch that don't have the below user properties.\n eventBatch.map(event => {\n event.user_properties = {\n 'Browser name': BROWSER_INFO?.name,\n 'Browser version': BROWSER_INFO?.version,\n 'Browser OS': BROWSER_INFO?.os,\n 'Browser device type': BROWSER_DEVICE_TYPE,\n 'Deployed full path': getURLHostnameAndPath(),\n 'Deployed hostname': window.location.hostname,\n 'User loaded version': VERSION,\n ...event.user_properties,\n };\n return event;\n });\n\n this.firstBatchUserProperties = true;\n }\n\n this.serviceManager\n .fetch(`${this.endpointPath}${POST_URL}`, {\n ...FETCH_PARAMETERS,\n body: JSON.stringify({ api_key: API_KEY, events: eventBatch }),\n })\n .catch(error => {\n consoleError('Failed to track events', error);\n });\n\n // If events remain in the queue, loop through sendEvents again to ensure they are all sent.\n this.sendEvents();\n }\n });\n }\n\n /**\n * Identifies the current group and user to Amplitude. Called on the 'Browser Identity' event. When this is called,\n * the userID has been defined and is guaranteed to exist either through JWT, anonymous method, or updateUserID.\n *\n * For more information on the group identify API see: https://developers.amplitude.com/#group-identify-api\n * For more information on the identify API see: https://developers.amplitude.com/#identify-api\n */\n public identifyGroupAndUser() {\n const { additionalChatParameters, store } = this.serviceManager;\n const {\n accountOwnerDomain,\n userID,\n config,\n homeScreenConfig,\n identityToken,\n recentEditorDomain,\n persistedToBrowserStorage,\n } = store.getState();\n\n // The serviceInstanceID, accountOwnerDomain, and recentEditorDomain might be empty since this was added in the tooling after web chat was\n // released and requires you to re-save for it to show.\n const { initConfig } = config.remote;\n const serviceInstanceIDOrNotSet = initConfig.service_instance_id || config.public.serviceInstanceID || NOT_SET;\n const accountOwnerDomainOrNotSet = accountOwnerDomain || NOT_SET;\n const recentEditorDomainOrNotSet = recentEditorDomain || NOT_SET;\n\n const trackUserID = this.getTrackUserID(serviceInstanceIDOrNotSet, userID);\n\n // In Amplitude, we group users by service instance id. We do so by including the identification object.\n // Set the group_type as \"Account\" and the group_value as the value of serviceInstanceID.\n // For more information on grouping, visit https://help.amplitude.com/hc/en-us/articles/115001765532#group-identify-api\n\n const identifyGroup = [\n {\n group_type: 'Service Instance',\n // This might be null since this was added in the tooling after web chat was released and requires you to\n // re-save for it to show.\n group_value: serviceInstanceIDOrNotSet,\n device_id: getOrSetDeviceID(config.public.integrationID),\n user_id: trackUserID,\n group_properties: {\n $set: {\n // This might be null since this was added in the tooling after web chat was released and requires you to\n // re-save for it to show.\n 'Integration owner email domain': accountOwnerDomainOrNotSet,\n 'Recent editor email domain': recentEditorDomainOrNotSet,\n 'Deployed hostname': window.location.hostname,\n 'Plan Type': config.remote.initConfig.plan || 'unknown',\n },\n },\n },\n {\n group_type: 'Integration',\n group_value: config.public.integrationID,\n device_id: getOrSetDeviceID(config.public.integrationID),\n user_id: trackUserID,\n group_properties: {\n $set: {\n // These values need to be set on this group instead of the Service Instance group because Service Instances\n // can contain more than one integration. This way we can track integration specific configurations.\n 'Primary color changed': Boolean(initConfig.css_variables?.['BASE-primary-color']),\n 'Secondary color changed': Boolean(initConfig.css_variables?.['BASE-secondary-color']),\n 'Accent color changed': Boolean(initConfig.css_variables?.['BASE-accent-color']),\n 'Secure login enabled': Boolean(identityToken || initConfig.authorization?.is_on),\n 'Loaded version': VERSION,\n 'Requested version': config.public.clientVersion || 'unknown',\n 'LoadWAC version': additionalChatParameters?.loadVersion || 'unknown',\n 'Suggestions enabled': Boolean(initConfig.alternate_suggestions?.is_on),\n 'Session history enabled': !config.public.disableSessionHistory,\n 'Web chat home screen shown': Boolean(homeScreenConfig?.is_on),\n 'Is Embedded Agent App': config.public.agentAppConfig.is_on,\n 'Service Desk': this.getServiceDesk(),\n 'Service desk enabled': hasSupportedServiceDesk(config),\n 'Custom Service Desk': this.getCustomServiceDeskName(),\n 'Browser name': BROWSER_INFO?.name,\n 'Browser version': BROWSER_INFO?.version,\n 'Browser OS': BROWSER_INFO?.os,\n 'Browser device type': BROWSER_DEVICE_TYPE,\n 'Widget starting state': config.public.openChatByDefault ? 'Opened' : 'Closed',\n 'Deployed full path': getURLHostnameAndPath(),\n 'Launcher Type': this.getLauncherType(),\n 'Branding Enabled': Boolean(initConfig.branding_config?.is_on),\n 'PDF viewer disabled': Boolean(config.public.disablePDFViewer),\n 'Launcher title updated': Boolean(\n initConfig.launcher_config?.desktop.title || initConfig.launcher_config?.mobile.title,\n ),\n 'Disclaimer beta enabled': Boolean(config.public.disclaimer?.isOn),\n },\n },\n },\n ];\n\n if (this.isIdentifyEnabled) {\n const identifyGroupUrl = `${this.endpointPath}${GROUP_POST_URL}&identification=${JSON.stringify(identifyGroup)}`;\n this.serviceManager.fetch(identifyGroupUrl, FETCH_PARAMETERS).catch(error => {\n consoleError('Failed to identify group', error);\n });\n }\n\n // For testing/development purposes - log what we send as updated group properties\n if (config.public.__ibm__?.logTrackObjects) {\n debugLog('Amplitude track - group properties', identifyGroup);\n }\n }\n\n /**\n * Get the correct {@link TrackEventProps} format for a specific response.\n *\n * @param response The response being tracked.\n * @param isLatestWelcomeNode If the response is a welcome node or not.\n * @param isAnythingElseNode If the response is an anything else node or not.\n * @param responseTrackData Optional data to add for tracking purposes.\n */\n getTrackResponseProps(\n response: GenericItem,\n isLatestWelcomeNode: boolean,\n isAnythingElseNode: boolean,\n responseTrackData?: ResponseTrackData,\n ): TrackEventProps {\n const eventProps: TrackEventProps = {\n eventName: 'Assistant Message Sent to User',\n eventDescription: 'Bot gives the user response.',\n isWelcomeNode: isLatestWelcomeNode,\n type: response ? response.response_type : 'user_defined',\n };\n if (response?.response_type === 'option') {\n eventProps.eventDescription = 'Bot gives the user option response type.';\n eventProps.type = getOptionType((response as OptionItem).preference, (response as OptionItem).options.length);\n } else if (response?.response_type === 'suggestion') {\n eventProps.eventDescription = 'Bot gives the user disambiguation option.';\n eventProps.optionsShown = (response as SuggestionItem).suggestions.length;\n } else if (hasTourUserDefinedType(response)) {\n eventProps.type = 'Tour Card';\n }\n eventProps.isAnythingElseNode = !!isAnythingElseNode;\n if (responseTrackData) {\n eventProps.totalRequestTime = responseTrackData.totalRequestTime;\n eventProps.lastRequestTime = responseTrackData.lastRequestTime;\n eventProps.numErrors = responseTrackData.numErrors;\n }\n return eventProps;\n }\n\n /**\n * Converts the data returned by a response from the Assistant into the TrackEventProps needed for sending\n * tracking data to Amplitude about the response. Neither userID nor sessionID must be defined when this is\n * called, and they won't be for initial rendering events. They do get filled in later after the web chat has\n * been opened.\n *\n * @param options The included properties {@link TrackEventProps} wished to be tracked.\n */\n public track(options: TrackEventProps) {\n if (options) {\n const { userID, persistedToBrowserStorage, config } = this.serviceManager.store.getState();\n const { chatState } = persistedToBrowserStorage;\n const { sessionID, sessionStartedTimestamp } = chatState;\n\n const { eventName, user_properties, ...rest } = options;\n\n // Add the session id to the event_properties\n rest.assistantSessionID = sessionID;\n\n // The serviceInstanceID and accountOwnerDomain might be empty since this was added in the tooling after web chat was\n // released and requires you to re-save for it to show.\n const serviceInstanceIDOrNotSet =\n config.remote.initConfig.service_instance_id || config.public.serviceInstanceID || NOT_SET;\n const trackUserID = this.getTrackUserID(serviceInstanceIDOrNotSet, userID);\n\n // For Amplitude, we need to send a unique event_type to capture the overall event we're tracking.\n // The event is sent with the user_properties update.\n // Informational doc: https://help.amplitude.com/hc/en-us/articles/207108327-Step-4-Set-User-Properties-and-Event-Properties#applying-user-properties-to-events\n\n const event = {\n device_id: getOrSetDeviceID(config.public.integrationID),\n user_id: trackUserID,\n event_type: eventName,\n event_properties: rest,\n user_properties,\n session_id: sessionStartedTimestamp,\n groups: {\n 'Service Instance': serviceInstanceIDOrNotSet,\n Integration: config.public.integrationID,\n },\n };\n\n if (this.isEventEnabled) {\n this.pushEvent(event);\n }\n\n // For testing/development purposes - log what we send to amplitude as an event.\n if (config.public.__ibm__?.logTrackObjects) {\n debugLog('Amplitude track - event properties', event);\n }\n }\n }\n\n /**\n * Get the unique tracking user id to use in amplitude\n * Prepend \"WAEndUser-\" to show who are our end users.\n *\n * @param serviceInstanceID The user's service instance id.\n * @param userID The user's id (if provided).\n */\n getTrackUserID(serviceInstanceID: string, userID: string) {\n // If a user ID isn't set, yet, just return undefined.\n if (!userID) {\n return undefined;\n }\n // If we have a userID already defined, just return it.\n if (this.firstUserID) {\n return this.firstUserID;\n }\n // If there is a userID set, but not a firstUserID, we set it.\n this.firstUserID = `WAEndUser-${serviceInstanceID}:${userID}`;\n return this.firstUserID;\n }\n\n /**\n * Track each response within a received message accordingly.\n *\n * @param message The entire message response received.\n * @param isLatestWelcomeNode If the response is a welcome node or not.\n * @param responseTrackData Optional data to add for tracking purposes.\n */\n public trackResponse(message: MessageResponse, isLatestWelcomeNode: boolean, responseTrackData?: ResponseTrackData) {\n if (message.output) {\n const messages = message.output.generic;\n const isAnythingElseNode = message.output.intents && message.output.intents.length === 0;\n if (messages) {\n messages.forEach(response => {\n const trackProps = this.getTrackResponseProps(\n response,\n isLatestWelcomeNode,\n isAnythingElseNode,\n responseTrackData,\n );\n this.track(trackProps);\n });\n }\n }\n }\n\n /**\n * Used to track usage of our event system (instance.once({ type: \"history:begin\", handler: handler });, etc.). Fires\n * when a subscription is configured, not when the subscribed to event is actually fired.\n *\n * @param handlers The type of event subscribed to and handler function for an event subscription\n * {@link TypeAndHandler}.\n * @param subscriptionMethod The way an event was subscribed to {@link EventHandlers}.\n */\n public eventSystemTrack(handlers: TypeAndHandler | TypeAndHandler[], subscriptionMethod: 'on' | 'off' | 'once') {\n const data = asArray(handlers);\n const subscriptionEventType = data.map(handler => handler.type);\n\n const trackProps = {\n eventName: 'Event system used',\n eventDescription: subscriptionMethod,\n subscriptionEventType,\n };\n\n this.track(trackProps);\n }\n\n /**\n * Identifies the user and then pushes the event onto the eventQueue.\n *\n * @param options The included properties {@link TrackEventProps} wished to be tracked.\n * @param userID The userID to use for the track event. Because the docs and demo site do not use the same\n * serviceManager as web chat they both need to create their own userID's for tracking and pass them to this function.\n */\n public docsTrack(options: TrackEventProps, userID: string) {\n if (options) {\n const { eventName, ...rest } = options;\n const identifyUser = {\n user_id: userID,\n };\n\n // We cannot guarantee the user has already been identified with Amplitude in the docs site or the demo site, so we\n // identify the user with Amplitude before each demoOrDocsTrack event. This does not cost us events.\n const identifyUserUrl = `${this.endpointPath}${IDENTIFY_POST_URL}&identification=${JSON.stringify(identifyUser)}`;\n this.serviceManager.fetch(identifyUserUrl, FETCH_PARAMETERS).catch(error => {\n consoleError('Failed to identify user', error);\n });\n\n const event = {\n user_id: userID,\n event_type: eventName,\n event_properties: rest,\n };\n\n this.pushEvent(event);\n }\n }\n\n /**\n * Get the service desk being used by the web chat, if any.\n */\n public getServiceDesk() {\n const { config } = this.serviceManager.store.getState();\n\n if (config.public.agentAppConfig.is_on) {\n // Don't report the type of the service desk if we're in the agent app.\n return undefined;\n }\n\n if (config.public.serviceDeskFactory) {\n return 'custom';\n }\n\n // Filter out the old custom types reported by tooling and only report the OOTB ones.\n const type =\n config.public.serviceDesk.integrationType ||\n (config.remote.initConfig.service_desk?.integration_type as BuiltInServiceDesk);\n if (BuiltInServiceDeskValues.has(type as any)) {\n return type;\n }\n return 'no SD';\n }\n\n /**\n * If a custom service desk is configured, returns the name.\n */\n public getCustomServiceDeskName() {\n return this.serviceManager.humanAgentService?.getCustomServiceDeskName();\n }\n}\n\nexport default TrackService;\nexport { TrackService, TrackEvent, TrackEventProps, NOT_SET, MessageRetryStatus };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nexport enum TagType {\n RED = 'red',\n MAGENTA = 'magenta',\n PURPLE = 'purple',\n BLUE = 'blue',\n CYAN = 'cyan',\n TEAL = 'teal',\n GREEN = 'green',\n GRAY = 'gray',\n COOL_GRAY = 'cool-gray',\n WARM_GRAY = 'warm-gray',\n HIGH_CONTRAST = 'high-contrast',\n OUTLINE = 'outline',\n}\n\nexport enum TagSize {\n SMALL = 'sm',\n MEDIUM = 'md',\n LARGE = 'lg',\n}\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en=n()}(this,(function(){\"use strict\";return{name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var n=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(n[(t-20)%10]||n[t]||n[0])+\"]\"}}}));","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * Translation files are broken up into two sets: private and public. Strings in the public\n * file are published to the github docs and are able to be adjusted by Deb. Strings in the\n * private file are not meant to be changed by Deb or are strings for features in beta. When\n * the two sets are combined, public strings override private ones.\n */\n\nimport dayjs from 'dayjs';\nimport enLocaleData from 'dayjs/locale/en';\nimport { EnglishLanguagePack, enLanguagePack, LanguagePack } from 'internal-packages/shared/types/LanguagePack';\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\nimport React from 'react';\nimport { IntlShape } from 'react-intl';\n\nimport { consoleError } from './miscUtils';\n\nconst locales = {\n ar: () => import(/* webpackChunkName: \"locale_ar\" */ 'dayjs/locale/ar' as any),\n 'ar-dz': () => import(/* webpackChunkName: \"locale_ar_dz\" */ 'dayjs/locale/ar-dz' as any),\n 'ar-kw': () => import(/* webpackChunkName: \"locale_ar_kw\" */ 'dayjs/locale/ar-kw' as any),\n 'ar-ly': () => import(/* webpackChunkName: \"locale_ar_ly\" */ 'dayjs/locale/ar-ly' as any),\n 'ar-ma': () => import(/* webpackChunkName: \"locale_ar_ma\" */ 'dayjs/locale/ar-ma' as any),\n 'ar-sa': () => import(/* webpackChunkName: \"locale_ar_sa\" */ 'dayjs/locale/ar-sa' as any),\n 'ar-tn': () => import(/* webpackChunkName: \"locale_ar_tn\" */ 'dayjs/locale/ar-tn' as any),\n cs: () => import(/* webpackChunkName: \"locale_cs\" */ 'dayjs/locale/cs' as any),\n de: () => import(/* webpackChunkName: \"locale_de\" */ 'dayjs/locale/de' as any),\n 'de-at': () => import(/* webpackChunkName: \"locale_de_at\" */ 'dayjs/locale/de-at' as any),\n 'de-ch': () => import(/* webpackChunkName: \"locale_de_ch\" */ 'dayjs/locale/de-ch' as any),\n en: () => import(/* webpackChunkName: \"locale_en\" */ 'dayjs/locale/en' as any),\n 'en-au': () => import(/* webpackChunkName: \"locale_en_au\" */ 'dayjs/locale/en-au' as any),\n 'en-ca': () => import(/* webpackChunkName: \"locale_en_ca\" */ 'dayjs/locale/en-ca' as any),\n 'en-gb': () => import(/* webpackChunkName: \"locale_en_gb\" */ 'dayjs/locale/en-gb' as any),\n 'en-ie': () => import(/* webpackChunkName: \"locale_en_ie\" */ 'dayjs/locale/en-ie' as any),\n 'en-il': () => import(/* webpackChunkName: \"locale_en_il\" */ 'dayjs/locale/en-il' as any),\n 'en-nz': () => import(/* webpackChunkName: \"locale_en_nz\" */ 'dayjs/locale/en-nz' as any),\n es: () => import(/* webpackChunkName: \"locale_es\" */ 'dayjs/locale/es' as any),\n 'es-do': () => import(/* webpackChunkName: \"locale_es_do\" */ 'dayjs/locale/es-do' as any),\n 'es-us': () => import(/* webpackChunkName: \"locale_es_us\" */ 'dayjs/locale/es-us' as any),\n nl: () => import(/* webpackChunkName: \"locale_nl\" */ 'dayjs/locale/nl' as any),\n fr: () => import(/* webpackChunkName: \"locale_fr\" */ 'dayjs/locale/fr' as any),\n 'fr-ca': () => import(/* webpackChunkName: \"locale_fr_ca\" */ 'dayjs/locale/fr-ca' as any),\n 'fr-ch': () => import(/* webpackChunkName: \"locale_fr_ch\" */ 'dayjs/locale/fr-ch' as any),\n it: () => import(/* webpackChunkName: \"locale_it\" */ 'dayjs/locale/it' as any),\n 'it-ch': () => import(/* webpackChunkName: \"locale_it_ch\" */ 'dayjs/locale/it-ch' as any),\n ja: () => import(/* webpackChunkName: \"locale_ja\" */ 'dayjs/locale/ja' as any),\n ko: () => import(/* webpackChunkName: \"locale_ko\" */ 'dayjs/locale/ko' as any),\n pt: () => import(/* webpackChunkName: \"locale_pt\" */ 'dayjs/locale/pt' as any),\n 'pt-br': () => import(/* webpackChunkName: \"locale_pt_br\" */ 'dayjs/locale/pt-br' as any),\n // The translation team has only given us \"zh\" for text which we'll just map to \"zh-cn\" for locale as well.\n zh: () => import(/* webpackChunkName: \"locale_zh_cn\" */ 'dayjs/locale/zh-cn' as any),\n 'zh-cn': () => import(/* webpackChunkName: \"locale_zh_cn\" */ 'dayjs/locale/zh-cn' as any),\n 'zh-tw': () => import(/* webpackChunkName: \"locale_zh_tw\" */ 'dayjs/locale/zh-tw' as any),\n // The zh-mo and zh-hk locales fallback to zh-tw.\n 'zh-mo': () => import(/* webpackChunkName: \"locale_zh_tw\" */ 'dayjs/locale/zh-tw' as any),\n 'zh-hk': () => import(/* webpackChunkName: \"locale_zh_tw\" */ 'dayjs/locale/zh-tw' as any),\n};\n\nconst languages: ObjectMap<() => Promise<{ default: LanguagePack }>> = {\n ar: () => {\n return import(/* webpackChunkName: \"lang_ar\" */ '../../../packages/ai-chat/src/chat/languages/ar.json' as any);\n },\n cs: () => {\n return import(/* webpackChunkName: \"lang_cs\" */ '../../../packages/ai-chat/src/chat/languages/cs.json' as any);\n },\n de: () => {\n return import(/* webpackChunkName: \"lang_de\" */ '../../../packages/ai-chat/src/chat/languages/de.json' as any);\n },\n en: () => {\n return import(/* webpackChunkName: \"lang_en\" */ '../../../packages/ai-chat/src/chat/languages/en.json' as any);\n },\n es: () => {\n return import(/* webpackChunkName: \"lang_es\" */ '../../../packages/ai-chat/src/chat/languages/es.json' as any);\n },\n fr: () => {\n return import(/* webpackChunkName: \"lang_fr\" */ '../../../packages/ai-chat/src/chat/languages/fr.json' as any);\n },\n it: () => {\n return import(/* webpackChunkName: \"lang_it\" */ '../../../packages/ai-chat/src/chat/languages/it.json' as any);\n },\n ja: () => {\n return import(/* webpackChunkName: \"lang_ja\" */ '../../../packages/ai-chat/src/chat/languages/ja.json' as any);\n },\n ko: () => {\n return import(/* webpackChunkName: \"lang_ko\" */ '../../../packages/ai-chat/src/chat/languages/ko.json' as any);\n },\n nl: () => {\n return import(/* webpackChunkName: \"lang_nl\" */ '../../../packages/ai-chat/src/chat/languages/nl.json' as any);\n },\n 'pt-br': () => {\n return import(\n /* webpackChunkName: \"lang_pt_br\" */ '../../../packages/ai-chat/src/chat/languages/pt-br.json' as any\n );\n },\n zh: () => {\n return import(/* webpackChunkName: \"lang_zh_cn\" */ '../../../packages/ai-chat/src/chat/languages/zh.json' as any);\n },\n 'zh-tw': () => {\n return import(\n /* webpackChunkName: \"lang_zh_tw\" */ '../../../packages/ai-chat/src/chat/languages/zh-tw.json' as any\n );\n },\n};\n\n// The zh-mo and zh-hk locales fallback to zh-tw.\nlanguages['zh-mo'] = languages['zh-tw'];\nlanguages['zh-hk'] = languages['zh-tw'];\n\n/**\n * Determines if the given object contains a key that supported the given locale. This will determine if there is an\n * exact match from the given object and if so, that key will be returned. If not, the language will be extracted\n * from the locale and that will be checked to see if it supported by the given object. If the language is\n * supported, that will be returned. If nothing is found to support the locale, this will return null.\n *\n * @param locale The locale (which may or may not include a region) to determine if we have a valid match or null if\n * there is no match.\n * @param object The object containing the values to check for support.\n */\nfunction isSupportedLocale<T>(locale: string, object: T): keyof T | null {\n if (!locale) {\n return null;\n }\n\n // Normalize the locale to lower case and change underscores to dashes.\n locale = locale.toLowerCase().replace(/_/g, '-');\n\n if ((object as any)[locale]) {\n // If there's an exact match for the requested locale, then we'll use that.\n return locale as keyof T;\n }\n\n // If not, look to see if there's a match for just the language without the region.\n const language = locale.substring(0, 2);\n if ((object as any)[language]) {\n return language as keyof T;\n }\n\n // No match was found.\n return null;\n}\n\n/**\n * Determines if the given object contains a key that supported the given locale. This will determine if there is an\n * exact match from the given object and if so, that key will be returned. If not, the language will be extracted\n * from the locale and that will be checked to see if it supported by the given object. If the language is\n * supported, that will be returned. If nothing is found to support the locale, this will return null. If no locale\n * was requested, then the browser's languages/locales will be used instead.\n *\n * @param requestedLocale The locale (which may or may not include a region) that was provided in the public config.\n * @param object The object containing the values to check for support.\n * @param objectType A user friendly string describing the type of data in the given object. Used for outputting\n * error messages.\n */\nfunction findSupportedKey<T>(requestedLocale: string, object: T, objectType: string): keyof T {\n // Check to see if the requested locale is supported.\n const requestedSupported = isSupportedLocale(requestedLocale, object);\n if (requestedSupported) {\n return requestedSupported;\n }\n\n if (requestedLocale) {\n const keyList = JSON.stringify(Object.keys(object));\n consoleError(\n `The requested locale \"${requestedLocale}\" does not contain a supported ${objectType}. We are defaulting to \"en\". The supported values are ${keyList}.`,\n );\n }\n\n // Return English as the default.\n return 'en' as keyof T;\n}\n\n/**\n * Loads the appropriate {@link LanguagePack} from the corresponding module for the requested locale.\n */\nasync function loadLocale(requestedLocale: string): Promise<ILocale> {\n try {\n const localeKey = findSupportedKey(requestedLocale, locales, 'locale');\n const localeModule = await locales[localeKey]();\n if (localeModule) {\n return localeModule.default;\n }\n consoleError(`The locale data for \"${localeKey}\" did not load. The application will default to \"en\".`);\n } catch (error) {\n consoleError(\n `An error occurred loading the locale data for \"${requestedLocale}\". The application will default to \"en\".`,\n error,\n );\n }\n return enLocaleData;\n}\n\n/**\n * Loads the language pack for the given locale if a language pack was not already provided. This may incur an\n * asynchronous load of the language pack files.\n *\n * @param requestedLocale A string identifying the locale WAC is running in.\n * @param providedLanguagePack A language pack that was provided by the configuration from the host page. If this\n * value is defined, it will always be used instead instead of loading a separate pack.\n * @returns The appropriate language pack for the given locale. Any values that are missing will be set with\n * their English values when the instance's language pack is updated.\n */\nasync function loadLanguagePack(requestedLocale: string, providedLanguagePack?: LanguagePack): Promise<LanguagePack> {\n if (providedLanguagePack) {\n // Use the language pack that was provided.\n return fillWithEnglish(providedLanguagePack);\n }\n\n try {\n const languageKey = findSupportedKey(requestedLocale, languages, 'language');\n const languageModule = await languages[languageKey]();\n if (languageModule) {\n return fillWithEnglish(languageModule.default as LanguagePack);\n }\n consoleError(`The language pack for \"${languageKey}\" did not load. The application will default to \"en\".`);\n } catch (error) {\n consoleError(\n `An error occurred loading the language pack for \"${requestedLocale}\". The application will default to \"en\".`,\n error,\n );\n }\n return enLanguagePack;\n}\n\n/**\n * Returns the given language pack filled with english messages for keys that are missing values.\n */\nfunction fillWithEnglish(languagePack: LanguagePack): LanguagePack {\n return {\n ...enLanguagePack,\n ...languagePack,\n };\n}\n\n/**\n * Handles a \"b\" tag.\n */\nfunction handleBTag(chunks: any) {\n return <b>{chunks}</b>;\n}\n\n/**\n * Handles a \"br\" tag.\n */\nfunction handleBRTag() {\n return <br />;\n}\n\n/**\n * Adds the functions for processing HTML to the given object for use with FormattedMessage.\n */\nfunction addHTMLSupport(values: Record<string, any>) {\n values.b = handleBTag;\n values.br = handleBRTag;\n return values;\n}\n\n/**\n * Loads a dayjs locale if it hasn't been loaded already, but doesn't replace the current globally set locale.\n *\n * @param locale The dayjs locale to load.\n * @returns returns the locale it succeeded to load.\n */\nasync function loadDayjsLocale(locale: string): Promise<string> {\n if (!dayjs.Ls[locale]) {\n const previousLocale = dayjs.locale();\n const localePack = await loadLocale(locale);\n\n // We need to temporarily set the new locale globally so that it's available and then return to the previously\n // set locale.\n dayjs.locale(localePack);\n dayjs.locale(previousLocale);\n\n // Determine if the locale we attempted to set was successful.\n const isLoaded = Boolean(dayjs.Ls[locale]);\n // If the locale we attempted to load was not successful, and it's 2 characters long, it's not a locale\n // recognized by dayjs, and we should throw an error.\n if (!isLoaded && locale.length === 2) {\n throw Error('Locale is not recognized.');\n } else if (!isLoaded) {\n // If the locale we were provided is more than two characters, we were possibly given a region that's not\n // supported, so let's attempt to load just the language, which is the first two characters.\n return loadDayjsLocale(locale.substring(0, 2));\n }\n }\n return locale;\n}\n\nfunction formatMessage(intl: IntlShape, id: keyof EnglishLanguagePack, values: Record<string, string>) {\n return intl.formatMessage({ id }, values);\n}\n\nexport { loadLanguagePack, loadLocale, findSupportedKey, addHTMLSupport, loadDayjsLocale, formatMessage };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { LanguagePack } from 'internal-packages/shared/types/LanguagePack';\nimport React from 'react';\n\n/**\n * This file contains the instance of the {@link LanguagePackContext} which is used to provide access to the\n * {@link LanguagePack}.\n */\n\nconst LanguagePackContext = React.createContext<LanguagePack>(null);\n\nexport { LanguagePackContext };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This is a React hook that will provided access to the {@link LanguagePack}.\n */\n\nimport React, { useContext } from 'react';\n\nimport { LanguagePackContext } from '../contexts/LanguagePackContext';\n\nfunction useLanguagePack() {\n return useContext(LanguagePackContext);\n}\n\nexport { useLanguagePack };\n","function _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\n\nvar _excluded = [\"width\", \"height\", \"viewBox\"],\n _excluded2 = [\"tabindex\"];\n/**\n * Copyright IBM Corp. 2018, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n // Reference:\n // https://github.com/IBM/carbon-components-react/issues/1392\n // https://github.com/PolymerElements/iron-iconset-svg/pull/47\n // `focusable` is a string attribute which is why we do not use a boolean here\n focusable: 'false',\n preserveAspectRatio: 'xMidYMid meet'\n};\n\n/**\n * Get supplementary HTML attributes for a given <svg> element based on existing\n * attributes.\n */\nfunction getAttributes() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n width = _ref.width,\n height = _ref.height,\n _ref$viewBox = _ref.viewBox,\n viewBox = _ref$viewBox === void 0 ? \"0 0 \".concat(width, \" \").concat(height) : _ref$viewBox,\n attributes = _objectWithoutProperties(_ref, _excluded);\n var tabindex = attributes.tabindex,\n rest = _objectWithoutProperties(attributes, _excluded2);\n var iconAttributes = _objectSpread2(_objectSpread2(_objectSpread2({}, defaultAttributes), rest), {}, {\n width: width,\n height: height,\n viewBox: viewBox\n });\n\n // TODO: attributes.title assumes that the consumer will implement <title> and\n // correctly set `aria-labelledby`.\n if (iconAttributes['aria-label'] || iconAttributes['aria-labelledby'] || iconAttributes.title) {\n iconAttributes.role = 'img';\n\n // Reference:\n // https://allyjs.io/tutorials/focusing-in-svg.html\n if (tabindex !== undefined && tabindex !== null) {\n iconAttributes.focusable = 'true';\n iconAttributes.tabindex = tabindex;\n }\n } else {\n iconAttributes['aria-hidden'] = true;\n }\n return iconAttributes;\n}\n\n/**\n * Copyright IBM Corp. 2018, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * Convert an icon descriptor to a String\n */\nfunction toString(descriptor) {\n var _descriptor$elem = descriptor.elem,\n elem = _descriptor$elem === void 0 ? 'svg' : _descriptor$elem,\n _descriptor$attrs = descriptor.attrs,\n attrs = _descriptor$attrs === void 0 ? {} : _descriptor$attrs,\n _descriptor$content = descriptor.content,\n content = _descriptor$content === void 0 ? [] : _descriptor$content;\n var children = content.map(toString).join('');\n if (elem !== 'svg') {\n return \"<\".concat(elem, \" \").concat(formatAttributes(attrs), \">\").concat(children, \"</\").concat(elem, \">\");\n }\n return \"<\".concat(elem, \" \").concat(formatAttributes(getAttributes(attrs)), \">\").concat(children, \"</\").concat(elem, \">\");\n}\nfunction formatAttributes(attrs) {\n return Object.keys(attrs).reduce(function (acc, key, index) {\n var attribute = \"\".concat(key, \"=\\\"\").concat(attrs[key], \"\\\"\");\n if (index === 0) {\n return attribute;\n }\n return acc + ' ' + attribute;\n }, '');\n}\n\n/**\n * Copyright IBM Corp. 2018, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * Convert an icon descriptor to a DOM node.\n */\nfunction toSVG(descriptor) {\n var _descriptor$elem = descriptor.elem,\n elem = _descriptor$elem === void 0 ? 'svg' : _descriptor$elem,\n _descriptor$attrs = descriptor.attrs,\n attrs = _descriptor$attrs === void 0 ? {} : _descriptor$attrs,\n _descriptor$content = descriptor.content,\n content = _descriptor$content === void 0 ? [] : _descriptor$content;\n var node = document.createElementNS('http://www.w3.org/2000/svg', elem);\n var attributes = elem !== 'svg' ? attrs : getAttributes(attrs);\n Object.keys(attributes).forEach(function (key) {\n node.setAttribute(key, attrs[key]);\n });\n for (var i = 0; i < content.length; i++) {\n node.appendChild(toSVG(content[i]));\n }\n return node;\n}\n\nexport { defaultAttributes, formatAttributes, getAttributes, toSVG, toString };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { getAttributes } from '@carbon/icon-helpers';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst Icon = /*#__PURE__*/React.forwardRef(function Icon(_ref, ref) {\n let {\n className,\n children,\n tabIndex,\n xmlns = 'http://www.w3.org/2000/svg',\n preserveAspectRatio = 'xMidYMid meet',\n ...rest\n } = _ref;\n const {\n tabindex,\n ...attrs\n } = getAttributes({\n ...rest,\n tabindex: tabIndex\n });\n const props = attrs;\n if (className) {\n props.className = className;\n }\n if (tabindex !== undefined && tabindex !== null) {\n if (typeof tabindex === 'number') {\n props.tabIndex = tabindex;\n } else {\n props.tabIndex = Number(tabIndex);\n }\n }\n if (ref) {\n props.ref = ref;\n }\n if (xmlns) {\n props.xmlns = xmlns;\n }\n if (preserveAspectRatio) {\n props.preserveAspectRatio = preserveAspectRatio;\n }\n return /*#__PURE__*/React.createElement('svg', props, children);\n});\nIcon.displayName = 'Icon';\nIcon.propTypes = {\n 'aria-hidden': PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['true', 'false'])]),\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n preserveAspectRatio: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n viewBox: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n xmlns: PropTypes.string\n};\n\nexport { Icon as default };\n","/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport React from 'react';\nimport Icon from '../Icon.js';\nimport { i as iconPropTypes } from '../iconPropTypes-4cbeb95d.js';\nimport '@carbon/icon-helpers';\nimport 'prop-types';\n\nvar _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _circle, _circle2, _circle3, _circle4, _path12, _path13, _path14, _circle5, _circle6, _circle7, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _circle8, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _circle9, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _circle10, _circle11, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _path84, _path85, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _path93, _path94, _path95, _path96, _path97, _path98, _path99, _path100, _path101, _path102, _path103, _path104, _path105, _path106, _path107, _path108, _path109, _path110, _path111, _path112, _path113, _path114, _circle12, _circle13, _path115, _path116, _path117, _path118, _path119, _path120, _circle14, _path121, _path122, _path123, _path124, _path125, _path126, _path127, _path128, _path129, _path130, _path131, _path132, _path133, _path134, _path135, _path136, _path137, _path138, _circle15, _path139, _path140, _circle16, _path141, _circle17, _circle18, _path142, _path143, _path144, _path145, _path146, _path147, _path148, _path149, _path150, _path151, _path152, _path153, _path154, _path155, _path156, _path157, _path158, _path159, _path160, _path161, _path162, _path163, _path164, _path165, _path166, _path167, _path168, _path169, _path170, _path171, _path172, _path173, _path174, _path175, _path176, _path177, _path178, _path179, _path180, _path181, _path182, _path183, _path184, _rect, _path185, _path186, _path187, _path188, _path189, _path190, _path191, _path192, _path193, _path194, _path195, _path196, _path197, _path198, _path199, _circle19, _circle20, _circle21, _path200, _path201, _path202, _path203, _circle22, _circle23, _circle24, _path204, _path205, _path206, _path207, _path208, _path209, _path210, _path211, _path212, _path213, _path214, _path215;\nconst EdgeDevice = /*#__PURE__*/React.forwardRef(function EdgeDevice(_ref, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 21H23V23H9zM11 14a2 2 0 102 2A1.9806 1.9806 0 0011 14zM21 14a2 2 0 102 2A1.9806 1.9806 0 0021 14z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H18.4141l2.0722-2.0723A2.04,2.04,0,0,0,21,6a2,2,0,1,0-2-2,2.0412,2.0412,0,0,0,.0723.5137L15.5859,8H4a2.0025,2.0025,0,0,0-2,2V26a2.0025,2.0025,0,0,0,2,2H28a2.0025,2.0025,0,0,0,2-2V10A2.0025,2.0025,0,0,0,28,8ZM4,26V10H28V26Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeDevice.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement(_ref2, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref2;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM16 26A10 10 0 0016 6h0z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,16A14,14,0,0,0,16,2V4a11.9933,11.9933,0,0,1,4.0493,23.2847c-.1682.06-.334.1294-.5044.1821-.2512.0771-.51.1362-.7683.1973-.1262.03-.25.0693-.3772.0952-.2908.0591-.5884.0976-.8862.1352-.1.0122-.1983.0342-.2988.044A12.0015,12.0015,0,0,1,5.416,21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207,13.1207,0,0,1,4.19,18l-1.9677.4131A13.9173,13.9173,0,0,0,2.7,20.2993l-.0251.0083A13.9615,13.9615,0,0,0,16,30q.7134,0,1.415-.0713c.135-.0137.2654-.042.3995-.06.3286-.0424.6574-.0839.9814-.1494.18-.0366.3533-.0908.5308-.1338.2685-.0659.5383-.125.8027-.2065.2463-.0762.4831-.1724.7234-.2612.18-.0664.3635-.1211.5412-.1953l-.0009-.0025A14.0015,14.0015,0,0,0,30,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement_01 = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement_01(_ref3, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref3;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 28L26 20 24 20 24 21 22 21 22 23 24 23 24 28 22 28 22 30 28 30 28 28 26 28zM28 16h2A14 14 0 0016 2V4A12 12 0 0128 16z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 16A10 10 0 0016 6V16zM16 28A11.96 11.96 0 015.416 21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207 13.1207 0 014.19 18l-1.9677.4131A13.9173 13.9173 0 002.7 20.2993l-.0251.0083A13.9615 13.9615 0 0016 30zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement_01.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement_02 = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement_02(_ref4, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref4;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 30H22V26a2.002 2.002 0 012-2h2V22H22V20h4a2.0023 2.0023 0 012 2v2a2.0023 2.0023 0 01-2 2H24v2h4zM28 16h2A14 14 0 0016 2V4A12 12 0 0128 16z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 16A10 10 0 0016 6V16zM16 28A11.96 11.96 0 015.416 21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207 13.1207 0 014.19 18l-1.9677.4131A13.9173 13.9173 0 002.7 20.2993l-.0251.0083A13.9615 13.9615 0 0016 30zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement_02.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement_03 = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement_03(_ref5, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref5;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 20H22v2h4v2H23v2h3v2H22v2h4a2.0027 2.0027 0 002-2V22A2.0023 2.0023 0 0026 20zM28 16h2A14 14 0 0016 2V4A12 12 0 0128 16z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 16A10 10 0 0016 6V16zM16 28A11.96 11.96 0 015.416 21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207 13.1207 0 014.19 18l-1.9677.4131A13.9173 13.9173 0 002.7 20.2993l-.0251.0083A13.9615 13.9615 0 0016 30zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement_03.propTypes = iconPropTypes;\n}\nconst EdgeNode = /*#__PURE__*/React.forwardRef(function EdgeNode(_ref6, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref6;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 6H26V10H22z\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"7\",\n r: \"1\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"25\",\n r: \"1\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"21\",\n r: \"1\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"17\",\n r: \"1\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22,17V15H20V14a2.0023,2.0023,0,0,0-2-2H17V10H15v2H13V10H11v2H10a2.0023,2.0023,0,0,0-2,2v1H6v2H8v2H6v2H8v1a2.0023,2.0023,0,0,0,2,2h1v2h2V24h2v2h2V24h1a2.0023,2.0023,0,0,0,2-2V21h2V19H20V17Zm-4,5H10V14h8Z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeNode.propTypes = iconPropTypes;\n}\nconst EdgeNodeAlt = /*#__PURE__*/React.forwardRef(function EdgeNodeAlt(_ref7, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref7;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27,22a2.981,2.981,0,0,0-2.0374.811l-4.0039-2.4023a2.0429,2.0429,0,0,0,0-.8174l4.0039-2.4023A2.9909,2.9909,0,1,0,24,15a2.9345,2.9345,0,0,0,.0415.4092l-4.0039,2.4023a3,3,0,1,0,0,4.377l4.0039,2.4023A2.9345,2.9345,0,0,0,24,25a3,3,0,1,0,3-3Zm0-8a1,1,0,1,1-1,1A1.0009,1.0009,0,0,1,27,14Zm-9,7a1,1,0,1,1,1-1A1.0009,1.0009,0,0,1,18,21Zm9,5a1,1,0,1,1,1-1A1.0009,1.0009,0,0,1,27,26Z\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"8\",\n r: \"1\"\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"16\",\n r: \"1\"\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"24\",\n r: \"1\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22,13V5a2.0023,2.0023,0,0,0-2-2H4A2.0023,2.0023,0,0,0,2,5V27a2.0023,2.0023,0,0,0,2,2H20V27H4V21h8V19H4V13ZM4,5H20v6H4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeNodeAlt.propTypes = iconPropTypes;\n}\nconst EdgeService = /*#__PURE__*/React.forwardRef(function EdgeService(_ref8, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref8;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 11H9V21H7zM11 11H13V21H11zM15 11H17V21H15zM19 11H21V21H19zM23 11H25V21H23z\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,26H4a2.0023,2.0023,0,0,1-2-2V8A2.0023,2.0023,0,0,1,4,6H28a2.0023,2.0023,0,0,1,2,2V24A2.0023,2.0023,0,0,1,28,26ZM4,8V24H28V8Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeService.propTypes = iconPropTypes;\n}\nconst Edit = /*#__PURE__*/React.forwardRef(function Edit(_ref9, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref9;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 26H30V28H2zM25.4 9c.8-.8.8-2 0-2.8 0 0 0 0 0 0l-3.6-3.6c-.8-.8-2-.8-2.8 0 0 0 0 0 0 0l-15 15V24h6.4L25.4 9zM20.4 4L24 7.6l-3 3L17.4 7 20.4 4zM6 22v-3.6l10-10 3.6 3.6-10 10H6z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Edit.propTypes = iconPropTypes;\n}\nconst EditOff = /*#__PURE__*/React.forwardRef(function EditOff(_ref10, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref10;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 28.6L3.4 2 2 3.4l10.1 10.1L4 21.6V28h6.4l8.1-8.1L28.6 30 30 28.6zM9.6 26H6v-3.6l7.5-7.5 3.6 3.6L9.6 26zM29.4 6.2L29.4 6.2l-3.6-3.6c-.8-.8-2-.8-2.8 0l0 0 0 0-8 8 1.4 1.4L20 8.4l3.6 3.6L20 15.6l1.4 1.4 8-8C30.2 8.2 30.2 7 29.4 6.2L29.4 6.2zM25 10.6L21.4 7l3-3L28 7.6 25 10.6z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EditOff.propTypes = iconPropTypes;\n}\nconst EdtLoop = /*#__PURE__*/React.forwardRef(function EdtLoop(_ref11, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref11;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.625,22.5875a6.1287,6.1287,0,0,1-4.5-1.9l-3.1-3.2-3.1,3.2a6.4582,6.4582,0,0,1-9.1,0,7.028,7.028,0,0,1-1.8-4.7,6.6547,6.6547,0,0,1,1.9-4.7,6.3375,6.3375,0,0,1,9,0l3.1,3.2,3.1-3.2a6.3375,6.3375,0,0,1,9,0,6.8282,6.8282,0,0,1,0,9.4A6.5418,6.5418,0,0,1,23.625,22.5875Zm-6.2-6.6,3.1,3.3a4.4061,4.4061,0,0,0,6.2,0,4.9077,4.9077,0,0,0,0-6.6,4.4061,4.4061,0,0,0-6.2,0Zm-9-4.6a4.1582,4.1582,0,0,0-3.1,1.3,4.8385,4.8385,0,0,0,0,6.6,4.4061,4.4061,0,0,0,6.2,0l3.1-3.3-3.1-3.3A4.7706,4.7706,0,0,0,8.425,11.3875Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdtLoop.propTypes = iconPropTypes;\n}\nconst Education = /*#__PURE__*/React.forwardRef(function Education(_ref12, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref12;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 30H24V27a5.0059 5.0059 0 00-5-5H13a5.0059 5.0059 0 00-5 5v3H6V27a7.0082 7.0082 0 017-7h6a7.0082 7.0082 0 017 7zM5 6A1 1 0 004 7v9H6V7A1 1 0 005 6z\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,2V4H9v7a7,7,0,0,0,14,0V4h5V2Zm7,2H21V7H11Zm5,12a5,5,0,0,1-5-5V9H21v2A5,5,0,0,1,16,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Education.propTypes = iconPropTypes;\n}\nconst Email = /*#__PURE__*/React.forwardRef(function Email(_ref13, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref13;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6H4A2,2,0,0,0,2,8V24a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V8A2,2,0,0,0,28,6ZM25.8,8,16,14.78,6.2,8ZM4,24V8.91l11.43,7.91a1,1,0,0,0,1.14,0L28,8.91V24Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Email.propTypes = iconPropTypes;\n}\nconst EmailNew = /*#__PURE__*/React.forwardRef(function EmailNew(_ref14, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref14;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19,24H4L3.9966,8.9062l11.4341,7.9161a1.0008,1.0008,0,0,0,1.1386,0L28,8.9087,28,18h2V8a2.0027,2.0027,0,0,0-2-2H4A2.0023,2.0023,0,0,0,2,8V24a2.0027,2.0027,0,0,0,2,2H19ZM25.7986,8,16,14.7837,6.2014,8Z\"\n })), _circle8 || (_circle8 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"26\",\n cy: \"24\",\n r: \"4\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EmailNew.propTypes = iconPropTypes;\n}\nconst Encryption = /*#__PURE__*/React.forwardRef(function Encryption(_ref15, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref15;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 21.2783V19a4 4 0 00-8 0v2.2783A1.9935 1.9935 0 0020 23v5a2.0025 2.0025 0 002 2h6a2.0025 2.0025 0 002-2V23A1.9935 1.9935 0 0029 21.2783zM25 17a2.0025 2.0025 0 012 2v2H23V19A2.0025 2.0025 0 0125 17zM22 28V23h6v5zM2 2H4V6H2zM14 2H16V6H14zM18 2H20V6H18zM2 8H4V16H2zM2 18H4V26H2zM14 18H16V26H14zM6 8H8V16H6zM18 8H20V14H18zM10 26H8a2.0023 2.0023 0 01-2-2V20a2.0023 2.0023 0 012-2h2a2.0023 2.0023 0 012 2v4A2.0023 2.0023 0 0110 26zM8 20v4h2V20zM14 16H12a2.0023 2.0023 0 01-2-2V10a2.0023 2.0023 0 012-2h2a2.0023 2.0023 0 012 2v4A2.0023 2.0023 0 0114 16zm-2-6v4h2V10zM10 6H8A2.0023 2.0023 0 016 4V2H8V4h2V2h2V4A2.0023 2.0023 0 0110 6z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Encryption.propTypes = iconPropTypes;\n}\nconst EnergyRenewable = /*#__PURE__*/React.forwardRef(function EnergyRenewable(_ref16, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref16;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29,14H28V10H26v4H24V10H22v4H21a1,1,0,0,0-1,1v4a5.0079,5.0079,0,0,0,4,4.8989V27a1.0008,1.0008,0,0,1-1,1H5a1,1,0,0,1,0-2h5a3,3,0,0,0,0-6H5a1,1,0,0,1,0-2h5a3.0033,3.0033,0,0,0,3-3V11h1a4.0045,4.0045,0,0,0,4-4V4H15a3.979,3.979,0,0,0-2.7468,1.1064A6.0041,6.0041,0,0,0,7,2H4V5a6.0066,6.0066,0,0,0,6,6h1v4a1.0008,1.0008,0,0,1-1,1H5a3,3,0,0,0,0,6h5a1,1,0,0,1,0,2H5a3,3,0,0,0,0,6H23a3.0033,3.0033,0,0,0,3-3V23.8989A5.0079,5.0079,0,0,0,30,19V15A1,1,0,0,0,29,14ZM13,8a2.002,2.002,0,0,1,2-2h1V7a2.002,2.002,0,0,1-2,2H13ZM10,9A4.0045,4.0045,0,0,1,6,5V4H7a4.0045,4.0045,0,0,1,4,4V9ZM28,19a3,3,0,0,1-6,0V16h6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EnergyRenewable.propTypes = iconPropTypes;\n}\nconst Enterprise = /*#__PURE__*/React.forwardRef(function Enterprise(_ref17, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref17;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 8H10V12H8zM8 14H10V18H8zM14 8H16V12H14zM14 14H16V18H14zM8 20H10V24H8zM14 20H16V24H14z\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,14a2,2,0,0,0-2-2H22V4a2,2,0,0,0-2-2H4A2,2,0,0,0,2,4V30H30ZM4,4H20V28H4ZM22,28V14h6V28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Enterprise.propTypes = iconPropTypes;\n}\nconst EnumerationDefinition = /*#__PURE__*/React.forwardRef(function EnumerationDefinition(_ref18, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref18;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"M19.5328 16.0691c0-.9631.8772-1.4445 1.7885-1.4445 1.0486 0 1.4783.6532 1.4783 1.9257v5.4497h2.2004v-5.6732c0-2.2352-1.0315-3.5072-2.8712-3.5072-1.3922 0-2.1488.7395-2.5096 1.7021h-.0863v-1.4957h-2.2006v8.974h2.2006v-5.9309zM14.908 19.9883L9.2693 19.9883 9.2693 16.9282 14.2548 16.9282 14.2548 14.917 9.2693 14.917 9.2693 12.0117 14.908 12.0117 14.908 10 7 10 7 22 14.908 22 14.908 19.9883z\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m2,4v24c0,1.1046.8954,2,2,2h24c1.1046,0,2-.8954,2-2V4c0-1.1046-.8954-2-2-2H4c-1.1046,0-2,.8954-2,2Zm26,24H4V4h24v24Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EnumerationDefinition.propTypes = iconPropTypes;\n}\nconst EnumerationUsage = /*#__PURE__*/React.forwardRef(function EnumerationUsage(_ref19, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref19;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"M19.5328 16.0691c0-.9631.8772-1.4445 1.7885-1.4445 1.0486 0 1.4783.6532 1.4783 1.9257v5.4497h2.2004v-5.6732c0-2.2352-1.0315-3.5072-2.8712-3.5072-1.3922 0-2.1488.7395-2.5096 1.7021h-.0863v-1.4957h-2.2006v8.974h2.2006v-5.9309zM14.908 19.9883L9.2693 19.9883 9.2693 16.9282 14.2548 16.9282 14.2548 14.917 9.2693 14.917 9.2693 12.0117 14.908 12.0117 14.908 10 7 10 7 22 14.908 22 14.908 19.9883z\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m21,30h-10c-4.9626,0-9-4.0374-9-9v-10C2,6.0374,6.0374,2,11,2h10c4.9626,0,9,4.0374,9,9v10c0,4.9626-4.0374,9-9,9ZM11,4c-3.8599,0-7,3.1401-7,7v10c0,3.8599,3.1401,7,7,7h10c3.8599,0,7-3.1401,7-7v-10c0-3.8599-3.1401-7-7-7h-10Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EnumerationUsage.propTypes = iconPropTypes;\n}\nconst EqualApproximately = /*#__PURE__*/React.forwardRef(function EqualApproximately(_ref20, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref20;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 15c-1.7771 0-3.2314-.8726-4.5144-1.6425-1.1636-.6981-2.2627-1.3575-3.4856-1.3575-1.3977 0-2.449.8629-3.2927 1.707l-1.4146-1.4141c1.0674-1.0675 2.5669-2.293 4.7073-2.293 1.7771 0 3.2314.8726 4.5144 1.6425 1.1636.6981 2.2627 1.3575 3.4856 1.3575 1.3975 0 2.4487-.8629 3.293-1.7072l1.4141 1.4143c-1.0674 1.0675-2.5671 2.2928-4.707 2.2928zM20 22c-1.7771 0-3.2314-.8726-4.5144-1.6425-1.1636-.6981-2.2627-1.3575-3.4856-1.3575-1.3977 0-2.449.8629-3.2927 1.707l-1.4146-1.4141c1.0674-1.0675 2.5669-2.293 4.7073-2.293 1.7771 0 3.2314.8726 4.5144 1.6425 1.1636.6981 2.2627 1.3575 3.4856 1.3575 1.3975 0 2.4487-.8629 3.293-1.7072l1.4141 1.4143c-1.0674 1.0675-2.5671 2.2928-4.707 2.2928z\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16,30c-7.7197,0-14-6.2804-14-14S8.2802,2,16,2s14,6.2804,14,14-6.2803,14-14,14Zm0-26c-6.6167,0-12,5.3832-12,12s5.3833,12,12,12,12-5.3832,12-12-5.3833-12-12-12Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EqualApproximately.propTypes = iconPropTypes;\n}\nconst Equalizer = /*#__PURE__*/React.forwardRef(function Equalizer(_ref21, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref21;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 28H10V30H2zM2 24H10V26H2zM12 28H20V30H12zM12 24H20V26H12zM2 20H10V22H2zM12 20H20V22H12zM2 16H10V18H2zM12 16H20V18H12zM12 12H20V14H12zM12 8H20V10H12zM12 4H20V6H12zM22 28H30V30H22zM22 24H30V26H22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Equalizer.propTypes = iconPropTypes;\n}\nconst Erase = /*#__PURE__*/React.forwardRef(function Erase(_ref22, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref22;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 27H30V29H7zM27.38 10.51L19.45 2.59a2 2 0 00-2.83 0l-14 14a2 2 0 000 2.83L7.13 24h9.59L27.38 13.34A2 2 0 0027.38 10.51zM15.89 22H8L4 18l6.31-6.31 7.93 7.92zm3.76-3.76l-7.92-7.93L18 4 26 11.93z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Erase.propTypes = iconPropTypes;\n}\nconst WatsonHealthErase_3D = /*#__PURE__*/React.forwardRef(function WatsonHealthErase_3D(_ref23, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref23;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.4148 16.5132L22.488 8.5859a2.0014 2.0014 0 00-2.8291 0L5.6208 22.624a2.0024 2.0024 0 000 2.8291L10.1663 30h9.5908L30.4148 19.3413A2.001 2.001 0 0030.4148 16.5132zM18.929 28H10.9949l-3.96-3.9619 6.3123-6.3118 7.9276 7.9276zm3.76-3.76l-7.9276-7.9276L21.074 10l7.9267 7.9272zM11 12H8V2h3a3.0033 3.0033 0 013 3V9A3.0033 3.0033 0 0111 12zm-1-2h1a1.0009 1.0009 0 001-1V5a1.0009 1.0009 0 00-1-1H10zM4 2H0V4H4V6H1V8H4v2H0v2H4a2.0027 2.0027 0 002-2V4A2.0023 2.0023 0 004 2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthErase_3D.propTypes = iconPropTypes;\n}\nconst Error = /*#__PURE__*/React.forwardRef(function Error(_ref24, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref24;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2,16H2A14,14,0,1,0,16,2,14,14,0,0,0,2,16Zm23.15,7.75L8.25,6.85a12,12,0,0,1,16.9,16.9ZM8.24,25.16A12,12,0,0,1,6.84,8.27L23.73,25.16a12,12,0,0,1-15.49,0Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Error.propTypes = iconPropTypes;\n}\nconst ErrorFilled = /*#__PURE__*/React.forwardRef(function ErrorFilled(_ref25, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref25;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8,1C4.1,1,1,4.1,1,8s3.1,7,7,7s7-3.1,7-7S11.9,1,8,1z M10.7,11.5L4.5,5.3l0.8-0.8l6.2,6.2L10.7,11.5z\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M10.7,11.5L4.5,5.3l0.8-0.8l6.2,6.2L10.7,11.5z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n })), children);\n }\n if (size === 20 || size === \"20\" || size === \"20px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n ...rest\n }, _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n })), children);\n }\n if (size === 24 || size === \"24\" || size === \"24px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n ...rest\n }, _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,1C5.9,1,1,5.9,1,12s4.9,11,11,11s11-4.9,11-11S18.1,1,12,1z M16.3,17.5L6.5,7.7l1.2-1.2l9.8,9.8L16.3,17.5z\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M16.3,17.5L6.5,7.7l1.2-1.2l9.8,9.8L16.3,17.5z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M14.9 7.2H17.1V24.799H14.9z\",\n \"data-icon-path\": \"inner-path\",\n transform: \"rotate(-45 16 16)\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A13.914,13.914,0,0,0,2,16,13.914,13.914,0,0,0,16,30,13.914,13.914,0,0,0,30,16,13.914,13.914,0,0,0,16,2Zm5.4449,21L9,10.5557,10.5557,9,23,21.4448Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ErrorFilled.propTypes = iconPropTypes;\n}\nconst ErrorOutline = /*#__PURE__*/React.forwardRef(function ErrorOutline(_ref26, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref26;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8,1C4.1,1,1,4.1,1,8s3.1,7,7,7s7-3.1,7-7S11.9,1,8,1z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S11.3,14,8,14z\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.4 3.6H8.5V12.4H7.4z\",\n transform: \"rotate(-45.001 8 8)\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.9 7.2H17.1V24.799H14.9z\",\n transform: \"rotate(-45 16 16)\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A13.9138,13.9138,0,0,0,2,16,13.9138,13.9138,0,0,0,16,30,13.9138,13.9138,0,0,0,30,16,13.9138,13.9138,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12.0353,12.0353,0,0,1,16,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ErrorOutline.propTypes = iconPropTypes;\n}\nconst Event = /*#__PURE__*/React.forwardRef(function Event(_ref27, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref27;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 15L23.549 19.938 29 20.729 25 24.573 26 30 21 27.438 16 30 17 24.573 13 20.729 18.6 19.938 21 15z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Event.propTypes = iconPropTypes;\n}\nconst EventChange = /*#__PURE__*/React.forwardRef(function EventChange(_ref28, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref28;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 15H19V22H17z\"\n })), _circle9 || (_circle9 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"18\",\n cy: \"25\",\n r: \"1.25\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 30H7c-.3499 0-.6743-.1829-.8555-.4823s-.1926-.6718-.0303-.9817L17.1143 7.536c.1726-.3296.5292-.536.8857-.536s.7131.2064.8857.536l11 21c.1624.3099.1509.6823-.0303.9817s-.5056.4823-.8555.4823zm-20.3474-2h18.6948l-9.3474-17.8448-9.3474 17.8448zM7 23H3c-.3467 0-.6685-.1794-.8506-.4742-.1824-.2948-.1987-.663-.0439-.973l2.5-5 1.7891.8945-1.7766 3.5527h2.3821v2z\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.955 11.5H10.545V13.5H4.955z\",\n transform: \"rotate(-63.435 7.75 12.5)\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.8945,8.4473l-1.7891-.8945,2.5-5c.1694-.3387.532-.5527.8945-.5527s.7251.214.8945.5527l2,4-1.7891.8945-1.1055-2.2112-1.6055,3.2112Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventChange.propTypes = iconPropTypes;\n}\nconst EventIncident = /*#__PURE__*/React.forwardRef(function EventIncident(_ref29, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref29;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.0176 26.7217L22.016 28.4541 24.9938 26.7322 24.9938 30 26.9907 30 26.9907 26.7316 30.0016 28.4727 31 26.7402 27.9898 24.9996 30.9902 23.2646 29.9918 21.5322 26.9907 23.2677 26.9907 20 24.9938 20 24.9938 23.2672 21.9984 21.5352 21 23.2676 23.9954 24.9996 21.0176 26.7217zM16 23c-.8284 0-1.5.6716-1.5 1.5s.6716 1.5 1.5 1.5 1.5-.6716 1.5-1.5-.6716-1.5-1.5-1.5h0zM15 12H17V21H15z\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m18,30H3c-.3494,0-.6736-.1824-.8547-.4811-.1814-.2986-.1936-.6703-.0325-.9802L15.1128,3.5387c.1721-.3311.5297-.5387.8872-.5387s.7151.2076.8872.5387l6.76,13-1.7744.9226-5.8728-11.2938L4.6472,28h13.3528v2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventIncident.propTypes = iconPropTypes;\n}\nconst EventSchedule = /*#__PURE__*/React.forwardRef(function EventSchedule(_ref30, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref30;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,30a8,8,0,1,1,8-8A8,8,0,0,1,21,30Zm0-14a6,6,0,1,0,6,6A6,6,0,0,0,21,16Z\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.59 25L20 22.41 20 18 22 18 22 21.59 24 23.59 22.59 25z\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventSchedule.propTypes = iconPropTypes;\n}\nconst EventWarning = /*#__PURE__*/React.forwardRef(function EventWarning(_ref31, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref31;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.3803 28h-6.7625l3.3822-6.7642 3.3803 6.7642zm-3.3803-10c-.3915 0-.7305.2251-.8947.5527l-5 10c-.0674.1348-.1053.2866-.1053.4473 0 .5522.4477 1 1 1h10c.5523 0 1-.4478 1-1 0-.1382-.028-.2695-.0786-.3892l-5.0269-10.0581c-.1641-.3276-.5031-.5527-.8946-.5527h0zM16 23c-.8284 0-1.5.6716-1.5 1.5s.6716 1.5 1.5 1.5 1.5-.6716 1.5-1.5-.6716-1.5-1.5-1.5h0zM15 12H17V21H15z\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m15,30H3c-.3494,0-.6736-.1824-.8547-.4811-.1814-.2986-.1936-.6703-.0325-.9802L15.1128,3.5387c.1721-.3311.5297-.5387.8872-.5387s.7151.2076.8872.5387l6,11.5385-1.7744.9226-5.1128-9.8322L4.6472,28h10.3528v2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventWarning.propTypes = iconPropTypes;\n}\nconst Events = /*#__PURE__*/React.forwardRef(function Events(_ref32, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref32;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 14H24v2h2a3.0033 3.0033 0 013 3v4h2V19A5.0058 5.0058 0 0026 14zM24 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5A5 5 0 0024 2zM23 30H21V28a3.0033 3.0033 0 00-3-3H14a3.0033 3.0033 0 00-3 3v2H9V28a5.0059 5.0059 0 015-5h4a5.0059 5.0059 0 015 5zM16 13a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5A5 5 0 0016 11zM8 14H6a5.0059 5.0059 0 00-5 5v4H3V19a3.0033 3.0033 0 013-3H8zM8 4A3 3 0 115 7 3 3 0 018 4M8 2a5 5 0 105 5A5 5 0 008 2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Events.propTypes = iconPropTypes;\n}\nconst EventsAlt = /*#__PURE__*/React.forwardRef(function EventsAlt(_ref33, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref33;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 31h2V29a1.0006 1.0006 0 011-1h6a1.0006 1.0006 0 011 1v2h2V29a3.0033 3.0033 0 00-3-3H21a3.0033 3.0033 0 00-3 3zM24 25a4 4 0 114-4A4.0039 4.0039 0 0124 25zm0-6a2 2 0 102 2A2.0027 2.0027 0 0024 19zM2 31H4V29a1.0009 1.0009 0 011-1h6a1.0009 1.0009 0 011 1v2h2V29a3.0033 3.0033 0 00-3-3H5a3.0033 3.0033 0 00-3 3zM8 25a4 4 0 114-4A4.0042 4.0042 0 018 25zm0-6a2 2 0 102 2A2.0023 2.0023 0 008 19zM18 16h2V14a1.0009 1.0009 0 011-1h6a1.0009 1.0009 0 011 1v2h2V14a3.0033 3.0033 0 00-3-3H21a3.0033 3.0033 0 00-3 3zM24 10a4 4 0 114-4A4.0042 4.0042 0 0124 10zm0-6a2 2 0 102 2A2.0023 2.0023 0 0024 4zM2 16H4V14a1.0013 1.0013 0 011-1h6a1.0013 1.0013 0 011 1v2h2V14a3.0033 3.0033 0 00-3-3H5a3.0033 3.0033 0 00-3 3zM8 10a4 4 0 114-4A4.0045 4.0045 0 018 10zM8 4a2 2 0 102 2A2.002 2.002 0 008 4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventsAlt.propTypes = iconPropTypes;\n}\nconst ExamMode = /*#__PURE__*/React.forwardRef(function ExamMode(_ref34, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref34;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 23v3H7V16.83l3.59 3.58L12 19 6 13 0 19l1.41 1.41L5 16.83V26a2 2 0 002 2H25a2 2 0 002-2V23zM27 7v9.17l3.59-3.58L32 14l-6 6-6-6 1.41-1.41L25 16.17V7H13V5H25A2 2 0 0127 7zM8 10H4A2 2 0 012 8V4A2 2 0 014 2H8a2 2 0 012 2V8A2 2 0 018 10zM4 4V8H8V4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExamMode.propTypes = iconPropTypes;\n}\nconst ExecutableProgram = /*#__PURE__*/React.forwardRef(function ExecutableProgram(_ref35, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref35;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M25 21L32 26 25 31 25 21z\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.17 19L17.58 21.59 19 23 23 19 19 15 17.58 16.41 20.17 19zM11.83 19L14.42 16.41 13 15 9 19 13 23 14.42 21.59 11.83 19z\"\n })), _circle10 || (_circle10 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"9\",\n cy: \"8\",\n r: \"1\"\n })), _circle11 || (_circle11 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"6\",\n cy: \"8\",\n r: \"1\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,26H4V12H28v7h2V6c0-1.1025-.8972-2-2-2H4c-1.1028,0-2,.8975-2,2V26c0,1.1025,.8972,2,2,2H21v-2ZM4,6H28v4H4V6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExecutableProgram.propTypes = iconPropTypes;\n}\nconst Exit = /*#__PURE__*/React.forwardRef(function Exit(_ref36, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref36;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 4H28V28H26zM11.414 20.586L7.828 17 22 17 22 15 7.828 15 11.414 11.414 10 10 4 16 10 22 11.414 20.586z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Exit.propTypes = iconPropTypes;\n}\nconst ExpandAll = /*#__PURE__*/React.forwardRef(function ExpandAll(_ref37, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref37;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,10H26a2.0025,2.0025,0,0,0,2-2V4a2.0025,2.0025,0,0,0-2-2H12a2.0025,2.0025,0,0,0-2,2V5H6V2H4V25a2.0025,2.0025,0,0,0,2,2h4v1a2.0025,2.0025,0,0,0,2,2H26a2.0025,2.0025,0,0,0,2-2V24a2.0025,2.0025,0,0,0-2-2H12a2.0025,2.0025,0,0,0-2,2v1H6V17h4v1a2.0025,2.0025,0,0,0,2,2H26a2.0025,2.0025,0,0,0,2-2V14a2.0025,2.0025,0,0,0-2-2H12a2.0025,2.0025,0,0,0-2,2v1H6V7h4V8A2.0025,2.0025,0,0,0,12,10Zm0-6H26l.0012,4H12Zm0,20H26l.0012,4H12Zm0-10H26l.0012,4H12Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExpandAll.propTypes = iconPropTypes;\n}\nconst ExpandCategories = /*#__PURE__*/React.forwardRef(function ExpandCategories(_ref38, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref38;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 26H26V28H20zM20 18H28V20H20zM20 10H30V12H20zM15 4H17V28H15zM10.586 3.959L7 7.249 3.412 3.958 2 5.373 7 10 12 5.373 10.586 3.959z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExpandCategories.propTypes = iconPropTypes;\n}\nconst Explore = /*#__PURE__*/React.forwardRef(function Explore(_ref39, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref39;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.707,9.2931a.9992.9992,0,0,0-1.0234-.2417l-9,3a1.001,1.001,0,0,0-.6323.6323l-3,9a1,1,0,0,0,1.2651,1.2651l9-3a1.0013,1.0013,0,0,0,.6323-.6324l3-9A1,1,0,0,0,22.707,9.2931ZM11.5811,20.419l2.2094-6.6284L18.21,18.21Z\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,30A14,14,0,1,1,30,16,14.0158,14.0158,0,0,1,16,30ZM16,4A12,12,0,1,0,28,16,12.0137,12.0137,0,0,0,16,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Explore.propTypes = iconPropTypes;\n}\nconst Export = /*#__PURE__*/React.forwardRef(function Export(_ref40, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref40;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 12v2H3v-2H2v2l0 0c0 .6.4 1 1 1h10c.6 0 1-.4 1-1l0 0v-2H13zM3 6L3.7 6.7 7.5 2.9 7.5 12 8.5 12 8.5 2.9 12.3 6.7 13 6 8 1z\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 24v4H6V24H4v4l.0076-.0049A1.9977 1.9977 0 006 30H26a2 2 0 002-2h0V24zM6 12L7.411 13.405 15 5.825 15 24 17 24 17 5.825 24.591 13.405 26 12 16 2 6 12z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Export.propTypes = iconPropTypes;\n}\nconst Eyedropper = /*#__PURE__*/React.forwardRef(function Eyedropper(_ref41, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref41;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 27H5V30H2zM29.71 7.29l-5-5a1 1 0 00-1.41 0h0L20 5.59l-1.29-1.3L17.29 5.71 18.59 7 8.29 17.29A1 1 0 008 18v1.59l-2.71 2.7a1 1 0 000 1.41h0l3 3a1 1 0 001.41 0h0L12.41 24H14a1 1 0 00.71-.29L25 13.41l1.29 1.3 1.42-1.42L26.41 12l3.3-3.29a1 1 0 000-1.41zM13.59 22h-2L9 24.59 7.41 23 10 20.41v-2l10-10L23.59 12zM25 10.59L21.41 7 24 4.41 27.59 8z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Eyedropper.propTypes = iconPropTypes;\n}\nconst FaceActivated = /*#__PURE__*/React.forwardRef(function FaceActivated(_ref42, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref42;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11zM9 20a8.13 8.13 0 0014 0z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceActivated.propTypes = iconPropTypes;\n}\nconst FaceActivatedAdd = /*#__PURE__*/React.forwardRef(function FaceActivatedAdd(_ref43, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref43;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 4L26 4 26 0 24 0 24 4 20 4 20 6 24 6 24 10 26 10 26 6 30 6 30 4zM11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11zM9 20a8.13 8.13 0 0014 0z\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.82,14A12,12,0,1,1,16,4V2A14,14,0,1,0,30,16a14.71,14.71,0,0,0-.16-2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceActivatedAdd.propTypes = iconPropTypes;\n}\nconst FaceActivatedFilled = /*#__PURE__*/React.forwardRef(function FaceActivatedFilled(_ref44, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref44;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm-4.5,9A2.5,2.5,0,1,1,9,13.5,2.48,2.48,0,0,1,11.5,11ZM16,24a8.11,8.11,0,0,1-7-4H23A8.11,8.11,0,0,1,16,24Zm4.5-8A2.5,2.5,0,1,1,23,13.5,2.48,2.48,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceActivatedFilled.propTypes = iconPropTypes;\n}\nconst FaceAdd = /*#__PURE__*/React.forwardRef(function FaceAdd(_ref45, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref45;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 22a6 6 0 01-5.14-2.92l-1.71 1a8 8 0 0013.7 0l-1.71-1A6 6 0 0116 22zM30 4L26 4 26 0 24 0 24 4 20 4 20 6 24 6 24 10 26 10 26 6 30 6 30 4zM11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11z\"\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.61,13A12.33,12.33,0,0,1,28,16,12,12,0,1,1,16,4V2A14,14,0,1,0,29.67,13Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceAdd.propTypes = iconPropTypes;\n}\nconst FaceCool = /*#__PURE__*/React.forwardRef(function FaceCool(_ref46, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref46;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,24a8,8,0,0,0,6.85-3.89l-1.71-1a6,6,0,0,1-10.28,0l-1.71,1A8,8,0,0,0,16,24Z\"\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,2a12,12,0,0,1,10.89,7H25a1,1,0,0,0-1-1H8a1,1,0,0,0-1,1H5.11A12,12,0,0,1,16,4Zm0,24A12,12,0,0,1,4,16a11.86,11.86,0,0,1,.4-3H7v2a2,2,0,0,0,2,2h3.31a2,2,0,0,0,2-1.67L14.83,12h2.34l.55,3.33a2,2,0,0,0,2,1.67H23a2,2,0,0,0,2-2V13h2.6a11.86,11.86,0,0,1,.4,3A12,12,0,0,1,16,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceCool.propTypes = iconPropTypes;\n}\nconst FaceDissatisfied = /*#__PURE__*/React.forwardRef(function FaceDissatisfied(_ref47, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref47;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.5 2.5 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11zM16 19a8 8 0 00-6.85 3.89l1.71 1a6 6 0 0110.28 0l1.71-1A8 8 0 0016 19z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDissatisfied.propTypes = iconPropTypes;\n}\nconst FaceDissatisfiedFilled = /*#__PURE__*/React.forwardRef(function FaceDissatisfiedFilled(_ref48, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref48;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm-4.5,9h0A2.5,2.5,0,1,1,9,13.5,2.48,2.48,0,0,1,11.54,11Zm9.64,12.92a6,6,0,0,0-10.28,0l-1.71-1a8,8,0,0,1,13.7,0ZM20.5,16a2.5,2.5,0,0,1,0-5h0a2.5,2.5,0,0,1,0,5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDissatisfiedFilled.propTypes = iconPropTypes;\n}\nconst FaceDizzy = /*#__PURE__*/React.forwardRef(function FaceDizzy(_ref49, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref49;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.41 11L23 9.59 21 11.59 19 9.59 17.59 11 19.59 13 17.59 15 19 16.41 21 14.41 23 16.41 24.41 15 22.41 13 24.41 11zM14.41 11L13 9.59 11 11.59 9 9.59 7.59 11 9.59 13 7.59 15 9 16.41 11 14.41 13 16.41 14.41 15 12.41 13 14.41 11zM16 19a3 3 0 103 3 3 3 0 00-3-3z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDizzy.propTypes = iconPropTypes;\n}\nconst FaceDizzyFilled = /*#__PURE__*/React.forwardRef(function FaceDizzyFilled(_ref50, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref50;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM9,16.41,7.59,15l2-2-2-2L9,9.59l2,2,2-2L14.41,11l-2,2,2,2L13,16.41l-2-2ZM16,25a3,3,0,1,1,3-3A3,3,0,0,1,16,25Zm8.41-10L23,16.41l-2-2-2,2L17.59,15l2-2-2-2L19,9.59l2,2,2-2L24.41,11l-2,2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDizzyFilled.propTypes = iconPropTypes;\n}\nconst FaceMask = /*#__PURE__*/React.forwardRef(function FaceMask(_ref51, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref51;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.5 2.5 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11z\"\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,16A14,14,0,1,0,8.8994,28.042l.0156.1562A1.993,1.993,0,0,0,10.9048,30h10.19a1.9929,1.9929,0,0,0,1.99-1.8008l.0156-.1572A13.9674,13.9674,0,0,0,30,16ZM16,4A11.99,11.99,0,0,1,27.97,15.397L22.7637,18H9.2363L4.0305,15.397A11.99,11.99,0,0,1,16,4ZM4.12,17.6777l3.94,1.97.5813,5.81A11.97,11.97,0,0,1,4.12,17.6777ZM21.0947,28H10.9053l-.8-8h11.79Zm2.2644-2.542.5811-5.81,3.94-1.97A11.9712,11.9712,0,0,1,23.3591,25.458Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceMask.propTypes = iconPropTypes;\n}\nconst FaceNeutral = /*#__PURE__*/React.forwardRef(function FaceNeutral(_ref52, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref52;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.5 2.5 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11zM10 20H22V22H10z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceNeutral.propTypes = iconPropTypes;\n}\nconst FaceNeutralFilled = /*#__PURE__*/React.forwardRef(function FaceNeutralFilled(_ref53, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref53;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM9,13.5A2.5,2.5,0,1,1,11.5,16,2.5,2.5,0,0,1,9,13.5ZM22,22H10V20H22Zm-1.5-6A2.5,2.5,0,1,1,23,13.5,2.5,2.5,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceNeutralFilled.propTypes = iconPropTypes;\n}\nconst FacePending = /*#__PURE__*/React.forwardRef(function FacePending(_ref54, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref54;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FacePending.propTypes = iconPropTypes;\n}\nconst FacePendingFilled = /*#__PURE__*/React.forwardRef(function FacePendingFilled(_ref55, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref55;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM11.5,16A2.5,2.5,0,1,1,14,13.5,2.48,2.48,0,0,1,11.5,16Zm9,0A2.5,2.5,0,1,1,23,13.5,2.48,2.48,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FacePendingFilled.propTypes = iconPropTypes;\n}\nconst FaceSatisfied = /*#__PURE__*/React.forwardRef(function FaceSatisfied(_ref56, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref56;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceSatisfied.propTypes = iconPropTypes;\n}\nconst FaceSatisfiedFilled = /*#__PURE__*/React.forwardRef(function FaceSatisfiedFilled(_ref57, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref57;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm-4.5,9A2.5,2.5,0,1,1,9,13.5,2.48,2.48,0,0,1,11.5,11ZM16,24a8,8,0,0,1-6.85-3.89l1.71-1a6,6,0,0,0,10.28,0l1.71,1A8,8,0,0,1,16,24Zm4.5-8A2.5,2.5,0,1,1,23,13.5,2.48,2.48,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceSatisfiedFilled.propTypes = iconPropTypes;\n}\nconst FaceWink = /*#__PURE__*/React.forwardRef(function FaceWink(_ref58, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref58;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11zM8 13H14V15H8zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceWink.propTypes = iconPropTypes;\n}\nconst FaceWinkFilled = /*#__PURE__*/React.forwardRef(function FaceWinkFilled(_ref59, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref59;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM8,13h6v2H8Zm8,11a8,8,0,0,1-6.85-3.89l1.71-1a6,6,0,0,0,10.28,0l1.71,1A8,8,0,0,1,16,24Zm4.5-8a2.5,2.5,0,0,1,0-5h0a2.5,2.5,0,0,1,0,5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceWinkFilled.propTypes = iconPropTypes;\n}\nconst Factor = /*#__PURE__*/React.forwardRef(function Factor(_ref60, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref60;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27,28V9H24V4h2V2H20V4h2V9H19V28H15V16H12V11h2V9H8v2h2v5H7V28H4V2H2V28a2,2,0,0,0,2,2H30V28ZM13,28H9V18h4Zm8-17h4V28H21Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Factor.propTypes = iconPropTypes;\n}\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(_ref61, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref61;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.1 12.6l-.6.8c.6.5 1.3.9 2.1 1.2l.3-.9C5.3 13.4 4.7 13 4.1 12.6zM2.1 9l-1 .2c.1.8.4 1.6.8 2.3L2.8 11C2.4 10.4 2.2 9.7 2.1 9zM5.9 2.4L5.6 1.4C4.8 1.7 4.1 2.1 3.5 2.7l.6.8C4.7 3 5.3 2.6 5.9 2.4zM2.8 5L1.9 4.5C1.5 5.2 1.3 6 1.1 6.8l1 .2C2.2 6.3 2.5 5.6 2.8 5zM8 1v1c3.3 0 6 2.7 6 6s-2.7 6-6 6v1c3.9 0 7-3.1 7-7S11.9 1 8 1z\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.24 25.14L7 26.67a13.79 13.79 0 004.18 2.44l.69-1.87A12 12 0 018.24 25.14zM4.19 18l-2 .41A14.09 14.09 0 003.86 23L5.59 22A12.44 12.44 0 014.19 18zM11.82 4.76l-.69-1.87A13.79 13.79 0 007 5.33L8.24 6.86A12 12 0 0111.82 4.76zM5.59 10L3.86 9a14.37 14.37 0 00-1.64 4.59l2 .34A12.05 12.05 0 015.59 10zM16 2V4a12 12 0 010 24v2A14 14 0 0016 2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fade.propTypes = iconPropTypes;\n}\nconst Favorite = /*#__PURE__*/React.forwardRef(function Favorite(_ref62, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref62;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.45,6a5.47,5.47,0,0,1,3.91,1.64,5.7,5.7,0,0,1,0,8L16,26.13,5.64,15.64a5.7,5.7,0,0,1,0-8,5.48,5.48,0,0,1,7.82,0L16,10.24l2.53-2.58A5.44,5.44,0,0,1,22.45,6m0-2a7.47,7.47,0,0,0-5.34,2.24L16,7.36,14.89,6.24a7.49,7.49,0,0,0-10.68,0,7.72,7.72,0,0,0,0,10.82L16,29,27.79,17.06a7.72,7.72,0,0,0,0-10.82A7.49,7.49,0,0,0,22.45,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Favorite.propTypes = iconPropTypes;\n}\nconst FavoriteFilled = /*#__PURE__*/React.forwardRef(function FavoriteFilled(_ref63, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref63;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path111 || (_path111 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5,4c-2,0-3.9,0.8-5.3,2.2L16,7.4l-1.1-1.1C12,3.3,7.2,3.3,4.3,6.2c0,0-0.1,0.1-0.1,0.1c-3,3-3,7.8,0,10.8L16,29 l11.8-11.9c3-3,3-7.8,0-10.8C26.4,4.8,24.5,4,22.5,4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FavoriteFilled.propTypes = iconPropTypes;\n}\nconst FavoriteHalf = /*#__PURE__*/React.forwardRef(function FavoriteHalf(_ref64, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref64;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path112 || (_path112 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.21,17.0615,16,29,27.79,17.0615a7.7313,7.7313,0,0,0,0-10.8232,7.494,7.494,0,0,0-10.6841,0L16,7.3643l-1.1062-1.126a7.494,7.494,0,0,0-10.6841,0A7.7313,7.7313,0,0,0,4.21,17.0615ZM26.3552,15.645,16,26.1255V10.23q1.2708-1.2876,2.5413-2.5742a5.4768,5.4768,0,0,1,7.8139,0A5.708,5.708,0,0,1,26.3552,15.645Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FavoriteHalf.propTypes = iconPropTypes;\n}\nconst FeatureMembership = /*#__PURE__*/React.forwardRef(function FeatureMembership(_ref65, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref65;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path113 || (_path113 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m14,28v-9l8-8L13,2,4,11l8,8v9c0,1.1045.8955,2,2,2h14v-2h-14Zm-1-23.1716l6.1716,6.1716-6.1716,6.1716-6.1716-6.1716,6.1716-6.1716Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FeatureMembership.propTypes = iconPropTypes;\n}\nconst FeatureMembershipFilled = /*#__PURE__*/React.forwardRef(function FeatureMembershipFilled(_ref66, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref66;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path114 || (_path114 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m14,28v-9l8-8L13,2,4,11l8,8v9c0,1.1045.8955,2,2,2h14v-2h-14Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FeatureMembershipFilled.propTypes = iconPropTypes;\n}\nconst FeatureTyping = /*#__PURE__*/React.forwardRef(function FeatureTyping(_ref67, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref67;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _circle12 || (_circle12 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17.5\",\n cy: \"22.5\",\n r: \"1.5\",\n strokeWidth: \"0\"\n })), _circle13 || (_circle13 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"22.5\",\n r: \"1.5\",\n strokeWidth: \"0\"\n })), _path115 || (_path115 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m13,28v-10h7c.3564,0,.686-.1899.8647-.498.0902-.1551.1353-.3285.1353-.502,0-.1711-.0441-.3424-.1318-.4961L12.8682,2.504c-.1919-.3359-.5301-.504-.8682-.504s-.6763.1681-.8682.504l-7.9999,13.9999c-.0878.1537-.1318.3249-.1318.4961,0,.1735.0451.3469.1353.502.1787.3081.5083.498.8647.498h7v10c0,1.1046.8954,2,2,2h15v-2h-15Zm-7.2769-12l6.2769-10.9844,6.2769,10.9844H5.7231Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FeatureTyping.propTypes = iconPropTypes;\n}\nconst FetchUpload = /*#__PURE__*/React.forwardRef(function FetchUpload(_ref68, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref68;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path116 || (_path116 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,7,6,17l1.41,1.41L15,10.83V28H2v2H15a2,2,0,0,0,2-2V10.83l7.59,7.58L26,17Z\"\n })), _path117 || (_path117 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,8V4H26V8h2V4a2,2,0,0,0-2-2H6A2,2,0,0,0,4,4V8Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FetchUpload.propTypes = iconPropTypes;\n}\nconst FetchUploadCloud = /*#__PURE__*/React.forwardRef(function FetchUploadCloud(_ref69, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref69;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path118 || (_path118 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,13l-5,5,1.41,1.41L15,16.83V28H6v2h9a2,2,0,0,0,2-2V16.83l2.59,2.58L21,18Z\"\n })), _path119 || (_path119 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5,22H23V20h.5a4.4975,4.4975,0,0,0,.3564-8.981l-.8154-.0639-.0986-.812a6.9938,6.9938,0,0,0-13.8838,0l-.0991.812-.8155.0639A4.4975,4.4975,0,0,0,8.5,20H9v2H8.5A6.4973,6.4973,0,0,1,7.2,9.1362a8.9943,8.9943,0,0,1,17.6006,0A6.4974,6.4974,0,0,1,23.5,22Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FetchUploadCloud.propTypes = iconPropTypes;\n}\nconst FileStorage = /*#__PURE__*/React.forwardRef(function FileStorage(_ref70, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref70;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path120 || (_path120 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,20H26v2h2v6H4V22H6V20H4a2.0024,2.0024,0,0,0-2,2v6a2.0024,2.0024,0,0,0,2,2H28a2.0024,2.0024,0,0,0,2-2V22A2.0024,2.0024,0,0,0,28,20Z\"\n })), _circle14 || (_circle14 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"25\",\n r: \"1\"\n })), _path121 || (_path121 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.707,7.293l-5-5A1,1,0,0,0,17,2H11A2.0023,2.0023,0,0,0,9,4V20a2.0023,2.0023,0,0,0,2,2H21a2.0023,2.0023,0,0,0,2-2V8A1,1,0,0,0,22.707,7.293ZM20.5857,8H17V4.4141ZM11,20V4h4V8a2.0023,2.0023,0,0,0,2,2h4V20Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FileStorage.propTypes = iconPropTypes;\n}\nconst Filter = /*#__PURE__*/React.forwardRef(function Filter(_ref71, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref71;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path122 || (_path122 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,28H14a2,2,0,0,1-2-2V18.41L4.59,11A2,2,0,0,1,4,9.59V6A2,2,0,0,1,6,4H26a2,2,0,0,1,2,2V9.59A2,2,0,0,1,27.41,11L20,18.41V26A2,2,0,0,1,18,28ZM6,6V9.59l8,8V26h4V17.59l8-8V6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Filter.propTypes = iconPropTypes;\n}\nconst FilterEdit = /*#__PURE__*/React.forwardRef(function FilterEdit(_ref72, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref72;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path123 || (_path123 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,6H4V9.17l7.41,7.42.59.58V26h4V24h2v2a2,2,0,0,1-2,2H12a2,2,0,0,1-2-2V18L2.59,10.59A2,2,0,0,1,2,9.17V6A2,2,0,0,1,4,4H26Z\"\n })), _path124 || (_path124 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.71,11.29l-3-3a1,1,0,0,0-1.42,0L16,17.59V22h4.41l9.3-9.29A1,1,0,0,0,29.71,11.29ZM19.59,20H18V18.41l5-5L24.59,15ZM26,13.59,24.41,12,26,10.41,27.59,12Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FilterEdit.propTypes = iconPropTypes;\n}\nconst FilterRemove = /*#__PURE__*/React.forwardRef(function FilterRemove(_ref73, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref73;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path125 || (_path125 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 11.414L28.586 10 24 14.586 19.414 10 18 11.414 22.586 16 18 20.585 19.415 22 24 17.414 28.587 22 30 20.587 25.414 16 30 11.414z\"\n })), _path126 || (_path126 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,4A2,2,0,0,0,2,6V9.1709a2,2,0,0,0,.5859,1.4145L10,18v8a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V24H16v2H12V17.1709l-.5859-.5855L4,9.1709V6H24V8h2V6a2,2,0,0,0-2-2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FilterRemove.propTypes = iconPropTypes;\n}\nconst FilterReset = /*#__PURE__*/React.forwardRef(function FilterReset(_ref74, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref74;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path127 || (_path127 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5,9A7.4522,7.4522,0,0,0,16,12.792V8H14v8h8V14H17.6167A5.4941,5.4941,0,1,1,22.5,22H22v2h.5a7.5,7.5,0,0,0,0-15Z\"\n })), _path128 || (_path128 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,6H4V9.171l7.4142,7.4143L12,17.171V26h4V24h2v2a2,2,0,0,1-2,2H12a2,2,0,0,1-2-2V18L2.5858,10.5853A2,2,0,0,1,2,9.171V6A2,2,0,0,1,4,4H26Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FilterReset.propTypes = iconPropTypes;\n}\nconst Finance = /*#__PURE__*/React.forwardRef(function Finance(_ref75, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref75;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path129 || (_path129 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 28H30V30H2zM27 11a1 1 0 001-1V7a1 1 0 00-.66-.94l-11-4a1 1 0 00-.68 0l-11 4A1 1 0 004 7v3a1 1 0 001 1H6V24H4v2H28V24H26V11zM6 7.7L16 4.06 26 7.7V9H6zM18 24H14V11h4zM8 11h4V24H8zM24 24H20V11h4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Finance.propTypes = iconPropTypes;\n}\nconst FingerprintRecognition = /*#__PURE__*/React.forwardRef(function FingerprintRecognition(_ref76, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref76;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path130 || (_path130 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7,5.21a.77.77,0,0,1-.46-1.38A15.46,15.46,0,0,1,16,1c2.66,0,6.48.45,9.5,2.62a.77.77,0,0,1,.18,1.07.78.78,0,0,1-1.08.17A15,15,0,0,0,16,2.53,14,14,0,0,0,7.5,5.05.74.74,0,0,1,7,5.21Z\"\n })), _path131 || (_path131 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.23,12.26a.78.78,0,0,1-.63-.33C25.87,9.49,22.78,6.24,16,6.24a14,14,0,0,0-11.63,5.7.77.77,0,0,1-1.07.17A.76.76,0,0,1,3.15,11,15.54,15.54,0,0,1,16,4.71c5.61,0,9.81,2.08,12.84,6.34a.77.77,0,0,1-.19,1.07A.79.79,0,0,1,28.23,12.26Z\"\n })), _path132 || (_path132 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.28,31a.78.78,0,0,1-.72-.49.75.75,0,0,1,.44-1c4.37-1.68,7-5.12,7-9.21a2.8,2.8,0,0,0-3-3c-1.86,0-2.76,1-3,3.35a4.27,4.27,0,0,1-4.52,3.83,4.27,4.27,0,0,1-4.32-4.59A11.71,11.71,0,0,1,16,8.39a12,12,0,0,1,12,11.93,18.66,18.66,0,0,1-1.39,6.5.78.78,0,0,1-1,.41.76.76,0,0,1-.41-1,17.25,17.25,0,0,0,1.27-5.91A10.45,10.45,0,0,0,16,9.92a10.18,10.18,0,0,0-10.38,10,2.77,2.77,0,0,0,2.79,3.06,2.74,2.74,0,0,0,3-2.48c.36-3.11,1.89-4.69,4.56-4.69a4.31,4.31,0,0,1,4.52,4.56c0,4.74-3,8.72-8,10.63A.92.92,0,0,1,12.28,31Z\"\n })), _path133 || (_path133 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.77,30.28a.81.81,0,0,1-.52-.2.76.76,0,0,1,0-1.08,12.63,12.63,0,0,0,3.54-8.68c0-1.56-.48-6.65-6.7-6.65a6.83,6.83,0,0,0-4.94,1.87A6.17,6.17,0,0,0,9.32,20a.77.77,0,0,1-.77.76h0A.76.76,0,0,1,7.78,20,7.73,7.73,0,0,1,10,14.46a8.34,8.34,0,0,1,6-2.32c6.08,0,8.24,4.4,8.24,8.18A14.09,14.09,0,0,1,20.34,30,.75.75,0,0,1,19.77,30.28Z\"\n })), _path134 || (_path134 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.66,27.74a14.14,14.14,0,0,1-1.56-.09.76.76,0,1,1,.17-1.52c2.49.28,4.45-.16,5.84-1.32a6.37,6.37,0,0,0,2.12-4.53.75.75,0,0,1,.82-.71.78.78,0,0,1,.72.81A7.89,7.89,0,0,1,14.09,26,8.2,8.2,0,0,1,8.66,27.74Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FingerprintRecognition.propTypes = iconPropTypes;\n}\nconst Fire = /*#__PURE__*/React.forwardRef(function Fire(_ref77, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref77;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path135 || (_path135 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.832,16.9688c-.2724-.6465-.5815-1.38-.8833-2.2852-.79-2.3682,1.7344-4.9522,1.7583-4.9766L24.293,8.293c-.1407.1406-3.4234,3.4775-2.2417,7.0234.3261.978.6513,1.749.938,2.43A9.3812,9.3812,0,0,1,24,22a6.24,6.24,0,0,1-4.1892,5.293,8.52,8.52,0,0,0-2.1038-8l-1.0444-1.0445-.5815,1.3575C14.2449,23.89,12.06,25.76,10.7747,26.54A5.8437,5.8437,0,0,1,8,22a9.6239,9.6239,0,0,1,.9287-3.6289A11.3329,11.3329,0,0,0,10,14V12.2217c.8735.36,2,1.3037,2,3.7783v2.6035l1.7432-1.9341c3.1118-3.4546,2.4624-7.5678,1.206-10.3081A4.4859,4.4859,0,0,1,18,11h2c0-5.5371-4.5786-7-7-7H11l1.1992,1.5986c.1377.1856,2.8628,3.9278,1.3535,7.688A4.9426,4.9426,0,0,0,9,10H8v4a9.6239,9.6239,0,0,1-.9287,3.6289A11.3329,11.3329,0,0,0,6,22c0,3.8477,3.8232,8,10,8s10-4.1523,10-8A11.3771,11.3771,0,0,0,24.832,16.9688ZM12.8352,27.5264a16.4987,16.4987,0,0,0,4.3665-5.5987,6.1053,6.1053,0,0,1,.2573,5.9717A11.3213,11.3213,0,0,1,16,28,10.3278,10.3278,0,0,1,12.8352,27.5264Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fire.propTypes = iconPropTypes;\n}\nconst Firewall = /*#__PURE__*/React.forwardRef(function Firewall(_ref78, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref78;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path136 || (_path136 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27 20.3972v3c-1 0-2-1.5-2-4v-3c-4 5-5 7-5 9A5.0008 5.0008 0 0023.0458 30 7.5281 7.5281 0 0125 26.3972 7.5281 7.5281 0 0126.9542 30 5.0008 5.0008 0 0030 25.3972C30 23.3972 28.875 21.8258 27 20.3972zM17 28H4V24H17V22H4a2.0023 2.0023 0 00-2 2v4a2.0023 2.0023 0 002 2H17z\"\n })), _path137 || (_path137 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 12H7a2.0023 2.0023 0 00-2 2v4a2.0023 2.0023 0 002 2H17V18H7V14H28l.0011 2H30V14A2.0023 2.0023 0 0028 12zM25 10H4A2.0021 2.0021 0 012 8V4A2.0021 2.0021 0 014 2H25a2.0021 2.0021 0 012 2V8A2.0021 2.0021 0 0125 10zM4 4V8H25V4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Firewall.propTypes = iconPropTypes;\n}\nconst FirewallClassic = /*#__PURE__*/React.forwardRef(function FirewallClassic(_ref79, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref79;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path138 || (_path138 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 20V17a4 4 0 00-8 0v3a2.0023 2.0023 0 00-2 2v6a2.0023 2.0023 0 002 2h8a2.0023 2.0023 0 002-2V22A2.0023 2.0023 0 0028 20zm-6-3a2 2 0 014 0v3H22zm6 11H20V22h8zM15 27H4a2 2 0 01-2-2V22a2 2 0 012-2H15v2H4v3H15zM17 18H8a2 2 0 01-2-2V13a2 2 0 012-2H19v2H8v3h9zM22 9H4A2 2 0 012 7V4A2 2 0 014 2H22a2 2 0 012 2V7A2 2 0 0122 9zM4 7H22V4H4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FirewallClassic.propTypes = iconPropTypes;\n}\nconst Fish = /*#__PURE__*/React.forwardRef(function Fish(_ref80, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref80;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _circle15 || (_circle15 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"24\",\n cy: \"7\",\n r: \"1\"\n })), _path139 || (_path139 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,2A16.0183,16.0183,0,0,0,10,18v2H3a1,1,0,0,0-.707,1.707l8,8A1,1,0,0,0,12,29V22h2A16.0183,16.0183,0,0,0,30,6V2ZM10,26.5857,5.4141,22H10ZM12,20V18a13.9394,13.9394,0,0,1,3.908-9.6777l7.77,7.7695A13.94,13.94,0,0,1,14,20ZM28,6a13.9163,13.9163,0,0,1-2.98,8.6055L17.3945,6.98A13.9163,13.9163,0,0,1,26,4h2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fish.propTypes = iconPropTypes;\n}\nconst FishMultiple = /*#__PURE__*/React.forwardRef(function FishMultiple(_ref81, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref81;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path140 || (_path140 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,14a12.9845,12.9845,0,0,0-3.8286-9.2427L24.4143,3,23,4.4138l1.7573,1.7574a11.0713,11.0713,0,0,1,0,15.6572L22,24.5857,23.4143,26l2.7571-2.7573A12.9845,12.9845,0,0,0,30,14Z\"\n })), _circle16 || (_circle16 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17\",\n cy: \"11\",\n r: \"1\"\n })), _path141 || (_path141 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22,14a12.9845,12.9845,0,0,0-3.8286-9.2427L16.4143,3,15,4.4138l1.7573,1.7574a11.0713,11.0713,0,0,1,0,15.6572L14,24.5857,15.4143,26l2.7571-2.7573A12.9845,12.9845,0,0,0,22,14Z\"\n })), _circle17 || (_circle17 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"11\",\n r: \"1\"\n })), _circle18 || (_circle18 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"9\",\n cy: \"11\",\n r: \"1\"\n })), _path142 || (_path142 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.4141,24l.7573-.7573a13.0708,13.0708,0,0,0,0-18.4854L8,2.5857,5.8286,4.7571a13.0708,13.0708,0,0,0,0,18.4854L6.5859,24,2.293,28.2928A1,1,0,0,0,3,30H13a1,1,0,0,0,.707-1.707ZM4,14A10.9988,10.9988,0,0,1,7.2427,6.1712L8,5.4138l.7573.7574a11.0713,11.0713,0,0,1,0,15.6572L8,22.5857l-.7573-.7573A10.9988,10.9988,0,0,1,4,14ZM5.4141,28,8,25.4138,10.5859,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FishMultiple.propTypes = iconPropTypes;\n}\nconst FitToHeight = /*#__PURE__*/React.forwardRef(function FitToHeight(_ref82, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref82;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path143 || (_path143 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 10L12.41 11.41 15 8.83 15 23.17 12.41 20.59 11 22 16 27 21 22 19.59 20.59 17 23.17 17 8.83 19.59 11.41 21 10 16 5 11 10z\"\n })), _path144 || (_path144 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,30H4a2.0023,2.0023,0,0,1-2-2V4A2.0023,2.0023,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FitToHeight.propTypes = iconPropTypes;\n}\nconst FitToScreen = /*#__PURE__*/React.forwardRef(function FitToScreen(_ref83, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref83;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path145 || (_path145 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 16L24 16 24 8 16 8 16 10 22 10 22 16zM8 24L16 24 16 22 10 22 10 16 8 16 8 24z\"\n })), _path146 || (_path146 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,28H6a2.0023,2.0023,0,0,1-2-2V6A2.0023,2.0023,0,0,1,6,4H26a2.0023,2.0023,0,0,1,2,2V26A2.0023,2.0023,0,0,1,26,28ZM6,6V26H26.0012L26,6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FitToScreen.propTypes = iconPropTypes;\n}\nconst FitToWidth = /*#__PURE__*/React.forwardRef(function FitToWidth(_ref84, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref84;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path147 || (_path147 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 11L20.59 12.41 23.17 15 8.83 15 11.41 12.41 10 11 5 16 10 21 11.41 19.59 8.83 17 23.17 17 20.59 19.59 22 21 27 16 22 11z\"\n })), _path148 || (_path148 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,30H4a2.0023,2.0023,0,0,1-2-2V4A2.0023,2.0023,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FitToWidth.propTypes = iconPropTypes;\n}\nconst Flag = /*#__PURE__*/React.forwardRef(function Flag(_ref85, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref85;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path149 || (_path149 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,30H4V2H28l-5.8,9L28,20H6ZM6,18H24.33L19.8,11l4.53-7H6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flag.propTypes = iconPropTypes;\n}\nconst FlagFilled = /*#__PURE__*/React.forwardRef(function FlagFilled(_ref86, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref86;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path150 || (_path150 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,30H4V2H28l-5.8,9L28,20H6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlagFilled.propTypes = iconPropTypes;\n}\nconst FlaggingTaxi = /*#__PURE__*/React.forwardRef(function FlaggingTaxi(_ref87, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref87;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path151 || (_path151 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7976,2,20.3555,8.6641A2.9941,2.9941,0,0,1,17.8594,10H12a3.0033,3.0033,0,0,0-3,3v6a2.0023,2.0023,0,0,0,2,2v7a2.0023,2.0023,0,0,0,2,2h4a2.0023,2.0023,0,0,0,2-2V16H17V28H13V19H11V13a1.0009,1.0009,0,0,1,1-1h5.8594a4.9881,4.9881,0,0,0,4.16-2.2266l4.4422-6.664Z\"\n })), _path152 || (_path152 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,5a4,4,0,1,1,4,4A4.0042,4.0042,0,0,1,11,5Zm2,0a2,2,0,1,0,2-2A2.0023,2.0023,0,0,0,13,5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlaggingTaxi.propTypes = iconPropTypes;\n}\nconst Flash = /*#__PURE__*/React.forwardRef(function Flash(_ref88, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref88;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path153 || (_path153 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.61,29.92a1,1,0,0,1-.6-1.07L12.83,17H8a1,1,0,0,1-1-1.23l3-13A1,1,0,0,1,11,2H21a1,1,0,0,1,.78.37,1,1,0,0,1,.2.85L20.25,11H25a1,1,0,0,1,.9.56,1,1,0,0,1-.11,1l-13,17A1,1,0,0,1,12,30,1.09,1.09,0,0,1,11.61,29.92ZM17.75,13l2-9H11.8L9.26,15h5.91L13.58,25.28,23,13Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flash.propTypes = iconPropTypes;\n}\nconst FlashFilled = /*#__PURE__*/React.forwardRef(function FlashFilled(_ref89, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref89;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path154 || (_path154 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.61,29.92a1,1,0,0,1-.6-1.07L12.83,17H8a1,1,0,0,1-1-1.23l3-13A1,1,0,0,1,11,2H21a1,1,0,0,1,.78.37,1,1,0,0,1,.2.85L20.25,11H25a1,1,0,0,1,.9.56,1,1,0,0,1-.11,1l-13,17A1,1,0,0,1,12,30,1.09,1.09,0,0,1,11.61,29.92Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlashFilled.propTypes = iconPropTypes;\n}\nconst FlashOff = /*#__PURE__*/React.forwardRef(function FlashOff(_ref90, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref90;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path155 || (_path155 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.13 6.89L11.8 4h8l-2 9H23l-2.49 3.25 1.43 1.43 3.87-5.07a1 1 0 00.11-1A1 1 0 0025 11H20.25L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77L9.46 5.22zM30 28.59l-9.31-9.31h0l-1.42-1.43h0L10.6 9.19h0L8.93 7.52h0L3.41 2 2 3.41 8.4 9.82 7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07A1.09 1.09 0 0012 30a1 1 0 00.79-.39l6.68-8.73L28.59 30zM9.26 15l.81-3.52L13.59 15zm4.32 10.28L15 16.37 18 19.45z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlashOff.propTypes = iconPropTypes;\n}\nconst FlashOffFilled = /*#__PURE__*/React.forwardRef(function FlashOffFilled(_ref91, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref91;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path156 || (_path156 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 28.59L3.41 2 2 3.41 8.4 9.82 7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07A1.09 1.09 0 0012 30a1 1 0 00.79-.39l6.68-8.73L28.59 30zM22.53 16.87l3.26-4.26a1 1 0 00.11-1A1 1 0 0025 11H20.25L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77l-.3 1.3z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlashOffFilled.propTypes = iconPropTypes;\n}\nconst FlightInternational = /*#__PURE__*/React.forwardRef(function FlightInternational(_ref92, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref92;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path157 || (_path157 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,28a5.3257,5.3257,0,0,1-.6714-.044A21.7855,21.7855,0,0,1,12.0332,17H29.95c.0236-.3315.05-.6626.05-1A14,14,0,1,0,16,30ZM27.9492,15H21.9631A24.3247,24.3247,0,0,0,19.21,4.4492,12.0123,12.0123,0,0,1,27.9492,15ZM16.6714,4.0439A21.7855,21.7855,0,0,1,19.9668,15H12.0332A21.7855,21.7855,0,0,1,15.3286,4.0439,5.159,5.159,0,0,1,16.6714,4.0439ZM12.79,4.4492A24.3275,24.3275,0,0,0,10.0369,15H4.0508A12.0126,12.0126,0,0,1,12.79,4.4492ZM4.0508,17h5.9861A24.3275,24.3275,0,0,0,12.79,27.5508,12.0126,12.0126,0,0,1,4.0508,17Z\"\n })), _path158 || (_path158 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M25,25l5,2V25l-5-2.5V20a1,1,0,0,0-2,0v2.5L18,25v2l5-2v3.5L21,30v1l3-1,3,1V30l-2-1.5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlightInternational.propTypes = iconPropTypes;\n}\nconst FlightRoster = /*#__PURE__*/React.forwardRef(function FlightRoster(_ref93, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref93;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path159 || (_path159 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M26,6a2,2,0,0,0-2-2H8A2,2,0,0,0,6,6V26a2,2,0,0,0,2,2h8V26H8V6H24v6h2Z\"\n })), _path160 || (_path160 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 18H16V20H10zM10 14H22V16H10z\"\n })), _path161 || (_path161 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M22 10v2H10V10zM25 23l5 2V23l-5-2.5V18a1 1 0 00-2 0v2.5L18 23v2l5-2v3.5L21 28v1l3-1 3 1V28l-2-1.5z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlightRoster.propTypes = iconPropTypes;\n}\nconst FlightSchedule = /*#__PURE__*/React.forwardRef(function FlightSchedule(_ref94, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref94;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path162 || (_path162 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M25,23l5,2V23l-5-2.5V18a1,1,0,0,0-2,0v2.5L18,23v2l5-2v3.5L21,28v1l3-1,3,1V28l-2-1.5Z\"\n })), _path163 || (_path163 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M26,4H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2H16V26H6V6h4V8h2V6h8V8h2V6h4v7h2V6A2,2,0,0,0,26,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlightSchedule.propTypes = iconPropTypes;\n}\nconst FloatingIp = /*#__PURE__*/React.forwardRef(function FloatingIp(_ref95, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref95;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path164 || (_path164 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25,11a5.0083,5.0083,0,0,0-4.8989,4H11.8989a5,5,0,1,0,0,2h8.2022A5,5,0,1,0,25,11Zm0,8a3,3,0,1,1,3-3A3.0033,3.0033,0,0,1,25,19Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FloatingIp.propTypes = iconPropTypes;\n}\nconst Flood = /*#__PURE__*/React.forwardRef(function Flood(_ref96, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref96;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path165 || (_path165 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 28a2.8828 2.8828 0 01-1-.1816v-.0059a3.7662 3.7662 0 01-2.0532-2.1338A.971.971 0 0025 25a1.007 1.007 0 00-.9487.6836A3.4376 3.4376 0 0121 28a3.44 3.44 0 01-3.0532-2.3213A.9894.9894 0 0017 25a1.007 1.007 0 00-.9487.6836A3.4376 3.4376 0 0113 28a3.44 3.44 0 01-3.0532-2.3213 1 1 0 00-1.8955.0049A3.4376 3.4376 0 015 28H2v2H5a4.9316 4.9316 0 004-1.9873 5.0192 5.0192 0 008 0 5.0192 5.0192 0 008 0 5.1433 5.1433 0 002.1379 1.62A4.8374 4.8374 0 0029 30h1V28zM28 13.63L29.7573 15 31 13.4282 16.6123 2.2139a1.0094 1.0094 0 00-1.2427 0L1 13.4194l1.2427 1.5718L4 13.6211v5.1875a3.6907 3.6907 0 01-2 2.0039V22.896a4.9958 4.9958 0 003-1.8833 5.0192 5.0192 0 008 0 5.0192 5.0192 0 008 0A4.9316 4.9316 0 0025 23h5V21H28zm-6.0513 5.0532a1 1 0 00-1.8955-.0049A3.44 3.44 0 0117 21a3.4376 3.4376 0 01-3.0513-2.3164A1.007 1.007 0 0013 18a.9894.9894 0 00-.9468.6787A3.44 3.44 0 019 21a3.37 3.37 0 01-3.0021-2.19L6 12.0615l9.991-7.79L26 12.0718 26.0017 21H25A3.4376 3.4376 0 0121.9487 18.6836z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flood.propTypes = iconPropTypes;\n}\nconst FloodWarning = /*#__PURE__*/React.forwardRef(function FloodWarning(_ref97, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref97;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path166 || (_path166 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29,28a2.8828,2.8828,0,0,1-1-.1816v-.0059a3.7662,3.7662,0,0,1-2.0532-2.1338A.971.971,0,0,0,25,25a1.007,1.007,0,0,0-.9487.6836A3.4376,3.4376,0,0,1,21,28a3.44,3.44,0,0,1-3.0532-2.3213A.9894.9894,0,0,0,17,25a1.007,1.007,0,0,0-.9487.6836A3.4376,3.4376,0,0,1,13,28a3.44,3.44,0,0,1-3.0532-2.3213,1,1,0,0,0-1.8955.0049A3.4376,3.4376,0,0,1,5,28H2v2H5a4.9316,4.9316,0,0,0,4-1.9873,5.0192,5.0192,0,0,0,8,0,5.0192,5.0192,0,0,0,8,0,5.1433,5.1433,0,0,0,2.1379,1.62A4.8374,4.8374,0,0,0,29,30h1V28Z\"\n })), _path167 || (_path167 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M23.75,11h-1.5V7h1.5ZM23,12a1,1,0,1,0,1,1A1,1,0,0,0,23,12Z\"\n })), _path168 || (_path168 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9115,14.9355,23.6284,3.3706a.7181.7181,0,0,0-1.2568,0L16.0885,14.9355A.72.72,0,0,0,16.72,16H29.28A.72.72,0,0,0,29.9115,14.9355ZM22.25,7h1.5v4h-1.5ZM23,14a1,1,0,1,1,1-1A1,1,0,0,1,23,14Z\"\n })), _path169 || (_path169 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,21V18H26v3H25a3.4376,3.4376,0,0,1-3.0513-2.3164,1,1,0,0,0-1.8955-.0049A3.44,3.44,0,0,1,17,21a3.4376,3.4376,0,0,1-3.0513-2.3164A1.007,1.007,0,0,0,13,18a.9894.9894,0,0,0-.9468.6787A3.44,3.44,0,0,1,9,21a3.3663,3.3663,0,0,1-3-2.1855v-6.753l10-7.79,2.5327,1.9756.9682-1.7818L16.6123,2.2139a1.0094,1.0094,0,0,0-1.2427,0L1,13.4194l1.2427,1.5718L4,13.6211v5.1875a3.6892,3.6892,0,0,1-2,2.0039V22.896a4.9958,4.9958,0,0,0,3-1.8833,5.0192,5.0192,0,0,0,8,0,5.0192,5.0192,0,0,0,8,0A4.9316,4.9316,0,0,0,25,23h5V21Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FloodWarning.propTypes = iconPropTypes;\n}\nconst Floorplan = /*#__PURE__*/React.forwardRef(function Floorplan(_ref98, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref98;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path170 || (_path170 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,2H4C2.9,2,2,2.9,2,4v24c0,1.1,0.9,2,2,2h15v-2c0-2.8,2.2-5,5-5v-2c-3.9,0-7,3.1-7,7h-3v-4h-2v4H4V4h8v14h2v-5h4v-2h-4V4 h14v7h-4v2h4v15h-4v2h4c1.1,0,2-0.9,2-2V4C30,2.9,29.1,2,28,2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Floorplan.propTypes = iconPropTypes;\n}\nconst Flow = /*#__PURE__*/React.forwardRef(function Flow(_ref99, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref99;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path171 || (_path171 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27,22.14V17a2,2,0,0,0-2-2H17V9.86a4,4,0,1,0-2,0V15H7a2,2,0,0,0-2,2v5.14a4,4,0,1,0,2,0V17H25v5.14a4,4,0,1,0,2,0ZM8,26a2,2,0,1,1-2-2A2,2,0,0,1,8,26ZM14,6a2,2,0,1,1,2,2A2,2,0,0,1,14,6ZM26,28a2,2,0,1,1,2-2A2,2,0,0,1,26,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flow.propTypes = iconPropTypes;\n}\nconst FlowConnection = /*#__PURE__*/React.forwardRef(function FlowConnection(_ref100, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref100;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path172 || (_path172 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,18H22a2.0023,2.0023,0,0,0-2,2v2H14.4141L10,17.5859V12h2a2.0023,2.0023,0,0,0,2-2V4a2.0023,2.0023,0,0,0-2-2H6A2.0023,2.0023,0,0,0,4,4v6a2.0023,2.0023,0,0,0,2,2H8v5.5859L3.293,22.293a.9994.9994,0,0,0,0,1.414l5,5a.9995.9995,0,0,0,1.414,0L14.4141,24H20v2a2.0023,2.0023,0,0,0,2,2h6a2.0023,2.0023,0,0,0,2-2V20A2.0023,2.0023,0,0,0,28,18ZM6,4h6v6H6ZM9,26.5859,5.4141,23,9,19.4141,12.5859,23ZM22,26V20h6v6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowConnection.propTypes = iconPropTypes;\n}\nconst FlowData = /*#__PURE__*/React.forwardRef(function FlowData(_ref101, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref101;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path173 || (_path173 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,23H11.86a4.17,4.17,0,0,0-.43-1L22,11.43A3.86,3.86,0,0,0,24,12a4,4,0,1,0-3.86-5H11.86a4,4,0,1,0,0,2h8.28a4.17,4.17,0,0,0,.43,1L10,20.57A3.86,3.86,0,0,0,8,20a4,4,0,1,0,3.86,5H20v3h8V20H20ZM8,10a2,2,0,1,1,2-2A2,2,0,0,1,8,10ZM24,6a2,2,0,1,1-2,2A2,2,0,0,1,24,6ZM8,26a2,2,0,1,1,2-2A2,2,0,0,1,8,26Zm14-4h4v4H22Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowData.propTypes = iconPropTypes;\n}\nconst FlowModeler = /*#__PURE__*/React.forwardRef(function FlowModeler(_ref102, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref102;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path174 || (_path174 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 10H2V2h8zM4 8H8V4H4zM30 30H22V22h8zm-6-2h4V24H24zM20 27H8A6 6 0 018 15v2a4 4 0 000 8H20zM24 17V15a4 4 0 000-8H12V5H24a6 6 0 010 12z\"\n })), _path175 || (_path175 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19,11H13l-3,4,6,6,6-6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowModeler.propTypes = iconPropTypes;\n}\nconst FlowModelerReference = /*#__PURE__*/React.forwardRef(function FlowModelerReference(_ref103, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref103;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path176 || (_path176 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 30H22V22h8zm-6-2h4V24H24zM4 20L4 22 8.586 22 2 28.586 3.414 30 10 23.414 10 28 12 28 12 20 4 20zM19 11H13l-3 4 6 6 6-6z\"\n })), _path177 || (_path177 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 17V15a4 4 0 000-8H12V5H24a6 6 0 010 12zM10 10H2V2h8zM4 8H8V4H4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowModelerReference.propTypes = iconPropTypes;\n}\nconst FlowStream = /*#__PURE__*/React.forwardRef(function FlowStream(_ref104, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref104;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path178 || (_path178 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 24H11.8625a4.13 4.13 0 00-.4284-1.02L21.98 12.4343A3.9943 3.9943 0 1020.1414 8H14v2h6.1414a3.96 3.96 0 00.4243 1.02L10.02 21.5656A3.9943 3.9943 0 1011.8587 26H20v3h8V21H20zM24 7a2 2 0 11-2 2A2.0023 2.0023 0 0124 7zM8 27a2 2 0 112-2A2.0023 2.0023 0 018 27zm14-4h4v4H22zM9.6929 12.7505a5 5 0 01-.0005-7.5L11.0166 6.75a3 3 0 00-.0005 4.501z\"\n })), _path179 || (_path179 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.0474,15.751a9,9,0,0,1,0-13.501l1.3232,1.5a7,7,0,0,0,0,10.501Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowStream.propTypes = iconPropTypes;\n}\nconst FlowStreamReference = /*#__PURE__*/React.forwardRef(function FlowStreamReference(_ref105, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref105;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path180 || (_path180 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 24H16v2h4v3h8V21H20zm2-1h4v4H22zM4 20L4 22 8.586 22 2 28.586 3.414 30 10 23.414 10 28 12 28 12 20 4 20zM24 5a3.9962 3.9962 0 00-3.8579 3H14v2h6.1421a3.94 3.94 0 00.4248 1.019L14 17.5862 15.4138 19l6.5672-6.5669A3.9521 3.9521 0 0024 13a4 4 0 000-8zm0 6a2 2 0 112-2A2.0023 2.0023 0 0124 11zM9.6929 12.7505a5 5 0 01-.0005-7.5L11.0166 6.75a3 3 0 00-.0005 4.501z\"\n })), _path181 || (_path181 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.0474,15.751a9,9,0,0,1,0-13.501l1.3232,1.5a7,7,0,0,0,0,10.501Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowStreamReference.propTypes = iconPropTypes;\n}\nconst FlowLogsVpc = /*#__PURE__*/React.forwardRef(function FlowLogsVpc(_ref106, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref106;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path182 || (_path182 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19H30V21H18zM18 23H30V25H18zM18 27H26V29H18z\"\n })), _path183 || (_path183 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,4a3.9962,3.9962,0,0,0-3.8579,3H12V4H4v8h8V9h8.1421a3.94,3.94,0,0,0,.4248,1.019L10.019,20.5669A3.9521,3.9521,0,0,0,8,20a4,4,0,1,0,3.8579,5H16V23H11.8579a3.94,3.94,0,0,0-.4248-1.019L21.981,11.4331A3.9521,3.9521,0,0,0,24,12a4,4,0,0,0,0-8ZM10,10H6V6h4ZM8,26a2,2,0,1,1,2-2A2.0023,2.0023,0,0,1,8,26ZM24,10a2,2,0,1,1,2-2A2.0023,2.0023,0,0,1,24,10Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowLogsVpc.propTypes = iconPropTypes;\n}\nconst Fog = /*#__PURE__*/React.forwardRef(function Fog(_ref107, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref107;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path184 || (_path184 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.8008,11.1382a8.9938,8.9938,0,0,0-17.6006,0A6.533,6.533,0,0,0,2,17.5H2V19a1,1,0,0,0,1,1H15a1,1,0,0,0,0-2H4v-.4966H4a4.5176,4.5176,0,0,1,4.144-4.4819l.8155-.064.0991-.812a6.9936,6.9936,0,0,1,13.8838,0l.0986.812.8154.064A4.4962,4.4962,0,0,1,23.5,22H7a1,1,0,0,0,0,2H23.5a6.4963,6.4963,0,0,0,1.3008-12.8618Z\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: \"18\",\n height: \"2\",\n x: \"2\",\n y: \"26\",\n rx: \"1\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fog.propTypes = iconPropTypes;\n}\nconst Folder = /*#__PURE__*/React.forwardRef(function Folder(_ref108, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref108;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path185 || (_path185 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.17,6l3.42,3.41.58.59H28V26H4V6h7.17m0-2H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2H16L12.59,4.59A2,2,0,0,0,11.17,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Folder.propTypes = iconPropTypes;\n}\nconst FolderAdd = /*#__PURE__*/React.forwardRef(function FolderAdd(_ref109, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref109;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path186 || (_path186 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 20L24 20 24 24 20 24 20 26 24 26 24 30 26 30 26 26 30 26 30 24 26 24z\"\n })), _path187 || (_path187 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H16l-3.4-3.4C12.2,4.2,11.7,4,11.2,4H4C2.9,4,2,4.9,2,6v20c0,1.1,0.9,2,2,2h14v-2H4V6h7.2l3.4,3.4l0.6,0.6H28v8h2v-8 C30,8.9,29.1,8,28,8z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderAdd.propTypes = iconPropTypes;\n}\nconst FolderDetails = /*#__PURE__*/React.forwardRef(function FolderDetails(_ref110, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref110;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path188 || (_path188 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 20H30V22H16zM16 24H30V26H16zM16 28H23V30H16z\"\n })), _path189 || (_path189 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,26H4V6h7.17l3.42,3.41.58.59H28v8h2V10a2,2,0,0,0-2-2H16L12.59,4.59A2,2,0,0,0,11.17,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H14Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderDetails.propTypes = iconPropTypes;\n}\nconst FolderDetailsReference = /*#__PURE__*/React.forwardRef(function FolderDetailsReference(_ref111, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref111;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path190 || (_path190 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 28H23V30H16zM16 24H30V26H16zM16 20H30V22H16zM4 20L4 22 8.586 22 2 28.586 3.414 30 10 23.414 10 28 12 28 12 20 4 20zM28 8H16L12.5859 4.5859A2.0007 2.0007 0 0011.1716 4H4A2 2 0 002 6V18H4V6h7.1716l3.4141 3.4141L15.1716 10H28v8h2V10A2 2 0 0028 8z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderDetailsReference.propTypes = iconPropTypes;\n}\nconst FolderMoveTo = /*#__PURE__*/React.forwardRef(function FolderMoveTo(_ref112, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref112;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path191 || (_path191 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 13L16.59 14.41 19.17 17 10 17 10 19 19.17 19 16.59 21.59 18 23 23 18 18 13z\"\n })), _path192 || (_path192 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.1716,6l3.4142,3.4142L15.1716,10H28V26H4V6h7.1716m0-2H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2H16L12.5858,4.5858A2,2,0,0,0,11.1716,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderMoveTo.propTypes = iconPropTypes;\n}\nconst FolderOff = /*#__PURE__*/React.forwardRef(function FolderOff(_ref113, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref113;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path193 || (_path193 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 8H25.4141L30 3.4141 28.5859 2 2 28.5859 3.4141 30l2-2H28a2 2 0 002-2V10A2 2 0 0028 8zm0 18H7.4141l16-16H28zM4 6h7.1716l3.4141 3.4141L15.1716 10H18V8H16L12.5859 4.5859A2.0007 2.0007 0 0011.1716 4H4A2 2 0 002 6V24H4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderOff.propTypes = iconPropTypes;\n}\nconst FolderOpen = /*#__PURE__*/React.forwardRef(function FolderOpen(_ref114, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref114;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path194 || (_path194 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H20.8284L17.4143,4.5859A2,2,0,0,0,16,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8ZM8,26V14h8v6.17l-2.59-2.58L12,19l5,5,5-5-1.41-1.41L18,20.17V14a2.0025,2.0025,0,0,0-2-2H8a2.0025,2.0025,0,0,0-2,2V26H4V6H16l4,4h8v2H22v2h6V26Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderOpen.propTypes = iconPropTypes;\n}\nconst FolderParent = /*#__PURE__*/React.forwardRef(function FolderParent(_ref115, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref115;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path195 || (_path195 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H16L12.5857,4.5857A2,2,0,0,0,11.1716,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H16a2,2,0,0,0,2-2V16.83l2.59,2.58L22,18l-5-5-5,5,1.41,1.41L16,16.83V26H4V6h7.1716l4,4H28V26H22v2h6a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderParent.propTypes = iconPropTypes;\n}\nconst FolderShared = /*#__PURE__*/React.forwardRef(function FolderShared(_ref116, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref116;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path196 || (_path196 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H16L12.59,4.59A2,2,0,0,0,11.17,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8ZM22,26H14V25a1,1,0,0,1,1-1h6a1,1,0,0,1,1,1Zm6,0H24V25a3,3,0,0,0-3-3H15a3,3,0,0,0-3,3v1H4V6h7.17l3.42,3.41.58.59H28Z\"\n })), _path197 || (_path197 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,17a4,4,0,1,0,4-4A4,4,0,0,0,14,17Zm4-2a2,2,0,1,1-2,2A2,2,0,0,1,18,15Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderShared.propTypes = iconPropTypes;\n}\nconst Folders = /*#__PURE__*/React.forwardRef(function Folders(_ref117, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref117;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path198 || (_path198 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 28H6a2.0021 2.0021 0 01-2-2V11A2.0021 2.0021 0 016 9h5.6665a2.0119 2.0119 0 011.2007.4L16.3335 12H26a2.0021 2.0021 0 012 2V26A2.0021 2.0021 0 0126 28zM11.6665 11H5.9985L6 26H26V14H15.6665zM28 9H17.6665l-4-3H6V4h7.6665a2.0119 2.0119 0 011.2007.4L18.3335 7H28z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Folders.propTypes = iconPropTypes;\n}\nconst ForecastHail = /*#__PURE__*/React.forwardRef(function ForecastHail(_ref118, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref118;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path199 || (_path199 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,18A10,10,0,1,1,16,8h4v5l6-6L20,1V6H16A12,12,0,1,0,28,18Z\"\n })), _circle19 || (_circle19 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"14.5\",\n cy: \"23.5\",\n r: \"1.5\"\n })), _circle20 || (_circle20 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"11.5\",\n cy: \"19.5\",\n r: \"1.5\"\n })), _circle21 || (_circle21 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17.5\",\n cy: \"19.5\",\n r: \"1.5\"\n })), _path200 || (_path200 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.964 14.5H18.036V16.499H12.964z\",\n transform: \"rotate(-45 15.5 15.5)\"\n })), _path201 || (_path201 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.964 14.5H24.035999999999998V16.499H18.964z\",\n transform: \"rotate(-45 21.5 15.5)\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastHail.propTypes = iconPropTypes;\n}\nconst ForecastHail_30 = /*#__PURE__*/React.forwardRef(function ForecastHail_30(_ref119, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref119;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path202 || (_path202 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.964 13.5H14.036000000000001V15.499H8.964z\",\n transform: \"rotate(-45 11.5 14.5)\"\n })), _path203 || (_path203 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.379 14.5H17.622V16.499H15.379z\",\n transform: \"rotate(-44.995 16.5 15.5)\"\n })), _circle22 || (_circle22 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"10.5\",\n cy: \"22.5\",\n r: \"1.5\"\n })), _circle23 || (_circle23 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7.5\",\n cy: \"18.5\",\n r: \"1.5\"\n })), _circle24 || (_circle24 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"13.5\",\n cy: \"18.5\",\n r: \"1.5\"\n })), _path204 || (_path204 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,28A10,10,0,0,1,14,8h4v5l6-6L18,1V6H14a12,12,0,0,0,0,24Z\"\n })), _path205 || (_path205 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 20H16v2h4v2H17v2h3v2H16v2h4a2.0027 2.0027 0 002-2V22A2.0023 2.0023 0 0020 20zM28 30H26a2.0021 2.0021 0 01-2-2V22a2.0021 2.0021 0 012-2h2a2.0021 2.0021 0 012 2v6A2.0021 2.0021 0 0128 30zm-2-8v6h2V22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastHail_30.propTypes = iconPropTypes;\n}\nconst ForecastLightning = /*#__PURE__*/React.forwardRef(function ForecastLightning(_ref120, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref120;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path206 || (_path206 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.67 24L13.934 23 16.221 19 12.332 19 16.325 12 18.062 13 15.778 17 19.668 17 15.67 24z\"\n })), _path207 || (_path207 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,18A10,10,0,1,1,16,8h4v5l6-6L20,1V6H16A12,12,0,1,0,28,18Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastLightning.propTypes = iconPropTypes;\n}\nconst ForecastLightning_30 = /*#__PURE__*/React.forwardRef(function ForecastLightning_30(_ref121, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref121;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path208 || (_path208 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,28A10,10,0,0,1,14,8h4v5l6-6L18,1V6H14a12,12,0,0,0,0,24Z\"\n })), _path209 || (_path209 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.67 24L9.934 23 12.221 19 8.332 19 12.325 12 14.062 13 11.778 17 15.668 17 11.67 24zM20 20H16v2h4v2H17v2h3v2H16v2h4a2.0027 2.0027 0 002-2V22A2.0023 2.0023 0 0020 20zM28 30H26a2.0021 2.0021 0 01-2-2V22a2.0021 2.0021 0 012-2h2a2.0021 2.0021 0 012 2v6A2.0021 2.0021 0 0128 30zm-2-8v6h2V22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastLightning_30.propTypes = iconPropTypes;\n}\nconst Fork = /*#__PURE__*/React.forwardRef(function Fork(_ref122, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref122;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path210 || (_path210 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m20,6c0,1.8584,1.2798,3.4106,3,3.8579v5.1421h-14v-5.1421c1.7202-.4473,3-1.9995,3-3.8579,0-2.2056-1.7944-4-4-4s-4,1.7944-4,4c0,1.8584,1.2798,3.4106,3,3.8579v5.1421c0,1.103.897,2,2,2h6v5.1421c-1.7202.4473-3,1.9995-3,3.8579,0,2.2056,1.7944,4,4,4s4-1.7944,4-4c0-1.8584-1.2798-3.4106-3-3.8579v-5.1421h6c1.103,0,2-.897,2-2v-5.1421c1.7202-.4473,3-1.9995,3-3.8579,0-2.2056-1.7944-4-4-4s-4,1.7944-4,4Zm-14,0c0-1.103.897-2,2-2s2,.897,2,2c0,1.103-.897,2-2,2s-2-.897-2-2Zm12,20c0,1.103-.897,2-2,2s-2-.897-2-2c0-1.103.897-2,2-2s2,.897,2,2ZM26,6c0,1.103-.897,2-2,2s-2-.897-2-2c0-1.103.897-2,2-2s2,.897,2,2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fork.propTypes = iconPropTypes;\n}\nconst ForkNode = /*#__PURE__*/React.forwardRef(function ForkNode(_ref123, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref123;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path211 || (_path211 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"M26 21H30V23H26zM26 9H30V11H26zM24 11L24 9 20 9 20 4 14 4 14 28 20 28 20 23 24 23 24 21 20 21 20 11 24 11zM10.1719 15L2 15 2 17 10.1719 17 7.5859 19.5859 9 21 14 16 9 11 7.5859 12.4141 10.1719 15z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForkNode.propTypes = iconPropTypes;\n}\nconst Forum = /*#__PURE__*/React.forwardRef(function Forum(_ref124, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref124;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path212 || (_path212 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6H8C6.8,6,6,6.8,6,8v14c0,1.2,0.8,2,2,2h8v-2H8V8h20v14h-7.2L16,28.8l1.6,1.2l4.2-6H28c1.2,0,2-0.8,2-2V8 C30,6.8,29.2,6,28,6z\"\n })), _path213 || (_path213 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,18H2V5c0-1.7,1.3-3,3-3h13v2H5C4.4,4,4,4.4,4,5V18z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Forum.propTypes = iconPropTypes;\n}\nconst Forward_10 = /*#__PURE__*/React.forwardRef(function Forward_10(_ref125, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref125;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path214 || (_path214 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,18A10,10,0,1,1,16,8h4v5l6-6L20,1V6H16A12,12,0,1,0,28,18Z\"\n })), _path215 || (_path215 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.63 22.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68 3.65 3.65 0 01.52-1.25 2.44 2.44 0 01.89-.77 2.84 2.84 0 011.28-.27 2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93A2.44 2.44 0 0119.63 22.13zm0-1.22a1.07 1.07 0 001-.55A3.38 3.38 0 0021 18.85V17.47a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51A1.06 1.06 0 0019.63 20.91zM10.63 22V20.82h2V15.63l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Forward_10.propTypes = iconPropTypes;\n}\n\nexport { EdgeDevice, EdgeNode, EdgeNodeAlt, EdgeService, Edit, EditOff, EdtLoop, Education, Email, EmailNew, Encryption, EnergyRenewable, Enterprise, EnumerationDefinition, EnumerationUsage, EqualApproximately, Equalizer, Erase, Error, ErrorFilled, ErrorOutline, Event, EventChange, EventIncident, EventSchedule, EventWarning, Events, EventsAlt, ExamMode, ExecutableProgram, Exit, ExpandAll, ExpandCategories, Explore, Export, Eyedropper, FaceActivated, FaceActivatedAdd, FaceActivatedFilled, FaceAdd, FaceCool, FaceDissatisfied, FaceDissatisfiedFilled, FaceDizzy, FaceDizzyFilled, FaceMask, FaceNeutral, FaceNeutralFilled, FacePending, FacePendingFilled, FaceSatisfied, FaceSatisfiedFilled, FaceWink, FaceWinkFilled, Factor, Fade, Favorite, FavoriteFilled, FavoriteHalf, FeatureMembership, FeatureMembershipFilled, FeatureTyping, FetchUpload, FetchUploadCloud, FileStorage, Filter, FilterEdit, FilterRemove, FilterReset, Finance, FingerprintRecognition, Fire, Firewall, FirewallClassic, Fish, FishMultiple, FitToHeight, FitToScreen, FitToWidth, Flag, FlagFilled, FlaggingTaxi, Flash, FlashFilled, FlashOff, FlashOffFilled, FlightInternational, FlightRoster, FlightSchedule, FloatingIp, Flood, FloodWarning, Floorplan, Flow, FlowConnection, FlowData, FlowLogsVpc, FlowModeler, FlowModelerReference, FlowStream, FlowStreamReference, Fog, Folder, FolderAdd, FolderDetails, FolderDetailsReference, FolderMoveTo, FolderOff, FolderOpen, FolderParent, FolderShared, Folders, ForecastHail, ForecastHail_30, ForecastLightning, ForecastLightning_30, Fork, ForkNode, Forum, Forward_10, WatsonHealthEdgeEnhancement, WatsonHealthEdgeEnhancement_01, WatsonHealthEdgeEnhancement_02, WatsonHealthEdgeEnhancement_03, WatsonHealthErase_3D };\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","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { ErrorFilled } from '@carbon/icons-react';\nimport cx from 'classnames';\nimport { HasClassName } from 'internal-packages/shared/types/HasClassName';\nimport React from 'react';\n\nfunction ErrorIcon(props: HasClassName) {\n return <ErrorFilled className={cx('WACErrorIcon', props.className)} />;\n}\n\nexport { ErrorIcon };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport React from 'react';\n\nimport { useLanguagePack } from '../../../hooks/useLanguagePack';\nimport { ErrorIcon } from '../../ErrorIcon';\n\nexport function InlineError({ text }: { text?: string }) {\n const languagePack = useLanguagePack();\n return (\n <div className=\"WAC__inlineError\">\n <div className=\"WAC__inlineError--iconHolder\">\n <ErrorIcon className=\"WAC__inlineError--icon\" />\n </div>\n <div className=\"WAC__inlineError--text\">{text || languagePack.errors_generalContent}</div>\n </div>\n );\n}\n\nexport default InlineError;\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { ComponentType } from 'react';\n\nimport InlineError from '../components/responseTypes/error/InlineError';\nimport { WA_CONSOLE_PREFIX } from './constants';\nimport { sleep } from './lang/promiseUtils';\nimport { consoleError, consoleLog } from './miscUtils';\nimport { ResolvablePromise, resolvablePromise } from './resolvablePromise';\n\nconst WXO_SCRIPT_KEY = 'WXOScript';\n\n/**\n * This file deals with loading in a Federated Module at runtime.\n * See https://dev.to/omher/lets-dynamic-remote-modules-with-webpack-module-federation-2b9m\n *\n * We want to do this at runtime because the URLs in a given environment for fetching a remote module\n * will be different. We also want to do it at runtime because we might want to be making use of different\n * modules entirely in different environments. For instance, if someone doesn't have WO in CP4D, we don't\n * want to try to load remote modules that don't exist.\n */\n\ndeclare let __webpack_init_sharing__: any;\ndeclare let __webpack_share_scopes__: any;\ndeclare let __webpack_modules__: any;\n\n// TODO: Need to figure out the actual types for this instead of \"any\".\ninterface Scope {\n get: (module: string) => Promise<() => any>;\n init: (default_scopes: any) => Promise<void>;\n}\n\ninterface ComponentPromiseMap {\n [key: string]: Promise<{ default: ComponentType<any> }>;\n}\n\nconst componentsPromises: ComponentPromiseMap = {};\n\n/**\n * Returns a promise that resolves with an MFE React component or the InlineError component on catch.\n */\nasync function componentPromiseCreator(scope: string, module: string, scriptKey: string) {\n let scriptExists: boolean;\n let container: Scope;\n let factory: () => any;\n let Module: any;\n let lastStep = 0;\n try {\n // If the script promise has not yet completed than wait for it to complete before continuing. Otherwise\n // we could attempt to access the window scope before it has been appropriately set by the script file.\n scriptExists = Boolean(scripts[scriptKey]);\n\n if (!scriptExists) {\n throw new Error('remoteEntry.js script does not exist.');\n }\n\n await scripts[scriptKey];\n\n lastStep = 1;\n\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n await __webpack_init_sharing__('default');\n\n lastStep = 2;\n\n container = window[scope] as unknown as Scope; // or get the container somewhere else\n\n // Initialize the container, it may provide shared modules by calling window[scope].init()\n await container.init(__webpack_share_scopes__.default);\n\n lastStep = 3;\n // Get the actual component once we now that all shared resources are either provided by the parent, of have\n // been fetch as part of the call to init.\n factory = await container.get(module);\n\n lastStep = 4;\n\n // Pull it all together.\n Module = factory();\n\n lastStep = 5;\n // Return the module.\n\n consoleLog(`${module} from scope ${scope} loaded successfully.`, {\n scope,\n module,\n webpack_init_sharing: __webpack_init_sharing__,\n webpack_modules: __webpack_modules__,\n scriptExists,\n container,\n factory,\n Module,\n webpack_share_scopes: __webpack_share_scopes__,\n });\n\n return Module;\n } catch (error) {\n consoleError(`There was an error loading module ${module} from scope ${scope}. Last step: ${lastStep}.`, error, {\n scope,\n module,\n webpack_init_sharing: __webpack_init_sharing__,\n webpack_modules: __webpack_modules__,\n scriptExists,\n container,\n factory,\n Module,\n webpack_share_scopes: __webpack_share_scopes__,\n });\n return { default: InlineError };\n }\n}\n\n/**\n * This function handles fetching the remote module component for orchestrate to render at runtime. Since this is\n * essentially a fetch call, it returns a promise that should be handled through React.lazy.\n */\nfunction loadWXOComponent(scope: string, module: string, scriptKey: string) {\n const key = `${scope}_${module}`;\n\n if (!componentsPromises[key]) {\n componentsPromises[key] = componentPromiseCreator(scope, module, scriptKey);\n }\n return componentsPromises[key];\n}\n\nconst scripts: Record<string, ResolvablePromise> = {};\n\n/**\n * This function handles loading the orchestrate scripts needed to load the remote module components to render at\n * runtime. These scripts are tracked using promises so that the attempts to load components can wait until the scripts\n * have finished loading.\n */\nfunction loadWXOScript(key: string, url: string, cspNonce?: string) {\n if (!scripts[key]) {\n scripts[key] = resolvablePromise();\n const element = document.createElement('script');\n element.src = url;\n element.type = 'text/javascript';\n element.onerror = () => {\n consoleError(`${WA_CONSOLE_PREFIX} dynamic script error loading ${url}`);\n scripts[key].doReject();\n };\n element.onload = () => {\n scripts[key].doResolve();\n };\n if (cspNonce) {\n element.nonce = cspNonce;\n }\n document.head.appendChild(element);\n }\n}\n\nexport { loadWXOComponent, loadWXOScript, WXO_SCRIPT_KEY };\n"],"names":["isEmptyString","value","parseTextDirective","url","parsedURL","URL","hash","startsWith","textFragment","split","start","replace","decodeURIComponent","tryJSONParse","data","JSON","parse","e","convertToEmptyStringIfStringifiedNull","str","convertPossibleStringifiedArrayToFirstString","endsWith","error","ViewChangeReason","MessageSendSource","TourStartReason","TourEndReason","CustomEventType","MainWindowOpenReason","MainWindowCloseReason","t","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","OpenReasonsToViewReasons","Map","CALLED_OPEN_WINDOW","DEFAULT_LAUNCHER","LAUNCHER_CLICKED","LINK","LINK_ID","OPEN_BY_DEFAULT","WEB_CHAT_LOADED","SESSION_HISTORY","TOUR_OPENED_OTHER_VIEW","CALLED_RESTART_CONVERSATION","CHANNEL_TRANSFER","CloseReasonsToViewReasons","CALLED_CLOSE_WINDOW","DEFAULT_MINIMIZE","MAIN_WINDOW_MINIMIZED","TOUR_CARD_STARTED_TOUR","TOUR_CARD_RESUMED_TOUR","TOUR_CARD_RESTARTED_TOUR","CALLED_START_TOUR","TOUR_SKIP_CARD","MAIN_WINDOW_CLOSED_AND_RESTARTED","AlternateSuggestionsContactType","NOT_FOUND","defaultEqualityCheck","defaultMemoize","func","equalityCheckOrOptions","equals","entry","providedOptions","equalityCheck","_providedOptions$equa","_providedOptions$maxS","maxSize","resultEqualityCheck","comparator","prev","next","createCacheKeyComparator","cache","key","put","getEntries","clear","undefined","entries","cacheIndex","findIndex","splice","unshift","pop","createLruCache","memoized","matchingEntry","find","clearCache","createSelectorCreator","memoize","_len","memoizeOptionsFromArgs","_key","_len2","funcs","_key2","_lastResult","_recomputations","directlyPassedOptions","memoizeOptions","resultFunc","Error","_directlyPassedOption2","finalMemoizeOptions","isArray","dependencies","every","dep","dependencyTypes","map","getDependencies","memoizedResultFunc","concat","selector","params","push","Object","assign","lastResult","recomputations","resetRecomputations","createSelector","selectHasSearchSkill","state","config","remote","mainConfig","assistant","skills","some","skill","type","SkillType","SEARCH","selectAgentDisplayState","agentState","persistedToBrowserStorage","chatState","persistedAgentState","isSuspended","isConnectingOrConnected","disableInput","isAgentTyping","inputPlaceholderKey","isReconnecting","isConnecting","isConnected","selectIsInputToAgent","agentDisplayState","selectInputState","inputState","botInputState","isInputToAgent","agentInputState","getDialogSkillID","context","info","DIALOG","skill_reference","MAIN_SKILL","keys","getDialogState","message","DEFAULT_DIALOG_STATE","dialog_stack","dialog_node","DIALOG_ROOT","digressed","isResponse","dialogState","dialogSkillID","system","atob","consoleError","CONTACT_OPTION","label","input","text","CONTACT_SUGGESTION_ITEM","isSelected","isContactSuggestion","option","getContactLabel","languagePack","contact_label","suggestions_connectToAgent","isStrike","response","trackEvent","suggestionsPersistedState","numStrikes","request","allMessagesByID","request_id","global","skip_user_input","firstItem","output","generic","isSearchResultItem","isEmptySearchResultItem","suggestionsStrikeReason","isConversationalSearchItem","isAnythingElse","allMessageItemsByID","botMessageState","localMessageIDs","previousResponse","index","fullMessageID","id","isRepeatResponse","isDuplicateOfPrevious","shouldMessageActivateThirdStrike","alternateSuggestionsState","is_on","contact_option","NEVER","isSuggestionListItem","Boolean","white","blue60","gray10","gray80","gray100","isArrayish","obj","Function","getOwnPropertyDescriptor","constructor","swizzle","simpleSwizzleModule","exports","results","len","arg","call","wrap","fn","colorNames","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","require$$1","hasOwnProperty","reverseNames","create","cs","colorStringModule","to","clamp","num","max","hexDouble","toUpperCase","string","val","model","hsl","hwb","rgb","hexAlpha","i2","parseInt","parseFloat","alpha","isNaN","hex","rgba","percent","hsla","hwba","keyword","cssKeywords","reverseKeywords","convert","channels","labels","hsv","cmyk","xyz","lab","lch","ansi16","ansi256","hcg","apple","conversions","defineProperty","delta","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","t2","t3","t1","smin","lmin","hi","q","vmin","sl","wh","bl","ratio","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","saturation","ansi","color","mult","rem","colorString","char","integer","chroma","grayscale","hue","pure","mg","require$$0","deriveBFS","fromModel","graph","models","parent","buildGraph","queue","current","adjacents","adjacent","node","link","from","wrapConversion","toModel","path","cur","conversion","route","routes","wrappedFn","arg0","result","wrapRounded","raw","wrapRaw","skippedModels","hashedModelKeys","sort","limiters","Color","object","valpha","newArray","zeroArray","indexOf","hashedKeys","stringify","limit","freeze","places","self","percentString","array","unitArray","unitObject","roundToPlace","getset","maxfn","saturationl","lightness","saturationv","wblack","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","element","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","includes","number","toFixed","roundTo","channel","modifier","MIN_CONTRAST","hexCodeToRGB","calculateContrast","rgb1","rgb2","luminance1","calculateRelativeLuminance","luminance2","r8","g8","b8","rRGB","gRGB","bRGB","whiteOrBlackText","background","adjustLightness","token","shift","original","CSS_VAR_PREFIX","HEXADECIMAL_REGEX","INTERNAL_OVERRIDES_LIGHT_THEME_MAP","INTERNAL_OVERRIDES_DARK_THEME_MAP","convertCSSVariablesToString","cssVariables","namespace","useShadowRoot","cssVariablesString","allValues","prefix","suffix","ACCENT_COLOR_MAPS","blue20","blue60Hover","blue80","g10","g90","g100","fillValues","styles","propertyNames","propertyName","mergeCSSVariables","publicVars","remoteStyles","carbonTheme","useAITheme","CarbonTheme","G10","internalOverrides","internalOverridesMap","WHITE","G90","G100","createInternalCSSOverridesMap","console","warn","WA_CONSOLE_PREFIX","remoteVars","cssOverrides","primaryColor","secondaryColor","accentColor","IS_MOBILE","useAccentColor","tryFocusColor","useFocusColor","colorMap","accentBlue20","accentBlue60Hover","accentBlue80","accentColorRGB","accentColorBW","remoteStylesToCSSVars","getThemeClassNames","themeState","themeClassnames","CarbonThemeClassNames","cachedTimeZone","timestampToTimeString","timestamp","dayjs","async","getTimeZone","timeZone","Intl","DateTimeFormat","resolvedOptions","import","then","j","default","jstz","determine","catch","innerStorage","storage","getItem","setItem","removeItem","DEVICE_ID_KEY","IS_SESSION_STORAGE","window","sessionStorage","mockStorage","getOrSetDeviceID","integrationID","deviceID","newDeviceID","uuid","UUIDType","DEVICE_ID","BuiltInServiceDeskValues","Set","values","BuiltInServiceDesk","MessageRetryStatus","FETCH_PARAMETERS","method","headers","HEADER_CONTENT_TYPE","MIME_JSON","NOT_SET","API_KEY","AMPLITUDE_API_KEY","GROUP_POST_URL","IDENTIFY_POST_URL","BROWSER_DEVICE_TYPE","IS_TABLET","IS_PHONE","TrackService","serviceManager","isIdentifyEnabled","isEventEnabled","endpointPath","eventQueue","firstBatchUserProperties","getLauncherType","store","getState","public","showLauncher","pushEvent","event","sendEvents","setTimeout","eventBatch","user_properties","BROWSER_INFO","version","os","getURLHostnameAndPath","location","hostname","VERSION","fetch","body","api_key","events","identifyGroupAndUser","additionalChatParameters","accountOwnerDomain","userID","homeScreenConfig","identityToken","recentEditorDomain","initConfig","serviceInstanceIDOrNotSet","service_instance_id","serviceInstanceID","accountOwnerDomainOrNotSet","recentEditorDomainOrNotSet","trackUserID","getTrackUserID","identifyGroup","group_type","group_value","device_id","user_id","group_properties","plan","css_variables","authorization","clientVersion","loadVersion","alternate_suggestions","disableSessionHistory","agentAppConfig","getServiceDesk","hasSupportedServiceDesk","getCustomServiceDeskName","openChatByDefault","branding_config","disablePDFViewer","launcher_config","desktop","title","mobile","disclaimer","isOn","identifyGroupUrl","__ibm__","logTrackObjects","debugLog","getTrackResponseProps","isLatestWelcomeNode","isAnythingElseNode","responseTrackData","eventProps","eventName","eventDescription","isWelcomeNode","response_type","getOptionType","preference","options","optionsShown","suggestions","hasTourUserDefinedType","totalRequestTime","lastRequestTime","numErrors","track","sessionID","sessionStartedTimestamp","rest","assistantSessionID","event_type","event_properties","session_id","groups","Integration","firstUserID","trackResponse","messages","intents","trackProps","eventSystemTrack","handlers","subscriptionMethod","subscriptionEventType","asArray","handler","docsTrack","identifyUser","identifyUserUrl","serviceDeskFactory","serviceDesk","integrationType","service_desk","integration_type","has","humanAgentService","TagType","TagSize","locales","ar","de","Promise","resolve","es","nl","fr","it","ja","ko","pt","zh","languages","findSupportedKey","requestedLocale","objectType","requestedSupported","language","isSupportedLocale","keyList","loadLocale","localeKey","localeModule","enLocaleData","loadLanguagePack","providedLanguagePack","fillWithEnglish","languageKey","languageModule","enLanguagePack","handleBTag","chunks","React","createElement","handleBRTag","addHTMLSupport","br","loadDayjsLocale","previousLocale","localePack","isLoaded","formatMessage","intl","LanguagePackContext","createContext","useLanguagePack","useContext","_defineProperty","Symbol","toPrimitive","TypeError","_toPrimitive","_toPropertyKey","enumerable","configurable","writable","ownKeys","getOwnPropertySymbols","filter","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","propertyIsEnumerable","_excluded","_excluded2","defaultAttributes","focusable","preserveAspectRatio","propTypesModule","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","resetWarningCache","factoryWithThrowingShims","shim","props","propName","componentName","propFullName","secret","err","getShim","isRequired","ReactPropTypes","bigint","bool","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","require$$2","Icon","forwardRef","_ref","ref","className","children","tabIndex","xmlns","tabindex","attrs","width","height","_ref$viewBox","viewBox","attributes","iconAttributes","role","getAttributes","_path39","_path40","_path41","_path42","_path43","_path44","_path45","_path46","displayName","propTypes","ErrorFilled","_ref25","size","fill","opacity","transform","hasOwn","classNames","classes","appendClass","parseValue","newClass","module","ErrorIcon","cx","InlineError","errors_generalContent","WXO_SCRIPT_KEY","componentsPromises","loadWXOComponent","scope","scriptKey","scriptExists","container","factory","Module","lastStep","scripts","__webpack_init_sharing__","__webpack_share_scopes__","consoleLog","webpack_init_sharing","webpack_modules","__webpack_modules__","webpack_share_scopes","componentPromiseCreator","loadWXOScript","cspNonce","resolvablePromise","document","src","onerror","doReject","onload","doResolve","nonce","head","appendChild"],"mappings":"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","x_google_ignoreList":[3,5,6,10,11,12,13,14,15,16,17,18,19,27,31,32,33,34,35,36,37]}
|
|
1
|
+
{"version":3,"file":"moduleFederationPluginUtils.js","sources":["../../../../../../../../../../internal-packages/shared/utils/lang/stringUtils.ts","../../../../../../../../../../internal-packages/types/eventBusTypes.ts","../../../../../../../../../../internal-packages/shared/types/eventBusTypes.ts","../../../../../node_modules/dayjs/dayjs.min.js","../../../../../../../../../../internal-packages/shared/types/AlternateSuggestionsConfig.ts","../../../../../node_modules/reselect/es/defaultMemoize.js","../../../../../node_modules/reselect/es/index.js","../../../../../../../../../../internal-packages/shared/store/selectors.ts","../../../../../../../../../../internal-packages/shared/utils/processUtils.ts","../../../../../../../../../../internal-packages/shared/utils/alternateSuggestionsUtils.ts","../../../../../node_modules/@carbon/colors/es/index.js","../../../../../node_modules/simple-swizzle/index.js","../../../../../node_modules/simple-swizzle/node_modules/is-arrayish/index.js","../../../../../node_modules/color-string/index.js","../../../../../node_modules/color-name/index.js","../../../../../node_modules/color/node_modules/color-convert/conversions.js","../../../../../node_modules/color/node_modules/color-name/index.js","../../../../../node_modules/color/node_modules/color-convert/route.js","../../../../../node_modules/color/node_modules/color-convert/index.js","../../../../../node_modules/color/index.js","../../../../../../../../../../internal-packages/shared/utils/colors.ts","../../../../../../../../../../internal-packages/shared/utils/styleUtils.ts","../../../../../../../../../../internal-packages/shared/utils/timeUtils.ts","../../../../../../../../../../internal-packages/shared/services/mockStorage.ts","../../../../../../../../../../internal-packages/shared/services/deviceIDStorage.ts","../../../../../../../../../../internal-packages/shared/services/TrackService.ts","../../../../../../../../../../internal-packages/types/carbonTypes.ts","../../../../../node_modules/dayjs/locale/en.js","../../../../../../../../../../internal-packages/shared/utils/languages.tsx","../../../../../../../../../../internal-packages/shared/contexts/LanguagePackContext.tsx","../../../../../../../../../../internal-packages/shared/hooks/useLanguagePack.tsx","../../../../../node_modules/@carbon/icon-helpers/es/index.js","../../../../../node_modules/prop-types/index.js","../../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../../node_modules/@carbon/icons-react/es/Icon.js","../../../../../node_modules/@carbon/icons-react/es/generated/bucket-6.js","../../../../../node_modules/classnames/index.js","../../../../../../../../../../internal-packages/shared/components/ErrorIcon.tsx","../../../../../../../../../../internal-packages/shared/components/responseTypes/error/InlineError.tsx","../../../../../../../../../../internal-packages/shared/utils/moduleFederationPluginUtils.ts"],"sourcesContent":["/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * Determines if the given ID is a valid UUID. The string must consist of 32 hexadecimal characters (case does not\n * matter). Dashes are optional between each section but when present, must be in the correct location. The standard\n * UUID format has character lengths \"8-4-4-4-12\".\n *\n * @param id The ID to test.\n * @returns Returns true to indicate if the ID is a valid UUID or false otherwise.\n */\nfunction isValidUUID(id: any): boolean {\n return (\n typeof id === 'string' && id.match(/^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$/i) !== null\n );\n}\n\n/**\n * Determines if the given string is a \"empty\" string. That is a string that has no value or is the literal string\n * \"null\".\n */\nfunction isEmptyString(value: string) {\n return !value || value === 'null';\n}\n\n/**\n * Parses out the text directive from the given URL if it is present and returns the \"start\" piece from it. The format\n * of the hash is \"[prefix-,]start[,end][,-suffix]\".\n *\n * @see \"URL Fragment Text Directives\" - https://wicg.github.io/scroll-to-text-fragment/\n */\nfunction parseTextDirective(url: string) {\n if (url) {\n const parsedURL = new URL(url);\n if (parsedURL.hash?.startsWith('#:~:text=')) {\n const parameters = parsedURL.hash.split('=');\n const textFragment = parameters[1];\n if (textFragment) {\n // Strip out the prefix (*-,) and suffix (,-*).\n const startAndEnd = textFragment.replace(/(.+-,)*(.*)(,-.+)/, '$2');\n const textPieces = startAndEnd.split(',');\n\n // Only return the start text.\n const start = textPieces[0];\n if (start) {\n // Percent-decode the final result.\n return decodeURIComponent(start);\n }\n }\n }\n }\n\n return null;\n}\n\n/**\n * Attempts to parse the given value into a JSON object. If that fails, this will just return the value.\n */\nfunction tryJSONParse(data: any) {\n if (data) {\n try {\n return JSON.parse(data);\n } catch (e) {\n // Ignore.\n }\n }\n return data;\n}\n\n/**\n * Sometimes we are passed back \"null\" as a string! In that case, instead of showing \"null\" as a title or body, we\n * convert it to a real null value.\n *\n * @param str A string for the title or body of the search card.\n */\nfunction convertToEmptyStringIfStringifiedNull(str: string) {\n return str === 'null' ? null : str;\n}\n\n/**\n * Under the covers before it gets to us, a title/body may have been a stringified array. We need to remove the [\"\"]\n * if that is the case.\n *\n * @param str A string for the title or body of the search card.\n */\nfunction convertPossibleStringifiedArrayToFirstString(str: string): string {\n if (typeof str === 'string' && str.startsWith('[\"') && str.endsWith('\"]')) {\n try {\n [str] = JSON.parse(str);\n } catch (error) {\n // Not an array of strings, so do nothing.\n }\n }\n return str;\n}\n\nexport {\n isValidUUID,\n isEmptyString,\n parseTextDirective,\n tryJSONParse,\n convertToEmptyStringIfStringifiedNull,\n convertPossibleStringifiedArrayToFirstString,\n};\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This file contains the type definitions for the event bus.\n */\n\nimport {\n AgentProfile,\n GenericItem,\n MessageRequest,\n MessageResponse,\n} from 'submodules/wa-fd-types-public/wa-types-chat';\nimport { DeepPartial } from 'ts-essentials';\n\nimport { FileUpload, ViewState } from './apiTypes';\nimport { ButtonItem, Message, PartialOrCompleteItemChunk, TourStepGenericItem } from './messageTypes';\nimport { AgentsOnlineStatus } from './serviceDeskTypes';\n\nexport const enum BusEventType {\n CLOSE_PANEL_BUTTON_TOGGLED = 'closePanelButton:toggled',\n PRE_RECEIVE = 'pre:receive',\n RECEIVE = 'receive',\n PRE_SEND = 'pre:send',\n SEND = 'send',\n VIEW_PRE_CHANGE = 'view:pre:change',\n VIEW_CHANGE = 'view:change',\n MESSAGE_ITEM_CUSTOM = 'messageItemCustom',\n CUSTOM_RESPONSE = 'customResponse',\n USER_DEFINED_RESPONSE = 'userDefinedResponse',\n PROCESS_OPEN = 'process:open',\n PROCESS_CLOSE = 'process:close',\n PROCESS_CANCEL = 'process:cancel',\n HISTORY_BEGIN = 'history:begin',\n HISTORY_END = 'history:end',\n IDENTITY_EXPIRED = 'identityTokenExpired',\n PRE_RESTART_CONVERSATION = 'pre:restartConversation',\n RESTART_CONVERSATION = 'restartConversation',\n CHAT_READY = 'chat:ready',\n CUSTOM_PANEL_PRE_OPEN = 'customPanel:pre:open',\n CUSTOM_PANEL_OPEN = 'customPanel:open',\n CUSTOM_PANEL_PRE_CLOSE = 'customPanel:pre:close',\n CUSTOM_PANEL_CLOSE = 'customPanel:close',\n SESSION_EXPIRED = 'sessionExpired',\n TOUR_START = 'tour:start',\n TOUR_END = 'tour:end',\n TOUR_STEP = 'tour:step',\n\n /**\n * This event is fired before web chat processes a message received from a human agent from a service desk.\n */\n AGENT_PRE_RECEIVE = 'agent:pre:receive',\n\n /**\n * This event is fired after web chat processes a message received from a human agent from a service desk.\n */\n AGENT_RECEIVE = 'agent:receive',\n\n /**\n * This event is fired before web chat sends a message to a human agent from a service desk.\n */\n AGENT_PRE_SEND = 'agent:pre:send',\n\n /**\n * This event is fired after web chat sends a message to a human agent from a service desk.\n */\n AGENT_SEND = 'agent:send',\n\n /**\n * This event is fired before a chat with a service desk has started. This occurs as soon as the user clicks the\n * \"Request agent\" button and before any attempt is made to communicate with the service desk.\n */\n AGENT_PRE_START_CHAT = 'agent:pre:startChat',\n\n /**\n * This event is fired before a chat with an agent is ended. This occurs after the user has selected \"Yes\" from the\n * confirmation modal but it can also be fired if the chat is ended by the agent. Note that this is not fired if a\n * request for an agent is cancelled. The agent:endChat event however is fired in that case.\n */\n AGENT_PRE_END_CHAT = 'agent:pre:endChat',\n\n /**\n * This event is fired after a chat with an agent has ended. This is fired after {@link AGENT_PRE_END_CHAT} but\n * can be fired both from the user leaving the chat or the agent ending the chat.\n */\n AGENT_END_CHAT = 'agent:endChat',\n\n /**\n * This event is fired after web chat calls \"areAnyAgentsOnline\" for a service desk. It will report the value returned\n * from that call. This is particularly useful if some custom code wants to take action if no agents are online.\n */\n AGENT_ARE_ANY_AGENTS_ONLINE = 'agent:areAnyAgentsOnline',\n\n /**\n * This event is fired before a message between the user and a live agent is added to session history. It allows\n * the customer to modify the message in order to do things like remove PII from being stored by IBM watsonx\n * Assistant.\n */\n AGENT_PRE_SESSION_HISTORY = 'agent:pre:sessionHistory',\n\n GENESYS_MESSENGER_AUTH_PROVIDER = 'agent:genesysMessenger:AuthProvider',\n GENESYS_MESSENGER_GET_AUTH_CODE = 'agent:genesysMessenger:getAuthCode',\n GENESYS_MESSENGER_REAUTHENTICATE = 'agent:genesysMessenger:reAuthenticate',\n GENESYS_MESSENGER_LOGGED_OUT = 'agent:genesysMessenger:loggedOut',\n GENESYS_MESSENGER_AUTH_ERROR = 'agent:genesysMessenger:authError',\n NICE_DFO_GET_AUTH_CODE = 'agent:niceDFO:getAuthCode',\n\n CHUNK_USER_DEFINED_RESPONSE = 'chunk:userDefinedResponse',\n\n ALL_EVENTS = '*',\n}\n\n/**\n * The possible reasons why the view may be changed.\n */\nexport enum ViewChangeReason {\n /**\n * Indicates the web chat has loaded for the first time and a view is trying to open. If {@link openChatByDefault} is\n * true then the main window will be trying to open, otherwise the launcher will be trying to open.\n */\n WEB_CHAT_LOADED = 'webChatLoaded',\n\n /**\n * Indicates the user clicked on our built-in launcher button that opened either a tour or the main window.\n */\n LAUNCHER_CLICKED = 'launcherClicked',\n\n /**\n * Indicates the view is trying to change after loading session history.\n */\n SESSION_HISTORY = 'sessionHistory',\n\n /**\n * Indicates the main window was opened by a call to {@link ChatInstance.openWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_OPEN_WINDOW = 'calledOpenWindow',\n\n /**\n * Indicates the main window was opened because a link ID was found that started a specific conversation.\n */\n LINK_ID = 'linkID',\n\n /**\n * Indicates the main window was opened from a tour.\n */\n TOUR_OPENED_OTHER_VIEW = 'tourOpenedOtherView',\n\n /**\n * Indicates the {@link ChatInstance.restartConversation} method was used while a tour was visible.\n */\n CALLED_RESTART_CONVERSATION = 'calledRestartConversation',\n\n /**\n * Indicates the main window is being opened as a result of a channel transfer.\n */\n CHANNEL_TRANSFER = 'channelTransfer',\n\n /**\n * Indicates the user clicked on our built-in minimize button that closed to either the launcher or a tour.\n */\n MAIN_WINDOW_MINIMIZED = 'mainWindowMinimized',\n\n /**\n * Indicates the main window was closed by a call to {@link ChatInstance.closeWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_CLOSE_WINDOW = 'calledCloseWindow',\n\n /**\n * Indicates a tour was started by the start tour button in the main window.\n */\n TOUR_CARD_STARTED_TOUR = 'tourCardStartedTour',\n\n /**\n * Indicates a tour was resumed by the resume button in the main window.\n */\n TOUR_CARD_RESUMED_TOUR = 'tourCardResumedTour',\n\n /**\n * Indicates a tour was restarted by the restart button in the main window.\n */\n TOUR_CARD_RESTARTED_TOUR = 'tourCardRestartedTour',\n\n /**\n * Indicates a tour was started by the {@link startTour} instance method.\n */\n CALLED_START_TOUR = 'calledStartTour',\n\n /**\n * Indicates a tour was started by a tour response type that included the 'skip_card' flag.\n */\n TOUR_SKIP_CARD = 'tourSkipCard',\n\n /**\n * Indicates the user clicked the close and restart button that minimized to the launcher.\n */\n MAIN_WINDOW_CLOSED_AND_RESTARTED = 'mainWindowClosedAndRestarted',\n\n /**\n * Indicates the user clicked on the minimize button within the tour to close to the launcher.\n */\n TOUR_MINIMIZED = 'tourMinimized',\n\n /**\n * Indicates the close button was used to close a tour.\n */\n TOUR_CLOSED = 'tourClosed',\n\n /**\n * Indicates the done button was used to close a tour.\n */\n TOUR_DONE = 'tourDone',\n\n /**\n * Indicates the view was changed by a call to {@link ChatInstance.changeView}.\n */\n CALLED_CHANGE_VIEW = 'calledChangeView',\n\n /**\n * Indicates the {@link ChatInstance.tours.endTour} method was used to close a tour.\n */\n CALLED_END_TOUR = 'calledEndTour',\n}\n\n/**\n * The different sources that can cause a send event to occur.\n */\nexport enum MessageSendSource {\n /**\n * The user has entered a value from the main input on the message list.\n */\n MESSAGE_INPUT = 'messageInput',\n\n /**\n * The user has entered a value from the input on the home screen.\n */\n HOME_SCREEN_INPUT = 'homeScreenInput',\n\n /**\n * The user clicked a button from an option response.\n */\n OPTION_BUTTON = 'optionButton',\n\n /**\n * The user selected a value from a dropdown for an option response.\n */\n OPTION_DROP_DOWN = 'optionDropDown',\n\n /**\n * The automatic follow-up message that occurs after a skip-user-input response.\n */\n SKIP_USER_INPUT = 'skipUserInput',\n\n /**\n * The message was sent as an automatic re-send when web chat is loaded. This occurs when web chat sees that the\n * last message request did not receive a response.\n */\n HYDRATE_RESEND = 'hydrateResend',\n\n /**\n * The message was sent as an event history update.\n */\n HISTORY_UPDATE = 'historyUpdate',\n\n /**\n * An external call to the public \"instance.send\" method was made.\n */\n INSTANCE_SEND = 'instanceSend',\n\n /**\n * The user chose a value from the date picker.\n */\n DATE_PICKER = 'datePicker',\n\n /**\n * The user clicked a post back button from a button response.\n */\n POST_BACK_BUTTON = 'postBackButton',\n\n /**\n * A link ID was detected on the page and an automatic \"welcome request\" was sent.\n */\n LINK_ID = 'linkID',\n\n /**\n * The user clicked a starter from the home screen.\n */\n HOME_SCREEN_STARTER = 'homeScreenStarter',\n\n /**\n * The user made a choice from a disambiguation response.\n */\n DISAMBIGUATION = 'disambiguation',\n\n /**\n * The startTour method has called.\n */\n START_TOUR_METHOD = 'startTourMethod',\n\n /**\n * A default request for the welcome message was made.\n */\n WELCOME_REQUEST = 'welcomeRequest',\n\n /**\n * This is used for message events.\n */\n EVENT = 'event',\n\n /**\n * Some other source.\n */\n OTHER = 'other',\n\n /**\n * The user chose an alternate response message from the suggestions menu.\n */\n SUGGESTIONS_MESSAGE = 'suggestionsMessage',\n\n /**\n * The user chose a home screen starter from the suggestions menu.\n */\n SUGGESTIONS_STARTER = 'suggestionsStarter',\n\n /**\n * The user chose the contact option from the suggestions menu.\n */\n SUGGESTIONS_CONTACT = 'suggestionsContact',\n\n /**\n * A 3rd strike occurred and an automatic suggestions contact message was sent.\n */\n SUGGESTIONS_3RD_STRIKE = 'suggestions3rdStrike',\n}\n\n/**\n * The possible reasons why a tour could be started. Purposefully not firing this event when the restart button is\n * clicked.\n */\nexport enum TourStartReason {\n /**\n * If the {@link startTour} instance method was used to start the tour.\n */\n START_TOUR_METHOD = 'start_tour_method',\n\n /**\n * If the skip_card property was true within the tour json.\n */\n SKIP_CARD = 'skip_card',\n\n /**\n * If the user clicked the tour card's start button.\n */\n START_TOUR_CLICKED = 'start_tour_clicked',\n}\n\n/**\n * The possible reasons why a tour could have ended. Purposefully not firing this event when the close button is clicked\n * or the {@link endTour} instance method is used.\n */\nexport enum TourEndReason {\n /**\n * If the user clicked the done button.\n */\n DONE_CLICKED = 'done_clicked',\n}\n\n// The discriminating union of all the possible bus event types.\nexport interface BusEvent {\n /**\n * The type of this event.\n */\n type: BusEventType;\n}\n\nexport type BusEventWithElement = BusEventCustomizationResponseLeft | BusEventCustomizationRequestLeft;\n\n/**\n * This event is for the\n */\nexport interface BusEventClosePanelButtonClicked extends BusEvent {\n type: BusEventType.CLOSE_PANEL_BUTTON_TOGGLED;\n}\n\nexport interface BusEventPreReceive extends BusEvent {\n type: BusEventType.PRE_RECEIVE;\n data: MessageResponse;\n\n /**\n * Defaulted to true. If true then changes made to the message object in pre:receive will be saved in the session\n * history for the length of the session. If the changes are saved then the message will look the same to the end user\n * before and after page change/reload as long as the session history feature is enabled. If updateHistory is false\n * the changes will not be saved in the history. While the message will still initially update successfully if this is\n * false, the changes won't be preserved and the end user will see the original message (that was received before the\n * pre:receive changes) when a page change/reload occurs.\n */\n updateHistory: boolean;\n}\n\nexport interface BusEventReceive extends BusEvent {\n type: BusEventType.RECEIVE;\n data: MessageResponse;\n}\n\nexport interface BusEventPreSend extends BusEvent {\n type: BusEventType.PRE_SEND;\n data: MessageRequest;\n\n /**\n * The source of the message being sent.\n */\n source: MessageSendSource;\n\n /**\n * An optional payload object that was provided as part of the \"onBeforeSend\" callback from an input field.\n */\n beforeSendPayload?: unknown;\n}\n\nexport interface BusEventSend extends BusEvent {\n type: BusEventType.SEND;\n data: MessageRequest;\n\n /**\n * The source of the message being sent.\n */\n source: MessageSendSource;\n\n /**\n * An optional payload object that was provided as part of the \"onBeforeSend\" callback from an input field.\n */\n beforeSendPayload?: unknown;\n}\n\nexport interface BusEventAgentPreReceive extends BusEvent {\n type: BusEventType.AGENT_PRE_RECEIVE;\n data: MessageResponse;\n agentProfile?: AgentProfile;\n}\n\nexport interface BusEventAgentReceive extends BusEvent {\n type: BusEventType.AGENT_RECEIVE;\n data: MessageResponse;\n agentProfile?: AgentProfile;\n}\n\nexport interface BusEventAgentPreSend extends BusEvent {\n type: BusEventType.AGENT_PRE_SEND;\n data: MessageRequest;\n files: FileUpload[];\n}\n\nexport interface BusEventAgentSend extends BusEvent {\n type: BusEventType.AGENT_SEND;\n data: MessageRequest;\n files: FileUpload[];\n}\n\nexport interface BusEventViewPreChange extends BusEvent {\n type: BusEventType.VIEW_PRE_CHANGE;\n\n /**\n * The reason the view is changing.\n */\n reason: ViewChangeReason;\n\n /**\n * The previous view state before this event.\n */\n oldViewState: ViewState;\n\n /**\n * The new view state that web chat is going to switch to. This new state can be changed by the event handler.\n */\n newViewState: ViewState;\n\n /**\n * This is used by the event handler to indicate that the view change should be cancelled and web chat's view should\n * not be changed.\n */\n cancelViewChange: boolean;\n}\n\nexport interface BusEventViewChange extends BusEvent {\n type: BusEventType.VIEW_CHANGE;\n\n /**\n * The reason the view is changing.\n */\n reason: ViewChangeReason;\n\n /**\n * The previous view state from before the view:pre:change event.\n */\n oldViewState: ViewState;\n\n /**\n * The new view state that web chat has switched to. This new state can be changed by the event handler.\n */\n newViewState: ViewState;\n\n /**\n * This is used by the event handler to indicate that the view change should be cancelled and web chat's view should\n * not be changed. Since the view has already changed when this event is fired, this property will cause the view to\n * change back. Note that the view change events are *not* fired when the view changes back.\n */\n cancelViewChange: boolean;\n}\n\nexport interface BusEventReset extends BusEvent {\n type: BusEventType.RESTART_CONVERSATION;\n}\n\nexport interface BusEventChatReady extends BusEvent {\n type: BusEventType.CHAT_READY;\n}\n\nexport interface BusEventPreReset extends BusEvent {\n type: BusEventType.PRE_RESTART_CONVERSATION;\n}\n\n/**\n * A list of custom event types that can trigger a custom event.\n */\nexport enum CustomEventType {\n BUTTON_ITEM_CLICKED = 'buttonItemClicked',\n}\n\n/**\n * This describes a custom event that can be authored with the button response type of type \"option\". When clicked,\n * this event will fire and provide information authored in the custom event.\n */\nexport interface BusEventMessageItemCustom extends BusEvent {\n type: BusEventType.MESSAGE_ITEM_CUSTOM;\n\n /**\n * The event type that triggered the custom event.\n */\n customEventType: CustomEventType;\n\n /**\n * The button item that triggered this custom event.\n */\n messageItem: ButtonItem;\n\n /**\n * The full message response that contained the button item that triggered this custom event.\n */\n fullMessage: MessageResponse;\n}\n\nexport interface BusEventUserDefinedResponse extends BusEvent {\n type: BusEventType.USER_DEFINED_RESPONSE;\n data: {\n /**\n * The individual message item that is being displayed in this custom response.\n */\n message: GenericItem;\n\n /**\n * The full message (response or request) that contains the message item.\n */\n fullMessage: Message;\n\n /**\n * The element to which customers can add the custom code to render for the custom response.\n */\n element?: HTMLElement;\n\n /**\n * An assignable property that the event listener can assign that will indicate if the response is supposed to\n * be full width.\n */\n fullWidth?: boolean;\n };\n}\n\nexport interface BusEventChunkUserDefinedResponse extends BusEvent {\n type: BusEventType.CHUNK_USER_DEFINED_RESPONSE;\n data: {\n /**\n * The individual message item that is being displayed in this custom response.\n */\n messageItem: DeepPartial<GenericItem>;\n\n /**\n * The full chunk that contained the user defined response.\n */\n chunk: PartialOrCompleteItemChunk;\n\n /**\n * The element to which customers can add the custom code to render for the custom response.\n */\n element?: HTMLElement;\n\n /**\n * An assignable property that the event listener can assign that will indicate if the response is supposed to\n * be full width.\n */\n fullWidth?: boolean;\n };\n}\n\nexport interface BusEventCustomResponse extends Omit<BusEventUserDefinedResponse, 'type'> {\n type: BusEventType.CUSTOM_RESPONSE;\n}\n\nexport interface BusEventProcessOpen extends BusEvent {\n type: BusEventType.PROCESS_OPEN;\n}\n\nexport interface BusEventProcessClose extends BusEvent {\n type: BusEventType.PROCESS_CLOSE;\n}\n\nexport interface BusEventProcessCancel extends BusEvent {\n type: BusEventType.PROCESS_CANCEL;\n}\n\nexport interface BusEventIdentityExpired extends BusEvent {\n type: BusEventType.IDENTITY_EXPIRED;\n\n /**\n * JWT string that is expected to be updated when this event is fired with a new identityToken.\n */\n identityToken: string;\n}\n\n/**\n * The event is fired whenever the widget begins processing a list of messages that have been loaded from history.\n * This event may be fired not only when the history is first loaded but it may be fired later during the life of\n * the widget if additional messages are loaded from history.\n *\n * This event is fired when this process begins. This is fired before all the \"pre:receive\" and \"receive\" events are\n * fired which means that the messages here are the original messages before any possible modifications by the event\n * handlers.\n */\nexport interface BusEventHistoryBegin extends BusEvent {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.HISTORY_BEGIN;\n\n /**\n * The list of all the messages that are being loaded by this history event.\n */\n messages: Message[];\n}\n\n/**\n * The event is fired whenever the widget begins processing a list of messages that have been loaded from history.\n * This event may be fired not only when the history is first loaded but it may be fired later during the life of\n * the widget if additional messages are loaded from history.\n *\n * This event is fired when this process ends. This is fired after all the \"pre:receive\" and \"receive\" events are\n * fired which means that the messages here are the potentially modified messages after any possible modifications\n * by the event handlers.\n */\nexport interface BusEventHistoryEnd extends BusEvent {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.HISTORY_END;\n\n /**\n * The list of all the messages that were loaded by this history event.\n */\n messages: Message[];\n}\n\n/**\n * This is the base event for a customization event that is fired for messages in the web chat.\n */\nexport interface BaseBusEventCustomizationMessage {\n /**\n * The element to the left of the message where the custom content can be attached.\n */\n element: HTMLElement;\n\n /**\n * The individual message item that is being rendered. For a message response, this will be one of the values\n * from the message generic array. For a message request, this will be the message input.\n */\n messageItem: GenericItem;\n\n /**\n * The message response the given message item belongs to.\n */\n message: Message;\n\n /**\n * This is a callback function that can be used to change the z-index of this message item.\n */\n setItemZIndex: (zIndex: number) => void;\n}\n\n/**\n * This event is fired when UI customization events are enabled and a message item for a message response is\n * mounted. This event will contain an element on the left side of the message where custom content can be inserted.\n */\nexport interface BusEventCustomizationResponseLeft extends BusEvent, BaseBusEventCustomizationMessage {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.CUSTOMIZATION_RESPONSE_LEFT;\n}\n\n/**\n * This event is fired when UI customization events are enabled and a message item for a message request is\n * mounted. This event will contain an element on the left side of the message where custom content can be inserted.\n */\nexport interface BusEventCustomizationRequestLeft extends BusEvent, BaseBusEventCustomizationMessage {\n /**\n * The discriminating type of this event.\n */\n type: BusEventType.CUSTOMIZATION_REQUEST_LEFT;\n}\n\n/**\n * The catch-all event that covers the firing of all the other events.\n */\nexport interface BusEventAllEvents extends BusEvent {\n type: BusEventType.ALL_EVENTS;\n [key: string]: any;\n}\n\nexport interface BusEventCustomPanelPreOpen extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_PRE_OPEN;\n}\n\nexport interface BusEventCustomPanelOpen extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_OPEN;\n}\n\nexport interface BusEventCustomPanelPreClose extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_PRE_CLOSE;\n}\n\nexport interface BusEventCustomPanelClose extends BusEvent {\n type: BusEventType.CUSTOM_PANEL_CLOSE;\n}\n\n/**\n * Fired when a tour is started. The tour could be started upon receipt of a tour message with skip_card true, when a\n * developer used the {@link startTour} instance method, or when the start tour card is clicked by the user.\n * Purposefully not firing this event when the restart button is clicked.\n */\nexport interface BusEventTourStart extends BusEvent {\n type: BusEventType.TOUR_START;\n\n /**\n * The reason for the tour starting.\n */\n reason: TourStartReason;\n}\n\n/**\n * Fired when the tour is ended by clicking the done button at the end of the tour. Purposefully not firing this event\n * when the close button is clicked or the {@link endTour} instance method is used.\n */\nexport interface BusEventTourEnd extends BusEvent {\n type: BusEventType.TOUR_END;\n\n /**\n * The reason for the tour ending.\n */\n reason: TourEndReason;\n}\n\n/**\n * Fired when a new step is shown to the user. This could be caused by a tour starting/restarting, the user clicking the\n * next or previous buttons within the tour, or by a developer calling the {@link goToNextStep} or {@link goToStep}\n * instance methods. Purposefully not firing this event when a tour is resumed.\n */\nexport interface BusEventTourStep extends BusEvent {\n type: BusEventType.TOUR_STEP;\n\n /**\n * The details of the new step item.\n */\n step: TourStepGenericItem;\n}\n\n/**\n * This event is fired before the user is connected to a service desk. This occurs as soon as the user clicks the\n * \"Request agent\" button and before any attempt is made to communicate with the service desk.\n */\nexport interface BusEventAgentPreStartChat<TPayloadType = unknown> extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_PRE_START_CHAT;\n\n /**\n * The message that was used to trigger the connection to the agent.\n */\n message: MessageResponse;\n\n /**\n * This flag can be set by a listener to indicate that the connection process should be cancelled.\n */\n cancelStartChat?: boolean;\n\n /**\n * Some arbitrary payload of data that will be passed to the service desk when a chat is started.\n */\n preStartChatPayload?: TPayloadType;\n\n /**\n * The key that can be provided for the agent app configuration to load an agent app version of web chat.\n */\n sessionHistoryKey: string;\n}\n\n/**\n * This event is fired before a chat with an agent is ended. This occurs after the user has selected \"Yes\" from the\n * confirmation modal but it can also be fired if the chat is ended by the agent.\n */\nexport interface BusEventAgentPreEndChat<TPayloadType = unknown> extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_PRE_END_CHAT;\n\n /**\n * Indicates if the chat was ended by the agent.\n */\n endedByAgent: boolean;\n\n /**\n * An arbitrary payload object that a listener may set. This payload will be passed to the service desk\n * {@link ServiceDesk#endChat} function.\n */\n preEndChatPayload: TPayloadType;\n\n /**\n * This value may be set by a listener to indicate that the process of ending the chat should be cancelled.\n */\n cancelEndChat: boolean;\n}\n\n/**\n * This event is fired after a chat with an agent has ended. This is fired after {@link AGENT_PRE_END_CHAT} but\n * can be fired both from the user leaving the chat or the agent ending the chat.\n */\nexport interface BusEventAgentEndChat extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_END_CHAT;\n\n /**\n * Indicates if the chat was ended by the agent.\n */\n endedByAgent: boolean;\n\n /**\n * Indicates if the chat was ended because the request for an agent was cancelled or an error occurred while\n * starting the chat. This means the start never fully started.\n */\n requestCancelled: boolean;\n}\n\n/**\n * This event is fired after web chat calls \"areAnyAgentsOnline\" for a service desk. It will report the value returned\n * from that call. This is particularly useful if some custom code wants to take action if no agents are online.\n */\nexport interface BusEventAgentAreAnyAgentsOnline extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_ARE_ANY_AGENTS_ONLINE;\n\n /**\n * The result that was returned from \"areAnyAgentsOnline\". If an error occurred, this will be\n * {@link AgentsOnlineStatus.OFFLINE}.\n */\n areAnyAgentsOnline: AgentsOnlineStatus;\n}\n\n/**\n * This event is fired before a message from a live agent or the user (to an agent) is added to session history. It\n * gives the customer the opportunity to filter out PII from the messages so they are not stored by IBM watsonx\n * Assistant.\n */\nexport interface BusEventAgentPreSessionHistory extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.AGENT_PRE_SESSION_HISTORY;\n\n /**\n * The message that is to be saved in session history.\n */\n message: MessageRequest | MessageResponse;\n}\n\nexport interface BusEventGenesysMessengerAuthProvider extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_AUTH_PROVIDER;\n\n /**\n * The AuthProvider plugin that was created.\n */\n authProvider: unknown;\n}\n\nexport interface BusEventGenesysMessengerGetAuthCode extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_GET_AUTH_CODE;\n\n /**\n * The event provided by Genesys.\n */\n genesysEvent: unknown;\n}\n\nexport interface BusEventGenesysMessengerAuthError extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_AUTH_ERROR;\n\n /**\n * The error provided by Genesys.\n */\n genesysError: unknown;\n}\n\nexport interface BusEventGenesysMessengerLoggedOut extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_LOGGED_OUT;\n\n /**\n * The event provided by Genesys.\n */\n genesysEvent: unknown;\n}\n\nexport interface BusEventGenesysMessengerReauthenticate extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.GENESYS_MESSENGER_REAUTHENTICATE;\n\n /**\n * The event provided by Genesys.\n */\n genesysEvent: unknown;\n}\n\nexport interface BusEventNiceDFOGetAuthCode extends BusEvent {\n /**\n * The type of the event.\n */\n type: BusEventType.NICE_DFO_GET_AUTH_CODE;\n\n /**\n * The authentication code set by the event handler. This code will be provided to Nice.\n */\n authCode: string;\n\n /**\n * The visitor ID code set by the event handler. This code will be provided to Nice.\n */\n visitorID?: string;\n}\n\nexport interface BusEventSessionExpired extends BusEvent {\n type: BusEventType.SESSION_EXPIRED;\n session: {\n id: string;\n };\n}\n\ndeclare module 'submodules/wa-fd-types-public/agent-events-types' {\n export interface AgentProfile {\n /**\n * Indicates if the agent's profile information should be hidden. This will hide the entire avatar line\n * including the agent name, avatar and timestamp.\n */\n hidden?: boolean;\n }\n}\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport type { EventBusHandler, TypeAndHandler } from 'internal-packages/types/ChatInstance';\nimport {\n type BaseBusEventCustomizationMessage,\n type BusEvent,\n type BusEventAgentAreAnyAgentsOnline,\n type BusEventAgentEndChat,\n type BusEventAgentPreEndChat,\n type BusEventAgentPreReceive,\n type BusEventAgentPreSend,\n type BusEventAgentPreSessionHistory,\n type BusEventAgentPreStartChat,\n type BusEventAgentReceive,\n type BusEventAgentSend,\n type BusEventAllEvents,\n type BusEventChatReady,\n type BusEventChunkUserDefinedResponse,\n type BusEventClosePanelButtonClicked,\n type BusEventCustomizationRequestLeft,\n type BusEventCustomizationResponseLeft,\n type BusEventCustomPanelClose,\n type BusEventCustomPanelOpen,\n type BusEventCustomPanelPreClose,\n type BusEventCustomPanelPreOpen,\n type BusEventCustomResponse,\n type BusEventGenesysMessengerAuthError,\n type BusEventGenesysMessengerAuthProvider,\n type BusEventGenesysMessengerGetAuthCode,\n type BusEventGenesysMessengerLoggedOut,\n type BusEventGenesysMessengerReauthenticate,\n type BusEventHistoryBegin,\n type BusEventHistoryEnd,\n type BusEventIdentityExpired,\n type BusEventMessageItemCustom,\n type BusEventNiceDFOGetAuthCode,\n type BusEventPreReceive,\n type BusEventPreReset,\n type BusEventPreSend,\n type BusEventProcessCancel,\n type BusEventProcessClose,\n type BusEventProcessOpen,\n type BusEventReceive,\n type BusEventReset,\n type BusEventSend,\n type BusEventSessionExpired,\n type BusEventTourEnd,\n type BusEventTourStart,\n type BusEventTourStep,\n BusEventType,\n type BusEventUserDefinedResponse,\n type BusEventViewChange,\n type BusEventViewPreChange,\n type BusEventWithElement,\n CustomEventType,\n MessageSendSource,\n TourEndReason,\n TourStartReason,\n ViewChangeReason,\n} from 'internal-packages/types/eventBusTypes';\n\ndeclare module 'internal-packages/types/eventBusTypes' {\n const enum BusEventType {\n WINDOW_PRE_OPEN = 'window:pre:open',\n WINDOW_OPEN = 'window:open',\n WINDOW_PRE_CLOSE = 'window:pre:close',\n WINDOW_CLOSE = 'window:close',\n CUSTOMIZATION_RESPONSE_LEFT = 'customization:message:response:item:left',\n CUSTOMIZATION_REQUEST_LEFT = 'customization:message:request:item:left',\n }\n}\n\nexport interface BusEventWindowPreClose extends BusEvent {\n type: BusEventType.WINDOW_PRE_CLOSE;\n\n /**\n * The reason for the main window being closed.\n */\n reason: MainWindowCloseReason;\n\n /**\n * This is used by the event handler to indicate that the close should be cancelled and web chat should remain open.\n */\n cancelClose: boolean;\n}\n\nexport interface BusEventWindowPreOpen extends BusEvent {\n type: BusEventType.WINDOW_PRE_OPEN;\n\n /**\n * The reason for the main window being opened.\n */\n reason: MainWindowOpenReason;\n\n /**\n * This is used by the event handler to indicate that the open should be cancelled and web chat should remain closed.\n */\n cancelOpen: boolean;\n}\n\nexport interface BusEventWindowOpen extends BusEvent {\n type: BusEventType.WINDOW_OPEN;\n\n /**\n * The reason for the main window being opened.\n */\n reason: MainWindowOpenReason;\n\n /**\n * This is used by the event handler to indicate that the open should be cancelled and web chat should remain\n * closed. Since the window is already open when this event is fired, this property will cause the window to\n * close. Note that the window close events are *not* fired when this occurs.\n */\n cancelOpen: boolean;\n}\n\nexport interface BusEventWindowClose extends BusEvent {\n type: BusEventType.WINDOW_CLOSE;\n\n /**\n * The reason for the main window being closed.\n */\n reason: MainWindowCloseReason;\n}\n\nexport type UICustomizationEventType =\n | BusEventType.CUSTOMIZATION_RESPONSE_LEFT\n | BusEventType.CUSTOMIZATION_REQUEST_LEFT;\n\n/**\n * The possible reasons why the chat window may be opened.\n */\nexport enum MainWindowOpenReason {\n /**\n * Indicates the user clicked on our built-in launcher button that opened the main window.\n */\n DEFAULT_LAUNCHER = 'default_launcher',\n\n /**\n * Indicates the main window was opened because {@link PublicConfig.openChatByDefault} was set to true.\n */\n OPEN_BY_DEFAULT = 'open_by_default',\n\n /**\n * Indicates the main window was opened as a result of session history.\n */\n SESSION_HISTORY = 'session_history',\n\n /**\n * Indicates the main window was opened by a call to {@link ChatInstance.openWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_OPEN_WINDOW = 'called_open_window',\n\n /**\n * Indicates the main window was opened because a link ID was found that started a specific conversation.\n */\n LINK = 'link',\n\n /**\n * Indicates the main window was opened from a tour.\n *\n * @deprecated This reason is unclear so it's no longer being used. window:open events that used this reason will now\n * use the {@link TOUR_OPENED_OTHER_VIEW} reason instead. Since this reason was only added for beta tours we're\n * ok with removing it without a major release.\n */\n FROM_TOUR = 'from_tour',\n\n /**\n * Indicates the main window was opened from a tour.\n */\n TOUR_OPENED_OTHER_VIEW = 'tour_opened_other_view',\n\n /**\n * Indicates the {@link ChatInstance.restartConversation} method was used while a tour was visible.\n */\n CALLED_RESTART_CONVERSATION = 'called_restart_conversation',\n\n /**\n * Indicates the main window is being opened as a result of a channel transfer.\n */\n CHANNEL_TRANSFER = 'channel_transfer',\n}\n\n/**\n * The possible reasons why the chat window may be closed.\n */\nexport enum MainWindowCloseReason {\n /**\n * Indicates the user clicked on our built-in minimize button that closed to the launcher.\n */\n DEFAULT_MINIMIZE = 'default_minimize',\n\n /**\n * Indicates the main window was closed by a call to {@link ChatInstance.closeWindow} or\n * {@link ChatInstance.toggleOpen}.\n */\n CALLED_CLOSE_WINDOW = 'called_close_window',\n\n /**\n * Indicates the main window was closed to open a tour. This either happens when a tour is started from a TourCard, or\n * when the main window is closed with the minimize button, or the {@link ChatInstance.closeWindow}\n * function, and there's an active tour to be shown.\n *\n * @deprecated This reason is unclear and was being used for many different scenarios so it's been removed.\n * window:close events that used this reason now use one of the following reasons; {@link TOUR_CARD_STARTED_TOUR},\n * {@link TOUR_CARD_RESUMED_TOUR}, {@link TOUR_CARD_RESTARTED_TOUR}, {@link CALLED_START_TOUR}, and\n * {@link TOUR_SKIP_CARD}. Since this reason was only added for beta tours we're ok with removing it without a major\n * release.\n */\n OPEN_TOUR = 'open_tour',\n\n /**\n * Indicates a tour was started by the start tour button in the main window.\n */\n TOUR_CARD_STARTED_TOUR = 'tour_card_started_tour',\n\n /**\n * Indicates a tour was resumed by the resume button in the main window.\n */\n TOUR_CARD_RESUMED_TOUR = 'tour_card_resumed_tour',\n\n /**\n * Indicates a tour was restarted by the restart button in the main window.\n */\n TOUR_CARD_RESTARTED_TOUR = 'tour_card_restarted_tour',\n\n /**\n * Indicates a tour was started by the {@link startTour} instance method.\n */\n CALLED_START_TOUR = 'called_start_tour',\n\n /**\n * Indicates a tour was started by a tour response type that included the 'skip_card' flag.\n */\n TOUR_SKIP_CARD = 'tour_skip_card',\n\n /**\n * Indicates the user clicked the close and restart button that minimized to the launcher.\n */\n MAIN_WINDOW_CLOSED_AND_RESTARTED = 'main_window_closed_and_restarted',\n}\n\n/**\n * A map from the old {@link MainWindowOpenReason}s to the new {@link ViewChangeReason}s.\n */\nexport const OpenReasonsToViewReasons = new Map([\n [MainWindowOpenReason.CALLED_OPEN_WINDOW, ViewChangeReason.CALLED_OPEN_WINDOW],\n [MainWindowOpenReason.DEFAULT_LAUNCHER, ViewChangeReason.LAUNCHER_CLICKED],\n [MainWindowOpenReason.LINK, ViewChangeReason.LINK_ID],\n [MainWindowOpenReason.OPEN_BY_DEFAULT, ViewChangeReason.WEB_CHAT_LOADED],\n [MainWindowOpenReason.SESSION_HISTORY, ViewChangeReason.SESSION_HISTORY],\n [MainWindowOpenReason.TOUR_OPENED_OTHER_VIEW, ViewChangeReason.TOUR_OPENED_OTHER_VIEW],\n [MainWindowOpenReason.CALLED_RESTART_CONVERSATION, ViewChangeReason.CALLED_RESTART_CONVERSATION],\n [MainWindowOpenReason.CHANNEL_TRANSFER, ViewChangeReason.CHANNEL_TRANSFER],\n]);\n\n/**\n * A map from the old {@link MainWindowCloseReason}s to the new {@link ViewChangeReason}s.\n */\nexport const CloseReasonsToViewReasons = new Map([\n [MainWindowCloseReason.CALLED_CLOSE_WINDOW, ViewChangeReason.CALLED_CLOSE_WINDOW],\n [MainWindowCloseReason.DEFAULT_MINIMIZE, ViewChangeReason.MAIN_WINDOW_MINIMIZED],\n [MainWindowCloseReason.TOUR_CARD_STARTED_TOUR, ViewChangeReason.TOUR_CARD_STARTED_TOUR],\n [MainWindowCloseReason.TOUR_CARD_RESUMED_TOUR, ViewChangeReason.TOUR_CARD_RESUMED_TOUR],\n [MainWindowCloseReason.TOUR_CARD_RESTARTED_TOUR, ViewChangeReason.TOUR_CARD_RESTARTED_TOUR],\n [MainWindowCloseReason.CALLED_START_TOUR, ViewChangeReason.CALLED_START_TOUR],\n [MainWindowCloseReason.TOUR_SKIP_CARD, ViewChangeReason.TOUR_SKIP_CARD],\n [MainWindowCloseReason.MAIN_WINDOW_CLOSED_AND_RESTARTED, ViewChangeReason.MAIN_WINDOW_CLOSED_AND_RESTARTED],\n]);\n\nexport {\n BaseBusEventCustomizationMessage,\n BusEvent,\n BusEventAgentAreAnyAgentsOnline,\n BusEventAgentEndChat,\n BusEventAgentPreEndChat,\n BusEventAgentPreReceive,\n BusEventAgentPreSend,\n BusEventAgentPreSessionHistory,\n BusEventAgentPreStartChat,\n BusEventAgentReceive,\n BusEventAgentSend,\n BusEventAllEvents,\n BusEventChatReady,\n BusEventChunkUserDefinedResponse,\n BusEventClosePanelButtonClicked,\n BusEventCustomizationRequestLeft,\n BusEventCustomizationResponseLeft,\n BusEventCustomPanelClose,\n BusEventCustomPanelOpen,\n BusEventCustomPanelPreClose,\n BusEventCustomPanelPreOpen,\n BusEventCustomResponse,\n BusEventGenesysMessengerAuthError,\n BusEventGenesysMessengerAuthProvider,\n BusEventGenesysMessengerGetAuthCode,\n BusEventGenesysMessengerLoggedOut,\n BusEventGenesysMessengerReauthenticate,\n BusEventHistoryBegin,\n BusEventHistoryEnd,\n BusEventIdentityExpired,\n BusEventMessageItemCustom,\n BusEventNiceDFOGetAuthCode,\n BusEventPreReceive,\n BusEventPreReset,\n BusEventPreSend,\n BusEventProcessCancel,\n BusEventProcessClose,\n BusEventProcessOpen,\n BusEventReceive,\n BusEventReset,\n BusEventSend,\n BusEventSessionExpired,\n BusEventTourEnd,\n BusEventTourStart,\n BusEventTourStep,\n BusEventType,\n BusEventUserDefinedResponse,\n BusEventViewChange,\n BusEventViewPreChange,\n BusEventWithElement,\n CustomEventType,\n EventBusHandler,\n MessageSendSource,\n TourEndReason,\n TourStartReason,\n TypeAndHandler,\n ViewChangeReason,\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This interface contains the config options that control the alternate suggestions features.\n */\ninterface AlternateSuggestionsConfig {\n /**\n * Indicates if alternate suggestions are on.\n */\n is_on: boolean;\n\n /**\n * Indicates how the contact option should appear in the suggestions list. This value will be treated as\n * {@link AlternateSuggestionsContactType.ALWAYS} if not provided.\n */\n contact_option?: AlternateSuggestionsContactType;\n\n /**\n * The label for the button displayed to the end user for the \"contact us/agent\" option that can appear in the\n * suggestions list. This value is sent to the bot as an utterance when selected. If this value is not provided,\n * a default value will be used.\n */\n contact_label?: string;\n}\n\n/**\n * This enum represents the different ways the \"contact us/agent\" option may be presented in suggestions list.\n */\nenum AlternateSuggestionsContactType {\n /**\n * Indicates that the contact option should never be shown as a suggestion.\n */\n NEVER = 'never',\n\n /**\n * Indicates that the contact option should always be shown as a suggestion.\n */\n ALWAYS = 'always',\n\n /**\n * Indicates that the contact option should only be shown as an option if there is currently one or more strikes.\n */\n ONE_STRIKE = 'one_strike',\n}\n\nexport { AlternateSuggestionsContactType, AlternateSuggestionsConfig };\n","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2021, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { AgentDisplayState, AppState } from 'internal-packages/shared/types/AppState';\nimport { createSelector } from 'reselect';\nimport { SkillType } from 'submodules/wa-fd-types-public/integration-configuration-types';\n\nimport { EnglishLanguagePack } from '../types/LanguagePack';\n\n/**\n * Returns the main config from the app state.\n */\nconst selectMainConfig = (state: AppState) => state.config.remote.mainConfig;\n\n/**\n * Returns the current bot input state.\n */\nconst selectBotInputState = (state: AppState) => state.botInputState;\n\n/**\n * Returns the current agent input state.\n */\nconst selectAgentInputState = (state: AppState) => state.agentState.inputState;\n\n/**\n * Returns the agent state from the app state.\n */\nconst selectAgentState = (state: AppState) => state.agentState;\n\n/**\n * Returns the persisted agent state from the app state.\n */\nconst selectPersistedAgentState = (state: AppState) => state.persistedToBrowserStorage.chatState.agentState;\n\n/**\n * Determines if the main config indicates that a search skill is attached to the assistant. Note that this only\n * works after the main config has been loaded.\n */\nconst selectHasSearchSkill = createSelector(\n [selectMainConfig],\n mainConfig =>\n mainConfig?.assistant?.skills?.some((skill: { type: SkillType }) => skill.type === SkillType.SEARCH) ?? false,\n);\n\n/**\n * Returns the agent state for the purposes of display of the chat widget. This state is different then the real state\n * in that it takes into account if the agent conversation is suspended. If it is suspended, then various elements about\n * the agent are hidden from the UI and user messages are routed to the assistant instead of the service desk.\n */\nconst selectAgentDisplayState = createSelector(\n [selectAgentState, selectPersistedAgentState],\n (agentState, persistedAgentState): AgentDisplayState => {\n if (persistedAgentState.isSuspended) {\n return {\n isConnectingOrConnected: false,\n disableInput: false,\n isAgentTyping: false,\n inputPlaceholderKey: null,\n };\n }\n\n const { isReconnecting, isConnecting, isAgentTyping } = agentState;\n const { isConnected } = persistedAgentState;\n\n let inputPlaceholderKey: keyof EnglishLanguagePack;\n if (isConnecting) {\n inputPlaceholderKey = 'agent_inputPlaceholderConnecting';\n } else if (isReconnecting) {\n inputPlaceholderKey = 'agent_inputPlaceholderReconnecting';\n }\n\n return {\n isAgentTyping,\n isConnectingOrConnected: isConnecting || isConnected,\n disableInput: isConnecting || isReconnecting,\n inputPlaceholderKey,\n };\n },\n);\n\n/**\n * Indicates if the chat is configured currently for interacting with a human agent. If true, the user is either\n * connecting or connected to a human agent with a service desk and the interaction is not suspended.\n */\nconst selectIsInputToAgent = createSelector(\n [selectAgentDisplayState],\n agentDisplayState => agentDisplayState.isConnectingOrConnected,\n);\n\n/**\n * Returns the current input state. Which state is used depends on whether the user is connected or connecting to a\n * human agent.\n */\nconst selectInputState = createSelector(\n [selectIsInputToAgent, selectAgentInputState, selectBotInputState],\n (isInputToAgent, agentInputState, botInputState) => (isInputToAgent ? agentInputState : botInputState),\n);\n\nexport { selectHasSearchSkill, selectAgentDisplayState, selectInputState, selectIsInputToAgent };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { RemoteMainConfig } from 'internal-packages/shared/types/RemoteConfig';\nimport { Message } from 'internal-packages/shared/types/watsonAssistantAPITypes';\nimport { SkillType } from 'submodules/wa-fd-types-public/integration-configuration-types';\nimport { DIALOG_ROOT, DialogState, MAIN_SKILL, MessageContext } from 'submodules/wa-fd-types-public/wa-types';\n\nimport { isResponse } from './messageUtils';\nimport { consoleError } from './miscUtils';\n\n/**\n * Returns the internal name of the dialog skill given a message. This will always return some value even if there isn't\n * actually a dialog skill attached so any code should use this defensively if acting on a non-dialog skill would be\n * bad.\n */\nfunction getDialogSkillID(context: MessageContext, mainConfig: RemoteMainConfig) {\n // Look for the dialog skill.\n const info = mainConfig.assistant?.skills?.find(info => info.type === SkillType.DIALOG);\n if (info?.skill_reference) {\n return info.skill_reference;\n }\n\n if (context?.skills) {\n // If it's not found, then try the \"main skill\". This is the default name for dialog skills.\n if (context.skills[MAIN_SKILL]) {\n return MAIN_SKILL;\n }\n // If still not found, return the first skill. This really shouldn't happen but make sure we return something in\n // case the skill was somehow renamed or there is no dialog skill.\n return Object.keys(context.skills)[0];\n }\n\n // If no skills are found, just default to the \"main skill\". This can happen in the classic experience preview\n // link where the web chat config is missing. It is a reasonable guess that the skill has a dialog skill but it's not\n // guaranteed.\n return MAIN_SKILL;\n}\n\n/**\n * Gets the dialog state out of the LocalMessage object. The state is stored as a base64 encoded JSON string,\n * so this function has to decode (atob) and parse it into an object (JSON.parse).\n *\n * @param message The message request object that contains the message context and dialog state.\n * @param mainConfig The main config that contains info about the skills.\n */\nfunction getDialogState(message: Message, mainConfig: RemoteMainConfig): DialogState {\n const DEFAULT_DIALOG_STATE: DialogState = {\n dialog_stack: [{ dialog_node: DIALOG_ROOT }],\n digressed: false,\n };\n\n if (!isResponse(message)) {\n return DEFAULT_DIALOG_STATE;\n }\n\n let dialogState: DialogState;\n const dialogSkillID = getDialogSkillID(message?.context, mainConfig);\n try {\n if (dialogSkillID && message?.context?.skills?.[dialogSkillID]?.system?.state) {\n dialogState = JSON.parse(atob(message.context.skills[dialogSkillID].system.state));\n } else {\n dialogState = DEFAULT_DIALOG_STATE;\n }\n } catch (error) {\n consoleError('Error parsing skill state', error);\n dialogState = DEFAULT_DIALOG_STATE;\n }\n return dialogState;\n}\n\nexport { getDialogSkillID, DIALOG_ROOT, getDialogState };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport {\n AlternateSuggestionsConfig,\n AlternateSuggestionsContactType,\n} from 'internal-packages/shared/types/AlternateSuggestionsConfig';\nimport { AppState } from 'internal-packages/shared/types/AppState';\nimport { HomeScreenStarterButton } from 'internal-packages/shared/types/HomeScreenConfig';\nimport { LanguagePack } from 'internal-packages/shared/types/LanguagePack';\nimport { MessageRequest, MessageResponse, Option } from 'submodules/wa-fd-types-public/wa-types';\n\nimport { TrackEventProps } from '../services/TrackService';\nimport { selectAgentDisplayState } from '../store/selectors';\nimport {\n isAnythingElse,\n isConversationalSearchItem,\n isEmptySearchResultItem,\n isRepeatResponse,\n isResponse,\n isSearchResultItem,\n} from './messageUtils';\nimport { getDialogState } from './processUtils';\n\n/**\n * This interface represents a suggestion that can appear in the suggestions list.\n */\ninterface SuggestionListItem {\n /**\n * The option or suggestion that will be sent to the assistant when the suggestion is selected.\n */\n option: Option;\n\n /**\n * Indicates if this suggestion represents the \"contact\" suggestion.\n */\n isContactSuggestion?: boolean;\n\n /**\n * Indicates if the suggestion should be displayed as selected.\n */\n isSelected: boolean;\n}\n\n/**\n * A default {@link Option} object that can be used to for contacting the customer or an agent.\n */\nconst CONTACT_OPTION = (label: string): Option => {\n return {\n label,\n value: {\n input: {\n text: label,\n },\n },\n };\n};\n\n/**\n * A default {@link SuggestionListItem} object that can be used to for contacting the customer or an agent.\n */\nconst CONTACT_SUGGESTION_ITEM = (label: string): SuggestionListItem => {\n return {\n isSelected: false,\n isContactSuggestion: true,\n option: CONTACT_OPTION(label),\n };\n};\n\n/**\n * Returns the label to use for the \"contact\" button on the suggestions list.\n */\nfunction getContactLabel(config: AlternateSuggestionsConfig, languagePack: LanguagePack) {\n return config.contact_label || languagePack.suggestions_connectToAgent;\n}\n\n/**\n * Determines if the given message is a repeat of the previous response from the bot. This function decides that a\n * duplicate has occurred if the nodes for both messages are the same. We exclude search results from this chance\n * since it's different to determine if search results are a repeat.\n */\nfunction isDuplicateOfPrevious(state: AppState, response: MessageResponse) {\n if (isResponse(response) && !isSearchResultItem(response.output.generic[0])) {\n const { allMessageItemsByID, allMessagesByID, botMessageState, config } = state;\n const { localMessageIDs } = botMessageState;\n const { mainConfig } = config.remote;\n\n // We need to start at the end of the message list and work our way backward until we find a message item\n // belonging to a different original message and that is a message response (output).\n let index = localMessageIDs.length - 1;\n let previousResponse: MessageResponse;\n for (; index >= 0; index--) {\n const message = allMessagesByID[allMessageItemsByID[localMessageIDs[index]].fullMessageID];\n if (message.id !== response.id && isResponse(message)) {\n previousResponse = message;\n break;\n }\n }\n\n if (isRepeatResponse(response, previousResponse)) {\n // We've hit a duplicate node but it's possible it's a return from a digression which we don't want to count.\n const dialogState = getDialogState(response, mainConfig);\n return !dialogState.digressed;\n }\n }\n\n return false;\n}\n\n/**\n * Determines if the given response is an alternate suggestions strike. This occurs if the response is the anything else\n * node or if the response is a repeat of the same node as the previous response.\n */\nfunction isStrike(response: MessageResponse, state: AppState, trackEvent?: TrackEventProps) {\n const agentDisplayState = selectAgentDisplayState(state);\n if (\n state.persistedToBrowserStorage.chatState.suggestionsPersistedState.numStrikes === 2 &&\n agentDisplayState.isConnectingOrConnected\n ) {\n // If we're at the second strike and the user is already connected to an agent. Don't trigger a third strike\n // which will just result in another agent card appearing.\n return false;\n }\n\n const request = state.allMessagesByID[response.request_id] as MessageRequest;\n if (response.context?.global?.system?.skip_user_input || request?.context?.global?.system?.skip_user_input) {\n // When we get a skip_user_input response, that will not contribute to strikes.\n return false;\n }\n\n const firstItem = response.output.generic[0];\n const isEmptySearch = isSearchResultItem(firstItem) && isEmptySearchResultItem(firstItem);\n\n // If we get empty search results, that counts as a strike.\n if (isEmptySearch) {\n if (trackEvent) {\n trackEvent.suggestionsStrikeReason = 'Empty Search';\n }\n return true;\n }\n\n // Conversational search items should not trigger strikes.\n if (isConversationalSearchItem(firstItem)) {\n return false;\n }\n\n // The anything else node counts as a strike unless it has (non-empty) search results.\n if (isAnythingElse(response) && !isSearchResultItem(firstItem)) {\n if (trackEvent) {\n trackEvent.suggestionsStrikeReason = 'Anything Else';\n }\n return true;\n }\n\n if (isDuplicateOfPrevious(state, response)) {\n if (trackEvent) {\n trackEvent.suggestionsStrikeReason = 'Bot Repeating';\n }\n return true;\n }\n\n return false;\n}\n\n/**\n * Indicates if the given messages should trigger a third strike for suggestions. This will result in the\n * suggestions \"contact\" option being activated. We only do this on the third strike and if the configuration says\n * that using the contact option is allowed.\n */\nfunction shouldMessageActivateThirdStrike(message: MessageResponse, state: AppState) {\n const { config } = state.alternateSuggestionsState;\n const { numStrikes } = state.persistedToBrowserStorage.chatState.suggestionsPersistedState;\n return (\n config.is_on &&\n config.contact_option !== AlternateSuggestionsContactType.NEVER &&\n numStrikes === 2 &&\n isStrike(message, state)\n );\n}\n\n/**\n * Determines if the given item is either a {@link SuggestionListItem} or a {@link HomeScreenStarterButton}.\n */\nfunction isSuggestionListItem(value: SuggestionListItem | HomeScreenStarterButton): value is SuggestionListItem {\n return Boolean((value as SuggestionListItem)?.option);\n}\n\nexport {\n CONTACT_OPTION,\n CONTACT_SUGGESTION_ITEM,\n isStrike,\n getContactLabel,\n shouldMessageActivateThirdStrike,\n SuggestionListItem,\n isSuggestionListItem,\n};\n","/**\n * Copyright IBM Corp. 2018, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar black = '#000000';\nvar black100 = black;\nvar blackHover = '#212121';\nvar white = '#ffffff';\nvar white0 = white;\nvar whiteHover = '#e8e8e8';\nvar yellow10 = '#fcf4d6';\nvar yellow20 = '#fddc69';\nvar yellow30 = '#f1c21b';\nvar yellow40 = '#d2a106';\nvar yellow50 = '#b28600';\nvar yellow60 = '#8e6a00';\nvar yellow70 = '#684e00';\nvar yellow80 = '#483700';\nvar yellow90 = '#302400';\nvar yellow100 = '#1c1500';\nvar yellow = {\n 10: yellow10,\n 20: yellow20,\n 30: yellow30,\n 40: yellow40,\n 50: yellow50,\n 60: yellow60,\n 70: yellow70,\n 80: yellow80,\n 90: yellow90,\n 100: yellow100\n};\nvar yellow10Hover = '#f8e6a0';\nvar yellow20Hover = '#fccd27';\nvar yellow30Hover = '#ddb00e';\nvar yellow40Hover = '#bc9005';\nvar yellow50Hover = '#9e7700';\nvar yellow60Hover = '#755800';\nvar yellow70Hover = '#806000';\nvar yellow80Hover = '#5c4600';\nvar yellow90Hover = '#3d2e00';\nvar yellow100Hover = '#332600';\nvar yellowHover = {\n 10: yellow10Hover,\n 20: yellow20Hover,\n 30: yellow30Hover,\n 40: yellow40Hover,\n 50: yellow50Hover,\n 60: yellow60Hover,\n 70: yellow70Hover,\n 80: yellow80Hover,\n 90: yellow90Hover,\n 100: yellow100Hover\n};\nvar orange10 = '#fff2e8';\nvar orange20 = '#ffd9be';\nvar orange30 = '#ffb784';\nvar orange40 = '#ff832b';\nvar orange50 = '#eb6200';\nvar orange60 = '#ba4e00';\nvar orange70 = '#8a3800';\nvar orange80 = '#5e2900';\nvar orange90 = '#3e1a00';\nvar orange100 = '#231000';\nvar orange = {\n 10: orange10,\n 20: orange20,\n 30: orange30,\n 40: orange40,\n 50: orange50,\n 60: orange60,\n 70: orange70,\n 80: orange80,\n 90: orange90,\n 100: orange100\n};\nvar orange10Hover = '#ffe2cc';\nvar orange20Hover = '#ffc69e';\nvar orange30Hover = '#ff9d57';\nvar orange40Hover = '#fa6800';\nvar orange50Hover = '#cc5500';\nvar orange60Hover = '#9e4200';\nvar orange70Hover = '#a84400';\nvar orange80Hover = '#753300';\nvar orange90Hover = '#522200';\nvar orange100Hover = '#421e00';\nvar orangeHover = {\n 10: orange10Hover,\n 20: orange20Hover,\n 30: orange30Hover,\n 40: orange40Hover,\n 50: orange50Hover,\n 60: orange60Hover,\n 70: orange70Hover,\n 80: orange80Hover,\n 90: orange90Hover,\n 100: orange100Hover\n};\nvar red10 = '#fff1f1';\nvar red20 = '#ffd7d9';\nvar red30 = '#ffb3b8';\nvar red40 = '#ff8389';\nvar red50 = '#fa4d56';\nvar red60 = '#da1e28';\nvar red70 = '#a2191f';\nvar red80 = '#750e13';\nvar red90 = '#520408';\nvar red100 = '#2d0709';\nvar red = {\n 10: red10,\n 20: red20,\n 30: red30,\n 40: red40,\n 50: red50,\n 60: red60,\n 70: red70,\n 80: red80,\n 90: red90,\n 100: red100\n};\nvar red100Hover = '#540d11';\nvar red90Hover = '#66050a';\nvar red80Hover = '#921118';\nvar red70Hover = '#c21e25';\nvar red60Hover = '#b81922';\nvar red50Hover = '#ee0713';\nvar red40Hover = '#ff6168';\nvar red30Hover = '#ff99a0';\nvar red20Hover = '#ffc2c5';\nvar red10Hover = '#ffe0e0';\nvar redHover = {\n 100: red100Hover,\n 90: red90Hover,\n 80: red80Hover,\n 70: red70Hover,\n 60: red60Hover,\n 50: red50Hover,\n 40: red40Hover,\n 30: red30Hover,\n 20: red20Hover,\n 10: red10Hover\n};\nvar magenta10 = '#fff0f7';\nvar magenta20 = '#ffd6e8';\nvar magenta30 = '#ffafd2';\nvar magenta40 = '#ff7eb6';\nvar magenta50 = '#ee5396';\nvar magenta60 = '#d02670';\nvar magenta70 = '#9f1853';\nvar magenta80 = '#740937';\nvar magenta90 = '#510224';\nvar magenta100 = '#2a0a18';\nvar magenta = {\n 10: magenta10,\n 20: magenta20,\n 30: magenta30,\n 40: magenta40,\n 50: magenta50,\n 60: magenta60,\n 70: magenta70,\n 80: magenta80,\n 90: magenta90,\n 100: magenta100\n};\nvar magenta100Hover = '#53142f';\nvar magenta90Hover = '#68032e';\nvar magenta80Hover = '#8e0b43';\nvar magenta70Hover = '#bf1d63';\nvar magenta60Hover = '#b0215f';\nvar magenta50Hover = '#e3176f';\nvar magenta40Hover = '#ff57a0';\nvar magenta30Hover = '#ff94c3';\nvar magenta20Hover = '#ffbdda';\nvar magenta10Hover = '#ffe0ef';\nvar magentaHover = {\n 100: magenta100Hover,\n 90: magenta90Hover,\n 80: magenta80Hover,\n 70: magenta70Hover,\n 60: magenta60Hover,\n 50: magenta50Hover,\n 40: magenta40Hover,\n 30: magenta30Hover,\n 20: magenta20Hover,\n 10: magenta10Hover\n};\nvar purple10 = '#f6f2ff';\nvar purple20 = '#e8daff';\nvar purple30 = '#d4bbff';\nvar purple40 = '#be95ff';\nvar purple50 = '#a56eff';\nvar purple60 = '#8a3ffc';\nvar purple70 = '#6929c4';\nvar purple80 = '#491d8b';\nvar purple90 = '#31135e';\nvar purple100 = '#1c0f30';\nvar purple = {\n 10: purple10,\n 20: purple20,\n 30: purple30,\n 40: purple40,\n 50: purple50,\n 60: purple60,\n 70: purple70,\n 80: purple80,\n 90: purple90,\n 100: purple100\n};\nvar purple100Hover = '#341c59';\nvar purple90Hover = '#40197b';\nvar purple80Hover = '#5b24ad';\nvar purple70Hover = '#7c3dd6';\nvar purple60Hover = '#7822fb';\nvar purple50Hover = '#9352ff';\nvar purple40Hover = '#ae7aff';\nvar purple30Hover = '#c5a3ff';\nvar purple20Hover = '#dcc7ff';\nvar purple10Hover = '#ede5ff';\nvar purpleHover = {\n 100: purple100Hover,\n 90: purple90Hover,\n 80: purple80Hover,\n 70: purple70Hover,\n 60: purple60Hover,\n 50: purple50Hover,\n 40: purple40Hover,\n 30: purple30Hover,\n 20: purple20Hover,\n 10: purple10Hover\n};\nvar blue10 = '#edf5ff';\nvar blue20 = '#d0e2ff';\nvar blue30 = '#a6c8ff';\nvar blue40 = '#78a9ff';\nvar blue50 = '#4589ff';\nvar blue60 = '#0f62fe';\nvar blue70 = '#0043ce';\nvar blue80 = '#002d9c';\nvar blue90 = '#001d6c';\nvar blue100 = '#001141';\nvar blue = {\n 10: blue10,\n 20: blue20,\n 30: blue30,\n 40: blue40,\n 50: blue50,\n 60: blue60,\n 70: blue70,\n 80: blue80,\n 90: blue90,\n 100: blue100\n};\nvar blue100Hover = '#001f75';\nvar blue90Hover = '#00258a';\nvar blue80Hover = '#0039c7';\nvar blue70Hover = '#0053ff';\nvar blue60Hover = '#0050e6';\nvar blue50Hover = '#1f70ff';\nvar blue40Hover = '#5c97ff';\nvar blue30Hover = '#8ab6ff';\nvar blue20Hover = '#b8d3ff';\nvar blue10Hover = '#dbebff';\nvar blueHover = {\n 100: blue100Hover,\n 90: blue90Hover,\n 80: blue80Hover,\n 70: blue70Hover,\n 60: blue60Hover,\n 50: blue50Hover,\n 40: blue40Hover,\n 30: blue30Hover,\n 20: blue20Hover,\n 10: blue10Hover\n};\nvar cyan10 = '#e5f6ff';\nvar cyan20 = '#bae6ff';\nvar cyan30 = '#82cfff';\nvar cyan40 = '#33b1ff';\nvar cyan50 = '#1192e8';\nvar cyan60 = '#0072c3';\nvar cyan70 = '#00539a';\nvar cyan80 = '#003a6d';\nvar cyan90 = '#012749';\nvar cyan100 = '#061727';\nvar cyan = {\n 10: cyan10,\n 20: cyan20,\n 30: cyan30,\n 40: cyan40,\n 50: cyan50,\n 60: cyan60,\n 70: cyan70,\n 80: cyan80,\n 90: cyan90,\n 100: cyan100\n};\nvar cyan10Hover = '#cceeff';\nvar cyan20Hover = '#99daff';\nvar cyan30Hover = '#57beff';\nvar cyan40Hover = '#059fff';\nvar cyan50Hover = '#0f7ec8';\nvar cyan60Hover = '#005fa3';\nvar cyan70Hover = '#0066bd';\nvar cyan80Hover = '#00498a';\nvar cyan90Hover = '#013360';\nvar cyan100Hover = '#0b2947';\nvar cyanHover = {\n 10: cyan10Hover,\n 20: cyan20Hover,\n 30: cyan30Hover,\n 40: cyan40Hover,\n 50: cyan50Hover,\n 60: cyan60Hover,\n 70: cyan70Hover,\n 80: cyan80Hover,\n 90: cyan90Hover,\n 100: cyan100Hover\n};\nvar teal10 = '#d9fbfb';\nvar teal20 = '#9ef0f0';\nvar teal30 = '#3ddbd9';\nvar teal40 = '#08bdba';\nvar teal50 = '#009d9a';\nvar teal60 = '#007d79';\nvar teal70 = '#005d5d';\nvar teal80 = '#004144';\nvar teal90 = '#022b30';\nvar teal100 = '#081a1c';\nvar teal = {\n 10: teal10,\n 20: teal20,\n 30: teal30,\n 40: teal40,\n 50: teal50,\n 60: teal60,\n 70: teal70,\n 80: teal80,\n 90: teal90,\n 100: teal100\n};\nvar teal10Hover = '#acf6f6';\nvar teal20Hover = '#57e5e5';\nvar teal30Hover = '#25cac8';\nvar teal40Hover = '#07aba9';\nvar teal50Hover = '#008a87';\nvar teal60Hover = '#006b68';\nvar teal70Hover = '#007070';\nvar teal80Hover = '#005357';\nvar teal90Hover = '#033940';\nvar teal100Hover = '#0f3034';\nvar tealHover = {\n 10: teal10Hover,\n 20: teal20Hover,\n 30: teal30Hover,\n 40: teal40Hover,\n 50: teal50Hover,\n 60: teal60Hover,\n 70: teal70Hover,\n 80: teal80Hover,\n 90: teal90Hover,\n 100: teal100Hover\n};\nvar green10 = '#defbe6';\nvar green20 = '#a7f0ba';\nvar green30 = '#6fdc8c';\nvar green40 = '#42be65';\nvar green50 = '#24a148';\nvar green60 = '#198038';\nvar green70 = '#0e6027';\nvar green80 = '#044317';\nvar green90 = '#022d0d';\nvar green100 = '#071908';\nvar green = {\n 10: green10,\n 20: green20,\n 30: green30,\n 40: green40,\n 50: green50,\n 60: green60,\n 70: green70,\n 80: green80,\n 90: green90,\n 100: green100\n};\nvar green10Hover = '#b6f6c8';\nvar green20Hover = '#74e792';\nvar green30Hover = '#36ce5e';\nvar green40Hover = '#3bab5a';\nvar green50Hover = '#208e3f';\nvar green60Hover = '#166f31';\nvar green70Hover = '#11742f';\nvar green80Hover = '#05521c';\nvar green90Hover = '#033b11';\nvar green100Hover = '#0d300f';\nvar greenHover = {\n 10: green10Hover,\n 20: green20Hover,\n 30: green30Hover,\n 40: green40Hover,\n 50: green50Hover,\n 60: green60Hover,\n 70: green70Hover,\n 80: green80Hover,\n 90: green90Hover,\n 100: green100Hover\n};\nvar coolGray10 = '#f2f4f8';\nvar coolGray20 = '#dde1e6';\nvar coolGray30 = '#c1c7cd';\nvar coolGray40 = '#a2a9b0';\nvar coolGray50 = '#878d96';\nvar coolGray60 = '#697077';\nvar coolGray70 = '#4d5358';\nvar coolGray80 = '#343a3f';\nvar coolGray90 = '#21272a';\nvar coolGray100 = '#121619';\nvar coolGray = {\n 10: coolGray10,\n 20: coolGray20,\n 30: coolGray30,\n 40: coolGray40,\n 50: coolGray50,\n 60: coolGray60,\n 70: coolGray70,\n 80: coolGray80,\n 90: coolGray90,\n 100: coolGray100\n};\nvar coolGray10Hover = '#e4e9f1';\nvar coolGray20Hover = '#cdd3da';\nvar coolGray30Hover = '#adb5bd';\nvar coolGray40Hover = '#9199a1';\nvar coolGray50Hover = '#757b85';\nvar coolGray60Hover = '#585e64';\nvar coolGray70Hover = '#5d646a';\nvar coolGray80Hover = '#434a51';\nvar coolGray90Hover = '#2b3236';\nvar coolGray100Hover = '#222a2f';\nvar coolGrayHover = {\n 10: coolGray10Hover,\n 20: coolGray20Hover,\n 30: coolGray30Hover,\n 40: coolGray40Hover,\n 50: coolGray50Hover,\n 60: coolGray60Hover,\n 70: coolGray70Hover,\n 80: coolGray80Hover,\n 90: coolGray90Hover,\n 100: coolGray100Hover\n};\nvar gray10 = '#f4f4f4';\nvar gray20 = '#e0e0e0';\nvar gray30 = '#c6c6c6';\nvar gray40 = '#a8a8a8';\nvar gray50 = '#8d8d8d';\nvar gray60 = '#6f6f6f';\nvar gray70 = '#525252';\nvar gray80 = '#393939';\nvar gray90 = '#262626';\nvar gray100 = '#161616';\nvar gray = {\n 10: gray10,\n 20: gray20,\n 30: gray30,\n 40: gray40,\n 50: gray50,\n 60: gray60,\n 70: gray70,\n 80: gray80,\n 90: gray90,\n 100: gray100\n};\nvar gray10Hover = '#e8e8e8';\nvar gray20Hover = '#d1d1d1';\nvar gray30Hover = '#b5b5b5';\nvar gray40Hover = '#999999';\nvar gray50Hover = '#7a7a7a';\nvar gray60Hover = '#5e5e5e';\nvar gray70Hover = '#636363';\nvar gray80Hover = '#474747';\nvar gray90Hover = '#333333';\nvar gray100Hover = '#292929';\nvar grayHover = {\n 10: gray10Hover,\n 20: gray20Hover,\n 30: gray30Hover,\n 40: gray40Hover,\n 50: gray50Hover,\n 60: gray60Hover,\n 70: gray70Hover,\n 80: gray80Hover,\n 90: gray90Hover,\n 100: gray100Hover\n};\nvar warmGray10 = '#f7f3f2';\nvar warmGray20 = '#e5e0df';\nvar warmGray30 = '#cac5c4';\nvar warmGray40 = '#ada8a8';\nvar warmGray50 = '#8f8b8b';\nvar warmGray60 = '#726e6e';\nvar warmGray70 = '#565151';\nvar warmGray80 = '#3c3838';\nvar warmGray90 = '#272525';\nvar warmGray100 = '#171414';\nvar warmGray = {\n 10: warmGray10,\n 20: warmGray20,\n 30: warmGray30,\n 40: warmGray40,\n 50: warmGray50,\n 60: warmGray60,\n 70: warmGray70,\n 80: warmGray80,\n 90: warmGray90,\n 100: warmGray100\n};\nvar warmGray10Hover = '#f0e8e6';\nvar warmGray20Hover = '#d8d0cf';\nvar warmGray30Hover = '#b9b3b1';\nvar warmGray40Hover = '#9c9696';\nvar warmGray50Hover = '#7f7b7b';\nvar warmGray60Hover = '#605d5d';\nvar warmGray70Hover = '#696363';\nvar warmGray80Hover = '#4c4848';\nvar warmGray90Hover = '#343232';\nvar warmGray100Hover = '#2c2626';\nvar warmGrayHover = {\n 10: warmGray10Hover,\n 20: warmGray20Hover,\n 30: warmGray30Hover,\n 40: warmGray40Hover,\n 50: warmGray50Hover,\n 60: warmGray60Hover,\n 70: warmGray70Hover,\n 80: warmGray80Hover,\n 90: warmGray90Hover,\n 100: warmGray100Hover\n};\nvar colors = {\n black: {\n 100: black\n },\n blue: blue,\n coolGray: coolGray,\n cyan: cyan,\n gray: gray,\n green: green,\n magenta: magenta,\n orange: orange,\n purple: purple,\n red: red,\n teal: teal,\n warmGray: warmGray,\n white: {\n 0: white\n },\n yellow: yellow\n};\nvar hoverColors = {\n whiteHover: whiteHover,\n blackHover: blackHover,\n blueHover: blueHover,\n coolGrayHover: coolGrayHover,\n cyanHover: cyanHover,\n grayHover: grayHover,\n greenHover: greenHover,\n magentaHover: magentaHover,\n orangeHover: orangeHover,\n purpleHover: purpleHover,\n redHover: redHover,\n tealHover: tealHover,\n warmGrayHover: warmGrayHover,\n yellowHover: yellowHover\n};\n\n/**\n * Copyright IBM Corp. 2018, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Parse a given hexcode string into an rgba statement with the given opacity\n * @param {string} hexcode\n * @param {number} opacity\n * @returns {string}\n */\nfunction rgba(hexcode, opacity) {\n var values = [hexcode.substring(1, 3), hexcode.substring(3, 5), hexcode.substring(5, 7)].map(function (string) {\n return parseInt(string, 16);\n });\n return \"rgba(\".concat(values[0], \", \").concat(values[1], \", \").concat(values[2], \", \").concat(opacity, \")\");\n}\n\nexport { black, black100, blackHover, blue, blue10, blue100, blue100Hover, blue10Hover, blue20, blue20Hover, blue30, blue30Hover, blue40, blue40Hover, blue50, blue50Hover, blue60, blue60Hover, blue70, blue70Hover, blue80, blue80Hover, blue90, blue90Hover, blueHover, colors, coolGray, coolGray10, coolGray100, coolGray100Hover, coolGray10Hover, coolGray20, coolGray20Hover, coolGray30, coolGray30Hover, coolGray40, coolGray40Hover, coolGray50, coolGray50Hover, coolGray60, coolGray60Hover, coolGray70, coolGray70Hover, coolGray80, coolGray80Hover, coolGray90, coolGray90Hover, coolGrayHover, cyan, cyan10, cyan100, cyan100Hover, cyan10Hover, cyan20, cyan20Hover, cyan30, cyan30Hover, cyan40, cyan40Hover, cyan50, cyan50Hover, cyan60, cyan60Hover, cyan70, cyan70Hover, cyan80, cyan80Hover, cyan90, cyan90Hover, cyanHover, gray, gray10, gray100, gray100Hover, gray10Hover, gray20, gray20Hover, gray30, gray30Hover, gray40, gray40Hover, gray50, gray50Hover, gray60, gray60Hover, gray70, gray70Hover, gray80, gray80Hover, gray90, gray90Hover, grayHover, green, green10, green100, green100Hover, green10Hover, green20, green20Hover, green30, green30Hover, green40, green40Hover, green50, green50Hover, green60, green60Hover, green70, green70Hover, green80, green80Hover, green90, green90Hover, greenHover, hoverColors, magenta, magenta10, magenta100, magenta100Hover, magenta10Hover, magenta20, magenta20Hover, magenta30, magenta30Hover, magenta40, magenta40Hover, magenta50, magenta50Hover, magenta60, magenta60Hover, magenta70, magenta70Hover, magenta80, magenta80Hover, magenta90, magenta90Hover, magentaHover, orange, orange10, orange100, orange100Hover, orange10Hover, orange20, orange20Hover, orange30, orange30Hover, orange40, orange40Hover, orange50, orange50Hover, orange60, orange60Hover, orange70, orange70Hover, orange80, orange80Hover, orange90, orange90Hover, orangeHover, purple, purple10, purple100, purple100Hover, purple10Hover, purple20, purple20Hover, purple30, purple30Hover, purple40, purple40Hover, purple50, purple50Hover, purple60, purple60Hover, purple70, purple70Hover, purple80, purple80Hover, purple90, purple90Hover, purpleHover, red, red10, red100, red100Hover, red10Hover, red20, red20Hover, red30, red30Hover, red40, red40Hover, red50, red50Hover, red60, red60Hover, red70, red70Hover, red80, red80Hover, red90, red90Hover, redHover, rgba, teal, teal10, teal100, teal100Hover, teal10Hover, teal20, teal20Hover, teal30, teal30Hover, teal40, teal40Hover, teal50, teal50Hover, teal60, teal60Hover, teal70, teal70Hover, teal80, teal80Hover, teal90, teal90Hover, tealHover, warmGray, warmGray10, warmGray100, warmGray100Hover, warmGray10Hover, warmGray20, warmGray20Hover, warmGray30, warmGray30Hover, warmGray40, warmGray40Hover, warmGray50, warmGray50Hover, warmGray60, warmGray60Hover, warmGray70, warmGray70Hover, warmGray80, warmGray80Hover, warmGray90, warmGray90Hover, warmGrayHover, white, white0, whiteHover, yellow, yellow10, yellow100, yellow100Hover, yellow10Hover, yellow20, yellow20Hover, yellow30, yellow30Hover, yellow40, yellow40Hover, yellow50, yellow50Hover, yellow60, yellow60Hover, yellow70, yellow70Hover, yellow80, yellow80Hover, yellow90, yellow90Hover, yellowHover };\n","'use strict';\n\nvar isArrayish = require('is-arrayish');\n\nvar concat = Array.prototype.concat;\nvar slice = Array.prototype.slice;\n\nvar swizzle = module.exports = function swizzle(args) {\n\tvar results = [];\n\n\tfor (var i = 0, len = args.length; i < len; i++) {\n\t\tvar arg = args[i];\n\n\t\tif (isArrayish(arg)) {\n\t\t\t// http://jsperf.com/javascript-array-concat-vs-push/98\n\t\t\tresults = concat.call(results, slice.call(arg));\n\t\t} else {\n\t\t\tresults.push(arg);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nswizzle.wrap = function (fn) {\n\treturn function () {\n\t\treturn fn(swizzle(arguments));\n\t};\n};\n","module.exports = function isArrayish(obj) {\n\tif (!obj || typeof obj === 'string') {\n\t\treturn false;\n\t}\n\n\treturn obj instanceof Array || Array.isArray(obj) ||\n\t\t(obj.length >= 0 && (obj.splice instanceof Function ||\n\t\t\t(Object.getOwnPropertyDescriptor(obj, (obj.length - 1)) && obj.constructor.name !== 'String')));\n};\n","/* MIT license */\nvar colorNames = require('color-name');\nvar swizzle = require('simple-swizzle');\nvar hasOwnProperty = Object.hasOwnProperty;\n\nvar reverseNames = Object.create(null);\n\n// create a list of reverse color names\nfor (var name in colorNames) {\n\tif (hasOwnProperty.call(colorNames, name)) {\n\t\treverseNames[colorNames[name]] = name;\n\t}\n}\n\nvar cs = module.exports = {\n\tto: {},\n\tget: {}\n};\n\ncs.get = function (string) {\n\tvar prefix = string.substring(0, 3).toLowerCase();\n\tvar val;\n\tvar model;\n\tswitch (prefix) {\n\t\tcase 'hsl':\n\t\t\tval = cs.get.hsl(string);\n\t\t\tmodel = 'hsl';\n\t\t\tbreak;\n\t\tcase 'hwb':\n\t\t\tval = cs.get.hwb(string);\n\t\t\tmodel = 'hwb';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tval = cs.get.rgb(string);\n\t\t\tmodel = 'rgb';\n\t\t\tbreak;\n\t}\n\n\tif (!val) {\n\t\treturn null;\n\t}\n\n\treturn {model: model, value: val};\n};\n\ncs.get.rgb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar abbr = /^#([a-f0-9]{3,4})$/i;\n\tvar hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;\n\tvar rgba = /^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/;\n\tvar keyword = /^(\\w+)$/;\n\n\tvar rgb = [0, 0, 0, 1];\n\tvar match;\n\tvar i;\n\tvar hexAlpha;\n\n\tif (match = string.match(hex)) {\n\t\thexAlpha = match[2];\n\t\tmatch = match[1];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\t// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19\n\t\t\tvar i2 = i * 2;\n\t\t\trgb[i] = parseInt(match.slice(i2, i2 + 2), 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(abbr)) {\n\t\tmatch = match[1];\n\t\thexAlpha = match[3];\n\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i] + match[i], 16);\n\t\t}\n\n\t\tif (hexAlpha) {\n\t\t\trgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;\n\t\t}\n\t} else if (match = string.match(rgba)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = parseInt(match[i + 1], 0);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(per)) {\n\t\tfor (i = 0; i < 3; i++) {\n\t\t\trgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n\t\t}\n\n\t\tif (match[4]) {\n\t\t\tif (match[5]) {\n\t\t\t\trgb[3] = parseFloat(match[4]) * 0.01;\n\t\t\t} else {\n\t\t\t\trgb[3] = parseFloat(match[4]);\n\t\t\t}\n\t\t}\n\t} else if (match = string.match(keyword)) {\n\t\tif (match[1] === 'transparent') {\n\t\t\treturn [0, 0, 0, 0];\n\t\t}\n\n\t\tif (!hasOwnProperty.call(colorNames, match[1])) {\n\t\t\treturn null;\n\t\t}\n\n\t\trgb = colorNames[match[1]];\n\t\trgb[3] = 1;\n\n\t\treturn rgb;\n\t} else {\n\t\treturn null;\n\t}\n\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] = clamp(rgb[i], 0, 255);\n\t}\n\trgb[3] = clamp(rgb[3], 0, 1);\n\n\treturn rgb;\n};\n\ncs.get.hsl = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hsl = /^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hsl);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar s = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar l = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\n\t\treturn [h, s, l, a];\n\t}\n\n\treturn null;\n};\n\ncs.get.hwb = function (string) {\n\tif (!string) {\n\t\treturn null;\n\t}\n\n\tvar hwb = /^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/;\n\tvar match = string.match(hwb);\n\n\tif (match) {\n\t\tvar alpha = parseFloat(match[4]);\n\t\tvar h = ((parseFloat(match[1]) % 360) + 360) % 360;\n\t\tvar w = clamp(parseFloat(match[2]), 0, 100);\n\t\tvar b = clamp(parseFloat(match[3]), 0, 100);\n\t\tvar a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);\n\t\treturn [h, w, b, a];\n\t}\n\n\treturn null;\n};\n\ncs.to.hex = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn (\n\t\t'#' +\n\t\thexDouble(rgba[0]) +\n\t\thexDouble(rgba[1]) +\n\t\thexDouble(rgba[2]) +\n\t\t(rgba[3] < 1\n\t\t\t? (hexDouble(Math.round(rgba[3] * 255)))\n\t\t\t: '')\n\t);\n};\n\ncs.to.rgb = function () {\n\tvar rgba = swizzle(arguments);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'\n\t\t: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';\n};\n\ncs.to.rgb.percent = function () {\n\tvar rgba = swizzle(arguments);\n\n\tvar r = Math.round(rgba[0] / 255 * 100);\n\tvar g = Math.round(rgba[1] / 255 * 100);\n\tvar b = Math.round(rgba[2] / 255 * 100);\n\n\treturn rgba.length < 4 || rgba[3] === 1\n\t\t? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'\n\t\t: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';\n};\n\ncs.to.hsl = function () {\n\tvar hsla = swizzle(arguments);\n\treturn hsla.length < 4 || hsla[3] === 1\n\t\t? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'\n\t\t: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';\n};\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\ncs.to.hwb = function () {\n\tvar hwba = swizzle(arguments);\n\n\tvar a = '';\n\tif (hwba.length >= 4 && hwba[3] !== 1) {\n\t\ta = ', ' + hwba[3];\n\t}\n\n\treturn 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';\n};\n\ncs.to.keyword = function (rgb) {\n\treturn reverseNames[rgb.slice(0, 3)];\n};\n\n// helpers\nfunction clamp(num, min, max) {\n\treturn Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n\tvar str = Math.round(num).toString(16).toUpperCase();\n\treturn (str.length < 2) ? '0' + str : str;\n}\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/* MIT license */\n/* eslint-disable no-mixed-operators */\nconst cssKeywords = require('color-name');\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nconst reverseKeywords = {};\nfor (const key of Object.keys(cssKeywords)) {\n\treverseKeywords[cssKeywords[key]] = key;\n}\n\nconst convert = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\nmodule.exports = convert;\n\n// Hide .channels and .labels properties\nfor (const model of Object.keys(convert)) {\n\tif (!('channels' in convert[model])) {\n\t\tthrow new Error('missing channels property: ' + model);\n\t}\n\n\tif (!('labels' in convert[model])) {\n\t\tthrow new Error('missing channel labels property: ' + model);\n\t}\n\n\tif (convert[model].labels.length !== convert[model].channels) {\n\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t}\n\n\tconst {channels, labels} = convert[model];\n\tdelete convert[model].channels;\n\tdelete convert[model].labels;\n\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\tObject.defineProperty(convert[model], 'labels', {value: labels});\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst min = Math.min(r, g, b);\n\tconst max = Math.max(r, g, b);\n\tconst delta = max - min;\n\tlet h;\n\tlet s;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst l = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tlet rdif;\n\tlet gdif;\n\tlet bdif;\n\tlet h;\n\tlet s;\n\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst v = Math.max(r, g, b);\n\tconst diff = v - Math.min(r, g, b);\n\tconst diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = 0;\n\t\ts = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tconst r = rgb[0];\n\tconst g = rgb[1];\n\tlet b = rgb[2];\n\tconst h = convert.rgb.hsl(rgb)[0];\n\tconst w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\n\tconst k = Math.min(1 - r, 1 - g, 1 - b);\n\tconst c = (1 - r - k) / (1 - k) || 0;\n\tconst m = (1 - g - k) / (1 - k) || 0;\n\tconst y = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n\t/*\n\t\tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n\t*/\n\treturn (\n\t\t((x[0] - y[0]) ** 2) +\n\t\t((x[1] - y[1]) ** 2) +\n\t\t((x[2] - y[2]) ** 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tconst reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tlet currentClosestDistance = Infinity;\n\tlet currentClosestKeyword;\n\n\tfor (const keyword of Object.keys(cssKeywords)) {\n\t\tconst value = cssKeywords[keyword];\n\n\t\t// Compute comparative distance\n\t\tconst distance = comparativeDistance(rgb, value);\n\n\t\t// Check if its less, if so set as closest\n\t\tif (distance < currentClosestDistance) {\n\t\t\tcurrentClosestDistance = distance;\n\t\t\tcurrentClosestKeyword = keyword;\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn cssKeywords[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tlet r = rgb[0] / 255;\n\tlet g = rgb[1] / 255;\n\tlet b = rgb[2] / 255;\n\n\t// Assume sRGB\n\tr = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);\n\n\tconst x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tconst y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tconst z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tconst xyz = convert.rgb.xyz(rgb);\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tconst h = hsl[0] / 360;\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\tlet t2;\n\tlet t3;\n\tlet val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tconst t1 = 2 * l - t2;\n\n\tconst rgb = [0, 0, 0];\n\tfor (let i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tconst h = hsl[0];\n\tlet s = hsl[1] / 100;\n\tlet l = hsl[2] / 100;\n\tlet smin = s;\n\tconst lmin = Math.max(l, 0.01);\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tconst v = (l + s) / 2;\n\tconst sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tconst h = hsv[0] / 60;\n\tconst s = hsv[1] / 100;\n\tlet v = hsv[2] / 100;\n\tconst hi = Math.floor(h) % 6;\n\n\tconst f = h - Math.floor(h);\n\tconst p = 255 * v * (1 - s);\n\tconst q = 255 * v * (1 - (s * f));\n\tconst t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tconst h = hsv[0];\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\tconst vmin = Math.max(v, 0.01);\n\tlet sl;\n\tlet l;\n\n\tl = (2 - s) * v;\n\tconst lmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tconst h = hwb[0] / 360;\n\tlet wh = hwb[1] / 100;\n\tlet bl = hwb[2] / 100;\n\tconst ratio = wh + bl;\n\tlet f;\n\n\t// Wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\tconst i = Math.floor(6 * h);\n\tconst v = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tconst n = wh + f * (v - wh); // Linear interpolation\n\n\tlet r;\n\tlet g;\n\tlet b;\n\t/* eslint-disable max-statements-per-line,no-multi-spaces */\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\t/* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tconst c = cmyk[0] / 100;\n\tconst m = cmyk[1] / 100;\n\tconst y = cmyk[2] / 100;\n\tconst k = cmyk[3] / 100;\n\n\tconst r = 1 - Math.min(1, c * (1 - k) + k);\n\tconst g = 1 - Math.min(1, m * (1 - k) + k);\n\tconst b = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tconst x = xyz[0] / 100;\n\tconst y = xyz[1] / 100;\n\tconst z = xyz[2] / 100;\n\tlet r;\n\tlet g;\n\tlet b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// Assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tlet x = xyz[0];\n\tlet y = xyz[1];\n\tlet z = xyz[2];\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);\n\n\tconst l = (116 * y) - 16;\n\tconst a = 500 * (x - y);\n\tconst b = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet x;\n\tlet y;\n\tlet z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tconst y2 = y ** 3;\n\tconst x2 = x ** 3;\n\tconst z2 = z ** 3;\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tconst l = lab[0];\n\tconst a = lab[1];\n\tconst b = lab[2];\n\tlet h;\n\n\tconst hr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tconst c = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tconst l = lch[0];\n\tconst c = lch[1];\n\tconst h = lch[2];\n\n\tconst hr = h / 360 * 2 * Math.PI;\n\tconst a = c * Math.cos(hr);\n\tconst b = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args, saturation = null) {\n\tconst [r, g, b] = args;\n\tlet value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tlet ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// Optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tconst r = args[0];\n\tconst g = args[1];\n\tconst b = args[2];\n\n\t// We use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tconst ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tlet color = args % 10;\n\n\t// Handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tconst mult = (~~(args > 50) + 1) * 0.5;\n\tconst r = ((color & 1) * mult) * 255;\n\tconst g = (((color >> 1) & 1) * mult) * 255;\n\tconst b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// Handle greyscale\n\tif (args >= 232) {\n\t\tconst c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tlet rem;\n\tconst r = Math.floor(args / 36) / 5 * 255;\n\tconst g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tconst b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tconst integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tconst match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tlet colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(char => {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tconst integer = parseInt(colorString, 16);\n\tconst r = (integer >> 16) & 0xFF;\n\tconst g = (integer >> 8) & 0xFF;\n\tconst b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tconst r = rgb[0] / 255;\n\tconst g = rgb[1] / 255;\n\tconst b = rgb[2] / 255;\n\tconst max = Math.max(Math.max(r, g), b);\n\tconst min = Math.min(Math.min(r, g), b);\n\tconst chroma = (max - min);\n\tlet grayscale;\n\tlet hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tconst s = hsl[1] / 100;\n\tconst l = hsl[2] / 100;\n\n\tconst c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));\n\n\tlet f = 0;\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tconst s = hsv[1] / 100;\n\tconst v = hsv[2] / 100;\n\n\tconst c = s * v;\n\tlet f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tconst h = hcg[0] / 360;\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tconst pure = [0, 0, 0];\n\tconst hi = (h % 1) * 6;\n\tconst v = hi % 1;\n\tconst w = 1 - v;\n\tlet mg = 0;\n\n\t/* eslint-disable max-statements-per-line */\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\t/* eslint-enable max-statements-per-line */\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst v = c + g * (1.0 - c);\n\tlet f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\n\tconst l = g * (1.0 - c) + 0.5 * c;\n\tlet s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tconst c = hcg[1] / 100;\n\tconst g = hcg[2] / 100;\n\tconst v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tconst w = hwb[1] / 100;\n\tconst b = hwb[2] / 100;\n\tconst v = 1 - b;\n\tconst c = v - w;\n\tlet g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hsv = convert.gray.hsl;\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tconst val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tconst integer = (val << 16) + (val << 8) + val;\n\n\tconst string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tconst val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n","'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","const conversions = require('./conversions');\n\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tconst graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tconst models = Object.keys(conversions);\n\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tconst graph = buildGraph();\n\tconst queue = [fromModel]; // Unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tconst current = queue.pop();\n\t\tconst adjacents = Object.keys(conversions[current]);\n\n\t\tfor (let len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tconst adjacent = adjacents[i];\n\t\t\tconst node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tconst path = [graph[toModel].parent, toModel];\n\tlet fn = conversions[graph[toModel].parent][toModel];\n\n\tlet cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nmodule.exports = function (fromModel) {\n\tconst graph = deriveBFS(fromModel);\n\tconst conversion = {};\n\n\tconst models = Object.keys(graph);\n\tfor (let len = models.length, i = 0; i < len; i++) {\n\t\tconst toModel = models[i];\n\t\tconst node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// No possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\n","const conversions = require('./conversions');\nconst route = require('./route');\n\nconst convert = {};\n\nconst models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tconst wrappedFn = function (...args) {\n\t\tconst arg0 = args[0];\n\n\t\tif (arg0 === undefined || arg0 === null) {\n\t\t\treturn arg0;\n\t\t}\n\n\t\tif (arg0.length > 1) {\n\t\t\targs = arg0;\n\t\t}\n\n\t\tconst result = fn(args);\n\n\t\t// We're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (let len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(fromModel => {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tconst routes = route(fromModel);\n\tconst routeModels = Object.keys(routes);\n\n\trouteModels.forEach(toModel => {\n\t\tconst fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nmodule.exports = convert;\n","const colorString = require('color-string');\nconst convert = require('color-convert');\n\nconst skippedModels = [\n\t// To be honest, I don't really feel like keyword belongs in color convert, but eh.\n\t'keyword',\n\n\t// Gray conflicts with some method names, and has its own method defined.\n\t'gray',\n\n\t// Shouldn't really be in color-convert either...\n\t'hex',\n];\n\nconst hashedModelKeys = {};\nfor (const model of Object.keys(convert)) {\n\thashedModelKeys[[...convert[model].labels].sort().join('')] = model;\n}\n\nconst limiters = {};\n\nfunction Color(object, model) {\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(object, model);\n\t}\n\n\tif (model && model in skippedModels) {\n\t\tmodel = null;\n\t}\n\n\tif (model && !(model in convert)) {\n\t\tthrow new Error('Unknown model: ' + model);\n\t}\n\n\tlet i;\n\tlet channels;\n\n\tif (object == null) { // eslint-disable-line no-eq-null,eqeqeq\n\t\tthis.model = 'rgb';\n\t\tthis.color = [0, 0, 0];\n\t\tthis.valpha = 1;\n\t} else if (object instanceof Color) {\n\t\tthis.model = object.model;\n\t\tthis.color = [...object.color];\n\t\tthis.valpha = object.valpha;\n\t} else if (typeof object === 'string') {\n\t\tconst result = colorString.get(object);\n\t\tif (result === null) {\n\t\t\tthrow new Error('Unable to parse color from string: ' + object);\n\t\t}\n\n\t\tthis.model = result.model;\n\t\tchannels = convert[this.model].channels;\n\t\tthis.color = result.value.slice(0, channels);\n\t\tthis.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;\n\t} else if (object.length > 0) {\n\t\tthis.model = model || 'rgb';\n\t\tchannels = convert[this.model].channels;\n\t\tconst newArray = Array.prototype.slice.call(object, 0, channels);\n\t\tthis.color = zeroArray(newArray, channels);\n\t\tthis.valpha = typeof object[channels] === 'number' ? object[channels] : 1;\n\t} else if (typeof object === 'number') {\n\t\t// This is always RGB - can be converted later on.\n\t\tthis.model = 'rgb';\n\t\tthis.color = [\n\t\t\t(object >> 16) & 0xFF,\n\t\t\t(object >> 8) & 0xFF,\n\t\t\tobject & 0xFF,\n\t\t];\n\t\tthis.valpha = 1;\n\t} else {\n\t\tthis.valpha = 1;\n\n\t\tconst keys = Object.keys(object);\n\t\tif ('alpha' in object) {\n\t\t\tkeys.splice(keys.indexOf('alpha'), 1);\n\t\t\tthis.valpha = typeof object.alpha === 'number' ? object.alpha : 0;\n\t\t}\n\n\t\tconst hashedKeys = keys.sort().join('');\n\t\tif (!(hashedKeys in hashedModelKeys)) {\n\t\t\tthrow new Error('Unable to parse color from object: ' + JSON.stringify(object));\n\t\t}\n\n\t\tthis.model = hashedModelKeys[hashedKeys];\n\n\t\tconst {labels} = convert[this.model];\n\t\tconst color = [];\n\t\tfor (i = 0; i < labels.length; i++) {\n\t\t\tcolor.push(object[labels[i]]);\n\t\t}\n\n\t\tthis.color = zeroArray(color);\n\t}\n\n\t// Perform limitations (clamping, etc.)\n\tif (limiters[this.model]) {\n\t\tchannels = convert[this.model].channels;\n\t\tfor (i = 0; i < channels; i++) {\n\t\t\tconst limit = limiters[this.model][i];\n\t\t\tif (limit) {\n\t\t\t\tthis.color[i] = limit(this.color[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\tthis.valpha = Math.max(0, Math.min(1, this.valpha));\n\n\tif (Object.freeze) {\n\t\tObject.freeze(this);\n\t}\n}\n\nColor.prototype = {\n\ttoString() {\n\t\treturn this.string();\n\t},\n\n\ttoJSON() {\n\t\treturn this[this.model]();\n\t},\n\n\tstring(places) {\n\t\tlet self = this.model in colorString.to ? this : this.rgb();\n\t\tself = self.round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to[self.model](args);\n\t},\n\n\tpercentString(places) {\n\t\tconst self = this.rgb().round(typeof places === 'number' ? places : 1);\n\t\tconst args = self.valpha === 1 ? self.color : [...self.color, this.valpha];\n\t\treturn colorString.to.rgb.percent(args);\n\t},\n\n\tarray() {\n\t\treturn this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];\n\t},\n\n\tobject() {\n\t\tconst result = {};\n\t\tconst {channels} = convert[this.model];\n\t\tconst {labels} = convert[this.model];\n\n\t\tfor (let i = 0; i < channels; i++) {\n\t\t\tresult[labels[i]] = this.color[i];\n\t\t}\n\n\t\tif (this.valpha !== 1) {\n\t\t\tresult.alpha = this.valpha;\n\t\t}\n\n\t\treturn result;\n\t},\n\n\tunitArray() {\n\t\tconst rgb = this.rgb().color;\n\t\trgb[0] /= 255;\n\t\trgb[1] /= 255;\n\t\trgb[2] /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.push(this.valpha);\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tunitObject() {\n\t\tconst rgb = this.rgb().object();\n\t\trgb.r /= 255;\n\t\trgb.g /= 255;\n\t\trgb.b /= 255;\n\n\t\tif (this.valpha !== 1) {\n\t\t\trgb.alpha = this.valpha;\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tround(places) {\n\t\tplaces = Math.max(places || 0, 0);\n\t\treturn new Color([...this.color.map(roundToPlace(places)), this.valpha], this.model);\n\t},\n\n\talpha(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color([...this.color, Math.max(0, Math.min(1, value))], this.model);\n\t\t}\n\n\t\treturn this.valpha;\n\t},\n\n\t// Rgb\n\tred: getset('rgb', 0, maxfn(255)),\n\tgreen: getset('rgb', 1, maxfn(255)),\n\tblue: getset('rgb', 2, maxfn(255)),\n\n\thue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, value => ((value % 360) + 360) % 360),\n\n\tsaturationl: getset('hsl', 1, maxfn(100)),\n\tlightness: getset('hsl', 2, maxfn(100)),\n\n\tsaturationv: getset('hsv', 1, maxfn(100)),\n\tvalue: getset('hsv', 2, maxfn(100)),\n\n\tchroma: getset('hcg', 1, maxfn(100)),\n\tgray: getset('hcg', 2, maxfn(100)),\n\n\twhite: getset('hwb', 1, maxfn(100)),\n\twblack: getset('hwb', 2, maxfn(100)),\n\n\tcyan: getset('cmyk', 0, maxfn(100)),\n\tmagenta: getset('cmyk', 1, maxfn(100)),\n\tyellow: getset('cmyk', 2, maxfn(100)),\n\tblack: getset('cmyk', 3, maxfn(100)),\n\n\tx: getset('xyz', 0, maxfn(95.047)),\n\ty: getset('xyz', 1, maxfn(100)),\n\tz: getset('xyz', 2, maxfn(108.833)),\n\n\tl: getset('lab', 0, maxfn(100)),\n\ta: getset('lab', 1),\n\tb: getset('lab', 2),\n\n\tkeyword(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn convert[this.model].keyword(this.color);\n\t},\n\n\thex(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\treturn colorString.to.hex(this.rgb().round().color);\n\t},\n\n\thexa(value) {\n\t\tif (value !== undefined) {\n\t\t\treturn new Color(value);\n\t\t}\n\n\t\tconst rgbArray = this.rgb().round().color;\n\n\t\tlet alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();\n\t\tif (alphaHex.length === 1) {\n\t\t\talphaHex = '0' + alphaHex;\n\t\t}\n\n\t\treturn colorString.to.hex(rgbArray) + alphaHex;\n\t},\n\n\trgbNumber() {\n\t\tconst rgb = this.rgb().color;\n\t\treturn ((rgb[0] & 0xFF) << 16) | ((rgb[1] & 0xFF) << 8) | (rgb[2] & 0xFF);\n\t},\n\n\tluminosity() {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tconst rgb = this.rgb().color;\n\n\t\tconst lum = [];\n\t\tfor (const [i, element] of rgb.entries()) {\n\t\t\tconst chan = element / 255;\n\t\t\tlum[i] = (chan <= 0.04045) ? chan / 12.92 : ((chan + 0.055) / 1.055) ** 2.4;\n\t\t}\n\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast(color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tconst lum1 = this.luminosity();\n\t\tconst lum2 = color2.luminosity();\n\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel(color2) {\n\t\t// https://www.w3.org/TR/WCAG/#contrast-enhanced\n\t\tconst contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tisDark() {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tconst rgb = this.rgb().color;\n\t\tconst yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;\n\t\treturn yiq < 128;\n\t},\n\n\tisLight() {\n\t\treturn !this.isDark();\n\t},\n\n\tnegate() {\n\t\tconst rgb = this.rgb();\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\trgb.color[i] = 255 - rgb.color[i];\n\t\t}\n\n\t\treturn rgb;\n\t},\n\n\tlighten(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] += hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdarken(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[2] -= hsl.color[2] * ratio;\n\t\treturn hsl;\n\t},\n\n\tsaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] += hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\tdesaturate(ratio) {\n\t\tconst hsl = this.hsl();\n\t\thsl.color[1] -= hsl.color[1] * ratio;\n\t\treturn hsl;\n\t},\n\n\twhiten(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[1] += hwb.color[1] * ratio;\n\t\treturn hwb;\n\t},\n\n\tblacken(ratio) {\n\t\tconst hwb = this.hwb();\n\t\thwb.color[2] += hwb.color[2] * ratio;\n\t\treturn hwb;\n\t},\n\n\tgrayscale() {\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tconst rgb = this.rgb().color;\n\t\tconst value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\treturn Color.rgb(value, value, value);\n\t},\n\n\tfade(ratio) {\n\t\treturn this.alpha(this.valpha - (this.valpha * ratio));\n\t},\n\n\topaquer(ratio) {\n\t\treturn this.alpha(this.valpha + (this.valpha * ratio));\n\t},\n\n\trotate(degrees) {\n\t\tconst hsl = this.hsl();\n\t\tlet hue = hsl.color[0];\n\t\thue = (hue + degrees) % 360;\n\t\thue = hue < 0 ? 360 + hue : hue;\n\t\thsl.color[0] = hue;\n\t\treturn hsl;\n\t},\n\n\tmix(mixinColor, weight) {\n\t\t// Ported from sass implementation in C\n\t\t// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t\tif (!mixinColor || !mixinColor.rgb) {\n\t\t\tthrow new Error('Argument to \"mix\" was not a Color instance, but rather an instance of ' + typeof mixinColor);\n\t\t}\n\n\t\tconst color1 = mixinColor.rgb();\n\t\tconst color2 = this.rgb();\n\t\tconst p = weight === undefined ? 0.5 : weight;\n\n\t\tconst w = 2 * p - 1;\n\t\tconst a = color1.alpha() - color2.alpha();\n\n\t\tconst w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2;\n\t\tconst w2 = 1 - w1;\n\n\t\treturn Color.rgb(\n\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\tw1 * color1.blue() + w2 * color2.blue(),\n\t\t\tcolor1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n};\n\n// Model conversion methods and static constructors\nfor (const model of Object.keys(convert)) {\n\tif (skippedModels.includes(model)) {\n\t\tcontinue;\n\t}\n\n\tconst {channels} = convert[model];\n\n\t// Conversion methods\n\tColor.prototype[model] = function (...args) {\n\t\tif (this.model === model) {\n\t\t\treturn new Color(this);\n\t\t}\n\n\t\tif (args.length > 0) {\n\t\t\treturn new Color(args, model);\n\t\t}\n\n\t\treturn new Color([...assertArray(convert[this.model][model].raw(this.color)), this.valpha], model);\n\t};\n\n\t// 'static' construction methods\n\tColor[model] = function (...args) {\n\t\tlet color = args[0];\n\t\tif (typeof color === 'number') {\n\t\t\tcolor = zeroArray(args, channels);\n\t\t}\n\n\t\treturn new Color(color, model);\n\t};\n}\n\nfunction roundTo(number, places) {\n\treturn Number(number.toFixed(places));\n}\n\nfunction roundToPlace(places) {\n\treturn function (number) {\n\t\treturn roundTo(number, places);\n\t};\n}\n\nfunction getset(model, channel, modifier) {\n\tmodel = Array.isArray(model) ? model : [model];\n\n\tfor (const m of model) {\n\t\t(limiters[m] || (limiters[m] = []))[channel] = modifier;\n\t}\n\n\tmodel = model[0];\n\n\treturn function (value) {\n\t\tlet result;\n\n\t\tif (value !== undefined) {\n\t\t\tif (modifier) {\n\t\t\t\tvalue = modifier(value);\n\t\t\t}\n\n\t\t\tresult = this[model]();\n\t\t\tresult.color[channel] = value;\n\t\t\treturn result;\n\t\t}\n\n\t\tresult = this[model]().color[channel];\n\t\tif (modifier) {\n\t\t\tresult = modifier(result);\n\t\t}\n\n\t\treturn result;\n\t};\n}\n\nfunction maxfn(max) {\n\treturn function (v) {\n\t\treturn Math.max(0, Math.min(max, v));\n\t};\n}\n\nfunction assertArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n\nfunction zeroArray(array, length) {\n\tfor (let i = 0; i < length; i++) {\n\t\tif (typeof array[i] !== 'number') {\n\t\t\tarray[i] = 0;\n\t\t}\n\t}\n\n\treturn array;\n}\n\nmodule.exports = Color;\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * A set of utilities for manipulating colors.\n */\n\nimport { gray100, white } from '@carbon/colors';\nimport Color from 'color';\n\nimport { consoleError } from './miscUtils';\n\n// The minimum allowed contrast for accessibility rules.\nconst MIN_CONTRAST = 4.5;\n\n/**\n * Converts the given hexadecimal formatted color string into an array with the red, blue and green components\n * separated. This function requires the string to be either a 3 or 6 digit hexadecimal code with a leading hash\n * mark. It does not validate that the string is in the proper format.\n */\nfunction hexCodeToRGB(color: string): [number, number, number] {\n if (color.length === 7) {\n const red = color.substring(1, 3);\n const blue = color.substring(3, 5);\n const green = color.substring(5, 7);\n return [parseInt(red, 16), parseInt(blue, 16), parseInt(green, 16)];\n }\n if (color.length === 4) {\n const red = color.substring(1, 2);\n const blue = color.substring(2, 3);\n const green = color.substring(3, 4);\n return [parseInt(red + red, 16), parseInt(blue + blue, 16), parseInt(green + green, 16)];\n }\n consoleError(`Unsupported color code: \"${color}\"`);\n return [0, 0, 0];\n}\n\n/**\n * Calculates the contrast ratio between the two colors. Contrast values can range from 1 to 21. A value of 4.5 is\n * considered the minimum between a foreground and background color to meet accessibility guidelines.\n *\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nfunction calculateContrast(color1: string, color2: string) {\n const rgb1 = hexCodeToRGB(color1);\n const rgb2 = hexCodeToRGB(color2);\n\n const luminance1 = calculateRelativeLuminance(rgb1);\n const luminance2 = calculateRelativeLuminance(rgb2);\n\n let contrast;\n if (luminance1 > luminance2) {\n contrast = (luminance1 + 0.05) / (luminance2 + 0.05);\n } else {\n contrast = (luminance2 + 0.05) / (luminance1 + 0.05);\n }\n\n return contrast;\n}\n\n/**\n * Calculates the relative luminance of the given color (provided as separate RGB values).\n *\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nfunction calculateRelativeLuminance([r8, g8, b8]: [number, number, number]): number {\n const rRGB = r8 / 255;\n const gRGB = g8 / 255;\n const bRGB = b8 / 255;\n\n const R = rRGB <= 0.03928 ? rRGB / 12.92 : ((rRGB + 0.055) / 1.055) ** 2.4;\n const G = gRGB <= 0.03928 ? gRGB / 12.92 : ((gRGB + 0.055) / 1.055) ** 2.4;\n const B = bRGB <= 0.03928 ? bRGB / 12.92 : ((bRGB + 0.055) / 1.055) ** 2.4;\n\n const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n return luminance;\n}\n\n/**\n * Returns either a white or a black color to use as the text color on a background of the given background color.\n * This will ensure that the text color chosen is of sufficient contrast.\n */\nfunction whiteOrBlackText(background: string): string {\n return calculateContrast(gray100, background) >= MIN_CONTRAST ? gray100 : white;\n}\n\n/**\n * Adjust a given color's lightness by a specified number of percentage points.\n */\nfunction adjustLightness(token: string, shift: number) {\n const original = Color(token).hsl().object();\n\n return Color({ ...original, l: original.l + shift })\n .round()\n .hex()\n .toLowerCase();\n}\n\nexport { MIN_CONTRAST, adjustLightness, whiteOrBlackText, hexCodeToRGB, calculateContrast };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This file contains utility functions to process CSS for web chat. It deals with things like transforming Object Maps\n * of CSS variables into CSS and properly injecting default Carbon colors into CSS variables.\n */\n\nimport { blue60, gray10, gray80, gray100, white } from '@carbon/colors';\nimport { ThemeState } from 'internal-packages/shared/types/AppState';\nimport { CarbonTheme, CarbonThemeClassNames } from 'internal-packages/shared/types/carbonTypes';\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\nimport { RemoteStyleConfig } from 'internal-packages/shared/types/RemoteConfig';\n\nimport { NamespaceService } from '../services/NamespaceService';\nimport { IS_MOBILE } from './browserUtils';\nimport { adjustLightness, calculateContrast, hexCodeToRGB, MIN_CONTRAST, whiteOrBlackText } from './colors';\nimport { WA_CONSOLE_PREFIX } from './constants';\n\n// The prefix that is added to each CSS variable in the application.\nconst CSS_VAR_PREFIX = '--cds-';\nconst CSS_CHAT_PREFIX = 'chat-';\n\n// Regex to determine a 3 or 6 digit hexadecimal color\nconst HEXADECIMAL_REGEX = /#([a-f0-9]{3}){1,2}\\b/i;\n\n// Some carbon colors need to be overridden in order to support our theming options. Map the overrides for the light\n// themes here.\nconst INTERNAL_OVERRIDES_LIGHT_THEME_MAP = {\n // In light themes make the quick action chat buttons black since the default link blue may not match the users theme.\n '$chat-button': '#000000',\n '$chat-button-text-hover': '#525252',\n};\n\n// Some carbon colors need to be overridden in order to support our theming options. Map the overrides for the dark\n// themes here.\nconst INTERNAL_OVERRIDES_DARK_THEME_MAP = {\n // In dark themes make the quick action chat buttons white since the default light link blue may not match the users\n // theme.\n '$chat-button': '#ffffff',\n '$chat-button-text-hover': '#f4f4f4',\n};\n\n/**\n * Converts the given map of CSS variable into a string that is formatted for inserting into a style tag.\n */\nfunction convertCSSVariablesToString(\n cssVariables: ObjectMap<string>,\n namespace: NamespaceService,\n useShadowRoot?: boolean,\n): string {\n // First convert the variables to a CSS string.\n const pieces = Object.keys(cssVariables).map(key => {\n const value = cssVariables[key];\n if (value === undefined) {\n return '';\n }\n\n const fullName = key.startsWith('$')\n ? `${CSS_VAR_PREFIX}${key.replace(/^\\$/, '')}`\n : `${CSS_VAR_PREFIX}${CSS_CHAT_PREFIX}${key}`;\n return `${fullName}:${value};`;\n });\n\n let cssVariablesString = '';\n const allValues = pieces.join('');\n const prefix = useShadowRoot ? '' : `#WACContainer${namespace.suffix}`;\n if (allValues.length > 0) {\n // Including a namespace in the styles allows us to support multiple widgets on the same page without their styles\n // conflicting.\n const rule = `${prefix}.WACContainer .cds--white, ${prefix}.WACContainer .cds--g10, ${prefix}.WACContainer .cds--g90, ${prefix}.WACContainer .cds--g100`;\n cssVariablesString = `${rule}${useShadowRoot ? `, :host` : ''}{${allValues}}`;\n }\n\n return cssVariablesString;\n}\n\n/**\n * This will generate a set of CSS variables that will overwrite the default values based on the customizations that\n * are specified in the given remote config.\n *\n * @param remoteStyles The set of customized styles.\n * @param carbonTheme The Carbon theme that is being used.\n */\nfunction remoteStylesToCSSVars(remoteStyles: RemoteStyleConfig, carbonTheme: CarbonTheme): ObjectMap<string> {\n const cssOverrides: ObjectMap<string> = {};\n\n const primaryColor = remoteStyles['BASE-primary-color'];\n const secondaryColor = remoteStyles['BASE-secondary-color'];\n const accentColor = remoteStyles['BASE-accent-color'];\n\n if (!IS_MOBILE) {\n if (remoteStyles['BASE-height']) {\n // We need to change the max-height value in order for web chat's height to change.\n cssOverrides['BASE-max-height'] = remoteStyles['BASE-height'];\n }\n\n if (remoteStyles['BASE-width']) {\n cssOverrides['BASE-width'] = remoteStyles['BASE-width'];\n }\n }\n\n if (primaryColor) {\n cssOverrides['PRIMARY-color'] = primaryColor;\n cssOverrides['PRIMARY-color-text'] = whiteOrBlackText(primaryColor);\n cssOverrides['PRIMARY-color-hover'] = adjustLightness(primaryColor, -8);\n cssOverrides['PRIMARY-color-active'] = adjustLightness(primaryColor, -10);\n\n // We need to calculate the focus color for the buttons in the header. The focus color for the white and g10\n // themes is the same as the accent color. For g90 and g100, the focus color is white.\n const useAccentColor = accentColor || blue60;\n const tryFocusColor = carbonTheme === CarbonTheme.G90 || carbonTheme === CarbonTheme.G100 ? white : useAccentColor;\n\n let useFocusColor;\n if (calculateContrast(primaryColor, tryFocusColor) >= MIN_CONTRAST) {\n // The default color works fine.\n useFocusColor = tryFocusColor;\n } else if (tryFocusColor !== useAccentColor && calculateContrast(primaryColor, useAccentColor) >= MIN_CONTRAST) {\n // The default doesn't work so let's try the accent.\n useFocusColor = useAccentColor;\n } else if (tryFocusColor !== white && calculateContrast(primaryColor, white) >= MIN_CONTRAST) {\n // The accent doesn't work, so let's try white.\n useFocusColor = white;\n } else {\n // If white doesn't work, then gray100 will.\n useFocusColor = gray100;\n }\n\n if (useFocusColor !== tryFocusColor) {\n cssOverrides['PRIMARY-color-focus'] = useFocusColor;\n }\n }\n\n if (secondaryColor) {\n cssOverrides['SECONDARY-color'] = secondaryColor;\n cssOverrides['SECONDARY-color-text'] = whiteOrBlackText(secondaryColor);\n } else if (carbonTheme === CarbonTheme.G90 || carbonTheme === CarbonTheme.G100) {\n // We don't like the default Carbon color for the sent text bubble in the g90 and g100 color themes.\n cssOverrides['SECONDARY-color'] = `var(${CSS_VAR_PREFIX}layer-02)`;\n cssOverrides['SECONDARY-color-text'] = `var(${CSS_VAR_PREFIX}text-primary);`;\n }\n\n if (accentColor) {\n const colorMap = ACCENT_COLOR_MAPS[carbonTheme];\n\n // The custom color basically corresponds to Blue 60 are we will replace all the occurrences of Blue 60 with\n // that custom color. For the other shades of blue, we will calculate a relative color from the custom color and\n // replace those colors with this calculated color.\n const accentBlue20 = adjustLightness(accentColor, 40);\n const accentBlue60Hover = adjustLightness(accentColor, -8);\n const accentBlue80 = adjustLightness(accentColor, -20);\n\n fillValues(cssOverrides, colorMap.blue20, accentBlue20);\n fillValues(cssOverrides, colorMap.blue60, accentColor);\n fillValues(cssOverrides, colorMap.blue60Hover, accentBlue60Hover);\n fillValues(cssOverrides, colorMap.blue80, accentBlue80);\n\n // Update the launcher variables with the appropriate accent colors for the button states.\n cssOverrides['LAUNCHER-color-background'] = accentColor;\n cssOverrides['LAUNCHER-color-background-hover'] = accentBlue60Hover;\n cssOverrides['LAUNCHER-color-background-active'] = accentBlue80;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-background'] = accentColor;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-hover'] = accentBlue60Hover;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-active'] = accentBlue80;\n\n cssOverrides['ACCENT-color'] = accentColor;\n const accentColorRGB = hexCodeToRGB(accentColor);\n cssOverrides['ACCENT-color-r'] = accentColorRGB[0].toString();\n cssOverrides['ACCENT-color-g'] = accentColorRGB[1].toString();\n cssOverrides['ACCENT-color-b'] = accentColorRGB[2].toString();\n\n // The ghost button text color defaults to $link-01 but since we've decided to not override $link-01, we need to\n // change the color of the ghost button separately.\n cssOverrides['ACCENT-color-ghost-text'] = accentColor;\n\n // Now figure out what font color would go with a background color that's \"Blue 60\".\n const accentColorBW = whiteOrBlackText(accentColor);\n cssOverrides['ACCENT-color-text'] = accentColorBW;\n cssOverrides['ACCENT-color-background-hover'] = accentBlue60Hover;\n cssOverrides['ACCENT-color-background-active'] = accentBlue80;\n\n // Update the launcher variables with the appropriate BW colors.\n cssOverrides['LAUNCHER-color-focus-border'] = accentColorBW;\n cssOverrides['LAUNCHER-color-avatar'] = accentColorBW;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-text'] = accentColorBW;\n cssOverrides['LAUNCHER-EXPANDED-MESSAGE-color-focus-border'] = accentColorBW;\n cssOverrides['LAUNCHER-MOBILE-color-text'] = accentColorBW;\n\n // This color is either black or white and is based on the contrast difference with the accent color. Its primary use\n // is the color of button on top of the accent color.\n cssOverrides['ACCENT-color-bw'] = accentColorBW;\n\n // When ACCENT-color-bw is used as a button color we need a hover and active color.\n cssOverrides['ACCENT-color-bw-hover'] = adjustLightness(accentColorBW, -8);\n\n // The active color is a little darker than the hover color.\n cssOverrides['ACCENT-color-bw-active'] = adjustLightness(accentColorBW, -10);\n\n // Also need an inverse of ACCENT-color-bw so that we can have accessible text within our bw buttons.\n cssOverrides['ACCENT-color-bw-inverse'] = accentColorBW === gray100 ? white : gray100;\n\n // Need a slightly more gray version of the bw accent color.\n cssOverrides['ACCENT-color-bw-gray'] = accentColorBW === gray100 ? gray80 : gray10;\n\n // A slightly darker or lighter accent color (darker if the accent color was already dark, lighter if it was already\n // light). Used for the launcher experiments where we only have one accent color but really need two.\n cssOverrides['ACCENT-color-pastel'] =\n accentColorBW === gray100 ? adjustLightness(accentColor, 20) : adjustLightness(accentColor, -15);\n }\n\n return cssOverrides;\n}\n\n/**\n * This structure maintains a map for each of the named colors in Carbon that are a shade of blue. When the tooling\n * specifies a custom accent color, we will replace all occurrences of Blue 60 in each of the Carbon color themes\n * with that accent color as well as appropriate adjustments of the accent color for each of the shades of blue.\n *\n * Note: to preserve the color of links as their default Carbon colors, $link-01 and $inverse-link are excluded from\n * these maps.\n */\n\nconst ACCENT_COLOR_MAPS: Record<CarbonTheme, { [key: string]: string[] }> = {\n white: {\n blue20: ['$highlight'],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$icon-interactive',\n '$focus',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$button-tertiary-active'],\n },\n g10: {\n blue20: ['$highlight'],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$icon-interactive',\n '$focus',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$button-tertiary-active'],\n },\n g90: {\n blue20: [],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$focus-inverse',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$highlight', '$button-tertiary-active'],\n },\n g100: {\n blue20: [],\n blue60: [\n '$background-brand',\n '$interactive',\n '$border-interactive',\n '$button-primary',\n '$button-tertiary',\n '$focus-inverse',\n ],\n blue60Hover: ['$button-primary-hover', '$button-tertiary-hover'],\n blue80: ['$button-primary-active', '$highlight', '$button-tertiary-active'],\n },\n};\n\n/**\n * Sets the given value for each property of the given set of names in the given map.\n *\n * @param styles The set of styles that need to be replaced.\n * @param propertyNames The names of the styles to replace.\n * @param value The value to replace each of the styles with.\n */\nfunction fillValues(styles: ObjectMap<string>, propertyNames: string[], value: string) {\n propertyNames.forEach(propertyName => {\n styles[propertyName] = value;\n });\n}\n\n/**\n * This function will merge the CSS variables from the public and remote configurations. Any variables in the public\n * configuration will override values in the remote configuration. Any values in the remote configuration that are\n * the empty string will be ignored.\n */\nfunction mergeCSSVariables(\n publicVars: ObjectMap<string>,\n remoteStyles: RemoteStyleConfig,\n carbonTheme: CarbonTheme,\n useAITheme: boolean,\n): ObjectMap<string> {\n carbonTheme = carbonTheme || CarbonTheme.G10;\n useAITheme = useAITheme || false;\n publicVars = publicVars || {};\n\n const internalOverrides = createInternalCSSOverridesMap(carbonTheme, useAITheme);\n const result = { ...internalOverrides, ...publicVars };\n\n Object.entries(result).forEach(([key, value]) => {\n // Variables starting with \"$\" are carbon theme tokens and should all be colors\n if (key.startsWith('$') && !value.match(HEXADECIMAL_REGEX)) {\n console.warn(\n `${WA_CONSOLE_PREFIX} You tried to call \"updateCSSVariables\" with an invalid value for \"${key}\": \"${publicVars[key]}\". You must use hexadecimal values for colors.`,\n );\n // Delete color values that are not in hexadecimal format to ensure we can use them in methods in ./colors.\n delete result[key];\n }\n });\n\n const remoteVars = remoteStylesToCSSVars(remoteStyles || {}, carbonTheme);\n\n Object.entries(remoteVars).forEach(([key, value]) => {\n if (value !== '' && publicVars[key] === undefined) {\n result[key] = value;\n }\n });\n\n return result;\n}\n\n/**\n * This function replaces the default carbon colors for some specific scss variables. After this function is called the\n * public and remote values in mergeCSSVariables can override whatever is set here.\n */\nfunction createInternalCSSOverridesMap(carbonTheme: CarbonTheme, useAITheme: boolean): ObjectMap<string> {\n let internalOverridesMap = {};\n if (!useAITheme) {\n // Some carbon colors need to be overridden in order to support our theming options (when the user isn't using the\n // AI theme). For now these overrides only apply to the quick action chat buttons since their carbon default, link\n // blue, may not match the users theme. But this could be extended to other overrides in the future.\n if ([CarbonTheme.G10, CarbonTheme.WHITE].includes(carbonTheme)) {\n // In light themes make the quick action chat buttons black.\n internalOverridesMap = {\n ...internalOverridesMap,\n ...INTERNAL_OVERRIDES_LIGHT_THEME_MAP,\n };\n } else if ([CarbonTheme.G90, CarbonTheme.G100].includes(carbonTheme)) {\n // In dark themes make the quick action chat buttons white.\n internalOverridesMap = {\n ...internalOverridesMap,\n ...INTERNAL_OVERRIDES_DARK_THEME_MAP,\n };\n }\n }\n return internalOverridesMap;\n}\n\n// Given a themeState determine which classNames should be used on the \"WACContainer--render\" element.\nfunction getThemeClassNames(themeState: ThemeState) {\n let themeClassnames: string;\n switch (themeState?.carbonTheme) {\n case CarbonTheme.WHITE:\n themeClassnames = CarbonThemeClassNames.WHITE;\n break;\n case CarbonTheme.G10:\n themeClassnames = CarbonThemeClassNames.G10;\n break;\n case CarbonTheme.G90:\n themeClassnames = CarbonThemeClassNames.G90;\n break;\n case CarbonTheme.G100:\n themeClassnames = CarbonThemeClassNames.G100;\n break;\n default:\n themeClassnames = CarbonThemeClassNames.G10;\n break;\n }\n\n if (themeState?.useAITheme) {\n themeClassnames += ' WAC--aiTheme';\n }\n\n return themeClassnames;\n}\n\nexport {\n CSS_VAR_PREFIX,\n CSS_CHAT_PREFIX,\n INTERNAL_OVERRIDES_LIGHT_THEME_MAP,\n INTERNAL_OVERRIDES_DARK_THEME_MAP,\n remoteStylesToCSSVars,\n mergeCSSVariables,\n convertCSSVariablesToString,\n getThemeClassNames,\n};\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport dayjs from 'dayjs';\n\nimport { consoleError } from './miscUtils';\n\n/**\n * The name of the system default timezone that is lazily calculated. An example returned value is \"America/Chicago\".\n */\nlet cachedTimeZone: string;\n\nfunction timestampToDateString(timestamp: number | Date | string) {\n // Returns date string in localized format e.g. \"August 16, 2018\" for US English.\n return dayjs(timestamp).format('LL');\n}\n\n/**\n * Returns the time from the given timestamp localized into the user's current timezone and formatted with the\n * current locale.\n */\nfunction timestampToTimeString(timestamp: number | Date | string) {\n return dayjs(timestamp).format('LT');\n}\n\n/**\n * Returns the timezone for legacy browsers that don't support Intl.DateTimeFormat. This will use a JS library to\n * guess the timezone.\n */\nfunction getTimeZoneLegacy(): Promise<string> {\n return import(/* webpackChunkName: \"jstz\" */ 'jstimezonedetect' as any)\n .then(({ default: jstz }) => jstz.determine().name())\n .catch(error => {\n consoleError('[getTimeZoneLegacy]', error);\n });\n}\n\n/**\n * Returns the name of the system default timezone. An example returned value is \"America/Chicago\".\n */\nasync function getTimeZone(): Promise<string> {\n if (!cachedTimeZone) {\n const timeZone =\n Intl?.DateTimeFormat && typeof Intl.DateTimeFormat().resolvedOptions === 'function'\n ? Intl.DateTimeFormat().resolvedOptions().timeZone\n : undefined;\n if (timeZone) {\n cachedTimeZone = timeZone;\n } else {\n cachedTimeZone = await getTimeZoneLegacy();\n }\n }\n return cachedTimeZone;\n}\n\nexport { timestampToDateString, timestampToTimeString, getTimeZone };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\n\n// This file is a mock of the localStorage API. In IE11 when developing on localhost, we can get access denied errors.\n// This is just a small fallback for that use case.\n\nlet innerStorage: ObjectMap<any> = {};\n\nconst storage: Storage = {\n getItem(key: string) {\n return innerStorage[key];\n },\n setItem(key: string, value: string) {\n innerStorage[key] = value;\n },\n removeItem(key: string) {\n delete innerStorage[key];\n },\n length: Object.keys(innerStorage).length,\n clear() {\n innerStorage = {};\n },\n key(index: number) {\n return Object.keys(innerStorage)[index];\n },\n};\n\nexport default storage;\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This module is responsible for managing the storage of a deviceID across a session. This way if a userID is provided\n * part way through a session, Amplitude can match that userID up with the previous events in the session.\n *\n * See https://help.amplitude.com/hc/en-us/articles/115003135607-Tracking-Unique-Users#h_5c321a51-5d16-43f0-a4fe-f907567ad63b\n */\n\nimport { IS_SESSION_STORAGE } from '../utils/browserUtils';\nimport { uuid, UUIDType } from '../utils/lang/uuid';\nimport { consoleError } from '../utils/miscUtils';\nimport mockStorage from './mockStorage';\n\n// The prefix of the key in browser storage that contains the session id for a particular user.\nconst DEVICE_ID_KEY = 'IBM_WAC_DEVICE_ID';\n\n// We use sessionStorage instead of localStorage to not have to have a public cookie policy that must be accepted in EU.\nconst storage: Storage = IS_SESSION_STORAGE() ? window.sessionStorage : mockStorage;\n\n/**\n * Get the session object for the device id. Use integrationID here just to super duper ensure uniqueness.\n */\nfunction getOrSetDeviceID(integrationID: string): string {\n try {\n const deviceID = storage.getItem(DEVICE_ID_KEY);\n if (deviceID) {\n return deviceID;\n }\n const id = uuid(UUIDType.DEVICE_ID);\n const newDeviceID = `${integrationID}:${id}`;\n storage.setItem(DEVICE_ID_KEY, newDeviceID);\n return newDeviceID;\n } catch (error) {\n consoleError('Error in getOrSetDeviceID', error);\n return undefined;\n }\n}\n\nexport { getOrSetDeviceID, DEVICE_ID_KEY };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This module is responsible for tracking events through amplitude. It tracks each user's triggered event and\n * specific properties for that event.\n *\n * Amplitude creates their user profiles using a combination of device_id and user_id. If a user_id is added to\n * a session with a given device_id, that device is then added to the user profile. We make use of this by\n * assigning a device_id in sessionStorage to be used across an entire session. If a user_id is not defined\n * (say JWT has not been passed in yet), we don't define it. When we DO get the user_id, amplitude then knows to\n * supply it to the rest of the session.\n *\n * See\n * https://help.amplitude.com/hc/en-us/articles/115003135607-Tracking-Unique-Users#h_5c321a51-5d16-43f0-a4fe-f907567ad63b\n */\n\nimport { BusEventType, TypeAndHandler } from 'internal-packages/shared/types/eventBusTypes';\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\nimport { LauncherType } from 'internal-packages/shared/types/PublicConfig';\nimport { GenericItem, MessageResponse, OptionItem, SuggestionItem } from 'submodules/wa-fd-types-public/wa-types';\n\nimport { AMPLITUDE_API_KEY } from '../environmentVariables';\nimport { BROWSER_INFO, getURLHostnameAndPath, IS_PHONE, IS_TABLET } from '../utils/browserUtils';\nimport { HEADER_CONTENT_TYPE, MIME_JSON, WriteableElementName } from '../utils/constants';\nimport { asArray } from '../utils/lang/arrayUtils';\nimport { getOptionType, hasSupportedServiceDesk, hasTourUserDefinedType } from '../utils/messageUtils';\nimport { consoleError, debugLog } from '../utils/miscUtils';\nimport { VERSION } from '../utils/versionUtils';\nimport { getOrSetDeviceID } from './deviceIDStorage';\nimport { BuiltInServiceDesk } from './haa/humanAgentUtils';\nimport { ResponseTrackData } from './MessageService';\nimport { ServiceManager } from './ServiceManager';\n\n/**\n * The Set of valid out-of-the-box service desk integration types that can be reported from tooling. We need this\n * because previous version of tooling would record the user clicking custom service desk tiles in the UI which is\n * not info that is reliable. We're not filtering those out to just the OOTBs.\n */\nconst BuiltInServiceDeskValues = new Set(Object.values(BuiltInServiceDesk));\n\nenum MessageRetryStatus {\n RETRYING = 'Retrying',\n FAILED = 'Failed',\n SUCCESS_AFTER_RETRY = 'SuccessAfterRetry',\n}\n\ninterface TrackEvent {\n /**\n * For calls that track docs, we pass in a userID (just a cooked guid)\n */\n user_id: string;\n\n /**\n * The response type being used in event.\n * E.g. for input message: text, options (buttons, dropdown) ...\n * E.g. for bot message: text, options (button, dropdown), image, pause, search, connect to human agent,\n * disambiguation\n */\n event_type: string;\n\n /**\n * Map of properties to send with the event.\n * Can contain all properties of TrackEventProps that are not set elsewhere on the TrackEvent\n */\n event_properties: ObjectMap<any>;\n\n /**\n * The user properties that should be updated with the event\n */\n user_properties?: ObjectMap<any>;\n\n /**\n * A unique I'd consist of the userID and a timestamp\n */\n session_id?: number;\n\n /**\n * Group account information so the event is connected to the group\n */\n groups?: {\n 'Service Instance': string;\n Integration: string;\n };\n}\n\ninterface TrackEventProps extends Partial<ResponseTrackData> {\n /**\n * The name of the event being tracked.\n */\n eventName: string;\n\n /**\n * The description of the event being tracked.\n */\n eventDescription?: string;\n\n /**\n * The user properties that should be updated with the event\n */\n user_properties?: ObjectMap<any>;\n\n /**\n * The response type being used in event.\n * E.g. for input message: text, options (buttons, dropdown) ...\n * E.g. for bot message: text, options (button, dropdown), image, pause, search, connect to human agent,\n * disambiguation\n */\n type?: string;\n\n /**\n * If we have a non-session or non-JWT based message failure, we send a tracking event with a 'Failure' status. If we\n * are able to resolve with re-tries, we send an event with ''SuccessAfterRetry'.\n */\n messageStatus?: MessageRetryStatus;\n\n /**\n * When logging a message retry, this is the amount of time the previous request took.\n */\n lastRequestTime?: number;\n\n /**\n * When logging a message retry, this is the response code of the last response.\n */\n lastResponseCode?: number;\n\n /**\n * When logging a message retry, this is the number of retry being performed (starts at 1).\n */\n retryNumber?: number;\n\n /**\n * Type of launcher being used.\n */\n launcherType?: LauncherType | string;\n\n /**\n * The direction the user toggled to view.\n * E.g. 'To agent' versus 'To bot'\n */\n direction?: string;\n\n /**\n * Number of options being shown.\n * E.g. in terms of disambiguation - 2, 3, 4... (total of options shown)\n */\n optionsShown?: number;\n\n /**\n * Which option did the user click on.\n * E.g. in terms of disambiguation - 1, 2... (first option, second option, etc.)\n */\n optionSelected?: number;\n\n /**\n * Whether there is an \"Anything else\" option included in suggestion (disambiguation).\n * Currently, we cannot get this information. Need to chat with dialog to include.\n */\n anythingElse?: boolean;\n\n /**\n * Whether the given response it an anything else node.\n */\n isAnythingElseNode?: boolean;\n\n /**\n * The current sessionID (called assistantSessionID to avoid confusion since Amplitude has their own session_id key\n * that is a UNIX timestamp)\n */\n assistantSessionID?: string;\n\n /**\n * For calls that track docs, we pass in a userID (just a cooked guid)\n */\n userID?: string;\n\n /**\n * Name of the browser\n */\n browserName?: string;\n\n /**\n * Browser version\n */\n browserVersion?: string;\n\n /**\n * Browser OS\n */\n browserOS?: string;\n\n /**\n * Browser device type\n */\n browserDeviceType?: string;\n\n /**\n * The number of strikes with suggestions.\n */\n suggestionsNumStrikes?: number;\n\n /**\n * The reason a strike occurred with suggestions.\n */\n suggestionsStrikeReason?: string;\n\n /**\n * The number of alternate responses that were received from the bot.\n */\n suggestionsNumAlternateResponses?: number;\n\n /**\n * The number of suggestions that were computer for the user. This doesn't take into account if the suggestions\n * list was actually opened.\n */\n suggestionsNumAvailable?: number;\n\n /**\n * Indicates if the Connect to agent option was one of the available suggestions.\n */\n suggestionsConnectToAgentAvailable?: boolean;\n\n /**\n * Indicates if the user selected the \"Connect to agent\" option from the menu.\n */\n suggestionType?: 'Alternate Response' | 'Contact Option' | 'Home Screen Starter' | 'Search' | 'Unknown';\n\n /**\n * Indicates if the suggestions menu is opened or closed or if the state was changed between the full and strike\n * opened states.\n */\n suggestionsMenuIsOpened?: 'Opened' | 'Closed' | 'Expanded' | 'Collapsed';\n\n /**\n * Indicates the reason why the suggestions menu was opened or closed.\n */\n suggestionsToggledReason?: 'User' | 'Strike' | 'Event' | 'Search';\n\n /**\n * The page search route, preceded by '?=to' in the url.\n */\n docsPageName?: string;\n\n /**\n * The hash '#' in the url.\n */\n docsSectionName?: string;\n\n /**\n * Indicates if the root node was hit based on the dialog state.\n */\n nodeLevel?: 'Root node' | 'Not root node';\n\n /**\n * The type of event that was subscribed to.\n */\n subscriptionEventType?: BusEventType | BusEventType[];\n\n /**\n * When web chat was loaded, this indicates what type of page link was used.\n */\n pageLinkType?: 'Text' | 'None';\n\n /**\n * The writeable element Deb has added custom content to.\n */\n element?: WriteableElementName;\n\n /**\n * The amount of time between the time when the widget began to be loaded and when the \"Widget Loaded\" track event\n * is fired.\n */\n loadTime?: number;\n\n /**\n * The number of steps in a tour that was started.\n */\n numberOfSteps?: number;\n\n /**\n * If the tour was started by skipping the tour card.\n */\n skipTourCard?: boolean;\n\n /**\n * Indicates if the {@link GenericItem} from the generic item array within the {@link MessageResponse} output is the\n * welcome node.\n */\n isWelcomeNode?: boolean;\n}\n\n// The parameters to send on fetch requests.\n// Note: The content-type must be application/json per amplitude's HTTP API v2 docs.\n// https://developers.amplitude.com/docs/http-api-v2#request-format\nconst FETCH_PARAMETERS = {\n method: 'POST',\n headers: {\n [HEADER_CONTENT_TYPE]: MIME_JSON,\n },\n};\n\nconst NOT_SET = 'not set';\n\nconst API_KEY = AMPLITUDE_API_KEY; // Defaults to Amplitude testing environment API key if none provided.\n\nconst POST_URL = '/2/httpapi';\n\n// Use the Group Identify API to set or update properties of particular groups. However, these updates will only affect events going forward.\nconst GROUP_POST_URL = `/groupidentify?api_key=${API_KEY}`;\n\n// Use the Identify API to set the User ID for a particular Device ID or update user properties of a particular user without sending an event.\n// However, these updates will only affect events going forward.\nconst IDENTIFY_POST_URL = `/identify?api_key=${API_KEY}`;\n\nconst MAX_AMPLITUDE_EVENTS = 10;\n\n// Returns the current device type, differentiating between; phone, tablet, and desktop.\n// eslint-disable-next-line no-nested-ternary\nconst BROWSER_DEVICE_TYPE = IS_TABLET ? 'tablet' : IS_PHONE ? 'phone' : 'desktop';\n\nclass TrackService {\n /**\n * The service manager to use to access services.\n */\n serviceManager: ServiceManager;\n\n /**\n * The host\n */\n endpointPath: string;\n\n /**\n * Queue for events that are ready to send to Amplitude. We do not send events immediately to prevent overloading the\n * limit of 10/second per device.\n */\n private eventQueue: TrackEvent[] = [];\n\n /**\n * We keep track of the first userID we use, this way we don't end up switching the userID and confusing amplitude\n * partway through.\n */\n private firstUserID: string;\n\n /**\n * We need to add user_properties to the first batch of events, this variable is used to determine if the properties\n * have been added to the first batch or not.\n */\n private firstBatchUserProperties: boolean = false;\n\n /**\n * Flag indicating whether to disable the sending of identity calls.\n */\n private isIdentifyEnabled: boolean;\n\n /**\n * Flag indicating whether to disable the sending of tracking events.\n */\n private isEventEnabled: boolean;\n\n constructor(\n serviceManager: ServiceManager,\n isIdentifyEnabled: boolean,\n isEventEnabled: boolean,\n endpointPath: string,\n ) {\n this.serviceManager = serviceManager;\n this.isIdentifyEnabled = isIdentifyEnabled;\n this.isEventEnabled = isEventEnabled;\n this.endpointPath = endpointPath;\n }\n\n /**\n * Returns the type of launcher being used, so we can compare open rates across different launchers.\n */\n getLauncherType() {\n const { config } = this.serviceManager.store.getState();\n if (config.public.showLauncher === false) {\n return 'Custom';\n }\n return 'Default';\n }\n\n /**\n * Pushes an event onto the eventQueue and starts the sendEvents loop if event is the first event in the eventQueue\n *\n * @param event The event to send to Amplitude\n */\n pushEvent(event: TrackEvent) {\n this.eventQueue.push(event);\n // If this is the only event in the queue start the sendEvents loop\n if (this.eventQueue.length === 1) {\n this.sendEvents();\n }\n }\n\n /**\n * Batches events from the eventQueue and sends them to Amplitude. Repeats for additional events in the queue.\n * For more information see: https://developers.amplitude.com/#Http-Api-V2\n */\n sendEvents() {\n // Using setTimeout to allow for multiple events to be added to the eventQueue in a single browser tick before\n // they are sent to Amplitude in a batch.\n setTimeout(() => {\n if (this.eventQueue.length) {\n // Amplitude v2 api has an event batch size limit of 10 events\n const eventBatch = this.eventQueue.splice(0, MAX_AMPLITUDE_EVENTS);\n\n if (!this.firstBatchUserProperties) {\n // Need to add user properties to all events in the first batch otherwise there will be events in the first\n // batch that don't have the below user properties.\n eventBatch.map(event => {\n event.user_properties = {\n 'Browser name': BROWSER_INFO?.name,\n 'Browser version': BROWSER_INFO?.version,\n 'Browser OS': BROWSER_INFO?.os,\n 'Browser device type': BROWSER_DEVICE_TYPE,\n 'Deployed full path': getURLHostnameAndPath(),\n 'Deployed hostname': window.location.hostname,\n 'User loaded version': VERSION,\n ...event.user_properties,\n };\n return event;\n });\n\n this.firstBatchUserProperties = true;\n }\n\n this.serviceManager\n .fetch(`${this.endpointPath}${POST_URL}`, {\n ...FETCH_PARAMETERS,\n body: JSON.stringify({ api_key: API_KEY, events: eventBatch }),\n })\n .catch(error => {\n consoleError('Failed to track events', error);\n });\n\n // If events remain in the queue, loop through sendEvents again to ensure they are all sent.\n this.sendEvents();\n }\n });\n }\n\n /**\n * Identifies the current group and user to Amplitude. Called on the 'Browser Identity' event. When this is called,\n * the userID has been defined and is guaranteed to exist either through JWT, anonymous method, or updateUserID.\n *\n * For more information on the group identify API see: https://developers.amplitude.com/#group-identify-api\n * For more information on the identify API see: https://developers.amplitude.com/#identify-api\n */\n public identifyGroupAndUser() {\n const { additionalChatParameters, store } = this.serviceManager;\n const {\n accountOwnerDomain,\n userID,\n config,\n homeScreenConfig,\n identityToken,\n recentEditorDomain,\n persistedToBrowserStorage,\n } = store.getState();\n\n // The serviceInstanceID, accountOwnerDomain, and recentEditorDomain might be empty since this was added in the tooling after web chat was\n // released and requires you to re-save for it to show.\n const { initConfig } = config.remote;\n const serviceInstanceIDOrNotSet = initConfig.service_instance_id || config.public.serviceInstanceID || NOT_SET;\n const accountOwnerDomainOrNotSet = accountOwnerDomain || NOT_SET;\n const recentEditorDomainOrNotSet = recentEditorDomain || NOT_SET;\n\n const trackUserID = this.getTrackUserID(serviceInstanceIDOrNotSet, userID);\n\n // In Amplitude, we group users by service instance id. We do so by including the identification object.\n // Set the group_type as \"Account\" and the group_value as the value of serviceInstanceID.\n // For more information on grouping, visit https://help.amplitude.com/hc/en-us/articles/115001765532#group-identify-api\n\n const identifyGroup = [\n {\n group_type: 'Service Instance',\n // This might be null since this was added in the tooling after web chat was released and requires you to\n // re-save for it to show.\n group_value: serviceInstanceIDOrNotSet,\n device_id: getOrSetDeviceID(config.public.integrationID),\n user_id: trackUserID,\n group_properties: {\n $set: {\n // This might be null since this was added in the tooling after web chat was released and requires you to\n // re-save for it to show.\n 'Integration owner email domain': accountOwnerDomainOrNotSet,\n 'Recent editor email domain': recentEditorDomainOrNotSet,\n 'Deployed hostname': window.location.hostname,\n 'Plan Type': config.remote.initConfig.plan || 'unknown',\n },\n },\n },\n {\n group_type: 'Integration',\n group_value: config.public.integrationID,\n device_id: getOrSetDeviceID(config.public.integrationID),\n user_id: trackUserID,\n group_properties: {\n $set: {\n // These values need to be set on this group instead of the Service Instance group because Service Instances\n // can contain more than one integration. This way we can track integration specific configurations.\n 'Primary color changed': Boolean(initConfig.css_variables?.['BASE-primary-color']),\n 'Secondary color changed': Boolean(initConfig.css_variables?.['BASE-secondary-color']),\n 'Accent color changed': Boolean(initConfig.css_variables?.['BASE-accent-color']),\n 'Secure login enabled': Boolean(identityToken || initConfig.authorization?.is_on),\n 'Loaded version': VERSION,\n 'Requested version': config.public.clientVersion || 'unknown',\n 'LoadWAC version': additionalChatParameters?.loadVersion || 'unknown',\n 'Suggestions enabled': Boolean(initConfig.alternate_suggestions?.is_on),\n 'Session history enabled': !config.public.disableSessionHistory,\n 'Web chat home screen shown': Boolean(homeScreenConfig?.is_on),\n 'Is Embedded Agent App': config.public.agentAppConfig.is_on,\n 'Service Desk': this.getServiceDesk(),\n 'Service desk enabled': hasSupportedServiceDesk(config),\n 'Custom Service Desk': this.getCustomServiceDeskName(),\n 'Browser name': BROWSER_INFO?.name,\n 'Browser version': BROWSER_INFO?.version,\n 'Browser OS': BROWSER_INFO?.os,\n 'Browser device type': BROWSER_DEVICE_TYPE,\n 'Widget starting state': config.public.openChatByDefault ? 'Opened' : 'Closed',\n 'Deployed full path': getURLHostnameAndPath(),\n 'Launcher Type': this.getLauncherType(),\n 'Branding Enabled': Boolean(initConfig.branding_config?.is_on),\n 'PDF viewer disabled': Boolean(config.public.disablePDFViewer),\n 'Launcher title updated': Boolean(\n initConfig.launcher_config?.desktop.title || initConfig.launcher_config?.mobile.title,\n ),\n 'Disclaimer beta enabled': Boolean(config.public.disclaimer?.isOn),\n },\n },\n },\n ];\n\n if (this.isIdentifyEnabled) {\n const identifyGroupUrl = `${this.endpointPath}${GROUP_POST_URL}&identification=${JSON.stringify(identifyGroup)}`;\n this.serviceManager.fetch(identifyGroupUrl, FETCH_PARAMETERS).catch(error => {\n consoleError('Failed to identify group', error);\n });\n }\n\n // For testing/development purposes - log what we send as updated group properties\n if (config.public.__ibm__?.logTrackObjects) {\n debugLog('Amplitude track - group properties', identifyGroup);\n }\n }\n\n /**\n * Get the correct {@link TrackEventProps} format for a specific response.\n *\n * @param response The response being tracked.\n * @param isLatestWelcomeNode If the response is a welcome node or not.\n * @param isAnythingElseNode If the response is an anything else node or not.\n * @param responseTrackData Optional data to add for tracking purposes.\n */\n getTrackResponseProps(\n response: GenericItem,\n isLatestWelcomeNode: boolean,\n isAnythingElseNode: boolean,\n responseTrackData?: ResponseTrackData,\n ): TrackEventProps {\n const eventProps: TrackEventProps = {\n eventName: 'Assistant Message Sent to User',\n eventDescription: 'Bot gives the user response.',\n isWelcomeNode: isLatestWelcomeNode,\n type: response ? response.response_type : 'user_defined',\n };\n if (response?.response_type === 'option') {\n eventProps.eventDescription = 'Bot gives the user option response type.';\n eventProps.type = getOptionType((response as OptionItem).preference, (response as OptionItem).options.length);\n } else if (response?.response_type === 'suggestion') {\n eventProps.eventDescription = 'Bot gives the user disambiguation option.';\n eventProps.optionsShown = (response as SuggestionItem).suggestions.length;\n } else if (hasTourUserDefinedType(response)) {\n eventProps.type = 'Tour Card';\n }\n eventProps.isAnythingElseNode = !!isAnythingElseNode;\n if (responseTrackData) {\n eventProps.totalRequestTime = responseTrackData.totalRequestTime;\n eventProps.lastRequestTime = responseTrackData.lastRequestTime;\n eventProps.numErrors = responseTrackData.numErrors;\n }\n return eventProps;\n }\n\n /**\n * Converts the data returned by a response from the Assistant into the TrackEventProps needed for sending\n * tracking data to Amplitude about the response. Neither userID nor sessionID must be defined when this is\n * called, and they won't be for initial rendering events. They do get filled in later after the web chat has\n * been opened.\n *\n * @param options The included properties {@link TrackEventProps} wished to be tracked.\n */\n public track(options: TrackEventProps) {\n if (options) {\n const { userID, persistedToBrowserStorage, config } = this.serviceManager.store.getState();\n const { chatState } = persistedToBrowserStorage;\n const { sessionID, sessionStartedTimestamp } = chatState;\n\n const { eventName, user_properties, ...rest } = options;\n\n // Add the session id to the event_properties\n rest.assistantSessionID = sessionID;\n\n // The serviceInstanceID and accountOwnerDomain might be empty since this was added in the tooling after web chat was\n // released and requires you to re-save for it to show.\n const serviceInstanceIDOrNotSet =\n config.remote.initConfig.service_instance_id || config.public.serviceInstanceID || NOT_SET;\n const trackUserID = this.getTrackUserID(serviceInstanceIDOrNotSet, userID);\n\n // For Amplitude, we need to send a unique event_type to capture the overall event we're tracking.\n // The event is sent with the user_properties update.\n // Informational doc: https://help.amplitude.com/hc/en-us/articles/207108327-Step-4-Set-User-Properties-and-Event-Properties#applying-user-properties-to-events\n\n const event = {\n device_id: getOrSetDeviceID(config.public.integrationID),\n user_id: trackUserID,\n event_type: eventName,\n event_properties: rest,\n user_properties,\n session_id: sessionStartedTimestamp,\n groups: {\n 'Service Instance': serviceInstanceIDOrNotSet,\n Integration: config.public.integrationID,\n },\n };\n\n if (this.isEventEnabled) {\n this.pushEvent(event);\n }\n\n // For testing/development purposes - log what we send to amplitude as an event.\n if (config.public.__ibm__?.logTrackObjects) {\n debugLog('Amplitude track - event properties', event);\n }\n }\n }\n\n /**\n * Get the unique tracking user id to use in amplitude\n * Prepend \"WAEndUser-\" to show who are our end users.\n *\n * @param serviceInstanceID The user's service instance id.\n * @param userID The user's id (if provided).\n */\n getTrackUserID(serviceInstanceID: string, userID: string) {\n // If a user ID isn't set, yet, just return undefined.\n if (!userID) {\n return undefined;\n }\n // If we have a userID already defined, just return it.\n if (this.firstUserID) {\n return this.firstUserID;\n }\n // If there is a userID set, but not a firstUserID, we set it.\n this.firstUserID = `WAEndUser-${serviceInstanceID}:${userID}`;\n return this.firstUserID;\n }\n\n /**\n * Track each response within a received message accordingly.\n *\n * @param message The entire message response received.\n * @param isLatestWelcomeNode If the response is a welcome node or not.\n * @param responseTrackData Optional data to add for tracking purposes.\n */\n public trackResponse(message: MessageResponse, isLatestWelcomeNode: boolean, responseTrackData?: ResponseTrackData) {\n if (message.output) {\n const messages = message.output.generic;\n const isAnythingElseNode = message.output.intents && message.output.intents.length === 0;\n if (messages) {\n messages.forEach(response => {\n const trackProps = this.getTrackResponseProps(\n response,\n isLatestWelcomeNode,\n isAnythingElseNode,\n responseTrackData,\n );\n this.track(trackProps);\n });\n }\n }\n }\n\n /**\n * Used to track usage of our event system (instance.once({ type: \"history:begin\", handler: handler });, etc.). Fires\n * when a subscription is configured, not when the subscribed to event is actually fired.\n *\n * @param handlers The type of event subscribed to and handler function for an event subscription\n * {@link TypeAndHandler}.\n * @param subscriptionMethod The way an event was subscribed to {@link EventHandlers}.\n */\n public eventSystemTrack(handlers: TypeAndHandler | TypeAndHandler[], subscriptionMethod: 'on' | 'off' | 'once') {\n const data = asArray(handlers);\n const subscriptionEventType = data.map(handler => handler.type);\n\n const trackProps = {\n eventName: 'Event system used',\n eventDescription: subscriptionMethod,\n subscriptionEventType,\n };\n\n this.track(trackProps);\n }\n\n /**\n * Identifies the user and then pushes the event onto the eventQueue.\n *\n * @param options The included properties {@link TrackEventProps} wished to be tracked.\n * @param userID The userID to use for the track event. Because the docs and demo site do not use the same\n * serviceManager as web chat they both need to create their own userID's for tracking and pass them to this function.\n */\n public docsTrack(options: TrackEventProps, userID: string) {\n if (options) {\n const { eventName, ...rest } = options;\n const identifyUser = {\n user_id: userID,\n };\n\n // We cannot guarantee the user has already been identified with Amplitude in the docs site or the demo site, so we\n // identify the user with Amplitude before each demoOrDocsTrack event. This does not cost us events.\n const identifyUserUrl = `${this.endpointPath}${IDENTIFY_POST_URL}&identification=${JSON.stringify(identifyUser)}`;\n this.serviceManager.fetch(identifyUserUrl, FETCH_PARAMETERS).catch(error => {\n consoleError('Failed to identify user', error);\n });\n\n const event = {\n user_id: userID,\n event_type: eventName,\n event_properties: rest,\n };\n\n this.pushEvent(event);\n }\n }\n\n /**\n * Get the service desk being used by the web chat, if any.\n */\n public getServiceDesk() {\n const { config } = this.serviceManager.store.getState();\n\n if (config.public.agentAppConfig.is_on) {\n // Don't report the type of the service desk if we're in the agent app.\n return undefined;\n }\n\n if (config.public.serviceDeskFactory) {\n return 'custom';\n }\n\n // Filter out the old custom types reported by tooling and only report the OOTB ones.\n const type =\n config.public.serviceDesk.integrationType ||\n (config.remote.initConfig.service_desk?.integration_type as BuiltInServiceDesk);\n if (BuiltInServiceDeskValues.has(type as any)) {\n return type;\n }\n return 'no SD';\n }\n\n /**\n * If a custom service desk is configured, returns the name.\n */\n public getCustomServiceDeskName() {\n return this.serviceManager.humanAgentService?.getCustomServiceDeskName();\n }\n}\n\nexport default TrackService;\nexport { TrackService, TrackEvent, TrackEventProps, NOT_SET, MessageRetryStatus };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nexport enum TagType {\n RED = 'red',\n MAGENTA = 'magenta',\n PURPLE = 'purple',\n BLUE = 'blue',\n CYAN = 'cyan',\n TEAL = 'teal',\n GREEN = 'green',\n GRAY = 'gray',\n COOL_GRAY = 'cool-gray',\n WARM_GRAY = 'warm-gray',\n HIGH_CONTRAST = 'high-contrast',\n OUTLINE = 'outline',\n}\n\nexport enum TagSize {\n SMALL = 'sm',\n MEDIUM = 'md',\n LARGE = 'lg',\n}\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_en=n()}(this,(function(){\"use strict\";return{name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(e){var n=[\"th\",\"st\",\"nd\",\"rd\"],t=e%100;return\"[\"+e+(n[(t-20)%10]||n[t]||n[0])+\"]\"}}}));","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * Translation files are broken up into two sets: private and public. Strings in the public\n * file are published to the github docs and are able to be adjusted by Deb. Strings in the\n * private file are not meant to be changed by Deb or are strings for features in beta. When\n * the two sets are combined, public strings override private ones.\n */\n\nimport dayjs from 'dayjs';\nimport enLocaleData from 'dayjs/locale/en';\nimport { EnglishLanguagePack, enLanguagePack, LanguagePack } from 'internal-packages/shared/types/LanguagePack';\nimport ObjectMap from 'internal-packages/shared/types/ObjectMap';\nimport React from 'react';\nimport { IntlShape } from 'react-intl';\n\nimport { consoleError } from './miscUtils';\n\nconst locales = {\n ar: () => import(/* webpackChunkName: \"locale_ar\" */ 'dayjs/locale/ar' as any),\n 'ar-dz': () => import(/* webpackChunkName: \"locale_ar_dz\" */ 'dayjs/locale/ar-dz' as any),\n 'ar-kw': () => import(/* webpackChunkName: \"locale_ar_kw\" */ 'dayjs/locale/ar-kw' as any),\n 'ar-ly': () => import(/* webpackChunkName: \"locale_ar_ly\" */ 'dayjs/locale/ar-ly' as any),\n 'ar-ma': () => import(/* webpackChunkName: \"locale_ar_ma\" */ 'dayjs/locale/ar-ma' as any),\n 'ar-sa': () => import(/* webpackChunkName: \"locale_ar_sa\" */ 'dayjs/locale/ar-sa' as any),\n 'ar-tn': () => import(/* webpackChunkName: \"locale_ar_tn\" */ 'dayjs/locale/ar-tn' as any),\n cs: () => import(/* webpackChunkName: \"locale_cs\" */ 'dayjs/locale/cs' as any),\n de: () => import(/* webpackChunkName: \"locale_de\" */ 'dayjs/locale/de' as any),\n 'de-at': () => import(/* webpackChunkName: \"locale_de_at\" */ 'dayjs/locale/de-at' as any),\n 'de-ch': () => import(/* webpackChunkName: \"locale_de_ch\" */ 'dayjs/locale/de-ch' as any),\n en: () => import(/* webpackChunkName: \"locale_en\" */ 'dayjs/locale/en' as any),\n 'en-au': () => import(/* webpackChunkName: \"locale_en_au\" */ 'dayjs/locale/en-au' as any),\n 'en-ca': () => import(/* webpackChunkName: \"locale_en_ca\" */ 'dayjs/locale/en-ca' as any),\n 'en-gb': () => import(/* webpackChunkName: \"locale_en_gb\" */ 'dayjs/locale/en-gb' as any),\n 'en-ie': () => import(/* webpackChunkName: \"locale_en_ie\" */ 'dayjs/locale/en-ie' as any),\n 'en-il': () => import(/* webpackChunkName: \"locale_en_il\" */ 'dayjs/locale/en-il' as any),\n 'en-nz': () => import(/* webpackChunkName: \"locale_en_nz\" */ 'dayjs/locale/en-nz' as any),\n es: () => import(/* webpackChunkName: \"locale_es\" */ 'dayjs/locale/es' as any),\n 'es-do': () => import(/* webpackChunkName: \"locale_es_do\" */ 'dayjs/locale/es-do' as any),\n 'es-us': () => import(/* webpackChunkName: \"locale_es_us\" */ 'dayjs/locale/es-us' as any),\n nl: () => import(/* webpackChunkName: \"locale_nl\" */ 'dayjs/locale/nl' as any),\n fr: () => import(/* webpackChunkName: \"locale_fr\" */ 'dayjs/locale/fr' as any),\n 'fr-ca': () => import(/* webpackChunkName: \"locale_fr_ca\" */ 'dayjs/locale/fr-ca' as any),\n 'fr-ch': () => import(/* webpackChunkName: \"locale_fr_ch\" */ 'dayjs/locale/fr-ch' as any),\n it: () => import(/* webpackChunkName: \"locale_it\" */ 'dayjs/locale/it' as any),\n 'it-ch': () => import(/* webpackChunkName: \"locale_it_ch\" */ 'dayjs/locale/it-ch' as any),\n ja: () => import(/* webpackChunkName: \"locale_ja\" */ 'dayjs/locale/ja' as any),\n ko: () => import(/* webpackChunkName: \"locale_ko\" */ 'dayjs/locale/ko' as any),\n pt: () => import(/* webpackChunkName: \"locale_pt\" */ 'dayjs/locale/pt' as any),\n 'pt-br': () => import(/* webpackChunkName: \"locale_pt_br\" */ 'dayjs/locale/pt-br' as any),\n // The translation team has only given us \"zh\" for text which we'll just map to \"zh-cn\" for locale as well.\n zh: () => import(/* webpackChunkName: \"locale_zh_cn\" */ 'dayjs/locale/zh-cn' as any),\n 'zh-cn': () => import(/* webpackChunkName: \"locale_zh_cn\" */ 'dayjs/locale/zh-cn' as any),\n 'zh-tw': () => import(/* webpackChunkName: \"locale_zh_tw\" */ 'dayjs/locale/zh-tw' as any),\n // The zh-mo and zh-hk locales fallback to zh-tw.\n 'zh-mo': () => import(/* webpackChunkName: \"locale_zh_tw\" */ 'dayjs/locale/zh-tw' as any),\n 'zh-hk': () => import(/* webpackChunkName: \"locale_zh_tw\" */ 'dayjs/locale/zh-tw' as any),\n};\n\nconst languages: ObjectMap<() => Promise<{ default: LanguagePack }>> = {\n ar: () => {\n return import(/* webpackChunkName: \"lang_ar\" */ '../../../packages/ai-chat/src/chat/languages/ar.json' as any);\n },\n cs: () => {\n return import(/* webpackChunkName: \"lang_cs\" */ '../../../packages/ai-chat/src/chat/languages/cs.json' as any);\n },\n de: () => {\n return import(/* webpackChunkName: \"lang_de\" */ '../../../packages/ai-chat/src/chat/languages/de.json' as any);\n },\n en: () => {\n return import(/* webpackChunkName: \"lang_en\" */ '../../../packages/ai-chat/src/chat/languages/en.json' as any);\n },\n es: () => {\n return import(/* webpackChunkName: \"lang_es\" */ '../../../packages/ai-chat/src/chat/languages/es.json' as any);\n },\n fr: () => {\n return import(/* webpackChunkName: \"lang_fr\" */ '../../../packages/ai-chat/src/chat/languages/fr.json' as any);\n },\n it: () => {\n return import(/* webpackChunkName: \"lang_it\" */ '../../../packages/ai-chat/src/chat/languages/it.json' as any);\n },\n ja: () => {\n return import(/* webpackChunkName: \"lang_ja\" */ '../../../packages/ai-chat/src/chat/languages/ja.json' as any);\n },\n ko: () => {\n return import(/* webpackChunkName: \"lang_ko\" */ '../../../packages/ai-chat/src/chat/languages/ko.json' as any);\n },\n nl: () => {\n return import(/* webpackChunkName: \"lang_nl\" */ '../../../packages/ai-chat/src/chat/languages/nl.json' as any);\n },\n 'pt-br': () => {\n return import(\n /* webpackChunkName: \"lang_pt_br\" */ '../../../packages/ai-chat/src/chat/languages/pt-br.json' as any\n );\n },\n zh: () => {\n return import(/* webpackChunkName: \"lang_zh_cn\" */ '../../../packages/ai-chat/src/chat/languages/zh.json' as any);\n },\n 'zh-tw': () => {\n return import(\n /* webpackChunkName: \"lang_zh_tw\" */ '../../../packages/ai-chat/src/chat/languages/zh-tw.json' as any\n );\n },\n};\n\n// The zh-mo and zh-hk locales fallback to zh-tw.\nlanguages['zh-mo'] = languages['zh-tw'];\nlanguages['zh-hk'] = languages['zh-tw'];\n\n/**\n * Determines if the given object contains a key that supported the given locale. This will determine if there is an\n * exact match from the given object and if so, that key will be returned. If not, the language will be extracted\n * from the locale and that will be checked to see if it supported by the given object. If the language is\n * supported, that will be returned. If nothing is found to support the locale, this will return null.\n *\n * @param locale The locale (which may or may not include a region) to determine if we have a valid match or null if\n * there is no match.\n * @param object The object containing the values to check for support.\n */\nfunction isSupportedLocale<T>(locale: string, object: T): keyof T | null {\n if (!locale) {\n return null;\n }\n\n // Normalize the locale to lower case and change underscores to dashes.\n locale = locale.toLowerCase().replace(/_/g, '-');\n\n if ((object as any)[locale]) {\n // If there's an exact match for the requested locale, then we'll use that.\n return locale as keyof T;\n }\n\n // If not, look to see if there's a match for just the language without the region.\n const language = locale.substring(0, 2);\n if ((object as any)[language]) {\n return language as keyof T;\n }\n\n // No match was found.\n return null;\n}\n\n/**\n * Determines if the given object contains a key that supported the given locale. This will determine if there is an\n * exact match from the given object and if so, that key will be returned. If not, the language will be extracted\n * from the locale and that will be checked to see if it supported by the given object. If the language is\n * supported, that will be returned. If nothing is found to support the locale, this will return null. If no locale\n * was requested, then the browser's languages/locales will be used instead.\n *\n * @param requestedLocale The locale (which may or may not include a region) that was provided in the public config.\n * @param object The object containing the values to check for support.\n * @param objectType A user friendly string describing the type of data in the given object. Used for outputting\n * error messages.\n */\nfunction findSupportedKey<T>(requestedLocale: string, object: T, objectType: string): keyof T {\n // Check to see if the requested locale is supported.\n const requestedSupported = isSupportedLocale(requestedLocale, object);\n if (requestedSupported) {\n return requestedSupported;\n }\n\n if (requestedLocale) {\n const keyList = JSON.stringify(Object.keys(object));\n consoleError(\n `The requested locale \"${requestedLocale}\" does not contain a supported ${objectType}. We are defaulting to \"en\". The supported values are ${keyList}.`,\n );\n }\n\n // Return English as the default.\n return 'en' as keyof T;\n}\n\n/**\n * Loads the appropriate {@link LanguagePack} from the corresponding module for the requested locale.\n */\nasync function loadLocale(requestedLocale: string): Promise<ILocale> {\n try {\n const localeKey = findSupportedKey(requestedLocale, locales, 'locale');\n const localeModule = await locales[localeKey]();\n if (localeModule) {\n return localeModule.default;\n }\n consoleError(`The locale data for \"${localeKey}\" did not load. The application will default to \"en\".`);\n } catch (error) {\n consoleError(\n `An error occurred loading the locale data for \"${requestedLocale}\". The application will default to \"en\".`,\n error,\n );\n }\n return enLocaleData;\n}\n\n/**\n * Loads the language pack for the given locale if a language pack was not already provided. This may incur an\n * asynchronous load of the language pack files.\n *\n * @param requestedLocale A string identifying the locale WAC is running in.\n * @param providedLanguagePack A language pack that was provided by the configuration from the host page. If this\n * value is defined, it will always be used instead instead of loading a separate pack.\n * @returns The appropriate language pack for the given locale. Any values that are missing will be set with\n * their English values when the instance's language pack is updated.\n */\nasync function loadLanguagePack(requestedLocale: string, providedLanguagePack?: LanguagePack): Promise<LanguagePack> {\n if (providedLanguagePack) {\n // Use the language pack that was provided.\n return fillWithEnglish(providedLanguagePack);\n }\n\n try {\n const languageKey = findSupportedKey(requestedLocale, languages, 'language');\n const languageModule = await languages[languageKey]();\n if (languageModule) {\n return fillWithEnglish(languageModule.default as LanguagePack);\n }\n consoleError(`The language pack for \"${languageKey}\" did not load. The application will default to \"en\".`);\n } catch (error) {\n consoleError(\n `An error occurred loading the language pack for \"${requestedLocale}\". The application will default to \"en\".`,\n error,\n );\n }\n return enLanguagePack;\n}\n\n/**\n * Returns the given language pack filled with english messages for keys that are missing values.\n */\nfunction fillWithEnglish(languagePack: LanguagePack): LanguagePack {\n return {\n ...enLanguagePack,\n ...languagePack,\n };\n}\n\n/**\n * Handles a \"b\" tag.\n */\nfunction handleBTag(chunks: any) {\n return <b>{chunks}</b>;\n}\n\n/**\n * Handles a \"br\" tag.\n */\nfunction handleBRTag() {\n return <br />;\n}\n\n/**\n * Adds the functions for processing HTML to the given object for use with FormattedMessage.\n */\nfunction addHTMLSupport(values: Record<string, any>) {\n values.b = handleBTag;\n values.br = handleBRTag;\n return values;\n}\n\n/**\n * Loads a dayjs locale if it hasn't been loaded already, but doesn't replace the current globally set locale.\n *\n * @param locale The dayjs locale to load.\n * @returns returns the locale it succeeded to load.\n */\nasync function loadDayjsLocale(locale: string): Promise<string> {\n if (!dayjs.Ls[locale]) {\n const previousLocale = dayjs.locale();\n const localePack = await loadLocale(locale);\n\n // We need to temporarily set the new locale globally so that it's available and then return to the previously\n // set locale.\n dayjs.locale(localePack);\n dayjs.locale(previousLocale);\n\n // Determine if the locale we attempted to set was successful.\n const isLoaded = Boolean(dayjs.Ls[locale]);\n // If the locale we attempted to load was not successful, and it's 2 characters long, it's not a locale\n // recognized by dayjs, and we should throw an error.\n if (!isLoaded && locale.length === 2) {\n throw Error('Locale is not recognized.');\n } else if (!isLoaded) {\n // If the locale we were provided is more than two characters, we were possibly given a region that's not\n // supported, so let's attempt to load just the language, which is the first two characters.\n return loadDayjsLocale(locale.substring(0, 2));\n }\n }\n return locale;\n}\n\nfunction formatMessage(intl: IntlShape, id: keyof EnglishLanguagePack, values: Record<string, string>) {\n return intl.formatMessage({ id }, values);\n}\n\nexport { loadLanguagePack, loadLocale, findSupportedKey, addHTMLSupport, loadDayjsLocale, formatMessage };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2019, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { LanguagePack } from 'internal-packages/shared/types/LanguagePack';\nimport React from 'react';\n\n/**\n * This file contains the instance of the {@link LanguagePackContext} which is used to provide access to the\n * {@link LanguagePack}.\n */\n\nconst LanguagePackContext = React.createContext<LanguagePack>(null);\n\nexport { LanguagePackContext };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\n/**\n * This is a React hook that will provided access to the {@link LanguagePack}.\n */\n\nimport React, { useContext } from 'react';\n\nimport { LanguagePackContext } from '../contexts/LanguagePackContext';\n\nfunction useLanguagePack() {\n return useContext(LanguagePackContext);\n}\n\nexport { useLanguagePack };\n","function _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\n\nvar _excluded = [\"width\", \"height\", \"viewBox\"],\n _excluded2 = [\"tabindex\"];\n/**\n * Copyright IBM Corp. 2018, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n // Reference:\n // https://github.com/IBM/carbon-components-react/issues/1392\n // https://github.com/PolymerElements/iron-iconset-svg/pull/47\n // `focusable` is a string attribute which is why we do not use a boolean here\n focusable: 'false',\n preserveAspectRatio: 'xMidYMid meet'\n};\n\n/**\n * Get supplementary HTML attributes for a given <svg> element based on existing\n * attributes.\n */\nfunction getAttributes() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n width = _ref.width,\n height = _ref.height,\n _ref$viewBox = _ref.viewBox,\n viewBox = _ref$viewBox === void 0 ? \"0 0 \".concat(width, \" \").concat(height) : _ref$viewBox,\n attributes = _objectWithoutProperties(_ref, _excluded);\n var tabindex = attributes.tabindex,\n rest = _objectWithoutProperties(attributes, _excluded2);\n var iconAttributes = _objectSpread2(_objectSpread2(_objectSpread2({}, defaultAttributes), rest), {}, {\n width: width,\n height: height,\n viewBox: viewBox\n });\n\n // TODO: attributes.title assumes that the consumer will implement <title> and\n // correctly set `aria-labelledby`.\n if (iconAttributes['aria-label'] || iconAttributes['aria-labelledby'] || iconAttributes.title) {\n iconAttributes.role = 'img';\n\n // Reference:\n // https://allyjs.io/tutorials/focusing-in-svg.html\n if (tabindex !== undefined && tabindex !== null) {\n iconAttributes.focusable = 'true';\n iconAttributes.tabindex = tabindex;\n }\n } else {\n iconAttributes['aria-hidden'] = true;\n }\n return iconAttributes;\n}\n\n/**\n * Copyright IBM Corp. 2018, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * Convert an icon descriptor to a String\n */\nfunction toString(descriptor) {\n var _descriptor$elem = descriptor.elem,\n elem = _descriptor$elem === void 0 ? 'svg' : _descriptor$elem,\n _descriptor$attrs = descriptor.attrs,\n attrs = _descriptor$attrs === void 0 ? {} : _descriptor$attrs,\n _descriptor$content = descriptor.content,\n content = _descriptor$content === void 0 ? [] : _descriptor$content;\n var children = content.map(toString).join('');\n if (elem !== 'svg') {\n return \"<\".concat(elem, \" \").concat(formatAttributes(attrs), \">\").concat(children, \"</\").concat(elem, \">\");\n }\n return \"<\".concat(elem, \" \").concat(formatAttributes(getAttributes(attrs)), \">\").concat(children, \"</\").concat(elem, \">\");\n}\nfunction formatAttributes(attrs) {\n return Object.keys(attrs).reduce(function (acc, key, index) {\n var attribute = \"\".concat(key, \"=\\\"\").concat(attrs[key], \"\\\"\");\n if (index === 0) {\n return attribute;\n }\n return acc + ' ' + attribute;\n }, '');\n}\n\n/**\n * Copyright IBM Corp. 2018, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/**\n * Convert an icon descriptor to a DOM node.\n */\nfunction toSVG(descriptor) {\n var _descriptor$elem = descriptor.elem,\n elem = _descriptor$elem === void 0 ? 'svg' : _descriptor$elem,\n _descriptor$attrs = descriptor.attrs,\n attrs = _descriptor$attrs === void 0 ? {} : _descriptor$attrs,\n _descriptor$content = descriptor.content,\n content = _descriptor$content === void 0 ? [] : _descriptor$content;\n var node = document.createElementNS('http://www.w3.org/2000/svg', elem);\n var attributes = elem !== 'svg' ? attrs : getAttributes(attrs);\n Object.keys(attributes).forEach(function (key) {\n node.setAttribute(key, attrs[key]);\n });\n for (var i = 0; i < content.length; i++) {\n node.appendChild(toSVG(content[i]));\n }\n return node;\n}\n\nexport { defaultAttributes, formatAttributes, getAttributes, toSVG, toString };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { getAttributes } from '@carbon/icon-helpers';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n/**\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst Icon = /*#__PURE__*/React.forwardRef(function Icon(_ref, ref) {\n let {\n className,\n children,\n tabIndex,\n xmlns = 'http://www.w3.org/2000/svg',\n preserveAspectRatio = 'xMidYMid meet',\n ...rest\n } = _ref;\n const {\n tabindex,\n ...attrs\n } = getAttributes({\n ...rest,\n tabindex: tabIndex\n });\n const props = attrs;\n if (className) {\n props.className = className;\n }\n if (tabindex !== undefined && tabindex !== null) {\n if (typeof tabindex === 'number') {\n props.tabIndex = tabindex;\n } else {\n props.tabIndex = Number(tabIndex);\n }\n }\n if (ref) {\n props.ref = ref;\n }\n if (xmlns) {\n props.xmlns = xmlns;\n }\n if (preserveAspectRatio) {\n props.preserveAspectRatio = preserveAspectRatio;\n }\n return /*#__PURE__*/React.createElement('svg', props, children);\n});\nIcon.displayName = 'Icon';\nIcon.propTypes = {\n 'aria-hidden': PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['true', 'false'])]),\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n preserveAspectRatio: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n viewBox: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n xmlns: PropTypes.string\n};\n\nexport { Icon as default };\n","/**\n * Copyright IBM Corp. 2016, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport React from 'react';\nimport Icon from '../Icon.js';\nimport { i as iconPropTypes } from '../iconPropTypes-4cbeb95d.js';\nimport '@carbon/icon-helpers';\nimport 'prop-types';\n\nvar _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _circle, _circle2, _circle3, _circle4, _path12, _path13, _path14, _circle5, _circle6, _circle7, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _circle8, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _circle9, _path54, _path55, _path56, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _circle10, _circle11, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _path84, _path85, _path86, _path87, _path88, _path89, _path90, _path91, _path92, _path93, _path94, _path95, _path96, _path97, _path98, _path99, _path100, _path101, _path102, _path103, _path104, _path105, _path106, _path107, _path108, _path109, _path110, _path111, _path112, _path113, _path114, _circle12, _circle13, _path115, _path116, _path117, _path118, _path119, _path120, _circle14, _path121, _path122, _path123, _path124, _path125, _path126, _path127, _path128, _path129, _path130, _path131, _path132, _path133, _path134, _path135, _path136, _path137, _path138, _circle15, _path139, _path140, _circle16, _path141, _circle17, _circle18, _path142, _path143, _path144, _path145, _path146, _path147, _path148, _path149, _path150, _path151, _path152, _path153, _path154, _path155, _path156, _path157, _path158, _path159, _path160, _path161, _path162, _path163, _path164, _path165, _path166, _path167, _path168, _path169, _path170, _path171, _path172, _path173, _path174, _path175, _path176, _path177, _path178, _path179, _path180, _path181, _path182, _path183, _path184, _rect, _path185, _path186, _path187, _path188, _path189, _path190, _path191, _path192, _path193, _path194, _path195, _path196, _path197, _path198, _path199, _circle19, _circle20, _circle21, _path200, _path201, _path202, _path203, _circle22, _circle23, _circle24, _path204, _path205, _path206, _path207, _path208, _path209, _path210, _path211, _path212, _path213, _path214, _path215;\nconst EdgeDevice = /*#__PURE__*/React.forwardRef(function EdgeDevice(_ref, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9 21H23V23H9zM11 14a2 2 0 102 2A1.9806 1.9806 0 0011 14zM21 14a2 2 0 102 2A1.9806 1.9806 0 0021 14z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H18.4141l2.0722-2.0723A2.04,2.04,0,0,0,21,6a2,2,0,1,0-2-2,2.0412,2.0412,0,0,0,.0723.5137L15.5859,8H4a2.0025,2.0025,0,0,0-2,2V26a2.0025,2.0025,0,0,0,2,2H28a2.0025,2.0025,0,0,0,2-2V10A2.0025,2.0025,0,0,0,28,8ZM4,26V10H28V26Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeDevice.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement(_ref2, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref2;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM16 26A10 10 0 0016 6h0z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,16A14,14,0,0,0,16,2V4a11.9933,11.9933,0,0,1,4.0493,23.2847c-.1682.06-.334.1294-.5044.1821-.2512.0771-.51.1362-.7683.1973-.1262.03-.25.0693-.3772.0952-.2908.0591-.5884.0976-.8862.1352-.1.0122-.1983.0342-.2988.044A12.0015,12.0015,0,0,1,5.416,21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207,13.1207,0,0,1,4.19,18l-1.9677.4131A13.9173,13.9173,0,0,0,2.7,20.2993l-.0251.0083A13.9615,13.9615,0,0,0,16,30q.7134,0,1.415-.0713c.135-.0137.2654-.042.3995-.06.3286-.0424.6574-.0839.9814-.1494.18-.0366.3533-.0908.5308-.1338.2685-.0659.5383-.125.8027-.2065.2463-.0762.4831-.1724.7234-.2612.18-.0664.3635-.1211.5412-.1953l-.0009-.0025A14.0015,14.0015,0,0,0,30,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement_01 = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement_01(_ref3, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref3;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 28L26 20 24 20 24 21 22 21 22 23 24 23 24 28 22 28 22 30 28 30 28 28 26 28zM28 16h2A14 14 0 0016 2V4A12 12 0 0128 16z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 16A10 10 0 0016 6V16zM16 28A11.96 11.96 0 015.416 21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207 13.1207 0 014.19 18l-1.9677.4131A13.9173 13.9173 0 002.7 20.2993l-.0251.0083A13.9615 13.9615 0 0016 30zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement_01.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement_02 = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement_02(_ref4, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref4;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 30H22V26a2.002 2.002 0 012-2h2V22H22V20h4a2.0023 2.0023 0 012 2v2a2.0023 2.0023 0 01-2 2H24v2h4zM28 16h2A14 14 0 0016 2V4A12 12 0 0128 16z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 16A10 10 0 0016 6V16zM16 28A11.96 11.96 0 015.416 21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207 13.1207 0 014.19 18l-1.9677.4131A13.9173 13.9173 0 002.7 20.2993l-.0251.0083A13.9615 13.9615 0 0016 30zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement_02.propTypes = iconPropTypes;\n}\nconst WatsonHealthEdgeEnhancement_03 = /*#__PURE__*/React.forwardRef(function WatsonHealthEdgeEnhancement_03(_ref5, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref5;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 20H22v2h4v2H23v2h3v2H22v2h4a2.0027 2.0027 0 002-2V22A2.0023 2.0023 0 0026 20zM28 16h2A14 14 0 0016 2V4A12 12 0 0128 16z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 16A10 10 0 0016 6V16zM16 28A11.96 11.96 0 015.416 21.6548c-.0664-.127-.133-.2534-.1953-.3843-.0547-.1123-.106-.227-.1572-.3413A13.1207 13.1207 0 014.19 18l-1.9677.4131A13.9173 13.9173 0 002.7 20.2993l-.0251.0083A13.9615 13.9615 0 0016 30zM5.5913 10L3.86 9a14.14 14.14 0 00-1.6382 4.5872l1.9677.3469A12.1519 12.1519 0 015.5913 10zM11.8164 4.7646L11.1328 2.887A13.976 13.976 0 006.9507 5.3278L8.2358 6.8593A11.9729 11.9729 0 0111.8164 4.7646z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthEdgeEnhancement_03.propTypes = iconPropTypes;\n}\nconst EdgeNode = /*#__PURE__*/React.forwardRef(function EdgeNode(_ref6, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref6;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 6H26V10H22z\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"7\",\n r: \"1\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"25\",\n r: \"1\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"21\",\n r: \"1\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"17\",\n r: \"1\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22,17V15H20V14a2.0023,2.0023,0,0,0-2-2H17V10H15v2H13V10H11v2H10a2.0023,2.0023,0,0,0-2,2v1H6v2H8v2H6v2H8v1a2.0023,2.0023,0,0,0,2,2h1v2h2V24h2v2h2V24h1a2.0023,2.0023,0,0,0,2-2V21h2V19H20V17Zm-4,5H10V14h8Z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeNode.propTypes = iconPropTypes;\n}\nconst EdgeNodeAlt = /*#__PURE__*/React.forwardRef(function EdgeNodeAlt(_ref7, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref7;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27,22a2.981,2.981,0,0,0-2.0374.811l-4.0039-2.4023a2.0429,2.0429,0,0,0,0-.8174l4.0039-2.4023A2.9909,2.9909,0,1,0,24,15a2.9345,2.9345,0,0,0,.0415.4092l-4.0039,2.4023a3,3,0,1,0,0,4.377l4.0039,2.4023A2.9345,2.9345,0,0,0,24,25a3,3,0,1,0,3-3Zm0-8a1,1,0,1,1-1,1A1.0009,1.0009,0,0,1,27,14Zm-9,7a1,1,0,1,1,1-1A1.0009,1.0009,0,0,1,18,21Zm9,5a1,1,0,1,1,1-1A1.0009,1.0009,0,0,1,27,26Z\"\n })), _circle5 || (_circle5 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"8\",\n r: \"1\"\n })), _circle6 || (_circle6 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"16\",\n r: \"1\"\n })), _circle7 || (_circle7 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"24\",\n r: \"1\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22,13V5a2.0023,2.0023,0,0,0-2-2H4A2.0023,2.0023,0,0,0,2,5V27a2.0023,2.0023,0,0,0,2,2H20V27H4V21h8V19H4V13ZM4,5H20v6H4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeNodeAlt.propTypes = iconPropTypes;\n}\nconst EdgeService = /*#__PURE__*/React.forwardRef(function EdgeService(_ref8, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref8;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 11H9V21H7zM11 11H13V21H11zM15 11H17V21H15zM19 11H21V21H19zM23 11H25V21H23z\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,26H4a2.0023,2.0023,0,0,1-2-2V8A2.0023,2.0023,0,0,1,4,6H28a2.0023,2.0023,0,0,1,2,2V24A2.0023,2.0023,0,0,1,28,26ZM4,8V24H28V8Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdgeService.propTypes = iconPropTypes;\n}\nconst Edit = /*#__PURE__*/React.forwardRef(function Edit(_ref9, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref9;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 26H30V28H2zM25.4 9c.8-.8.8-2 0-2.8 0 0 0 0 0 0l-3.6-3.6c-.8-.8-2-.8-2.8 0 0 0 0 0 0 0l-15 15V24h6.4L25.4 9zM20.4 4L24 7.6l-3 3L17.4 7 20.4 4zM6 22v-3.6l10-10 3.6 3.6-10 10H6z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Edit.propTypes = iconPropTypes;\n}\nconst EditOff = /*#__PURE__*/React.forwardRef(function EditOff(_ref10, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref10;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 28.6L3.4 2 2 3.4l10.1 10.1L4 21.6V28h6.4l8.1-8.1L28.6 30 30 28.6zM9.6 26H6v-3.6l7.5-7.5 3.6 3.6L9.6 26zM29.4 6.2L29.4 6.2l-3.6-3.6c-.8-.8-2-.8-2.8 0l0 0 0 0-8 8 1.4 1.4L20 8.4l3.6 3.6L20 15.6l1.4 1.4 8-8C30.2 8.2 30.2 7 29.4 6.2L29.4 6.2zM25 10.6L21.4 7l3-3L28 7.6 25 10.6z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EditOff.propTypes = iconPropTypes;\n}\nconst EdtLoop = /*#__PURE__*/React.forwardRef(function EdtLoop(_ref11, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref11;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.625,22.5875a6.1287,6.1287,0,0,1-4.5-1.9l-3.1-3.2-3.1,3.2a6.4582,6.4582,0,0,1-9.1,0,7.028,7.028,0,0,1-1.8-4.7,6.6547,6.6547,0,0,1,1.9-4.7,6.3375,6.3375,0,0,1,9,0l3.1,3.2,3.1-3.2a6.3375,6.3375,0,0,1,9,0,6.8282,6.8282,0,0,1,0,9.4A6.5418,6.5418,0,0,1,23.625,22.5875Zm-6.2-6.6,3.1,3.3a4.4061,4.4061,0,0,0,6.2,0,4.9077,4.9077,0,0,0,0-6.6,4.4061,4.4061,0,0,0-6.2,0Zm-9-4.6a4.1582,4.1582,0,0,0-3.1,1.3,4.8385,4.8385,0,0,0,0,6.6,4.4061,4.4061,0,0,0,6.2,0l3.1-3.3-3.1-3.3A4.7706,4.7706,0,0,0,8.425,11.3875Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EdtLoop.propTypes = iconPropTypes;\n}\nconst Education = /*#__PURE__*/React.forwardRef(function Education(_ref12, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref12;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 30H24V27a5.0059 5.0059 0 00-5-5H13a5.0059 5.0059 0 00-5 5v3H6V27a7.0082 7.0082 0 017-7h6a7.0082 7.0082 0 017 7zM5 6A1 1 0 004 7v9H6V7A1 1 0 005 6z\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,2V4H9v7a7,7,0,0,0,14,0V4h5V2Zm7,2H21V7H11Zm5,12a5,5,0,0,1-5-5V9H21v2A5,5,0,0,1,16,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Education.propTypes = iconPropTypes;\n}\nconst Email = /*#__PURE__*/React.forwardRef(function Email(_ref13, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref13;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6H4A2,2,0,0,0,2,8V24a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V8A2,2,0,0,0,28,6ZM25.8,8,16,14.78,6.2,8ZM4,24V8.91l11.43,7.91a1,1,0,0,0,1.14,0L28,8.91V24Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Email.propTypes = iconPropTypes;\n}\nconst EmailNew = /*#__PURE__*/React.forwardRef(function EmailNew(_ref14, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref14;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19,24H4L3.9966,8.9062l11.4341,7.9161a1.0008,1.0008,0,0,0,1.1386,0L28,8.9087,28,18h2V8a2.0027,2.0027,0,0,0-2-2H4A2.0023,2.0023,0,0,0,2,8V24a2.0027,2.0027,0,0,0,2,2H19ZM25.7986,8,16,14.7837,6.2014,8Z\"\n })), _circle8 || (_circle8 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"26\",\n cy: \"24\",\n r: \"4\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EmailNew.propTypes = iconPropTypes;\n}\nconst Encryption = /*#__PURE__*/React.forwardRef(function Encryption(_ref15, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref15;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 21.2783V19a4 4 0 00-8 0v2.2783A1.9935 1.9935 0 0020 23v5a2.0025 2.0025 0 002 2h6a2.0025 2.0025 0 002-2V23A1.9935 1.9935 0 0029 21.2783zM25 17a2.0025 2.0025 0 012 2v2H23V19A2.0025 2.0025 0 0125 17zM22 28V23h6v5zM2 2H4V6H2zM14 2H16V6H14zM18 2H20V6H18zM2 8H4V16H2zM2 18H4V26H2zM14 18H16V26H14zM6 8H8V16H6zM18 8H20V14H18zM10 26H8a2.0023 2.0023 0 01-2-2V20a2.0023 2.0023 0 012-2h2a2.0023 2.0023 0 012 2v4A2.0023 2.0023 0 0110 26zM8 20v4h2V20zM14 16H12a2.0023 2.0023 0 01-2-2V10a2.0023 2.0023 0 012-2h2a2.0023 2.0023 0 012 2v4A2.0023 2.0023 0 0114 16zm-2-6v4h2V10zM10 6H8A2.0023 2.0023 0 016 4V2H8V4h2V2h2V4A2.0023 2.0023 0 0110 6z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Encryption.propTypes = iconPropTypes;\n}\nconst EnergyRenewable = /*#__PURE__*/React.forwardRef(function EnergyRenewable(_ref16, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref16;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29,14H28V10H26v4H24V10H22v4H21a1,1,0,0,0-1,1v4a5.0079,5.0079,0,0,0,4,4.8989V27a1.0008,1.0008,0,0,1-1,1H5a1,1,0,0,1,0-2h5a3,3,0,0,0,0-6H5a1,1,0,0,1,0-2h5a3.0033,3.0033,0,0,0,3-3V11h1a4.0045,4.0045,0,0,0,4-4V4H15a3.979,3.979,0,0,0-2.7468,1.1064A6.0041,6.0041,0,0,0,7,2H4V5a6.0066,6.0066,0,0,0,6,6h1v4a1.0008,1.0008,0,0,1-1,1H5a3,3,0,0,0,0,6h5a1,1,0,0,1,0,2H5a3,3,0,0,0,0,6H23a3.0033,3.0033,0,0,0,3-3V23.8989A5.0079,5.0079,0,0,0,30,19V15A1,1,0,0,0,29,14ZM13,8a2.002,2.002,0,0,1,2-2h1V7a2.002,2.002,0,0,1-2,2H13ZM10,9A4.0045,4.0045,0,0,1,6,5V4H7a4.0045,4.0045,0,0,1,4,4V9ZM28,19a3,3,0,0,1-6,0V16h6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EnergyRenewable.propTypes = iconPropTypes;\n}\nconst Enterprise = /*#__PURE__*/React.forwardRef(function Enterprise(_ref17, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref17;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 8H10V12H8zM8 14H10V18H8zM14 8H16V12H14zM14 14H16V18H14zM8 20H10V24H8zM14 20H16V24H14z\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,14a2,2,0,0,0-2-2H22V4a2,2,0,0,0-2-2H4A2,2,0,0,0,2,4V30H30ZM4,4H20V28H4ZM22,28V14h6V28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Enterprise.propTypes = iconPropTypes;\n}\nconst EnumerationDefinition = /*#__PURE__*/React.forwardRef(function EnumerationDefinition(_ref18, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref18;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"M19.5328 16.0691c0-.9631.8772-1.4445 1.7885-1.4445 1.0486 0 1.4783.6532 1.4783 1.9257v5.4497h2.2004v-5.6732c0-2.2352-1.0315-3.5072-2.8712-3.5072-1.3922 0-2.1488.7395-2.5096 1.7021h-.0863v-1.4957h-2.2006v8.974h2.2006v-5.9309zM14.908 19.9883L9.2693 19.9883 9.2693 16.9282 14.2548 16.9282 14.2548 14.917 9.2693 14.917 9.2693 12.0117 14.908 12.0117 14.908 10 7 10 7 22 14.908 22 14.908 19.9883z\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m2,4v24c0,1.1046.8954,2,2,2h24c1.1046,0,2-.8954,2-2V4c0-1.1046-.8954-2-2-2H4c-1.1046,0-2,.8954-2,2Zm26,24H4V4h24v24Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EnumerationDefinition.propTypes = iconPropTypes;\n}\nconst EnumerationUsage = /*#__PURE__*/React.forwardRef(function EnumerationUsage(_ref19, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref19;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"M19.5328 16.0691c0-.9631.8772-1.4445 1.7885-1.4445 1.0486 0 1.4783.6532 1.4783 1.9257v5.4497h2.2004v-5.6732c0-2.2352-1.0315-3.5072-2.8712-3.5072-1.3922 0-2.1488.7395-2.5096 1.7021h-.0863v-1.4957h-2.2006v8.974h2.2006v-5.9309zM14.908 19.9883L9.2693 19.9883 9.2693 16.9282 14.2548 16.9282 14.2548 14.917 9.2693 14.917 9.2693 12.0117 14.908 12.0117 14.908 10 7 10 7 22 14.908 22 14.908 19.9883z\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m21,30h-10c-4.9626,0-9-4.0374-9-9v-10C2,6.0374,6.0374,2,11,2h10c4.9626,0,9,4.0374,9,9v10c0,4.9626-4.0374,9-9,9ZM11,4c-3.8599,0-7,3.1401-7,7v10c0,3.8599,3.1401,7,7,7h10c3.8599,0,7-3.1401,7-7v-10c0-3.8599-3.1401-7-7-7h-10Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EnumerationUsage.propTypes = iconPropTypes;\n}\nconst EqualApproximately = /*#__PURE__*/React.forwardRef(function EqualApproximately(_ref20, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref20;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 15c-1.7771 0-3.2314-.8726-4.5144-1.6425-1.1636-.6981-2.2627-1.3575-3.4856-1.3575-1.3977 0-2.449.8629-3.2927 1.707l-1.4146-1.4141c1.0674-1.0675 2.5669-2.293 4.7073-2.293 1.7771 0 3.2314.8726 4.5144 1.6425 1.1636.6981 2.2627 1.3575 3.4856 1.3575 1.3975 0 2.4487-.8629 3.293-1.7072l1.4141 1.4143c-1.0674 1.0675-2.5671 2.2928-4.707 2.2928zM20 22c-1.7771 0-3.2314-.8726-4.5144-1.6425-1.1636-.6981-2.2627-1.3575-3.4856-1.3575-1.3977 0-2.449.8629-3.2927 1.707l-1.4146-1.4141c1.0674-1.0675 2.5669-2.293 4.7073-2.293 1.7771 0 3.2314.8726 4.5144 1.6425 1.1636.6981 2.2627 1.3575 3.4856 1.3575 1.3975 0 2.4487-.8629 3.293-1.7072l1.4141 1.4143c-1.0674 1.0675-2.5671 2.2928-4.707 2.2928z\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16,30c-7.7197,0-14-6.2804-14-14S8.2802,2,16,2s14,6.2804,14,14-6.2803,14-14,14Zm0-26c-6.6167,0-12,5.3832-12,12s5.3833,12,12,12,12-5.3832,12-12-5.3833-12-12-12Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EqualApproximately.propTypes = iconPropTypes;\n}\nconst Equalizer = /*#__PURE__*/React.forwardRef(function Equalizer(_ref21, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref21;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 28H10V30H2zM2 24H10V26H2zM12 28H20V30H12zM12 24H20V26H12zM2 20H10V22H2zM12 20H20V22H12zM2 16H10V18H2zM12 16H20V18H12zM12 12H20V14H12zM12 8H20V10H12zM12 4H20V6H12zM22 28H30V30H22zM22 24H30V26H22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Equalizer.propTypes = iconPropTypes;\n}\nconst Erase = /*#__PURE__*/React.forwardRef(function Erase(_ref22, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref22;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 27H30V29H7zM27.38 10.51L19.45 2.59a2 2 0 00-2.83 0l-14 14a2 2 0 000 2.83L7.13 24h9.59L27.38 13.34A2 2 0 0027.38 10.51zM15.89 22H8L4 18l6.31-6.31 7.93 7.92zm3.76-3.76l-7.92-7.93L18 4 26 11.93z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Erase.propTypes = iconPropTypes;\n}\nconst WatsonHealthErase_3D = /*#__PURE__*/React.forwardRef(function WatsonHealthErase_3D(_ref23, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref23;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.4148 16.5132L22.488 8.5859a2.0014 2.0014 0 00-2.8291 0L5.6208 22.624a2.0024 2.0024 0 000 2.8291L10.1663 30h9.5908L30.4148 19.3413A2.001 2.001 0 0030.4148 16.5132zM18.929 28H10.9949l-3.96-3.9619 6.3123-6.3118 7.9276 7.9276zm3.76-3.76l-7.9276-7.9276L21.074 10l7.9267 7.9272zM11 12H8V2h3a3.0033 3.0033 0 013 3V9A3.0033 3.0033 0 0111 12zm-1-2h1a1.0009 1.0009 0 001-1V5a1.0009 1.0009 0 00-1-1H10zM4 2H0V4H4V6H1V8H4v2H0v2H4a2.0027 2.0027 0 002-2V4A2.0023 2.0023 0 004 2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n WatsonHealthErase_3D.propTypes = iconPropTypes;\n}\nconst Error = /*#__PURE__*/React.forwardRef(function Error(_ref24, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref24;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2,16H2A14,14,0,1,0,16,2,14,14,0,0,0,2,16Zm23.15,7.75L8.25,6.85a12,12,0,0,1,16.9,16.9ZM8.24,25.16A12,12,0,0,1,6.84,8.27L23.73,25.16a12,12,0,0,1-15.49,0Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Error.propTypes = iconPropTypes;\n}\nconst ErrorFilled = /*#__PURE__*/React.forwardRef(function ErrorFilled(_ref25, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref25;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8,1C4.1,1,1,4.1,1,8s3.1,7,7,7s7-3.1,7-7S11.9,1,8,1z M10.7,11.5L4.5,5.3l0.8-0.8l6.2,6.2L10.7,11.5z\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M10.7,11.5L4.5,5.3l0.8-0.8l6.2,6.2L10.7,11.5z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n })), children);\n }\n if (size === 20 || size === \"20\" || size === \"20px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n ...rest\n }, _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n })), children);\n }\n if (size === 24 || size === \"24\" || size === \"24px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n ...rest\n }, _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,1C5.9,1,1,5.9,1,12s4.9,11,11,11s11-4.9,11-11S18.1,1,12,1z M16.3,17.5L6.5,7.7l1.2-1.2l9.8,9.8L16.3,17.5z\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M16.3,17.5L6.5,7.7l1.2-1.2l9.8,9.8L16.3,17.5z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M14.9 7.2H17.1V24.799H14.9z\",\n \"data-icon-path\": \"inner-path\",\n transform: \"rotate(-45 16 16)\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A13.914,13.914,0,0,0,2,16,13.914,13.914,0,0,0,16,30,13.914,13.914,0,0,0,30,16,13.914,13.914,0,0,0,16,2Zm5.4449,21L9,10.5557,10.5557,9,23,21.4448Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ErrorFilled.propTypes = iconPropTypes;\n}\nconst ErrorOutline = /*#__PURE__*/React.forwardRef(function ErrorOutline(_ref26, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref26;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8,1C4.1,1,1,4.1,1,8s3.1,7,7,7s7-3.1,7-7S11.9,1,8,1z M8,14c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S11.3,14,8,14z\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.4 3.6H8.5V12.4H7.4z\",\n transform: \"rotate(-45.001 8 8)\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.9 7.2H17.1V24.799H14.9z\",\n transform: \"rotate(-45 16 16)\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A13.9138,13.9138,0,0,0,2,16,13.9138,13.9138,0,0,0,16,30,13.9138,13.9138,0,0,0,30,16,13.9138,13.9138,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12.0353,12.0353,0,0,1,16,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ErrorOutline.propTypes = iconPropTypes;\n}\nconst Event = /*#__PURE__*/React.forwardRef(function Event(_ref27, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref27;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 15L23.549 19.938 29 20.729 25 24.573 26 30 21 27.438 16 30 17 24.573 13 20.729 18.6 19.938 21 15z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Event.propTypes = iconPropTypes;\n}\nconst EventChange = /*#__PURE__*/React.forwardRef(function EventChange(_ref28, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref28;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 15H19V22H17z\"\n })), _circle9 || (_circle9 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"18\",\n cy: \"25\",\n r: \"1.25\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 30H7c-.3499 0-.6743-.1829-.8555-.4823s-.1926-.6718-.0303-.9817L17.1143 7.536c.1726-.3296.5292-.536.8857-.536s.7131.2064.8857.536l11 21c.1624.3099.1509.6823-.0303.9817s-.5056.4823-.8555.4823zm-20.3474-2h18.6948l-9.3474-17.8448-9.3474 17.8448zM7 23H3c-.3467 0-.6685-.1794-.8506-.4742-.1824-.2948-.1987-.663-.0439-.973l2.5-5 1.7891.8945-1.7766 3.5527h2.3821v2z\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.955 11.5H10.545V13.5H4.955z\",\n transform: \"rotate(-63.435 7.75 12.5)\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m10.8945,8.4473l-1.7891-.8945,2.5-5c.1694-.3387.532-.5527.8945-.5527s.7251.214.8945.5527l2,4-1.7891.8945-1.1055-2.2112-1.6055,3.2112Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventChange.propTypes = iconPropTypes;\n}\nconst EventIncident = /*#__PURE__*/React.forwardRef(function EventIncident(_ref29, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref29;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.0176 26.7217L22.016 28.4541 24.9938 26.7322 24.9938 30 26.9907 30 26.9907 26.7316 30.0016 28.4727 31 26.7402 27.9898 24.9996 30.9902 23.2646 29.9918 21.5322 26.9907 23.2677 26.9907 20 24.9938 20 24.9938 23.2672 21.9984 21.5352 21 23.2676 23.9954 24.9996 21.0176 26.7217zM16 23c-.8284 0-1.5.6716-1.5 1.5s.6716 1.5 1.5 1.5 1.5-.6716 1.5-1.5-.6716-1.5-1.5-1.5h0zM15 12H17V21H15z\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m18,30H3c-.3494,0-.6736-.1824-.8547-.4811-.1814-.2986-.1936-.6703-.0325-.9802L15.1128,3.5387c.1721-.3311.5297-.5387.8872-.5387s.7151.2076.8872.5387l6.76,13-1.7744.9226-5.8728-11.2938L4.6472,28h13.3528v2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventIncident.propTypes = iconPropTypes;\n}\nconst EventSchedule = /*#__PURE__*/React.forwardRef(function EventSchedule(_ref30, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref30;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,30a8,8,0,1,1,8-8A8,8,0,0,1,21,30Zm0-14a6,6,0,1,0,6,6A6,6,0,0,0,21,16Z\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.59 25L20 22.41 20 18 22 18 22 21.59 24 23.59 22.59 25z\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventSchedule.propTypes = iconPropTypes;\n}\nconst EventWarning = /*#__PURE__*/React.forwardRef(function EventWarning(_ref31, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref31;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.3803 28h-6.7625l3.3822-6.7642 3.3803 6.7642zm-3.3803-10c-.3915 0-.7305.2251-.8947.5527l-5 10c-.0674.1348-.1053.2866-.1053.4473 0 .5522.4477 1 1 1h10c.5523 0 1-.4478 1-1 0-.1382-.028-.2695-.0786-.3892l-5.0269-10.0581c-.1641-.3276-.5031-.5527-.8946-.5527h0zM16 23c-.8284 0-1.5.6716-1.5 1.5s.6716 1.5 1.5 1.5 1.5-.6716 1.5-1.5-.6716-1.5-1.5-1.5h0zM15 12H17V21H15z\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m15,30H3c-.3494,0-.6736-.1824-.8547-.4811-.1814-.2986-.1936-.6703-.0325-.9802L15.1128,3.5387c.1721-.3311.5297-.5387.8872-.5387s.7151.2076.8872.5387l6,11.5385-1.7744.9226-5.1128-9.8322L4.6472,28h10.3528v2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventWarning.propTypes = iconPropTypes;\n}\nconst Events = /*#__PURE__*/React.forwardRef(function Events(_ref32, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref32;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 14H24v2h2a3.0033 3.0033 0 013 3v4h2V19A5.0058 5.0058 0 0026 14zM24 4a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5A5 5 0 0024 2zM23 30H21V28a3.0033 3.0033 0 00-3-3H14a3.0033 3.0033 0 00-3 3v2H9V28a5.0059 5.0059 0 015-5h4a5.0059 5.0059 0 015 5zM16 13a3 3 0 11-3 3 3 3 0 013-3m0-2a5 5 0 105 5A5 5 0 0016 11zM8 14H6a5.0059 5.0059 0 00-5 5v4H3V19a3.0033 3.0033 0 013-3H8zM8 4A3 3 0 115 7 3 3 0 018 4M8 2a5 5 0 105 5A5 5 0 008 2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Events.propTypes = iconPropTypes;\n}\nconst EventsAlt = /*#__PURE__*/React.forwardRef(function EventsAlt(_ref33, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref33;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 31h2V29a1.0006 1.0006 0 011-1h6a1.0006 1.0006 0 011 1v2h2V29a3.0033 3.0033 0 00-3-3H21a3.0033 3.0033 0 00-3 3zM24 25a4 4 0 114-4A4.0039 4.0039 0 0124 25zm0-6a2 2 0 102 2A2.0027 2.0027 0 0024 19zM2 31H4V29a1.0009 1.0009 0 011-1h6a1.0009 1.0009 0 011 1v2h2V29a3.0033 3.0033 0 00-3-3H5a3.0033 3.0033 0 00-3 3zM8 25a4 4 0 114-4A4.0042 4.0042 0 018 25zm0-6a2 2 0 102 2A2.0023 2.0023 0 008 19zM18 16h2V14a1.0009 1.0009 0 011-1h6a1.0009 1.0009 0 011 1v2h2V14a3.0033 3.0033 0 00-3-3H21a3.0033 3.0033 0 00-3 3zM24 10a4 4 0 114-4A4.0042 4.0042 0 0124 10zm0-6a2 2 0 102 2A2.0023 2.0023 0 0024 4zM2 16H4V14a1.0013 1.0013 0 011-1h6a1.0013 1.0013 0 011 1v2h2V14a3.0033 3.0033 0 00-3-3H5a3.0033 3.0033 0 00-3 3zM8 10a4 4 0 114-4A4.0045 4.0045 0 018 10zM8 4a2 2 0 102 2A2.002 2.002 0 008 4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n EventsAlt.propTypes = iconPropTypes;\n}\nconst ExamMode = /*#__PURE__*/React.forwardRef(function ExamMode(_ref34, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref34;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25 23v3H7V16.83l3.59 3.58L12 19 6 13 0 19l1.41 1.41L5 16.83V26a2 2 0 002 2H25a2 2 0 002-2V23zM27 7v9.17l3.59-3.58L32 14l-6 6-6-6 1.41-1.41L25 16.17V7H13V5H25A2 2 0 0127 7zM8 10H4A2 2 0 012 8V4A2 2 0 014 2H8a2 2 0 012 2V8A2 2 0 018 10zM4 4V8H8V4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExamMode.propTypes = iconPropTypes;\n}\nconst ExecutableProgram = /*#__PURE__*/React.forwardRef(function ExecutableProgram(_ref35, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref35;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M25 21L32 26 25 31 25 21z\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.17 19L17.58 21.59 19 23 23 19 19 15 17.58 16.41 20.17 19zM11.83 19L14.42 16.41 13 15 9 19 13 23 14.42 21.59 11.83 19z\"\n })), _circle10 || (_circle10 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"9\",\n cy: \"8\",\n r: \"1\"\n })), _circle11 || (_circle11 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"6\",\n cy: \"8\",\n r: \"1\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,26H4V12H28v7h2V6c0-1.1025-.8972-2-2-2H4c-1.1028,0-2,.8975-2,2V26c0,1.1025,.8972,2,2,2H21v-2ZM4,6H28v4H4V6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExecutableProgram.propTypes = iconPropTypes;\n}\nconst Exit = /*#__PURE__*/React.forwardRef(function Exit(_ref36, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref36;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 4H28V28H26zM11.414 20.586L7.828 17 22 17 22 15 7.828 15 11.414 11.414 10 10 4 16 10 22 11.414 20.586z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Exit.propTypes = iconPropTypes;\n}\nconst ExpandAll = /*#__PURE__*/React.forwardRef(function ExpandAll(_ref37, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref37;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,10H26a2.0025,2.0025,0,0,0,2-2V4a2.0025,2.0025,0,0,0-2-2H12a2.0025,2.0025,0,0,0-2,2V5H6V2H4V25a2.0025,2.0025,0,0,0,2,2h4v1a2.0025,2.0025,0,0,0,2,2H26a2.0025,2.0025,0,0,0,2-2V24a2.0025,2.0025,0,0,0-2-2H12a2.0025,2.0025,0,0,0-2,2v1H6V17h4v1a2.0025,2.0025,0,0,0,2,2H26a2.0025,2.0025,0,0,0,2-2V14a2.0025,2.0025,0,0,0-2-2H12a2.0025,2.0025,0,0,0-2,2v1H6V7h4V8A2.0025,2.0025,0,0,0,12,10Zm0-6H26l.0012,4H12Zm0,20H26l.0012,4H12Zm0-10H26l.0012,4H12Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExpandAll.propTypes = iconPropTypes;\n}\nconst ExpandCategories = /*#__PURE__*/React.forwardRef(function ExpandCategories(_ref38, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref38;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 26H26V28H20zM20 18H28V20H20zM20 10H30V12H20zM15 4H17V28H15zM10.586 3.959L7 7.249 3.412 3.958 2 5.373 7 10 12 5.373 10.586 3.959z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ExpandCategories.propTypes = iconPropTypes;\n}\nconst Explore = /*#__PURE__*/React.forwardRef(function Explore(_ref39, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref39;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.707,9.2931a.9992.9992,0,0,0-1.0234-.2417l-9,3a1.001,1.001,0,0,0-.6323.6323l-3,9a1,1,0,0,0,1.2651,1.2651l9-3a1.0013,1.0013,0,0,0,.6323-.6324l3-9A1,1,0,0,0,22.707,9.2931ZM11.5811,20.419l2.2094-6.6284L18.21,18.21Z\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,30A14,14,0,1,1,30,16,14.0158,14.0158,0,0,1,16,30ZM16,4A12,12,0,1,0,28,16,12.0137,12.0137,0,0,0,16,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Explore.propTypes = iconPropTypes;\n}\nconst Export = /*#__PURE__*/React.forwardRef(function Export(_ref40, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref40;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 12v2H3v-2H2v2l0 0c0 .6.4 1 1 1h10c.6 0 1-.4 1-1l0 0v-2H13zM3 6L3.7 6.7 7.5 2.9 7.5 12 8.5 12 8.5 2.9 12.3 6.7 13 6 8 1z\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 24v4H6V24H4v4l.0076-.0049A1.9977 1.9977 0 006 30H26a2 2 0 002-2h0V24zM6 12L7.411 13.405 15 5.825 15 24 17 24 17 5.825 24.591 13.405 26 12 16 2 6 12z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Export.propTypes = iconPropTypes;\n}\nconst Eyedropper = /*#__PURE__*/React.forwardRef(function Eyedropper(_ref41, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref41;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 27H5V30H2zM29.71 7.29l-5-5a1 1 0 00-1.41 0h0L20 5.59l-1.29-1.3L17.29 5.71 18.59 7 8.29 17.29A1 1 0 008 18v1.59l-2.71 2.7a1 1 0 000 1.41h0l3 3a1 1 0 001.41 0h0L12.41 24H14a1 1 0 00.71-.29L25 13.41l1.29 1.3 1.42-1.42L26.41 12l3.3-3.29a1 1 0 000-1.41zM13.59 22h-2L9 24.59 7.41 23 10 20.41v-2l10-10L23.59 12zM25 10.59L21.41 7 24 4.41 27.59 8z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Eyedropper.propTypes = iconPropTypes;\n}\nconst FaceActivated = /*#__PURE__*/React.forwardRef(function FaceActivated(_ref42, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref42;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11zM9 20a8.13 8.13 0 0014 0z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceActivated.propTypes = iconPropTypes;\n}\nconst FaceActivatedAdd = /*#__PURE__*/React.forwardRef(function FaceActivatedAdd(_ref43, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref43;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 4L26 4 26 0 24 0 24 4 20 4 20 6 24 6 24 10 26 10 26 6 30 6 30 4zM11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11zM9 20a8.13 8.13 0 0014 0z\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.82,14A12,12,0,1,1,16,4V2A14,14,0,1,0,30,16a14.71,14.71,0,0,0-.16-2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceActivatedAdd.propTypes = iconPropTypes;\n}\nconst FaceActivatedFilled = /*#__PURE__*/React.forwardRef(function FaceActivatedFilled(_ref44, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref44;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm-4.5,9A2.5,2.5,0,1,1,9,13.5,2.48,2.48,0,0,1,11.5,11ZM16,24a8.11,8.11,0,0,1-7-4H23A8.11,8.11,0,0,1,16,24Zm4.5-8A2.5,2.5,0,1,1,23,13.5,2.48,2.48,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceActivatedFilled.propTypes = iconPropTypes;\n}\nconst FaceAdd = /*#__PURE__*/React.forwardRef(function FaceAdd(_ref45, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref45;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 22a6 6 0 01-5.14-2.92l-1.71 1a8 8 0 0013.7 0l-1.71-1A6 6 0 0116 22zM30 4L26 4 26 0 24 0 24 4 20 4 20 6 24 6 24 10 26 10 26 6 30 6 30 4zM11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11z\"\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.61,13A12.33,12.33,0,0,1,28,16,12,12,0,1,1,16,4V2A14,14,0,1,0,29.67,13Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceAdd.propTypes = iconPropTypes;\n}\nconst FaceCool = /*#__PURE__*/React.forwardRef(function FaceCool(_ref46, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref46;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,24a8,8,0,0,0,6.85-3.89l-1.71-1a6,6,0,0,1-10.28,0l-1.71,1A8,8,0,0,0,16,24Z\"\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,2a12,12,0,0,1,10.89,7H25a1,1,0,0,0-1-1H8a1,1,0,0,0-1,1H5.11A12,12,0,0,1,16,4Zm0,24A12,12,0,0,1,4,16a11.86,11.86,0,0,1,.4-3H7v2a2,2,0,0,0,2,2h3.31a2,2,0,0,0,2-1.67L14.83,12h2.34l.55,3.33a2,2,0,0,0,2,1.67H23a2,2,0,0,0,2-2V13h2.6a11.86,11.86,0,0,1,.4,3A12,12,0,0,1,16,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceCool.propTypes = iconPropTypes;\n}\nconst FaceDissatisfied = /*#__PURE__*/React.forwardRef(function FaceDissatisfied(_ref47, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref47;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path87 || (_path87 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path88 || (_path88 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.5 2.5 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11zM16 19a8 8 0 00-6.85 3.89l1.71 1a6 6 0 0110.28 0l1.71-1A8 8 0 0016 19z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDissatisfied.propTypes = iconPropTypes;\n}\nconst FaceDissatisfiedFilled = /*#__PURE__*/React.forwardRef(function FaceDissatisfiedFilled(_ref48, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref48;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path89 || (_path89 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm-4.5,9h0A2.5,2.5,0,1,1,9,13.5,2.48,2.48,0,0,1,11.54,11Zm9.64,12.92a6,6,0,0,0-10.28,0l-1.71-1a8,8,0,0,1,13.7,0ZM20.5,16a2.5,2.5,0,0,1,0-5h0a2.5,2.5,0,0,1,0,5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDissatisfiedFilled.propTypes = iconPropTypes;\n}\nconst FaceDizzy = /*#__PURE__*/React.forwardRef(function FaceDizzy(_ref49, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref49;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path90 || (_path90 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path91 || (_path91 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.41 11L23 9.59 21 11.59 19 9.59 17.59 11 19.59 13 17.59 15 19 16.41 21 14.41 23 16.41 24.41 15 22.41 13 24.41 11zM14.41 11L13 9.59 11 11.59 9 9.59 7.59 11 9.59 13 7.59 15 9 16.41 11 14.41 13 16.41 14.41 15 12.41 13 14.41 11zM16 19a3 3 0 103 3 3 3 0 00-3-3z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDizzy.propTypes = iconPropTypes;\n}\nconst FaceDizzyFilled = /*#__PURE__*/React.forwardRef(function FaceDizzyFilled(_ref50, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref50;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path92 || (_path92 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM9,16.41,7.59,15l2-2-2-2L9,9.59l2,2,2-2L14.41,11l-2,2,2,2L13,16.41l-2-2ZM16,25a3,3,0,1,1,3-3A3,3,0,0,1,16,25Zm8.41-10L23,16.41l-2-2-2,2L17.59,15l2-2-2-2L19,9.59l2,2,2-2L24.41,11l-2,2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceDizzyFilled.propTypes = iconPropTypes;\n}\nconst FaceMask = /*#__PURE__*/React.forwardRef(function FaceMask(_ref51, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref51;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path93 || (_path93 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.5 2.5 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11z\"\n })), _path94 || (_path94 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,16A14,14,0,1,0,8.8994,28.042l.0156.1562A1.993,1.993,0,0,0,10.9048,30h10.19a1.9929,1.9929,0,0,0,1.99-1.8008l.0156-.1572A13.9674,13.9674,0,0,0,30,16ZM16,4A11.99,11.99,0,0,1,27.97,15.397L22.7637,18H9.2363L4.0305,15.397A11.99,11.99,0,0,1,16,4ZM4.12,17.6777l3.94,1.97.5813,5.81A11.97,11.97,0,0,1,4.12,17.6777ZM21.0947,28H10.9053l-.8-8h11.79Zm2.2644-2.542.5811-5.81,3.94-1.97A11.9712,11.9712,0,0,1,23.3591,25.458Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceMask.propTypes = iconPropTypes;\n}\nconst FaceNeutral = /*#__PURE__*/React.forwardRef(function FaceNeutral(_ref52, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref52;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path95 || (_path95 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path96 || (_path96 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.5 2.5 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11zM10 20H22V22H10z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceNeutral.propTypes = iconPropTypes;\n}\nconst FaceNeutralFilled = /*#__PURE__*/React.forwardRef(function FaceNeutralFilled(_ref53, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref53;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path97 || (_path97 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM9,13.5A2.5,2.5,0,1,1,11.5,16,2.5,2.5,0,0,1,9,13.5ZM22,22H10V20H22Zm-1.5-6A2.5,2.5,0,1,1,23,13.5,2.5,2.5,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceNeutralFilled.propTypes = iconPropTypes;\n}\nconst FacePending = /*#__PURE__*/React.forwardRef(function FacePending(_ref54, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref54;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path98 || (_path98 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path99 || (_path99 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FacePending.propTypes = iconPropTypes;\n}\nconst FacePendingFilled = /*#__PURE__*/React.forwardRef(function FacePendingFilled(_ref55, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref55;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path100 || (_path100 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM11.5,16A2.5,2.5,0,1,1,14,13.5,2.48,2.48,0,0,1,11.5,16Zm9,0A2.5,2.5,0,1,1,23,13.5,2.48,2.48,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FacePendingFilled.propTypes = iconPropTypes;\n}\nconst FaceSatisfied = /*#__PURE__*/React.forwardRef(function FaceSatisfied(_ref56, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref56;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path101 || (_path101 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path102 || (_path102 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5 11A2.5 2.5 0 1014 13.5 2.48 2.48 0 0011.5 11zM20.5 11A2.5 2.5 0 1023 13.5 2.48 2.48 0 0020.5 11zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceSatisfied.propTypes = iconPropTypes;\n}\nconst FaceSatisfiedFilled = /*#__PURE__*/React.forwardRef(function FaceSatisfiedFilled(_ref57, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref57;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path103 || (_path103 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm-4.5,9A2.5,2.5,0,1,1,9,13.5,2.48,2.48,0,0,1,11.5,11ZM16,24a8,8,0,0,1-6.85-3.89l1.71-1a6,6,0,0,0,10.28,0l1.71,1A8,8,0,0,1,16,24Zm4.5-8A2.5,2.5,0,1,1,23,13.5,2.48,2.48,0,0,1,20.5,16Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceSatisfiedFilled.propTypes = iconPropTypes;\n}\nconst FaceWink = /*#__PURE__*/React.forwardRef(function FaceWink(_ref58, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref58;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path104 || (_path104 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z\"\n })), _path105 || (_path105 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.5 11A2.5 2.5 0 1023 13.5 2.5 2.5 0 0020.5 11zM8 13H14V15H8zM16 24a8 8 0 006.85-3.89l-1.71-1a6 6 0 01-10.28 0l-1.71 1A8 8 0 0016 24z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceWink.propTypes = iconPropTypes;\n}\nconst FaceWinkFilled = /*#__PURE__*/React.forwardRef(function FaceWinkFilled(_ref59, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref59;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path106 || (_path106 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2ZM8,13h6v2H8Zm8,11a8,8,0,0,1-6.85-3.89l1.71-1a6,6,0,0,0,10.28,0l1.71,1A8,8,0,0,1,16,24Zm4.5-8a2.5,2.5,0,0,1,0-5h0a2.5,2.5,0,0,1,0,5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FaceWinkFilled.propTypes = iconPropTypes;\n}\nconst Factor = /*#__PURE__*/React.forwardRef(function Factor(_ref60, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref60;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path107 || (_path107 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27,28V9H24V4h2V2H20V4h2V9H19V28H15V16H12V11h2V9H8v2h2v5H7V28H4V2H2V28a2,2,0,0,0,2,2H30V28ZM13,28H9V18h4Zm8-17h4V28H21Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Factor.propTypes = iconPropTypes;\n}\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(_ref61, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref61;\n if (size === 16 || size === \"16\" || size === \"16px\") {\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n ...rest\n }, _path108 || (_path108 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.1 12.6l-.6.8c.6.5 1.3.9 2.1 1.2l.3-.9C5.3 13.4 4.7 13 4.1 12.6zM2.1 9l-1 .2c.1.8.4 1.6.8 2.3L2.8 11C2.4 10.4 2.2 9.7 2.1 9zM5.9 2.4L5.6 1.4C4.8 1.7 4.1 2.1 3.5 2.7l.6.8C4.7 3 5.3 2.6 5.9 2.4zM2.8 5L1.9 4.5C1.5 5.2 1.3 6 1.1 6.8l1 .2C2.2 6.3 2.5 5.6 2.8 5zM8 1v1c3.3 0 6 2.7 6 6s-2.7 6-6 6v1c3.9 0 7-3.1 7-7S11.9 1 8 1z\"\n })), children);\n }\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path109 || (_path109 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.24 25.14L7 26.67a13.79 13.79 0 004.18 2.44l.69-1.87A12 12 0 018.24 25.14zM4.19 18l-2 .41A14.09 14.09 0 003.86 23L5.59 22A12.44 12.44 0 014.19 18zM11.82 4.76l-.69-1.87A13.79 13.79 0 007 5.33L8.24 6.86A12 12 0 0111.82 4.76zM5.59 10L3.86 9a14.37 14.37 0 00-1.64 4.59l2 .34A12.05 12.05 0 015.59 10zM16 2V4a12 12 0 010 24v2A14 14 0 0016 2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fade.propTypes = iconPropTypes;\n}\nconst Favorite = /*#__PURE__*/React.forwardRef(function Favorite(_ref62, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref62;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path110 || (_path110 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.45,6a5.47,5.47,0,0,1,3.91,1.64,5.7,5.7,0,0,1,0,8L16,26.13,5.64,15.64a5.7,5.7,0,0,1,0-8,5.48,5.48,0,0,1,7.82,0L16,10.24l2.53-2.58A5.44,5.44,0,0,1,22.45,6m0-2a7.47,7.47,0,0,0-5.34,2.24L16,7.36,14.89,6.24a7.49,7.49,0,0,0-10.68,0,7.72,7.72,0,0,0,0,10.82L16,29,27.79,17.06a7.72,7.72,0,0,0,0-10.82A7.49,7.49,0,0,0,22.45,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Favorite.propTypes = iconPropTypes;\n}\nconst FavoriteFilled = /*#__PURE__*/React.forwardRef(function FavoriteFilled(_ref63, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref63;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path111 || (_path111 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5,4c-2,0-3.9,0.8-5.3,2.2L16,7.4l-1.1-1.1C12,3.3,7.2,3.3,4.3,6.2c0,0-0.1,0.1-0.1,0.1c-3,3-3,7.8,0,10.8L16,29 l11.8-11.9c3-3,3-7.8,0-10.8C26.4,4.8,24.5,4,22.5,4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FavoriteFilled.propTypes = iconPropTypes;\n}\nconst FavoriteHalf = /*#__PURE__*/React.forwardRef(function FavoriteHalf(_ref64, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref64;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path112 || (_path112 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.21,17.0615,16,29,27.79,17.0615a7.7313,7.7313,0,0,0,0-10.8232,7.494,7.494,0,0,0-10.6841,0L16,7.3643l-1.1062-1.126a7.494,7.494,0,0,0-10.6841,0A7.7313,7.7313,0,0,0,4.21,17.0615ZM26.3552,15.645,16,26.1255V10.23q1.2708-1.2876,2.5413-2.5742a5.4768,5.4768,0,0,1,7.8139,0A5.708,5.708,0,0,1,26.3552,15.645Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FavoriteHalf.propTypes = iconPropTypes;\n}\nconst FeatureMembership = /*#__PURE__*/React.forwardRef(function FeatureMembership(_ref65, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref65;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path113 || (_path113 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m14,28v-9l8-8L13,2,4,11l8,8v9c0,1.1045.8955,2,2,2h14v-2h-14Zm-1-23.1716l6.1716,6.1716-6.1716,6.1716-6.1716-6.1716,6.1716-6.1716Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FeatureMembership.propTypes = iconPropTypes;\n}\nconst FeatureMembershipFilled = /*#__PURE__*/React.forwardRef(function FeatureMembershipFilled(_ref66, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref66;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path114 || (_path114 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m14,28v-9l8-8L13,2,4,11l8,8v9c0,1.1045.8955,2,2,2h14v-2h-14Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FeatureMembershipFilled.propTypes = iconPropTypes;\n}\nconst FeatureTyping = /*#__PURE__*/React.forwardRef(function FeatureTyping(_ref67, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref67;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _circle12 || (_circle12 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17.5\",\n cy: \"22.5\",\n r: \"1.5\",\n strokeWidth: \"0\"\n })), _circle13 || (_circle13 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"22.5\",\n r: \"1.5\",\n strokeWidth: \"0\"\n })), _path115 || (_path115 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m13,28v-10h7c.3564,0,.686-.1899.8647-.498.0902-.1551.1353-.3285.1353-.502,0-.1711-.0441-.3424-.1318-.4961L12.8682,2.504c-.1919-.3359-.5301-.504-.8682-.504s-.6763.1681-.8682.504l-7.9999,13.9999c-.0878.1537-.1318.3249-.1318.4961,0,.1735.0451.3469.1353.502.1787.3081.5083.498.8647.498h7v10c0,1.1046.8954,2,2,2h15v-2h-15Zm-7.2769-12l6.2769-10.9844,6.2769,10.9844H5.7231Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FeatureTyping.propTypes = iconPropTypes;\n}\nconst FetchUpload = /*#__PURE__*/React.forwardRef(function FetchUpload(_ref68, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref68;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path116 || (_path116 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,7,6,17l1.41,1.41L15,10.83V28H2v2H15a2,2,0,0,0,2-2V10.83l7.59,7.58L26,17Z\"\n })), _path117 || (_path117 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,8V4H26V8h2V4a2,2,0,0,0-2-2H6A2,2,0,0,0,4,4V8Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FetchUpload.propTypes = iconPropTypes;\n}\nconst FetchUploadCloud = /*#__PURE__*/React.forwardRef(function FetchUploadCloud(_ref69, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref69;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path118 || (_path118 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,13l-5,5,1.41,1.41L15,16.83V28H6v2h9a2,2,0,0,0,2-2V16.83l2.59,2.58L21,18Z\"\n })), _path119 || (_path119 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5,22H23V20h.5a4.4975,4.4975,0,0,0,.3564-8.981l-.8154-.0639-.0986-.812a6.9938,6.9938,0,0,0-13.8838,0l-.0991.812-.8155.0639A4.4975,4.4975,0,0,0,8.5,20H9v2H8.5A6.4973,6.4973,0,0,1,7.2,9.1362a8.9943,8.9943,0,0,1,17.6006,0A6.4974,6.4974,0,0,1,23.5,22Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FetchUploadCloud.propTypes = iconPropTypes;\n}\nconst FileStorage = /*#__PURE__*/React.forwardRef(function FileStorage(_ref70, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref70;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path120 || (_path120 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,20H26v2h2v6H4V22H6V20H4a2.0024,2.0024,0,0,0-2,2v6a2.0024,2.0024,0,0,0,2,2H28a2.0024,2.0024,0,0,0,2-2V22A2.0024,2.0024,0,0,0,28,20Z\"\n })), _circle14 || (_circle14 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7\",\n cy: \"25\",\n r: \"1\"\n })), _path121 || (_path121 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.707,7.293l-5-5A1,1,0,0,0,17,2H11A2.0023,2.0023,0,0,0,9,4V20a2.0023,2.0023,0,0,0,2,2H21a2.0023,2.0023,0,0,0,2-2V8A1,1,0,0,0,22.707,7.293ZM20.5857,8H17V4.4141ZM11,20V4h4V8a2.0023,2.0023,0,0,0,2,2h4V20Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FileStorage.propTypes = iconPropTypes;\n}\nconst Filter = /*#__PURE__*/React.forwardRef(function Filter(_ref71, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref71;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path122 || (_path122 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,28H14a2,2,0,0,1-2-2V18.41L4.59,11A2,2,0,0,1,4,9.59V6A2,2,0,0,1,6,4H26a2,2,0,0,1,2,2V9.59A2,2,0,0,1,27.41,11L20,18.41V26A2,2,0,0,1,18,28ZM6,6V9.59l8,8V26h4V17.59l8-8V6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Filter.propTypes = iconPropTypes;\n}\nconst FilterEdit = /*#__PURE__*/React.forwardRef(function FilterEdit(_ref72, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref72;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path123 || (_path123 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,6H4V9.17l7.41,7.42.59.58V26h4V24h2v2a2,2,0,0,1-2,2H12a2,2,0,0,1-2-2V18L2.59,10.59A2,2,0,0,1,2,9.17V6A2,2,0,0,1,4,4H26Z\"\n })), _path124 || (_path124 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.71,11.29l-3-3a1,1,0,0,0-1.42,0L16,17.59V22h4.41l9.3-9.29A1,1,0,0,0,29.71,11.29ZM19.59,20H18V18.41l5-5L24.59,15ZM26,13.59,24.41,12,26,10.41,27.59,12Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FilterEdit.propTypes = iconPropTypes;\n}\nconst FilterRemove = /*#__PURE__*/React.forwardRef(function FilterRemove(_ref73, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref73;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path125 || (_path125 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 11.414L28.586 10 24 14.586 19.414 10 18 11.414 22.586 16 18 20.585 19.415 22 24 17.414 28.587 22 30 20.587 25.414 16 30 11.414z\"\n })), _path126 || (_path126 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,4A2,2,0,0,0,2,6V9.1709a2,2,0,0,0,.5859,1.4145L10,18v8a2,2,0,0,0,2,2h4a2,2,0,0,0,2-2V24H16v2H12V17.1709l-.5859-.5855L4,9.1709V6H24V8h2V6a2,2,0,0,0-2-2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FilterRemove.propTypes = iconPropTypes;\n}\nconst FilterReset = /*#__PURE__*/React.forwardRef(function FilterReset(_ref74, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref74;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path127 || (_path127 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5,9A7.4522,7.4522,0,0,0,16,12.792V8H14v8h8V14H17.6167A5.4941,5.4941,0,1,1,22.5,22H22v2h.5a7.5,7.5,0,0,0,0-15Z\"\n })), _path128 || (_path128 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,6H4V9.171l7.4142,7.4143L12,17.171V26h4V24h2v2a2,2,0,0,1-2,2H12a2,2,0,0,1-2-2V18L2.5858,10.5853A2,2,0,0,1,2,9.171V6A2,2,0,0,1,4,4H26Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FilterReset.propTypes = iconPropTypes;\n}\nconst Finance = /*#__PURE__*/React.forwardRef(function Finance(_ref75, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref75;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path129 || (_path129 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2 28H30V30H2zM27 11a1 1 0 001-1V7a1 1 0 00-.66-.94l-11-4a1 1 0 00-.68 0l-11 4A1 1 0 004 7v3a1 1 0 001 1H6V24H4v2H28V24H26V11zM6 7.7L16 4.06 26 7.7V9H6zM18 24H14V11h4zM8 11h4V24H8zM24 24H20V11h4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Finance.propTypes = iconPropTypes;\n}\nconst FingerprintRecognition = /*#__PURE__*/React.forwardRef(function FingerprintRecognition(_ref76, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref76;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path130 || (_path130 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7,5.21a.77.77,0,0,1-.46-1.38A15.46,15.46,0,0,1,16,1c2.66,0,6.48.45,9.5,2.62a.77.77,0,0,1,.18,1.07.78.78,0,0,1-1.08.17A15,15,0,0,0,16,2.53,14,14,0,0,0,7.5,5.05.74.74,0,0,1,7,5.21Z\"\n })), _path131 || (_path131 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.23,12.26a.78.78,0,0,1-.63-.33C25.87,9.49,22.78,6.24,16,6.24a14,14,0,0,0-11.63,5.7.77.77,0,0,1-1.07.17A.76.76,0,0,1,3.15,11,15.54,15.54,0,0,1,16,4.71c5.61,0,9.81,2.08,12.84,6.34a.77.77,0,0,1-.19,1.07A.79.79,0,0,1,28.23,12.26Z\"\n })), _path132 || (_path132 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.28,31a.78.78,0,0,1-.72-.49.75.75,0,0,1,.44-1c4.37-1.68,7-5.12,7-9.21a2.8,2.8,0,0,0-3-3c-1.86,0-2.76,1-3,3.35a4.27,4.27,0,0,1-4.52,3.83,4.27,4.27,0,0,1-4.32-4.59A11.71,11.71,0,0,1,16,8.39a12,12,0,0,1,12,11.93,18.66,18.66,0,0,1-1.39,6.5.78.78,0,0,1-1,.41.76.76,0,0,1-.41-1,17.25,17.25,0,0,0,1.27-5.91A10.45,10.45,0,0,0,16,9.92a10.18,10.18,0,0,0-10.38,10,2.77,2.77,0,0,0,2.79,3.06,2.74,2.74,0,0,0,3-2.48c.36-3.11,1.89-4.69,4.56-4.69a4.31,4.31,0,0,1,4.52,4.56c0,4.74-3,8.72-8,10.63A.92.92,0,0,1,12.28,31Z\"\n })), _path133 || (_path133 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.77,30.28a.81.81,0,0,1-.52-.2.76.76,0,0,1,0-1.08,12.63,12.63,0,0,0,3.54-8.68c0-1.56-.48-6.65-6.7-6.65a6.83,6.83,0,0,0-4.94,1.87A6.17,6.17,0,0,0,9.32,20a.77.77,0,0,1-.77.76h0A.76.76,0,0,1,7.78,20,7.73,7.73,0,0,1,10,14.46a8.34,8.34,0,0,1,6-2.32c6.08,0,8.24,4.4,8.24,8.18A14.09,14.09,0,0,1,20.34,30,.75.75,0,0,1,19.77,30.28Z\"\n })), _path134 || (_path134 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.66,27.74a14.14,14.14,0,0,1-1.56-.09.76.76,0,1,1,.17-1.52c2.49.28,4.45-.16,5.84-1.32a6.37,6.37,0,0,0,2.12-4.53.75.75,0,0,1,.82-.71.78.78,0,0,1,.72.81A7.89,7.89,0,0,1,14.09,26,8.2,8.2,0,0,1,8.66,27.74Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FingerprintRecognition.propTypes = iconPropTypes;\n}\nconst Fire = /*#__PURE__*/React.forwardRef(function Fire(_ref77, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref77;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path135 || (_path135 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.832,16.9688c-.2724-.6465-.5815-1.38-.8833-2.2852-.79-2.3682,1.7344-4.9522,1.7583-4.9766L24.293,8.293c-.1407.1406-3.4234,3.4775-2.2417,7.0234.3261.978.6513,1.749.938,2.43A9.3812,9.3812,0,0,1,24,22a6.24,6.24,0,0,1-4.1892,5.293,8.52,8.52,0,0,0-2.1038-8l-1.0444-1.0445-.5815,1.3575C14.2449,23.89,12.06,25.76,10.7747,26.54A5.8437,5.8437,0,0,1,8,22a9.6239,9.6239,0,0,1,.9287-3.6289A11.3329,11.3329,0,0,0,10,14V12.2217c.8735.36,2,1.3037,2,3.7783v2.6035l1.7432-1.9341c3.1118-3.4546,2.4624-7.5678,1.206-10.3081A4.4859,4.4859,0,0,1,18,11h2c0-5.5371-4.5786-7-7-7H11l1.1992,1.5986c.1377.1856,2.8628,3.9278,1.3535,7.688A4.9426,4.9426,0,0,0,9,10H8v4a9.6239,9.6239,0,0,1-.9287,3.6289A11.3329,11.3329,0,0,0,6,22c0,3.8477,3.8232,8,10,8s10-4.1523,10-8A11.3771,11.3771,0,0,0,24.832,16.9688ZM12.8352,27.5264a16.4987,16.4987,0,0,0,4.3665-5.5987,6.1053,6.1053,0,0,1,.2573,5.9717A11.3213,11.3213,0,0,1,16,28,10.3278,10.3278,0,0,1,12.8352,27.5264Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fire.propTypes = iconPropTypes;\n}\nconst Firewall = /*#__PURE__*/React.forwardRef(function Firewall(_ref78, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref78;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path136 || (_path136 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27 20.3972v3c-1 0-2-1.5-2-4v-3c-4 5-5 7-5 9A5.0008 5.0008 0 0023.0458 30 7.5281 7.5281 0 0125 26.3972 7.5281 7.5281 0 0126.9542 30 5.0008 5.0008 0 0030 25.3972C30 23.3972 28.875 21.8258 27 20.3972zM17 28H4V24H17V22H4a2.0023 2.0023 0 00-2 2v4a2.0023 2.0023 0 002 2H17z\"\n })), _path137 || (_path137 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 12H7a2.0023 2.0023 0 00-2 2v4a2.0023 2.0023 0 002 2H17V18H7V14H28l.0011 2H30V14A2.0023 2.0023 0 0028 12zM25 10H4A2.0021 2.0021 0 012 8V4A2.0021 2.0021 0 014 2H25a2.0021 2.0021 0 012 2V8A2.0021 2.0021 0 0125 10zM4 4V8H25V4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Firewall.propTypes = iconPropTypes;\n}\nconst FirewallClassic = /*#__PURE__*/React.forwardRef(function FirewallClassic(_ref79, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref79;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path138 || (_path138 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 20V17a4 4 0 00-8 0v3a2.0023 2.0023 0 00-2 2v6a2.0023 2.0023 0 002 2h8a2.0023 2.0023 0 002-2V22A2.0023 2.0023 0 0028 20zm-6-3a2 2 0 014 0v3H22zm6 11H20V22h8zM15 27H4a2 2 0 01-2-2V22a2 2 0 012-2H15v2H4v3H15zM17 18H8a2 2 0 01-2-2V13a2 2 0 012-2H19v2H8v3h9zM22 9H4A2 2 0 012 7V4A2 2 0 014 2H22a2 2 0 012 2V7A2 2 0 0122 9zM4 7H22V4H4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FirewallClassic.propTypes = iconPropTypes;\n}\nconst Fish = /*#__PURE__*/React.forwardRef(function Fish(_ref80, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref80;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _circle15 || (_circle15 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"24\",\n cy: \"7\",\n r: \"1\"\n })), _path139 || (_path139 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,2A16.0183,16.0183,0,0,0,10,18v2H3a1,1,0,0,0-.707,1.707l8,8A1,1,0,0,0,12,29V22h2A16.0183,16.0183,0,0,0,30,6V2ZM10,26.5857,5.4141,22H10ZM12,20V18a13.9394,13.9394,0,0,1,3.908-9.6777l7.77,7.7695A13.94,13.94,0,0,1,14,20ZM28,6a13.9163,13.9163,0,0,1-2.98,8.6055L17.3945,6.98A13.9163,13.9163,0,0,1,26,4h2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fish.propTypes = iconPropTypes;\n}\nconst FishMultiple = /*#__PURE__*/React.forwardRef(function FishMultiple(_ref81, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref81;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path140 || (_path140 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30,14a12.9845,12.9845,0,0,0-3.8286-9.2427L24.4143,3,23,4.4138l1.7573,1.7574a11.0713,11.0713,0,0,1,0,15.6572L22,24.5857,23.4143,26l2.7571-2.7573A12.9845,12.9845,0,0,0,30,14Z\"\n })), _circle16 || (_circle16 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17\",\n cy: \"11\",\n r: \"1\"\n })), _path141 || (_path141 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22,14a12.9845,12.9845,0,0,0-3.8286-9.2427L16.4143,3,15,4.4138l1.7573,1.7574a11.0713,11.0713,0,0,1,0,15.6572L14,24.5857,15.4143,26l2.7571-2.7573A12.9845,12.9845,0,0,0,22,14Z\"\n })), _circle17 || (_circle17 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"25\",\n cy: \"11\",\n r: \"1\"\n })), _circle18 || (_circle18 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"9\",\n cy: \"11\",\n r: \"1\"\n })), _path142 || (_path142 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.4141,24l.7573-.7573a13.0708,13.0708,0,0,0,0-18.4854L8,2.5857,5.8286,4.7571a13.0708,13.0708,0,0,0,0,18.4854L6.5859,24,2.293,28.2928A1,1,0,0,0,3,30H13a1,1,0,0,0,.707-1.707ZM4,14A10.9988,10.9988,0,0,1,7.2427,6.1712L8,5.4138l.7573.7574a11.0713,11.0713,0,0,1,0,15.6572L8,22.5857l-.7573-.7573A10.9988,10.9988,0,0,1,4,14ZM5.4141,28,8,25.4138,10.5859,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FishMultiple.propTypes = iconPropTypes;\n}\nconst FitToHeight = /*#__PURE__*/React.forwardRef(function FitToHeight(_ref82, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref82;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path143 || (_path143 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11 10L12.41 11.41 15 8.83 15 23.17 12.41 20.59 11 22 16 27 21 22 19.59 20.59 17 23.17 17 8.83 19.59 11.41 21 10 16 5 11 10z\"\n })), _path144 || (_path144 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,30H4a2.0023,2.0023,0,0,1-2-2V4A2.0023,2.0023,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FitToHeight.propTypes = iconPropTypes;\n}\nconst FitToScreen = /*#__PURE__*/React.forwardRef(function FitToScreen(_ref83, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref83;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path145 || (_path145 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 16L24 16 24 8 16 8 16 10 22 10 22 16zM8 24L16 24 16 22 10 22 10 16 8 16 8 24z\"\n })), _path146 || (_path146 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,28H6a2.0023,2.0023,0,0,1-2-2V6A2.0023,2.0023,0,0,1,6,4H26a2.0023,2.0023,0,0,1,2,2V26A2.0023,2.0023,0,0,1,26,28ZM6,6V26H26.0012L26,6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FitToScreen.propTypes = iconPropTypes;\n}\nconst FitToWidth = /*#__PURE__*/React.forwardRef(function FitToWidth(_ref84, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref84;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path147 || (_path147 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 11L20.59 12.41 23.17 15 8.83 15 11.41 12.41 10 11 5 16 10 21 11.41 19.59 8.83 17 23.17 17 20.59 19.59 22 21 27 16 22 11z\"\n })), _path148 || (_path148 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,30H4a2.0023,2.0023,0,0,1-2-2V4A2.0023,2.0023,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FitToWidth.propTypes = iconPropTypes;\n}\nconst Flag = /*#__PURE__*/React.forwardRef(function Flag(_ref85, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref85;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path149 || (_path149 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,30H4V2H28l-5.8,9L28,20H6ZM6,18H24.33L19.8,11l4.53-7H6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flag.propTypes = iconPropTypes;\n}\nconst FlagFilled = /*#__PURE__*/React.forwardRef(function FlagFilled(_ref86, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref86;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path150 || (_path150 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,30H4V2H28l-5.8,9L28,20H6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlagFilled.propTypes = iconPropTypes;\n}\nconst FlaggingTaxi = /*#__PURE__*/React.forwardRef(function FlaggingTaxi(_ref87, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref87;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path151 || (_path151 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.7976,2,20.3555,8.6641A2.9941,2.9941,0,0,1,17.8594,10H12a3.0033,3.0033,0,0,0-3,3v6a2.0023,2.0023,0,0,0,2,2v7a2.0023,2.0023,0,0,0,2,2h4a2.0023,2.0023,0,0,0,2-2V16H17V28H13V19H11V13a1.0009,1.0009,0,0,1,1-1h5.8594a4.9881,4.9881,0,0,0,4.16-2.2266l4.4422-6.664Z\"\n })), _path152 || (_path152 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,5a4,4,0,1,1,4,4A4.0042,4.0042,0,0,1,11,5Zm2,0a2,2,0,1,0,2-2A2.0023,2.0023,0,0,0,13,5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlaggingTaxi.propTypes = iconPropTypes;\n}\nconst Flash = /*#__PURE__*/React.forwardRef(function Flash(_ref88, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref88;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path153 || (_path153 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.61,29.92a1,1,0,0,1-.6-1.07L12.83,17H8a1,1,0,0,1-1-1.23l3-13A1,1,0,0,1,11,2H21a1,1,0,0,1,.78.37,1,1,0,0,1,.2.85L20.25,11H25a1,1,0,0,1,.9.56,1,1,0,0,1-.11,1l-13,17A1,1,0,0,1,12,30,1.09,1.09,0,0,1,11.61,29.92ZM17.75,13l2-9H11.8L9.26,15h5.91L13.58,25.28,23,13Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flash.propTypes = iconPropTypes;\n}\nconst FlashFilled = /*#__PURE__*/React.forwardRef(function FlashFilled(_ref89, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref89;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path154 || (_path154 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.61,29.92a1,1,0,0,1-.6-1.07L12.83,17H8a1,1,0,0,1-1-1.23l3-13A1,1,0,0,1,11,2H21a1,1,0,0,1,.78.37,1,1,0,0,1,.2.85L20.25,11H25a1,1,0,0,1,.9.56,1,1,0,0,1-.11,1l-13,17A1,1,0,0,1,12,30,1.09,1.09,0,0,1,11.61,29.92Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlashFilled.propTypes = iconPropTypes;\n}\nconst FlashOff = /*#__PURE__*/React.forwardRef(function FlashOff(_ref90, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref90;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path155 || (_path155 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.13 6.89L11.8 4h8l-2 9H23l-2.49 3.25 1.43 1.43 3.87-5.07a1 1 0 00.11-1A1 1 0 0025 11H20.25L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77L9.46 5.22zM30 28.59l-9.31-9.31h0l-1.42-1.43h0L10.6 9.19h0L8.93 7.52h0L3.41 2 2 3.41 8.4 9.82 7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07A1.09 1.09 0 0012 30a1 1 0 00.79-.39l6.68-8.73L28.59 30zM9.26 15l.81-3.52L13.59 15zm4.32 10.28L15 16.37 18 19.45z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlashOff.propTypes = iconPropTypes;\n}\nconst FlashOffFilled = /*#__PURE__*/React.forwardRef(function FlashOffFilled(_ref91, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref91;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path156 || (_path156 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 28.59L3.41 2 2 3.41 8.4 9.82 7 15.77A1 1 0 008 17h4.83L11 28.85a1 1 0 00.6 1.07A1.09 1.09 0 0012 30a1 1 0 00.79-.39l6.68-8.73L28.59 30zM22.53 16.87l3.26-4.26a1 1 0 00.11-1A1 1 0 0025 11H20.25L22 3.22a1 1 0 00-.2-.85A1 1 0 0021 2H11a1 1 0 00-1 .77l-.3 1.3z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlashOffFilled.propTypes = iconPropTypes;\n}\nconst FlightInternational = /*#__PURE__*/React.forwardRef(function FlightInternational(_ref92, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref92;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path157 || (_path157 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,28a5.3257,5.3257,0,0,1-.6714-.044A21.7855,21.7855,0,0,1,12.0332,17H29.95c.0236-.3315.05-.6626.05-1A14,14,0,1,0,16,30ZM27.9492,15H21.9631A24.3247,24.3247,0,0,0,19.21,4.4492,12.0123,12.0123,0,0,1,27.9492,15ZM16.6714,4.0439A21.7855,21.7855,0,0,1,19.9668,15H12.0332A21.7855,21.7855,0,0,1,15.3286,4.0439,5.159,5.159,0,0,1,16.6714,4.0439ZM12.79,4.4492A24.3275,24.3275,0,0,0,10.0369,15H4.0508A12.0126,12.0126,0,0,1,12.79,4.4492ZM4.0508,17h5.9861A24.3275,24.3275,0,0,0,12.79,27.5508,12.0126,12.0126,0,0,1,4.0508,17Z\"\n })), _path158 || (_path158 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M25,25l5,2V25l-5-2.5V20a1,1,0,0,0-2,0v2.5L18,25v2l5-2v3.5L21,30v1l3-1,3,1V30l-2-1.5Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlightInternational.propTypes = iconPropTypes;\n}\nconst FlightRoster = /*#__PURE__*/React.forwardRef(function FlightRoster(_ref93, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref93;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path159 || (_path159 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M26,6a2,2,0,0,0-2-2H8A2,2,0,0,0,6,6V26a2,2,0,0,0,2,2h8V26H8V6H24v6h2Z\"\n })), _path160 || (_path160 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 18H16V20H10zM10 14H22V16H10z\"\n })), _path161 || (_path161 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M22 10v2H10V10zM25 23l5 2V23l-5-2.5V18a1 1 0 00-2 0v2.5L18 23v2l5-2v3.5L21 28v1l3-1 3 1V28l-2-1.5z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlightRoster.propTypes = iconPropTypes;\n}\nconst FlightSchedule = /*#__PURE__*/React.forwardRef(function FlightSchedule(_ref94, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref94;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path162 || (_path162 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M25,23l5,2V23l-5-2.5V18a1,1,0,0,0-2,0v2.5L18,23v2l5-2v3.5L21,28v1l3-1,3,1V28l-2-1.5Z\"\n })), _path163 || (_path163 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M26,4H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2H16V26H6V6h4V8h2V6h8V8h2V6h4v7h2V6A2,2,0,0,0,26,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlightSchedule.propTypes = iconPropTypes;\n}\nconst FloatingIp = /*#__PURE__*/React.forwardRef(function FloatingIp(_ref95, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref95;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path164 || (_path164 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25,11a5.0083,5.0083,0,0,0-4.8989,4H11.8989a5,5,0,1,0,0,2h8.2022A5,5,0,1,0,25,11Zm0,8a3,3,0,1,1,3-3A3.0033,3.0033,0,0,1,25,19Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FloatingIp.propTypes = iconPropTypes;\n}\nconst Flood = /*#__PURE__*/React.forwardRef(function Flood(_ref96, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref96;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path165 || (_path165 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29 28a2.8828 2.8828 0 01-1-.1816v-.0059a3.7662 3.7662 0 01-2.0532-2.1338A.971.971 0 0025 25a1.007 1.007 0 00-.9487.6836A3.4376 3.4376 0 0121 28a3.44 3.44 0 01-3.0532-2.3213A.9894.9894 0 0017 25a1.007 1.007 0 00-.9487.6836A3.4376 3.4376 0 0113 28a3.44 3.44 0 01-3.0532-2.3213 1 1 0 00-1.8955.0049A3.4376 3.4376 0 015 28H2v2H5a4.9316 4.9316 0 004-1.9873 5.0192 5.0192 0 008 0 5.0192 5.0192 0 008 0 5.1433 5.1433 0 002.1379 1.62A4.8374 4.8374 0 0029 30h1V28zM28 13.63L29.7573 15 31 13.4282 16.6123 2.2139a1.0094 1.0094 0 00-1.2427 0L1 13.4194l1.2427 1.5718L4 13.6211v5.1875a3.6907 3.6907 0 01-2 2.0039V22.896a4.9958 4.9958 0 003-1.8833 5.0192 5.0192 0 008 0 5.0192 5.0192 0 008 0A4.9316 4.9316 0 0025 23h5V21H28zm-6.0513 5.0532a1 1 0 00-1.8955-.0049A3.44 3.44 0 0117 21a3.4376 3.4376 0 01-3.0513-2.3164A1.007 1.007 0 0013 18a.9894.9894 0 00-.9468.6787A3.44 3.44 0 019 21a3.37 3.37 0 01-3.0021-2.19L6 12.0615l9.991-7.79L26 12.0718 26.0017 21H25A3.4376 3.4376 0 0121.9487 18.6836z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flood.propTypes = iconPropTypes;\n}\nconst FloodWarning = /*#__PURE__*/React.forwardRef(function FloodWarning(_ref97, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref97;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path166 || (_path166 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29,28a2.8828,2.8828,0,0,1-1-.1816v-.0059a3.7662,3.7662,0,0,1-2.0532-2.1338A.971.971,0,0,0,25,25a1.007,1.007,0,0,0-.9487.6836A3.4376,3.4376,0,0,1,21,28a3.44,3.44,0,0,1-3.0532-2.3213A.9894.9894,0,0,0,17,25a1.007,1.007,0,0,0-.9487.6836A3.4376,3.4376,0,0,1,13,28a3.44,3.44,0,0,1-3.0532-2.3213,1,1,0,0,0-1.8955.0049A3.4376,3.4376,0,0,1,5,28H2v2H5a4.9316,4.9316,0,0,0,4-1.9873,5.0192,5.0192,0,0,0,8,0,5.0192,5.0192,0,0,0,8,0,5.1433,5.1433,0,0,0,2.1379,1.62A4.8374,4.8374,0,0,0,29,30h1V28Z\"\n })), _path167 || (_path167 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M23.75,11h-1.5V7h1.5ZM23,12a1,1,0,1,0,1,1A1,1,0,0,0,23,12Z\"\n })), _path168 || (_path168 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9115,14.9355,23.6284,3.3706a.7181.7181,0,0,0-1.2568,0L16.0885,14.9355A.72.72,0,0,0,16.72,16H29.28A.72.72,0,0,0,29.9115,14.9355ZM22.25,7h1.5v4h-1.5ZM23,14a1,1,0,1,1,1-1A1,1,0,0,1,23,14Z\"\n })), _path169 || (_path169 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,21V18H26v3H25a3.4376,3.4376,0,0,1-3.0513-2.3164,1,1,0,0,0-1.8955-.0049A3.44,3.44,0,0,1,17,21a3.4376,3.4376,0,0,1-3.0513-2.3164A1.007,1.007,0,0,0,13,18a.9894.9894,0,0,0-.9468.6787A3.44,3.44,0,0,1,9,21a3.3663,3.3663,0,0,1-3-2.1855v-6.753l10-7.79,2.5327,1.9756.9682-1.7818L16.6123,2.2139a1.0094,1.0094,0,0,0-1.2427,0L1,13.4194l1.2427,1.5718L4,13.6211v5.1875a3.6892,3.6892,0,0,1-2,2.0039V22.896a4.9958,4.9958,0,0,0,3-1.8833,5.0192,5.0192,0,0,0,8,0,5.0192,5.0192,0,0,0,8,0A4.9316,4.9316,0,0,0,25,23h5V21Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FloodWarning.propTypes = iconPropTypes;\n}\nconst Floorplan = /*#__PURE__*/React.forwardRef(function Floorplan(_ref98, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref98;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path170 || (_path170 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,2H4C2.9,2,2,2.9,2,4v24c0,1.1,0.9,2,2,2h15v-2c0-2.8,2.2-5,5-5v-2c-3.9,0-7,3.1-7,7h-3v-4h-2v4H4V4h8v14h2v-5h4v-2h-4V4 h14v7h-4v2h4v15h-4v2h4c1.1,0,2-0.9,2-2V4C30,2.9,29.1,2,28,2z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Floorplan.propTypes = iconPropTypes;\n}\nconst Flow = /*#__PURE__*/React.forwardRef(function Flow(_ref99, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref99;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path171 || (_path171 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27,22.14V17a2,2,0,0,0-2-2H17V9.86a4,4,0,1,0-2,0V15H7a2,2,0,0,0-2,2v5.14a4,4,0,1,0,2,0V17H25v5.14a4,4,0,1,0,2,0ZM8,26a2,2,0,1,1-2-2A2,2,0,0,1,8,26ZM14,6a2,2,0,1,1,2,2A2,2,0,0,1,14,6ZM26,28a2,2,0,1,1,2-2A2,2,0,0,1,26,28Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Flow.propTypes = iconPropTypes;\n}\nconst FlowConnection = /*#__PURE__*/React.forwardRef(function FlowConnection(_ref100, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref100;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path172 || (_path172 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,18H22a2.0023,2.0023,0,0,0-2,2v2H14.4141L10,17.5859V12h2a2.0023,2.0023,0,0,0,2-2V4a2.0023,2.0023,0,0,0-2-2H6A2.0023,2.0023,0,0,0,4,4v6a2.0023,2.0023,0,0,0,2,2H8v5.5859L3.293,22.293a.9994.9994,0,0,0,0,1.414l5,5a.9995.9995,0,0,0,1.414,0L14.4141,24H20v2a2.0023,2.0023,0,0,0,2,2h6a2.0023,2.0023,0,0,0,2-2V20A2.0023,2.0023,0,0,0,28,18ZM6,4h6v6H6ZM9,26.5859,5.4141,23,9,19.4141,12.5859,23ZM22,26V20h6v6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowConnection.propTypes = iconPropTypes;\n}\nconst FlowData = /*#__PURE__*/React.forwardRef(function FlowData(_ref101, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref101;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path173 || (_path173 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,23H11.86a4.17,4.17,0,0,0-.43-1L22,11.43A3.86,3.86,0,0,0,24,12a4,4,0,1,0-3.86-5H11.86a4,4,0,1,0,0,2h8.28a4.17,4.17,0,0,0,.43,1L10,20.57A3.86,3.86,0,0,0,8,20a4,4,0,1,0,3.86,5H20v3h8V20H20ZM8,10a2,2,0,1,1,2-2A2,2,0,0,1,8,10ZM24,6a2,2,0,1,1-2,2A2,2,0,0,1,24,6ZM8,26a2,2,0,1,1,2-2A2,2,0,0,1,8,26Zm14-4h4v4H22Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowData.propTypes = iconPropTypes;\n}\nconst FlowModeler = /*#__PURE__*/React.forwardRef(function FlowModeler(_ref102, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref102;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path174 || (_path174 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 10H2V2h8zM4 8H8V4H4zM30 30H22V22h8zm-6-2h4V24H24zM20 27H8A6 6 0 018 15v2a4 4 0 000 8H20zM24 17V15a4 4 0 000-8H12V5H24a6 6 0 010 12z\"\n })), _path175 || (_path175 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19,11H13l-3,4,6,6,6-6Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowModeler.propTypes = iconPropTypes;\n}\nconst FlowModelerReference = /*#__PURE__*/React.forwardRef(function FlowModelerReference(_ref103, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref103;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path176 || (_path176 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30 30H22V22h8zm-6-2h4V24H24zM4 20L4 22 8.586 22 2 28.586 3.414 30 10 23.414 10 28 12 28 12 20 4 20zM19 11H13l-3 4 6 6 6-6z\"\n })), _path177 || (_path177 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 17V15a4 4 0 000-8H12V5H24a6 6 0 010 12zM10 10H2V2h8zM4 8H8V4H4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowModelerReference.propTypes = iconPropTypes;\n}\nconst FlowStream = /*#__PURE__*/React.forwardRef(function FlowStream(_ref104, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref104;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path178 || (_path178 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 24H11.8625a4.13 4.13 0 00-.4284-1.02L21.98 12.4343A3.9943 3.9943 0 1020.1414 8H14v2h6.1414a3.96 3.96 0 00.4243 1.02L10.02 21.5656A3.9943 3.9943 0 1011.8587 26H20v3h8V21H20zM24 7a2 2 0 11-2 2A2.0023 2.0023 0 0124 7zM8 27a2 2 0 112-2A2.0023 2.0023 0 018 27zm14-4h4v4H22zM9.6929 12.7505a5 5 0 01-.0005-7.5L11.0166 6.75a3 3 0 00-.0005 4.501z\"\n })), _path179 || (_path179 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.0474,15.751a9,9,0,0,1,0-13.501l1.3232,1.5a7,7,0,0,0,0,10.501Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowStream.propTypes = iconPropTypes;\n}\nconst FlowStreamReference = /*#__PURE__*/React.forwardRef(function FlowStreamReference(_ref105, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref105;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path180 || (_path180 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 24H16v2h4v3h8V21H20zm2-1h4v4H22zM4 20L4 22 8.586 22 2 28.586 3.414 30 10 23.414 10 28 12 28 12 20 4 20zM24 5a3.9962 3.9962 0 00-3.8579 3H14v2h6.1421a3.94 3.94 0 00.4248 1.019L14 17.5862 15.4138 19l6.5672-6.5669A3.9521 3.9521 0 0024 13a4 4 0 000-8zm0 6a2 2 0 112-2A2.0023 2.0023 0 0124 11zM9.6929 12.7505a5 5 0 01-.0005-7.5L11.0166 6.75a3 3 0 00-.0005 4.501z\"\n })), _path181 || (_path181 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.0474,15.751a9,9,0,0,1,0-13.501l1.3232,1.5a7,7,0,0,0,0,10.501Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowStreamReference.propTypes = iconPropTypes;\n}\nconst FlowLogsVpc = /*#__PURE__*/React.forwardRef(function FlowLogsVpc(_ref106, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref106;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path182 || (_path182 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 19H30V21H18zM18 23H30V25H18zM18 27H26V29H18z\"\n })), _path183 || (_path183 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,4a3.9962,3.9962,0,0,0-3.8579,3H12V4H4v8h8V9h8.1421a3.94,3.94,0,0,0,.4248,1.019L10.019,20.5669A3.9521,3.9521,0,0,0,8,20a4,4,0,1,0,3.8579,5H16V23H11.8579a3.94,3.94,0,0,0-.4248-1.019L21.981,11.4331A3.9521,3.9521,0,0,0,24,12a4,4,0,0,0,0-8ZM10,10H6V6h4ZM8,26a2,2,0,1,1,2-2A2.0023,2.0023,0,0,1,8,26ZM24,10a2,2,0,1,1,2-2A2.0023,2.0023,0,0,1,24,10Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FlowLogsVpc.propTypes = iconPropTypes;\n}\nconst Fog = /*#__PURE__*/React.forwardRef(function Fog(_ref107, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref107;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path184 || (_path184 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.8008,11.1382a8.9938,8.9938,0,0,0-17.6006,0A6.533,6.533,0,0,0,2,17.5H2V19a1,1,0,0,0,1,1H15a1,1,0,0,0,0-2H4v-.4966H4a4.5176,4.5176,0,0,1,4.144-4.4819l.8155-.064.0991-.812a6.9936,6.9936,0,0,1,13.8838,0l.0986.812.8154.064A4.4962,4.4962,0,0,1,23.5,22H7a1,1,0,0,0,0,2H23.5a6.4963,6.4963,0,0,0,1.3008-12.8618Z\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: \"18\",\n height: \"2\",\n x: \"2\",\n y: \"26\",\n rx: \"1\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fog.propTypes = iconPropTypes;\n}\nconst Folder = /*#__PURE__*/React.forwardRef(function Folder(_ref108, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref108;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path185 || (_path185 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.17,6l3.42,3.41.58.59H28V26H4V6h7.17m0-2H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2H16L12.59,4.59A2,2,0,0,0,11.17,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Folder.propTypes = iconPropTypes;\n}\nconst FolderAdd = /*#__PURE__*/React.forwardRef(function FolderAdd(_ref109, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref109;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path186 || (_path186 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 20L24 20 24 24 20 24 20 26 24 26 24 30 26 30 26 26 30 26 30 24 26 24z\"\n })), _path187 || (_path187 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H16l-3.4-3.4C12.2,4.2,11.7,4,11.2,4H4C2.9,4,2,4.9,2,6v20c0,1.1,0.9,2,2,2h14v-2H4V6h7.2l3.4,3.4l0.6,0.6H28v8h2v-8 C30,8.9,29.1,8,28,8z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderAdd.propTypes = iconPropTypes;\n}\nconst FolderDetails = /*#__PURE__*/React.forwardRef(function FolderDetails(_ref110, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref110;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path188 || (_path188 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 20H30V22H16zM16 24H30V26H16zM16 28H23V30H16z\"\n })), _path189 || (_path189 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,26H4V6h7.17l3.42,3.41.58.59H28v8h2V10a2,2,0,0,0-2-2H16L12.59,4.59A2,2,0,0,0,11.17,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H14Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderDetails.propTypes = iconPropTypes;\n}\nconst FolderDetailsReference = /*#__PURE__*/React.forwardRef(function FolderDetailsReference(_ref111, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref111;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path190 || (_path190 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 28H23V30H16zM16 24H30V26H16zM16 20H30V22H16zM4 20L4 22 8.586 22 2 28.586 3.414 30 10 23.414 10 28 12 28 12 20 4 20zM28 8H16L12.5859 4.5859A2.0007 2.0007 0 0011.1716 4H4A2 2 0 002 6V18H4V6h7.1716l3.4141 3.4141L15.1716 10H28v8h2V10A2 2 0 0028 8z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderDetailsReference.propTypes = iconPropTypes;\n}\nconst FolderMoveTo = /*#__PURE__*/React.forwardRef(function FolderMoveTo(_ref112, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref112;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path191 || (_path191 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18 13L16.59 14.41 19.17 17 10 17 10 19 19.17 19 16.59 21.59 18 23 23 18 18 13z\"\n })), _path192 || (_path192 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.1716,6l3.4142,3.4142L15.1716,10H28V26H4V6h7.1716m0-2H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2H16L12.5858,4.5858A2,2,0,0,0,11.1716,4Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderMoveTo.propTypes = iconPropTypes;\n}\nconst FolderOff = /*#__PURE__*/React.forwardRef(function FolderOff(_ref113, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref113;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path193 || (_path193 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 8H25.4141L30 3.4141 28.5859 2 2 28.5859 3.4141 30l2-2H28a2 2 0 002-2V10A2 2 0 0028 8zm0 18H7.4141l16-16H28zM4 6h7.1716l3.4141 3.4141L15.1716 10H18V8H16L12.5859 4.5859A2.0007 2.0007 0 0011.1716 4H4A2 2 0 002 6V24H4z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderOff.propTypes = iconPropTypes;\n}\nconst FolderOpen = /*#__PURE__*/React.forwardRef(function FolderOpen(_ref114, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref114;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path194 || (_path194 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H20.8284L17.4143,4.5859A2,2,0,0,0,16,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8ZM8,26V14h8v6.17l-2.59-2.58L12,19l5,5,5-5-1.41-1.41L18,20.17V14a2.0025,2.0025,0,0,0-2-2H8a2.0025,2.0025,0,0,0-2,2V26H4V6H16l4,4h8v2H22v2h6V26Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderOpen.propTypes = iconPropTypes;\n}\nconst FolderParent = /*#__PURE__*/React.forwardRef(function FolderParent(_ref115, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref115;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path195 || (_path195 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H16L12.5857,4.5857A2,2,0,0,0,11.1716,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H16a2,2,0,0,0,2-2V16.83l2.59,2.58L22,18l-5-5-5,5,1.41,1.41L16,16.83V26H4V6h7.1716l4,4H28V26H22v2h6a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderParent.propTypes = iconPropTypes;\n}\nconst FolderShared = /*#__PURE__*/React.forwardRef(function FolderShared(_ref116, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref116;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path196 || (_path196 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,8H16L12.59,4.59A2,2,0,0,0,11.17,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10A2,2,0,0,0,28,8ZM22,26H14V25a1,1,0,0,1,1-1h6a1,1,0,0,1,1,1Zm6,0H24V25a3,3,0,0,0-3-3H15a3,3,0,0,0-3,3v1H4V6h7.17l3.42,3.41.58.59H28Z\"\n })), _path197 || (_path197 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,17a4,4,0,1,0,4-4A4,4,0,0,0,14,17Zm4-2a2,2,0,1,1-2,2A2,2,0,0,1,18,15Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n FolderShared.propTypes = iconPropTypes;\n}\nconst Folders = /*#__PURE__*/React.forwardRef(function Folders(_ref117, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref117;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path198 || (_path198 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26 28H6a2.0021 2.0021 0 01-2-2V11A2.0021 2.0021 0 016 9h5.6665a2.0119 2.0119 0 011.2007.4L16.3335 12H26a2.0021 2.0021 0 012 2V26A2.0021 2.0021 0 0126 28zM11.6665 11H5.9985L6 26H26V14H15.6665zM28 9H17.6665l-4-3H6V4h7.6665a2.0119 2.0119 0 011.2007.4L18.3335 7H28z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Folders.propTypes = iconPropTypes;\n}\nconst ForecastHail = /*#__PURE__*/React.forwardRef(function ForecastHail(_ref118, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref118;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path199 || (_path199 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,18A10,10,0,1,1,16,8h4v5l6-6L20,1V6H16A12,12,0,1,0,28,18Z\"\n })), _circle19 || (_circle19 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"14.5\",\n cy: \"23.5\",\n r: \"1.5\"\n })), _circle20 || (_circle20 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"11.5\",\n cy: \"19.5\",\n r: \"1.5\"\n })), _circle21 || (_circle21 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"17.5\",\n cy: \"19.5\",\n r: \"1.5\"\n })), _path200 || (_path200 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.964 14.5H18.036V16.499H12.964z\",\n transform: \"rotate(-45 15.5 15.5)\"\n })), _path201 || (_path201 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.964 14.5H24.035999999999998V16.499H18.964z\",\n transform: \"rotate(-45 21.5 15.5)\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastHail.propTypes = iconPropTypes;\n}\nconst ForecastHail_30 = /*#__PURE__*/React.forwardRef(function ForecastHail_30(_ref119, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref119;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path202 || (_path202 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.964 13.5H14.036000000000001V15.499H8.964z\",\n transform: \"rotate(-45 11.5 14.5)\"\n })), _path203 || (_path203 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.379 14.5H17.622V16.499H15.379z\",\n transform: \"rotate(-44.995 16.5 15.5)\"\n })), _circle22 || (_circle22 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"10.5\",\n cy: \"22.5\",\n r: \"1.5\"\n })), _circle23 || (_circle23 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"7.5\",\n cy: \"18.5\",\n r: \"1.5\"\n })), _circle24 || (_circle24 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"13.5\",\n cy: \"18.5\",\n r: \"1.5\"\n })), _path204 || (_path204 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,28A10,10,0,0,1,14,8h4v5l6-6L18,1V6H14a12,12,0,0,0,0,24Z\"\n })), _path205 || (_path205 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 20H16v2h4v2H17v2h3v2H16v2h4a2.0027 2.0027 0 002-2V22A2.0023 2.0023 0 0020 20zM28 30H26a2.0021 2.0021 0 01-2-2V22a2.0021 2.0021 0 012-2h2a2.0021 2.0021 0 012 2v6A2.0021 2.0021 0 0128 30zm-2-8v6h2V22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastHail_30.propTypes = iconPropTypes;\n}\nconst ForecastLightning = /*#__PURE__*/React.forwardRef(function ForecastLightning(_ref120, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref120;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path206 || (_path206 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.67 24L13.934 23 16.221 19 12.332 19 16.325 12 18.062 13 15.778 17 19.668 17 15.67 24z\"\n })), _path207 || (_path207 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,18A10,10,0,1,1,16,8h4v5l6-6L20,1V6H16A12,12,0,1,0,28,18Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastLightning.propTypes = iconPropTypes;\n}\nconst ForecastLightning_30 = /*#__PURE__*/React.forwardRef(function ForecastLightning_30(_ref121, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref121;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path208 || (_path208 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,28A10,10,0,0,1,14,8h4v5l6-6L18,1V6H14a12,12,0,0,0,0,24Z\"\n })), _path209 || (_path209 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.67 24L9.934 23 12.221 19 8.332 19 12.325 12 14.062 13 11.778 17 15.668 17 11.67 24zM20 20H16v2h4v2H17v2h3v2H16v2h4a2.0027 2.0027 0 002-2V22A2.0023 2.0023 0 0020 20zM28 30H26a2.0021 2.0021 0 01-2-2V22a2.0021 2.0021 0 012-2h2a2.0021 2.0021 0 012 2v6A2.0021 2.0021 0 0128 30zm-2-8v6h2V22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForecastLightning_30.propTypes = iconPropTypes;\n}\nconst Fork = /*#__PURE__*/React.forwardRef(function Fork(_ref122, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref122;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path210 || (_path210 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"m20,6c0,1.8584,1.2798,3.4106,3,3.8579v5.1421h-14v-5.1421c1.7202-.4473,3-1.9995,3-3.8579,0-2.2056-1.7944-4-4-4s-4,1.7944-4,4c0,1.8584,1.2798,3.4106,3,3.8579v5.1421c0,1.103.897,2,2,2h6v5.1421c-1.7202.4473-3,1.9995-3,3.8579,0,2.2056,1.7944,4,4,4s4-1.7944,4-4c0-1.8584-1.2798-3.4106-3-3.8579v-5.1421h6c1.103,0,2-.897,2-2v-5.1421c1.7202-.4473,3-1.9995,3-3.8579,0-2.2056-1.7944-4-4-4s-4,1.7944-4,4Zm-14,0c0-1.103.897-2,2-2s2,.897,2,2c0,1.103-.897,2-2,2s-2-.897-2-2Zm12,20c0,1.103-.897,2-2,2s-2-.897-2-2c0-1.103.897-2,2-2s2,.897,2,2ZM26,6c0,1.103-.897,2-2,2s-2-.897-2-2c0-1.103.897-2,2-2s2,.897,2,2Z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Fork.propTypes = iconPropTypes;\n}\nconst ForkNode = /*#__PURE__*/React.forwardRef(function ForkNode(_ref123, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref123;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path211 || (_path211 = /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: \"0\",\n d: \"M26 21H30V23H26zM26 9H30V11H26zM24 11L24 9 20 9 20 4 14 4 14 28 20 28 20 23 24 23 24 21 20 21 20 11 24 11zM10.1719 15L2 15 2 17 10.1719 17 7.5859 19.5859 9 21 14 16 9 11 7.5859 12.4141 10.1719 15z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n ForkNode.propTypes = iconPropTypes;\n}\nconst Forum = /*#__PURE__*/React.forwardRef(function Forum(_ref124, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref124;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path212 || (_path212 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28,6H8C6.8,6,6,6.8,6,8v14c0,1.2,0.8,2,2,2h8v-2H8V8h20v14h-7.2L16,28.8l1.6,1.2l4.2-6H28c1.2,0,2-0.8,2-2V8 C30,6.8,29.2,6,28,6z\"\n })), _path213 || (_path213 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,18H2V5c0-1.7,1.3-3,3-3h13v2H5C4.4,4,4,4.4,4,5V18z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Forum.propTypes = iconPropTypes;\n}\nconst Forward_10 = /*#__PURE__*/React.forwardRef(function Forward_10(_ref125, ref) {\n let {\n children,\n size = 16,\n ...rest\n } = _ref125;\n return /*#__PURE__*/React.createElement(Icon, {\n width: size,\n height: size,\n ref: ref,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n ...rest\n }, _path214 || (_path214 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26,18A10,10,0,1,1,16,8h4v5l6-6L20,1V6H16A12,12,0,1,0,28,18Z\"\n })), _path215 || (_path215 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.63 22.13a2.84 2.84 0 01-1.28-.27 2.44 2.44 0 01-.89-.77 3.57 3.57 0 01-.52-1.25 7.69 7.69 0 01-.17-1.68 7.83 7.83 0 01.17-1.68 3.65 3.65 0 01.52-1.25 2.44 2.44 0 01.89-.77 2.84 2.84 0 011.28-.27 2.44 2.44 0 012.16 1 5.23 5.23 0 01.7 2.93 5.23 5.23 0 01-.7 2.93A2.44 2.44 0 0119.63 22.13zm0-1.22a1.07 1.07 0 001-.55A3.38 3.38 0 0021 18.85V17.47a3.31 3.31 0 00-.29-1.5 1.23 1.23 0 00-2.06 0 3.31 3.31 0 00-.29 1.5v1.38a3.38 3.38 0 00.29 1.51A1.06 1.06 0 0019.63 20.91zM10.63 22V20.82h2V15.63l-1.86 1-.55-1.06 2.32-1.3H14v6.5h1.78V22z\"\n })), children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n Forward_10.propTypes = iconPropTypes;\n}\n\nexport { EdgeDevice, EdgeNode, EdgeNodeAlt, EdgeService, Edit, EditOff, EdtLoop, Education, Email, EmailNew, Encryption, EnergyRenewable, Enterprise, EnumerationDefinition, EnumerationUsage, EqualApproximately, Equalizer, Erase, Error, ErrorFilled, ErrorOutline, Event, EventChange, EventIncident, EventSchedule, EventWarning, Events, EventsAlt, ExamMode, ExecutableProgram, Exit, ExpandAll, ExpandCategories, Explore, Export, Eyedropper, FaceActivated, FaceActivatedAdd, FaceActivatedFilled, FaceAdd, FaceCool, FaceDissatisfied, FaceDissatisfiedFilled, FaceDizzy, FaceDizzyFilled, FaceMask, FaceNeutral, FaceNeutralFilled, FacePending, FacePendingFilled, FaceSatisfied, FaceSatisfiedFilled, FaceWink, FaceWinkFilled, Factor, Fade, Favorite, FavoriteFilled, FavoriteHalf, FeatureMembership, FeatureMembershipFilled, FeatureTyping, FetchUpload, FetchUploadCloud, FileStorage, Filter, FilterEdit, FilterRemove, FilterReset, Finance, FingerprintRecognition, Fire, Firewall, FirewallClassic, Fish, FishMultiple, FitToHeight, FitToScreen, FitToWidth, Flag, FlagFilled, FlaggingTaxi, Flash, FlashFilled, FlashOff, FlashOffFilled, FlightInternational, FlightRoster, FlightSchedule, FloatingIp, Flood, FloodWarning, Floorplan, Flow, FlowConnection, FlowData, FlowLogsVpc, FlowModeler, FlowModelerReference, FlowStream, FlowStreamReference, Fog, Folder, FolderAdd, FolderDetails, FolderDetailsReference, FolderMoveTo, FolderOff, FolderOpen, FolderParent, FolderShared, Folders, ForecastHail, ForecastHail_30, ForecastLightning, ForecastLightning_30, Fork, ForkNode, Forum, Forward_10, WatsonHealthEdgeEnhancement, WatsonHealthEdgeEnhancement_01, WatsonHealthEdgeEnhancement_02, WatsonHealthEdgeEnhancement_03, WatsonHealthErase_3D };\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","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { ErrorFilled } from '@carbon/icons-react';\nimport cx from 'classnames';\nimport { HasClassName } from 'internal-packages/shared/types/HasClassName';\nimport React from 'react';\n\nfunction ErrorIcon(props: HasClassName) {\n return <ErrorFilled className={cx('WACErrorIcon', props.className)} />;\n}\n\nexport { ErrorIcon };\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2020, 2023\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport React from 'react';\n\nimport { useLanguagePack } from '../../../hooks/useLanguagePack';\nimport { ErrorIcon } from '../../ErrorIcon';\n\nexport function InlineError({ text }: { text?: string }) {\n const languagePack = useLanguagePack();\n return (\n <div className=\"WAC__inlineError\">\n <div className=\"WAC__inlineError--iconHolder\">\n <ErrorIcon className=\"WAC__inlineError--icon\" />\n </div>\n <div className=\"WAC__inlineError--text\">{text || languagePack.errors_generalContent}</div>\n </div>\n );\n}\n\nexport default InlineError;\n","/**\n *\n * IBM Confidential\n *\n * (C) Copyright IBM Corp. 2024\n *\n * The source code for this program is not published or otherwise\n * divested of its trade secrets, irrespective of what has been\n * deposited with the U. S. Copyright Office\n *\n * US Government Users Restricted Rights - Use, duplication or\n * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.\n *\n */\n\nimport { ComponentType } from 'react';\n\nimport InlineError from '../components/responseTypes/error/InlineError';\nimport { WA_CONSOLE_PREFIX } from './constants';\nimport { consoleError, consoleLog } from './miscUtils';\nimport { ResolvablePromise, resolvablePromise } from './resolvablePromise';\n\nconst WXO_SCRIPT_KEY = 'WXOScript';\n\n/**\n * This file deals with loading in a Federated Module at runtime.\n * See https://dev.to/omher/lets-dynamic-remote-modules-with-webpack-module-federation-2b9m\n *\n * We want to do this at runtime because the URLs in a given environment for fetching a remote module\n * will be different. We also want to do it at runtime because we might want to be making use of different\n * modules entirely in different environments. For instance, if someone doesn't have WO in CP4D, we don't\n * want to try to load remote modules that don't exist.\n */\n\ndeclare let __webpack_init_sharing__: any;\ndeclare let __webpack_share_scopes__: any;\ndeclare let __webpack_modules__: any;\n\n// TODO: Need to figure out the actual types for this instead of \"any\".\ninterface Scope {\n get: (module: string) => Promise<() => any>;\n init: (default_scopes: any) => Promise<void>;\n}\n\ninterface ComponentPromiseMap {\n [key: string]: Promise<{ default: ComponentType<any> }>;\n}\n\nconst componentsPromises: ComponentPromiseMap = {};\n\n/**\n * Returns a promise that resolves with an MFE React component or the InlineError component on catch.\n */\nasync function componentPromiseCreator(scope: string, module: string, scriptKey: string) {\n let scriptExists: boolean;\n let container: Scope;\n let factory: () => any;\n let Module: any;\n let lastStep = 0;\n try {\n // If the script promise has not yet completed than wait for it to complete before continuing. Otherwise\n // we could attempt to access the window scope before it has been appropriately set by the script file.\n scriptExists = Boolean(scripts[scriptKey]);\n\n if (!scriptExists) {\n throw new Error('remoteEntry.js script does not exist.');\n }\n\n await scripts[scriptKey];\n\n lastStep = 1;\n\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n await __webpack_init_sharing__('default');\n\n lastStep = 2;\n\n container = window[scope] as unknown as Scope; // or get the container somewhere else\n\n // Initialize the container, it may provide shared modules by calling window[scope].init()\n await container.init(__webpack_share_scopes__.default);\n\n lastStep = 3;\n // Get the actual component once we now that all shared resources are either provided by the parent, of have\n // been fetch as part of the call to init.\n factory = await container.get(module);\n\n lastStep = 4;\n\n // Pull it all together.\n Module = factory();\n\n lastStep = 5;\n // Return the module.\n\n consoleLog(`${module} from scope ${scope} loaded successfully.`, {\n scope,\n module,\n webpack_init_sharing: __webpack_init_sharing__,\n webpack_modules: __webpack_modules__,\n scriptExists,\n container,\n factory,\n Module,\n webpack_share_scopes: __webpack_share_scopes__,\n });\n\n return Module;\n } catch (error) {\n consoleError(`There was an error loading module ${module} from scope ${scope}. Last step: ${lastStep}.`, error, {\n scope,\n module,\n webpack_init_sharing: __webpack_init_sharing__,\n webpack_modules: __webpack_modules__,\n scriptExists,\n container,\n factory,\n Module,\n webpack_share_scopes: __webpack_share_scopes__,\n });\n return { default: InlineError };\n }\n}\n\n/**\n * This function handles fetching the remote module component for orchestrate to render at runtime. Since this is\n * essentially a fetch call, it returns a promise that should be handled through React.lazy.\n */\nfunction loadWXOComponent(scope: string, module: string, scriptKey: string) {\n const key = `${scope}_${module}`;\n\n if (!componentsPromises[key]) {\n componentsPromises[key] = componentPromiseCreator(scope, module, scriptKey);\n }\n return componentsPromises[key];\n}\n\nconst scripts: Record<string, ResolvablePromise> = {};\n\n/**\n * This function handles loading the orchestrate scripts needed to load the remote module components to render at\n * runtime. These scripts are tracked using promises so that the attempts to load components can wait until the scripts\n * have finished loading.\n */\nfunction loadWXOScript(key: string, url: string, cspNonce?: string) {\n if (!scripts[key]) {\n scripts[key] = resolvablePromise();\n const element = document.createElement('script');\n element.src = url;\n element.type = 'text/javascript';\n element.onerror = () => {\n consoleError(`${WA_CONSOLE_PREFIX} dynamic script error loading ${url}`);\n scripts[key].doReject();\n };\n element.onload = () => {\n scripts[key].doResolve();\n };\n if (cspNonce) {\n element.nonce = cspNonce;\n }\n document.head.appendChild(element);\n }\n}\n\nexport { loadWXOComponent, loadWXOScript, WXO_SCRIPT_KEY };\n"],"names":["isEmptyString","value","parseTextDirective","url","parsedURL","URL","hash","startsWith","textFragment","split","start","replace","decodeURIComponent","tryJSONParse","data","JSON","parse","e","convertToEmptyStringIfStringifiedNull","str","convertPossibleStringifiedArrayToFirstString","endsWith","error","ViewChangeReason","MessageSendSource","TourStartReason","TourEndReason","CustomEventType","MainWindowOpenReason","MainWindowCloseReason","t","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","OpenReasonsToViewReasons","Map","CALLED_OPEN_WINDOW","DEFAULT_LAUNCHER","LAUNCHER_CLICKED","LINK","LINK_ID","OPEN_BY_DEFAULT","WEB_CHAT_LOADED","SESSION_HISTORY","TOUR_OPENED_OTHER_VIEW","CALLED_RESTART_CONVERSATION","CHANNEL_TRANSFER","CloseReasonsToViewReasons","CALLED_CLOSE_WINDOW","DEFAULT_MINIMIZE","MAIN_WINDOW_MINIMIZED","TOUR_CARD_STARTED_TOUR","TOUR_CARD_RESUMED_TOUR","TOUR_CARD_RESTARTED_TOUR","CALLED_START_TOUR","TOUR_SKIP_CARD","MAIN_WINDOW_CLOSED_AND_RESTARTED","AlternateSuggestionsContactType","NOT_FOUND","defaultEqualityCheck","defaultMemoize","func","equalityCheckOrOptions","equals","entry","providedOptions","equalityCheck","_providedOptions$equa","_providedOptions$maxS","maxSize","resultEqualityCheck","comparator","prev","next","createCacheKeyComparator","cache","key","put","getEntries","clear","undefined","entries","cacheIndex","findIndex","splice","unshift","pop","createLruCache","memoized","matchingEntry","find","clearCache","createSelectorCreator","memoize","_len","memoizeOptionsFromArgs","_key","_len2","funcs","_key2","_lastResult","_recomputations","directlyPassedOptions","memoizeOptions","resultFunc","Error","_directlyPassedOption2","finalMemoizeOptions","isArray","dependencies","every","dep","dependencyTypes","map","getDependencies","memoizedResultFunc","concat","selector","params","push","Object","assign","lastResult","recomputations","resetRecomputations","createSelector","selectHasSearchSkill","state","config","remote","mainConfig","assistant","skills","some","skill","type","SkillType","SEARCH","selectAgentDisplayState","agentState","persistedToBrowserStorage","chatState","persistedAgentState","isSuspended","isConnectingOrConnected","disableInput","isAgentTyping","inputPlaceholderKey","isReconnecting","isConnecting","isConnected","selectIsInputToAgent","agentDisplayState","selectInputState","inputState","botInputState","isInputToAgent","agentInputState","getDialogSkillID","context","info","DIALOG","skill_reference","MAIN_SKILL","keys","getDialogState","message","DEFAULT_DIALOG_STATE","dialog_stack","dialog_node","DIALOG_ROOT","digressed","isResponse","dialogState","dialogSkillID","system","atob","consoleError","CONTACT_OPTION","label","input","text","CONTACT_SUGGESTION_ITEM","isSelected","isContactSuggestion","option","getContactLabel","languagePack","contact_label","suggestions_connectToAgent","isStrike","response","trackEvent","suggestionsPersistedState","numStrikes","request","allMessagesByID","request_id","global","skip_user_input","firstItem","output","generic","isSearchResultItem","isEmptySearchResultItem","suggestionsStrikeReason","isConversationalSearchItem","isAnythingElse","allMessageItemsByID","botMessageState","localMessageIDs","previousResponse","index","fullMessageID","id","isRepeatResponse","isDuplicateOfPrevious","shouldMessageActivateThirdStrike","alternateSuggestionsState","is_on","contact_option","NEVER","isSuggestionListItem","Boolean","white","blue60","gray10","gray80","gray100","isArrayish","obj","Function","getOwnPropertyDescriptor","constructor","swizzle","simpleSwizzleModule","exports","results","len","arg","call","wrap","fn","colorNames","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","require$$1","hasOwnProperty","reverseNames","create","cs","colorStringModule","to","clamp","num","max","hexDouble","toUpperCase","string","val","model","hsl","hwb","rgb","hexAlpha","i2","parseInt","parseFloat","alpha","isNaN","hex","rgba","percent","hsla","hwba","keyword","cssKeywords","reverseKeywords","convert","channels","labels","hsv","cmyk","xyz","lab","lch","ansi16","ansi256","hcg","apple","conversions","defineProperty","delta","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","t2","t3","t1","smin","lmin","hi","q","vmin","sl","wh","bl","ratio","y2","x2","z2","atan2","PI","sqrt","hr","cos","sin","saturation","ansi","color","mult","rem","colorString","char","integer","chroma","grayscale","hue","pure","mg","require$$0","deriveBFS","fromModel","graph","models","parent","buildGraph","queue","current","adjacents","adjacent","node","link","from","wrapConversion","toModel","path","cur","conversion","route","routes","wrappedFn","arg0","result","wrapRounded","raw","wrapRaw","skippedModels","hashedModelKeys","sort","limiters","Color","object","valpha","newArray","zeroArray","indexOf","hashedKeys","stringify","limit","freeze","places","self","percentString","array","unitArray","unitObject","roundToPlace","getset","maxfn","saturationl","lightness","saturationv","wblack","hexa","rgbArray","alphaHex","rgbNumber","luminosity","lum","element","chan","contrast","color2","lum1","lum2","level","contrastRatio","isDark","isLight","negate","lighten","darken","saturate","desaturate","whiten","blacken","fade","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","includes","number","toFixed","roundTo","channel","modifier","MIN_CONTRAST","hexCodeToRGB","calculateContrast","rgb1","rgb2","luminance1","calculateRelativeLuminance","luminance2","r8","g8","b8","rRGB","gRGB","bRGB","whiteOrBlackText","background","adjustLightness","token","shift","original","CSS_VAR_PREFIX","HEXADECIMAL_REGEX","INTERNAL_OVERRIDES_LIGHT_THEME_MAP","INTERNAL_OVERRIDES_DARK_THEME_MAP","convertCSSVariablesToString","cssVariables","namespace","useShadowRoot","cssVariablesString","allValues","prefix","suffix","ACCENT_COLOR_MAPS","blue20","blue60Hover","blue80","g10","g90","g100","fillValues","styles","propertyNames","propertyName","mergeCSSVariables","publicVars","remoteStyles","carbonTheme","useAITheme","CarbonTheme","G10","internalOverrides","internalOverridesMap","WHITE","G90","G100","createInternalCSSOverridesMap","console","warn","WA_CONSOLE_PREFIX","remoteVars","cssOverrides","primaryColor","secondaryColor","accentColor","IS_MOBILE","useAccentColor","tryFocusColor","useFocusColor","colorMap","accentBlue20","accentBlue60Hover","accentBlue80","accentColorRGB","accentColorBW","remoteStylesToCSSVars","getThemeClassNames","themeState","themeClassnames","CarbonThemeClassNames","cachedTimeZone","timestampToTimeString","timestamp","dayjs","async","getTimeZone","timeZone","Intl","DateTimeFormat","resolvedOptions","import","then","j","default","jstz","determine","catch","innerStorage","storage","getItem","setItem","removeItem","DEVICE_ID_KEY","IS_SESSION_STORAGE","window","sessionStorage","mockStorage","getOrSetDeviceID","integrationID","deviceID","newDeviceID","uuid","UUIDType","DEVICE_ID","BuiltInServiceDeskValues","Set","values","BuiltInServiceDesk","MessageRetryStatus","FETCH_PARAMETERS","method","headers","HEADER_CONTENT_TYPE","MIME_JSON","NOT_SET","API_KEY","AMPLITUDE_API_KEY","GROUP_POST_URL","IDENTIFY_POST_URL","BROWSER_DEVICE_TYPE","IS_TABLET","IS_PHONE","TrackService","serviceManager","isIdentifyEnabled","isEventEnabled","endpointPath","eventQueue","firstBatchUserProperties","getLauncherType","store","getState","public","showLauncher","pushEvent","event","sendEvents","setTimeout","eventBatch","user_properties","BROWSER_INFO","version","os","getURLHostnameAndPath","location","hostname","VERSION","fetch","body","api_key","events","identifyGroupAndUser","additionalChatParameters","accountOwnerDomain","userID","homeScreenConfig","identityToken","recentEditorDomain","initConfig","serviceInstanceIDOrNotSet","service_instance_id","serviceInstanceID","accountOwnerDomainOrNotSet","recentEditorDomainOrNotSet","trackUserID","getTrackUserID","identifyGroup","group_type","group_value","device_id","user_id","group_properties","plan","css_variables","authorization","clientVersion","loadVersion","alternate_suggestions","disableSessionHistory","agentAppConfig","getServiceDesk","hasSupportedServiceDesk","getCustomServiceDeskName","openChatByDefault","branding_config","disablePDFViewer","launcher_config","desktop","title","mobile","disclaimer","isOn","identifyGroupUrl","__ibm__","logTrackObjects","debugLog","getTrackResponseProps","isLatestWelcomeNode","isAnythingElseNode","responseTrackData","eventProps","eventName","eventDescription","isWelcomeNode","response_type","getOptionType","preference","options","optionsShown","suggestions","hasTourUserDefinedType","totalRequestTime","lastRequestTime","numErrors","track","sessionID","sessionStartedTimestamp","rest","assistantSessionID","event_type","event_properties","session_id","groups","Integration","firstUserID","trackResponse","messages","intents","trackProps","eventSystemTrack","handlers","subscriptionMethod","subscriptionEventType","asArray","handler","docsTrack","identifyUser","identifyUserUrl","serviceDeskFactory","serviceDesk","integrationType","service_desk","integration_type","has","humanAgentService","TagType","TagSize","locales","ar","de","Promise","resolve","es","nl","fr","it","ja","ko","pt","zh","languages","findSupportedKey","requestedLocale","objectType","requestedSupported","language","isSupportedLocale","keyList","loadLocale","localeKey","localeModule","enLocaleData","loadLanguagePack","providedLanguagePack","fillWithEnglish","languageKey","languageModule","enLanguagePack","handleBTag","chunks","React","createElement","handleBRTag","addHTMLSupport","br","loadDayjsLocale","previousLocale","localePack","isLoaded","formatMessage","intl","LanguagePackContext","createContext","useLanguagePack","useContext","_defineProperty","Symbol","toPrimitive","TypeError","_toPrimitive","_toPropertyKey","enumerable","configurable","writable","ownKeys","getOwnPropertySymbols","filter","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","_objectWithoutPropertiesLoose","propertyIsEnumerable","_excluded","_excluded2","defaultAttributes","focusable","preserveAspectRatio","propTypesModule","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","resetWarningCache","factoryWithThrowingShims","shim","props","propName","componentName","propFullName","secret","err","getShim","isRequired","ReactPropTypes","bigint","bool","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","require$$2","Icon","forwardRef","_ref","ref","className","children","tabIndex","xmlns","tabindex","attrs","width","height","_ref$viewBox","viewBox","attributes","iconAttributes","role","getAttributes","_path39","_path40","_path41","_path42","_path43","_path44","_path45","_path46","displayName","propTypes","ErrorFilled","_ref25","size","fill","opacity","transform","hasOwn","classNames","classes","appendClass","parseValue","newClass","module","ErrorIcon","cx","InlineError","errors_generalContent","WXO_SCRIPT_KEY","componentsPromises","loadWXOComponent","scope","scriptKey","scriptExists","container","factory","Module","lastStep","scripts","__webpack_init_sharing__","__webpack_share_scopes__","consoleLog","webpack_init_sharing","webpack_modules","__webpack_modules__","webpack_share_scopes","componentPromiseCreator","loadWXOScript","cspNonce","resolvablePromise","document","src","onerror","doReject","onload","doResolve","nonce","head","appendChild"],"mappings":"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","x_google_ignoreList":[3,5,6,10,11,12,13,14,15,16,17,18,19,27,31,32,33,34,35,36,37]}
|