> {\r\n\t(dispatch: (action: TAction) => void, getState: () => TApplicationState): void;\r\n}\r\n","import { Action, Reducer } from 'redux';\r\n\r\nimport { addTask } from 'domain-task';\r\n\r\nimport { request } from '@common/react/components/Api';\r\n\r\n/* eslint-disable-next-line */\r\nimport { AppThunkAction } from '@app/store/index';\r\n\r\nexport interface PageItemState {\r\n\tpage: P | null;\r\n\tpath: string | null;\r\n\tisLoading: boolean;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTPAGE = 'REQUESTPAGE',\r\n\tRECIEVEPAGE = 'RECIEVEPAGE'\r\n}\r\n\r\nexport interface RequestPageAction {\r\n\ttype: TypeKeys.REQUESTPAGE;\r\n\tstorageName: string | null;\r\n\tpath: string;\r\n}\r\n\r\nexport interface ReceivePageAction {\r\n\ttype: TypeKeys.RECIEVEPAGE;\r\n\tstorageName: string | null;\r\n\tpage: any;\r\n}\r\n\r\ntype KnownPageAction = RequestPageAction | ReceivePageAction;\r\n\r\nexport const actionCreators = ({\r\n\tloadPage: (storageName: string, path: string): AppThunkAction => (dispatch, getState) => {\r\n\t\tconst storeState = (getState() as any)[storageName];\r\n\r\n\t\tif (storeState.path !== path) {\r\n\t\t\tconst fetchTask = request(\r\n\t\t\t\t'pageLoader',\r\n\t\t\t\t{ path },\r\n\t\t\t\tgetState(),\r\n\t\t\t).then((data) => dispatch({ type: TypeKeys.RECIEVEPAGE, storageName, page: data }));\r\n\r\n\t\t\taddTask(fetchTask);\r\n\t\t\tdispatch({ type: TypeKeys.REQUESTPAGE, storageName, path });\r\n\r\n\t\t\treturn fetchTask;\r\n\t\t}\r\n\t},\r\n});\r\n\r\nexport const reducer = (storageName: string):Reducer> => {\r\n\treturn (state: PageItemState = { isLoading: false, page: null, path: '' }, incomingAction: Action) => {\r\n\t\tconst action = incomingAction as KnownPageAction;\r\n\t\tif (!action.storageName || action.storageName === storageName) {\r\n\t\t\tswitch (action.type) {\r\n\t\t\t\tcase TypeKeys.REQUESTPAGE:\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t\tpage: state.page,\r\n\t\t\t\t\t\tpath: action.path,\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.RECIEVEPAGE:\r\n\t\t\t\t\treturn { isLoading: false, page: action.page, path: action.page.path };\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn state;\r\n\t};\r\n};\r\n","import { ReducersMapObject } from 'redux';\r\n\r\nimport * as Item from '@common/react/store/Item';\r\nimport { BaseApplicationState, BaseAppThunkAction, baseReducers } from '@common/react/store';\r\nimport { PageItemState, reducer as PageStateReducer } from '@common/react/store/PageItem';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\nimport { BuildData } from '@common/react/objects/BuildData';\r\nimport BaseHostOptions from '@common/react/store/BaseHostOptions';\r\n\r\nimport { Location } from '@app/objects/Location';\r\n\r\n// The top-level state object\r\nexport interface ApplicationState extends BaseApplicationState {\r\n\tserverPage: PageItemState;\r\n\tbuildData: Item.ItemState;\r\n\thostOptions: Item.ItemState;\r\n\r\n\tblogPageId: Item.ItemState;\r\n\tlocation: Item.ItemState;\r\n}\r\n\r\n// Whenever an action is dispatched, Redux will update each top-level application state property using\r\n// the reducer with the matching name. It's important that the names match exactly, and that the reducer\r\n// acts on the corresponding ApplicationState property type.\r\nexport const reducers: ReducersMapObject = {\r\n\t...baseReducers,\r\n\r\n\tserverPage: PageStateReducer('serverPage'),\r\n\tbuildData: Item.getReducer('buildData'),\r\n\thostOptions: Item.getReducer('hostOptions'),\r\n\r\n\tblogPageId: Item.getReducer('blogPageId'),\r\n\tlocation: Item.getReducer('location'),\r\n};\r\n\r\n// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are\r\n// correctly typed to match your store.\r\nexport type AppThunkAction = BaseAppThunkAction\r\n","import 'raf/polyfill';\r\n\r\nimport 'core-js/features/array/from';\r\nimport 'core-js/features/array/find';\r\nimport 'core-js/features/array/includes';\r\nimport 'core-js/features/set';\r\nimport 'core-js/features/map';\r\nimport 'core-js/features/weak-map';\r\nimport 'core-js/features/promise';\r\n\r\nimport { bootClient, renderApp } from '@common/react/loadable/boot-client';\r\nimport { updateReducers } from '@common/react/configureStore';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\n\r\nimport { ApplicationState, reducers } from '@app/store';\r\nimport { routes } from '@app/routes';\r\n\r\nbootClient(routes, reducers);\r\n\r\n// Allow Hot Module Replacement\r\nif (module.hot) {\r\n\tmodule.hot.accept('@app/routes', () => {\r\n\t\trenderApp((require('@app/routes') as any).routes);\r\n\t});\r\n}\r\n\r\n// Enable Webpack hot module replacement for reducers\r\nif (module.hot) {\r\n\tmodule.hot.accept('@app/store', () => {\r\n\t\tconst nextRootReducer = require('@app/store');\r\n\t\tupdateReducers((nextRootReducer as any).reducers);\r\n\t});\r\n}\r\n","import * as React from 'react';\r\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\r\n\r\nimport { UnregisterCallback } from 'history';\r\n\r\nimport '@common/react/scss/components/error.scss';\r\n\r\nexport class ErrorBoundary extends React.Component, {hasError: boolean}> {\r\n\tunlisten: UnregisterCallback | null = null;\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = { hasError: false };\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tthis.unlisten && this.unlisten();\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tthis.unlisten = this.props.history.listen((location, action) => {\r\n\t\t\tif (this.state.hasError) {\r\n\t\t\t\tthis.setState({ hasError: false });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentDidCatch(error, errorInfo) {\r\n\t\tthis.setState({ hasError: true });\r\n\t}\r\n\r\n\trender() {\r\n\t\tif (this.state.hasError) {\r\n\t\t\treturn \r\n\t\t\t\t
\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\tOops!!!\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t \r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\tSomething went wrong\r\n\t\t\t\t
\r\n\t\t\t
;\r\n\t\t}\r\n\r\n\t\treturn this.props.children;\r\n\t}\r\n}\r\n\r\nexport default withRouter(ErrorBoundary);\r\n","import * as React from 'react';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\n\r\n// eslint-disable-next-line\r\nimport once from 'lodash/once';\r\n// eslint-disable-next-line\r\nimport isEmpty from 'lodash/isEmpty';\r\n\r\nimport { ApplicationState } from '@app/store';\r\nimport { Company } from '@app/objects/Company';\r\n\r\nexport interface CompanySettingsContext {\r\n\tcompanySettings: Company;\r\n}\r\n\r\nexport const createCompanySettingsContext = once(() => React.createContext({} as CompanySettingsContext));\r\n\r\nexport const useCompanySettingsContext: () => CompanySettingsContext = () => {\r\n\tconst context: CompanySettingsContext = React.useContext(createCompanySettingsContext());\r\n\r\n\tif (isEmpty(context)) throw 'Need CompanySettings context!';\r\n\r\n\treturn context;\r\n};\r\n\r\nconst CompanySettingsProvider: React.FC = ({\r\n\tchildren,\r\n}) => {\r\n\tconst CompanySettingsContext = createCompanySettingsContext();\r\n\r\n\tconst companySettings = useSelector((state: ApplicationState) => state.location.item.company, shallowEqual);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{children}\r\n\t\t\t \r\n\t\t>\r\n\t);\r\n};\r\n\r\nexport default CompanySettingsProvider;\r\n","import React from 'react';\r\nimport TagManager from 'react-gtm-module';\r\n\r\nimport { useCompanySettingsContext } from '@app/components/UI/CompanySettingsProvider';\r\n\r\nconst Gtm: React.FC = () => {\r\n\tconst { companySettings: { googleTagManagerId } } = useCompanySettingsContext();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (process.env.NODE_ENV === 'production' && googleTagManagerId && googleTagManagerId.trim() !== '') {\r\n\t\t\tTagManager.initialize({ gtmId: googleTagManagerId });\r\n\t\t}\r\n\t}, [googleTagManagerId]);\r\n\treturn <>>;\r\n};\r\n\r\nexport default Gtm;\r\n","import React, { useState, useEffect } from 'react';\n\nvar GA4ReactGlobalIndex = '__ga4React__';\n/**\r\n * @desc class required to manage google analitycs 4\r\n * @class GA4React\r\n * */\n\nclass GA4React {\n constructor(gaCode, gaConfig, additionalGaCode, timeout, options) {\n this.gaCode = gaCode;\n this.gaConfig = gaConfig;\n this.additionalGaCode = additionalGaCode;\n this.timeout = timeout;\n this.options = options;\n this.scriptSyncId = 'ga4ReactScriptSync';\n this.scriptAsyncId = 'ga4ReactScriptAsync';\n this.nonceAsync = '';\n this.nonceSync = '';\n this.gaConfig = gaConfig ? gaConfig : {};\n this.gaCode = gaCode;\n this.timeout = timeout || 5000;\n this.additionalGaCode = additionalGaCode;\n this.options = options;\n\n if (this.options) {\n var {\n nonce\n } = this.options;\n this.nonceAsync = nonce && nonce[0] ? nonce[0] : '';\n this.nonceSync = nonce && nonce[1] ? nonce[1] : '';\n }\n }\n /**\r\n * @desc output on resolve initialization\r\n */\n\n\n outputOnResolve() {\n return {\n pageview: this.pageview,\n event: this.event,\n gtag: this.gtag\n };\n }\n /**\r\n * @desc Return main function for send ga4 events, pageview etc\r\n * @returns {Promise}\r\n */\n\n\n initialize() {\n return new Promise((resolve, reject) => {\n if (GA4React.isInitialized()) {\n reject(new Error('GA4React is being initialized'));\n } // in case of retry logics, remove previous scripts\n\n\n var previousScriptAsync = document.getElementById(this.scriptAsyncId);\n\n if (previousScriptAsync) {\n previousScriptAsync.remove();\n }\n\n var head = document.getElementsByTagName('head')[0];\n var scriptAsync = document.createElement('script');\n scriptAsync.setAttribute('id', this.scriptAsyncId);\n scriptAsync.setAttribute('async', '');\n\n if (this.nonceAsync && typeof this.nonceAsync === 'string' && this.nonceAsync.length > 0) {\n scriptAsync.setAttribute('nonce', this.nonceAsync);\n }\n\n scriptAsync.setAttribute('src', \"https://www.googletagmanager.com/gtag/js?id=\" + this.gaCode);\n\n scriptAsync.onload = () => {\n var target = document.getElementById(this.scriptSyncId);\n\n if (target) {\n target.remove();\n } // in case of retry logics, remove previous script sync\n\n\n var previousScriptSync = document.getElementById(this.scriptSyncId);\n\n if (previousScriptSync) {\n previousScriptSync.remove();\n }\n\n var scriptSync = document.createElement('script');\n scriptSync.setAttribute('id', this.scriptSyncId);\n\n if (this.nonceSync && typeof this.nonceSync === 'string' && this.nonceSync.length > 0) {\n scriptSync.setAttribute('nonce', this.nonceSync);\n }\n\n var scriptHTML = \"window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);};\\n gtag('js', new Date());\\n gtag('config', '\" + this.gaCode + \"', \" + JSON.stringify(this.gaConfig) + \");\";\n\n if (this.additionalGaCode) {\n this.additionalGaCode.forEach(code => {\n scriptHTML += \"\\ngtag('config', '\" + code + \"', \" + JSON.stringify(this.gaConfig) + \");\";\n });\n }\n\n scriptSync.innerHTML = scriptHTML;\n head.appendChild(scriptSync);\n var resolved = this.outputOnResolve();\n Object.assign(window, {\n [GA4ReactGlobalIndex]: resolved\n });\n resolve(resolved);\n };\n\n scriptAsync.onerror = event => {\n if (typeof event === 'string') {\n reject(\"GA4React intialization failed \" + event);\n } else {\n var error = new Error();\n error.name = 'GA4React intialization failed';\n error.message = JSON.stringify(event, ['message', 'arguments', 'type', 'name']);\n reject(error);\n }\n };\n\n var onChangeReadyState = () => {\n switch (document.readyState) {\n case 'interactive':\n case 'complete':\n if (!GA4React.isInitialized()) {\n head.appendChild(scriptAsync);\n document.removeEventListener('readystatechange', onChangeReadyState);\n }\n\n break;\n }\n };\n\n if (document.readyState !== 'complete') {\n document.addEventListener('readystatechange', onChangeReadyState);\n } else {\n onChangeReadyState();\n }\n\n setTimeout(() => {\n reject(new Error('GA4React Timeout'));\n }, this.timeout);\n });\n }\n /**\r\n * @desc send pageview event to gtag\r\n * @param path\r\n */\n\n\n pageview(path, location, title) {\n return this.gtag('event', 'page_view', {\n page_path: path,\n page_location: location || window.location,\n page_title: title || document.title\n });\n }\n /**\r\n * @desc set event and send to gtag\r\n * @param action\r\n * @param label\r\n * @param category\r\n * @param nonInteraction\r\n */\n\n\n event(action, label, category, nonInteraction) {\n if (nonInteraction === void 0) {\n nonInteraction = false;\n }\n\n return this.gtag('event', action, {\n event_label: label,\n event_category: category,\n non_interaction: nonInteraction\n });\n }\n /**\r\n * @desc direct access to gtag\r\n * @param args\r\n */\n\n\n gtag() {\n //@ts-ignore\n return window.gtag(...arguments);\n }\n /**\r\n * @desc ga is initialized?\r\n */\n\n\n static isInitialized() {\n switch (typeof window[GA4ReactGlobalIndex] !== 'undefined') {\n case true:\n return true;\n\n default:\n return false;\n }\n }\n /**\r\n * @desc get ga4react from global\r\n */\n\n\n static getGA4React() {\n if (GA4React.isInitialized()) {\n return window[GA4ReactGlobalIndex];\n } else {\n console.error(new Error('GA4React is not initialized'));\n }\n }\n\n}\n\nvar outputGA4 = (children, setComponents, ga4) => {\n setComponents(React.Children.map(children, (child, index) => {\n if (!React.isValidElement(child)) {\n return React.createElement(React.Fragment, null, child);\n } //@ts-ignore\n\n\n if (child.type && typeof child.type.name !== 'undefined') {\n return React.cloneElement(child, {\n //@ts-ignore\n ga4: ga4,\n index\n });\n } else {\n return child;\n }\n }));\n};\n\nvar GA4R = (_ref) => {\n var {\n code,\n timeout,\n config,\n additionalCode,\n children,\n options\n } = _ref;\n var [components, setComponents] = useState(null);\n useEffect(() => {\n if (!GA4React.isInitialized()) {\n var ga4manager = new GA4React(\"\" + code, config, additionalCode, timeout, options);\n ga4manager.initialize().then(ga4 => {\n outputGA4(children, setComponents, ga4);\n }, err => {\n console.error(err);\n });\n } else {\n var ga4 = GA4React.getGA4React();\n\n if (ga4) {\n outputGA4(children, setComponents, ga4);\n }\n }\n }, []);\n return React.createElement(React.Fragment, null, components);\n};\n\nvar useGA4React = (gaCode, gaConfig, gaAdditionalCode, gaTimeout, options) => {\n var [ga4, setGA4] = useState(undefined);\n useEffect(() => {\n if (gaCode) {\n switch (GA4React.isInitialized()) {\n case false:\n var ga4react = new GA4React(\"\" + gaCode, gaConfig, gaAdditionalCode, gaTimeout, options);\n ga4react.initialize().then(ga4 => {\n setGA4(ga4);\n }, err => {\n console.error(err);\n });\n break;\n\n case true:\n setGA4(GA4React.getGA4React());\n break;\n }\n } else {\n setGA4(GA4React.getGA4React());\n }\n }, [gaCode]);\n return ga4;\n};\n\nfunction withTracker(MyComponent) {\n return props => {\n var {\n path,\n location,\n title,\n gaCode,\n gaTimeout,\n gaConfig,\n gaAdditionalCode,\n options\n } = props;\n useEffect(() => {\n switch (GA4React.isInitialized()) {\n case true:\n var ga4 = GA4React.getGA4React();\n\n if (ga4) {\n ga4.pageview(path, location, title);\n }\n\n break;\n\n default:\n case false:\n var ga4react = new GA4React(\"\" + gaCode, gaConfig, gaAdditionalCode, gaTimeout, options);\n ga4react.initialize().then(ga4 => {\n ga4.pageview(path, location, title);\n }, err => {\n console.error(err);\n });\n break;\n }\n });\n return React.createElement(MyComponent, Object.assign({}, props));\n };\n}\n\nexport default GA4React;\nexport { GA4R, GA4React, useGA4React, withTracker };\n//# sourceMappingURL=ga-4-react.esm.js.map\n","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport GA4React from 'ga-4-react';\r\n\r\nimport { useCompanySettingsContext } from '@app/components/UI/CompanySettingsProvider';\r\n\r\nconst RouteChangeTracker: React.FC = ({ children }) => {\r\n\tconst { companySettings: { googleAnalyticsId } } = useCompanySettingsContext();\r\n\r\n\tconst history = useHistory();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (process.env.NODE_ENV === 'production' && googleAnalyticsId && googleAnalyticsId.trim() !== '') {\r\n\t\t\tconst ga4react = new GA4React(googleAnalyticsId);\r\n\r\n\t\t\tga4react.initialize().then((ga4) => {\r\n\t\t\t\tga4.pageview(window.location.pathname + window.location.search);\r\n\r\n\t\t\t\thistory.listen((location, action) => {\r\n\t\t\t\t\tif (GA4React.isInitialized()) {\r\n\t\t\t\t\t\tga4react.pageview(location.pathname + location.search);\r\n\t\t\t\t\t\tga4react.gtag('set', 'page', location.pathname);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, console.error);\r\n\t\t}\r\n\t}, []);\r\n\r\n\treturn <>{children}>;\r\n};\r\n\r\nexport default RouteChangeTracker;\r\n","import * as React from 'react';\r\n\r\nimport { RequestProvider } from '@common/react/components/RequestProvider/RequestProvider';\r\nimport ErrorBoundary from '@common/react/components/UI/ErrorBoundary/ErrorBoundary';\r\n\r\nimport Gtm from '@app/components/UI/Gtm/Gtm';\r\nimport CompanySettingsProvider from '@app/components/UI/CompanySettingsProvider';\r\nimport RouteChangeTracker from '@app/components/Routes/RouteChangeTracker';\r\n\r\nimport '@app/scss/style.scss';\r\n\r\nconst Layout: React.FC = ({ children }) => \r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{children}
\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t \r\n
;\r\n\r\nexport default Layout;\r\n","import React from 'react';\r\n\r\nimport { SocialMedia as SocialMediaType } from '@app/objects/SocialMedia';\r\n\r\ninterface Props {\r\n\tsocialMedias: Array;\r\n}\r\n\r\nconst SocialMedia: React.FC = ({ socialMedias }) => {\r\n\treturn <>\r\n\t\t{socialMedias?.filter((media) => media.icon).map((media) => \r\n\t\t\t \r\n\t\t )\r\n\t\t}\r\n\t>;\r\n};\r\n\r\nexport default SocialMedia;\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { useLocation, NavLink } from 'react-router-dom';\r\n\r\nimport { phoneFormat } from '@common/react/components/Forms/FormikPhoneControl/FormikPhoneControl';\r\n\r\nimport { SocialMedia as SocialMediaType } from '@app/objects/SocialMedia';\r\nimport SocialMedia from '@app/components/UI/SocialMedia/SocialMedia';\r\nimport { ApplicationState } from '@app/store';\r\n\r\ninterface PassedProps {\r\n\tphone?: string;\r\n\tsocialMedias?: Array;\r\n}\r\n\r\ntype HeaderProps = PassedProps;\r\n\r\nconst Header: React.FC = ({ socialMedias: propsSocialMedias, phone: propsPhone }) => {\r\n\tconst [isMenuOpen, setOpen] = React.useState(false);\r\n\tconst toggleMenu = React.useCallback(() => setOpen((prev) => !prev), []);\r\n\tconst close = React.useCallback(() => setOpen(false), []);\r\n\tconst browserLocation = useLocation();\r\n\r\n\tconst { blogPageId, location } = useSelector((state: ApplicationState) => ({\r\n\t\tblogPageId: state.blogPageId.item,\r\n\t\tlocation: state.location.item,\r\n\t}));\r\n\r\n\tconst mainMenu = React.useMemo(() => {\r\n\t\tconst menu = [\r\n\t\t\t{\r\n\t\t\t\tpath: '#home', name: 'Home', basePath: '', fullPath: '',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '#info', name: 'About', basePath: '', fullPath: '',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '#booking', name: 'Schedule', basePath: '', fullPath: '', className: 'show-mobile',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '#services', name: 'Services', basePath: '', fullPath: '',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '#blog', name: 'Blog', basePath: '', fullPath: '',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '', name: 'FAQ', basePath: '#faq', fullPath: '#faq',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '#reviews', name: 'Reviews', basePath: '', fullPath: '',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: '#contacts', name: 'Contacts', basePath: '', fullPath: '',\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\treturn menu.filter((item) => item.path !== '#blog' || blogPageId > 0);\r\n\t}, [blogPageId, browserLocation.pathname]);\r\n\r\n\tconst socialMedias = propsSocialMedias || location.socialMedias;\r\n\tconst phone = propsPhone || location.phone;\r\n\r\n\treturn \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t \r\n\t ;\r\n};\r\n\r\nexport default Header;\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport ImageLazy from '@common/react/components/UI/ImageLazy/ImageLazy';\r\n\r\nimport SocialMedia from '@app/components/UI/SocialMedia/SocialMedia';\r\nimport { ApplicationState } from '@app/store';\r\n\r\nconst year = new Date().getFullYear();\r\n\r\nconst Footer: React.FC = () => {\r\n\tconst socialMedias = useSelector((state: ApplicationState) => state.location.item.socialMedias);\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default Footer;\r\n","import * as React from 'react';\r\nimport { Route, RouteProps } from 'react-router-dom';\r\n\r\nimport Header from '@app/components/UI/Header/Header';\r\nimport Footer from '@app/components/UI/Footer/Footer';\r\n\r\nimport '@app/scss/pages/home.scss';\r\n\r\ninterface Props extends RouteProps {\r\n\tcomponent: any;\r\n\twithoutHeader?: boolean;\r\n\twithoutFooter?: boolean;\r\n}\r\n\r\nexport const MainRoute: React.FC = ({ component: Component, ...rest }) => (\r\n\t\r\n\t\t\t\r\n\t\t\t\t{!rest.withoutHeader && }\r\n\t\t\t\t \r\n\t\t\t\t{!rest.withoutFooter && }\r\n\t\t\t
\r\n\t\t}\r\n\t/>\r\n);\r\n","import * as React from 'react';\r\nimport { Switch } from 'react-router-dom';\r\n\r\nimport loadable from '@loadable/component';\r\n\r\nimport { loadableDelay, params } from '@common/react/loadable/loadableSettings';\r\nimport NotFoundRoute from '@common/react/components/Routes/NotFoundRoute';\r\n\r\nimport Layout from '@app/components/Layout';\r\nimport { MainRoute } from '@app/components/Routes/MainRoute';\r\n\r\nconst Home = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"HomePage\" */ '@app/components/Pages/Home/Home')), params);\r\nconst Blog = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"BlogPage\" */ '@app/components/Pages/Blog/Blog')), params);\r\nconst Article = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"ArticlePage\" */ '@app/components/Pages/Article/Article')), params);\r\n\r\nexport const routes = (\r\n\t\r\n\t\t \r\n\t\t \r\n\t\t \r\n\t\t \r\n\t \r\n );\r\n","import { fetch } from 'domain-task';\r\n\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/react/objects/BaseUser';\r\nimport { BaseParams } from '@common/typescript/objects/BaseParams';\r\n\r\ninterface Message {\r\n\tsuccess: number;\r\n\tresponse: T;\r\n\tsession: string;\r\n}\r\n\r\nexport interface ResponseError {\r\n\tmessage: string;\r\n\tcode: number;\r\n\tname?: string;\r\n}\r\n\r\nfunction baseRequest<\r\n\tT,\r\n\tTUser extends BaseUser,\r\n\tTApplicationState extends BaseApplicationState\r\n>(type: string, data: BaseParams = {}, state?: TApplicationState, signal?: AbortSignal): Promise {\r\n\treturn fetch('api/post', {\r\n\t\tcredentials: 'same-origin',\r\n\t\tmethod: 'POST',\r\n\t\theaders: {\r\n\t\t\t'Content-type': 'application/json; charset=utf-8',\r\n\t\t\tCookie: `session=${state ? state.login.session : ''}`,\r\n\t\t},\r\n\t\tbody: JSON.stringify({\r\n\t\t\ttype,\r\n\t\t\tdata: JSON.stringify(data),\r\n\t\t}),\r\n\t\tsignal,\r\n\t})\r\n\t\t.then((response) => response.json() as Message)\r\n\t\t.then((data: Message) => {\r\n\t\t\tif (!data.success) {\r\n\t\t\t\tthrow data.response as ResponseError;\r\n\t\t\t}\r\n\r\n\t\t\treturn data.response as T;\r\n\t\t});\r\n}\r\n\r\nfunction request<\r\n\tT,\r\n\tTUser extends BaseUser,\r\n\tTApplicationState extends BaseApplicationState\r\n\t>(type: string, data: BaseParams = {}, state?: TApplicationState, signal?: AbortSignal): Promise {\r\n\treturn baseRequest(type, data, state, signal)\r\n\t\t.catch((error: ResponseError) => {\r\n\t\t\tif (error.name === 'AbortError') {\r\n\t\t\t\tthrow new Error('Aborted');\r\n\t\t\t}\r\n\t\t\tif (error.message === 'Access denied' && window) {\r\n\t\t\t\twindow.location.href = '/';\r\n\t\t\t}\r\n\r\n\t\t\tconsole.log(error.message);\r\n\t\t\tthrow error.message as string;\r\n\t\t});\r\n}\r\n\r\nexport { baseRequest, request };\r\n","import * as React from 'react';\r\n\r\nimport once from 'lodash/once';\r\n\r\nexport interface LoadingProviderProps {\r\n\tloader: JSX.Element;\r\n}\r\n\r\nexport interface LoadingProviderContextState {\r\n\tpageLoader: JSX.Element;\r\n}\r\n\r\nexport interface LoadingProviderContext {\r\n\tstate: LoadingProviderContextState;\r\n\tactions: {setPageLoader};\r\n}\r\n\r\nexport const createLoaderProviderContext = once(() => React.createContext({} as LoadingProviderContext));\r\n\r\nexport const useLoaderProviderContext: () => LoadingProviderContext = () => React.useContext(createLoaderProviderContext());\r\n\r\nexport const LoadingProvider: React.FC = ({ children, loader }) => {\r\n\tconst ItemContext = createLoaderProviderContext();\r\n\r\n\tconst [pageLoader, setPageLoader] = React.useState(loader);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\tpageLoader,\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tsetPageLoader,\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t \r\n\t);\r\n};\r\n","import React from 'react';\r\n\r\nimport { useLoaderProviderContext } from '@common/react/components/Core/LoadingProvider/LoadingProvider';\r\n\r\ninterface Props {\r\n\tdefaultLoader?: JSX.Element;\r\n}\r\n\r\nconst Loader: React.FC = ({ defaultLoader }) => {\r\n\tconst loaderContext = useLoaderProviderContext();\r\n\r\n\treturn loaderContext?.state?.pageLoader || defaultLoader || '';\r\n};\r\n\r\nexport default Loader;\r\n","import * as React from 'react';\r\n\r\nimport once from 'lodash/once';\r\n\r\nexport interface NotFoundPageProviderProps {\r\n\tnotFoundComponent: JSX.Element;\r\n}\r\n\r\nexport interface NotFoundPageProviderContextState {\r\n\tnotFoundPage: JSX.Element;\r\n}\r\n\r\nexport interface NotFoundPageProviderContext {\r\n\tstate: NotFoundPageProviderContextState;\r\n\tactions: { setNotFoundPage };\r\n}\r\n\r\nexport const createNotFoundPageProviderContext = once(() => React.createContext({} as NotFoundPageProviderContext));\r\n\r\nexport const useNotFoundPageProviderContext: () => NotFoundPageProviderContext = () => React.useContext(createNotFoundPageProviderContext());\r\n\r\nexport const NotFoundPageProvider: React.FC = ({ children, notFoundComponent }) => {\r\n\tconst ItemContext = createNotFoundPageProviderContext();\r\n\r\n\tconst [notFoundPage, setNotFoundPage] = React.useState(notFoundComponent);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\tnotFoundPage,\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tsetNotFoundPage,\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t \r\n\t);\r\n};\r\n","import React from 'react';\r\n\r\nimport { useNotFoundPageProviderContext } from '@common/react/components/Core/NotFoundPageProvider/NotFoundPageProvider';\r\n\r\ninterface Props {\r\n\tdefaultNotFoundComponent?: JSX.Element;\r\n}\r\n\r\nconst NotFoundComponent: React.FC = ({ defaultNotFoundComponent }) => {\r\n\tconst notFoundComponentContext = useNotFoundPageProviderContext();\r\n\r\n\treturn notFoundComponentContext?.state?.notFoundPage || defaultNotFoundComponent || '';\r\n};\r\n\r\nexport default NotFoundComponent;\r\n","import * as React from 'react';\r\nimport MaskedInput from 'react-text-mask';\r\n\r\nimport { FieldProps } from 'formik';\r\n\r\nexport const defaultPhoneMask = ['+', '1', ' ', '(', /\\d/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\nexport const allCountriesPhoneMask = [\r\n\t'+',\r\n\t/[1-9]/,\r\n\t' ',\r\n\t'(',\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t')',\r\n\t' ',\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t'-',\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n];\r\n\r\nexport const allCountriesPhoneMask2DigitCode = [\r\n\t'+',\r\n\t/[1-9]/,\r\n\t/[1-9]/,\r\n\t' ',\r\n\t'(',\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t')',\r\n\t' ',\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t'-',\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n\t/\\d/,\r\n];\r\n\r\nexport const getAllCountriesPhoneMask = (phone: string | null | undefined) => {\r\n\tif (!phone || phone.includes('_')) {\r\n\t\treturn defaultPhoneMask;\r\n\t}\r\n\r\n\tconst formatPhone = phoneFormat(phone);\r\n\r\n\tconst matches = formatPhone.match(/^(\\+[1-9]{1,2})/);\r\n\r\n\tif (matches && matches[0] && matches[0].length > 2) {\r\n\t\treturn allCountriesPhoneMask2DigitCode;\r\n\t}\r\n\r\n\treturn allCountriesPhoneMask;\r\n};\r\n\r\nexport const phoneReplace = (phone: string | null | undefined): string => (phone\r\n\t? phone.replace(/[\\(\\)\\-\\s]/g, '')\r\n\t: '');\r\n\r\nexport const phoneFormat = (phone: string | null | undefined): string => (phone\r\n\t? phone.replace(/\\+([1-9]{1,2})(\\d{3})(\\d{3})(\\d{4})/, '+$1 ($2) $3-$4')\r\n\t: '');\r\n\r\ninterface Props {\r\n\tplaceholder?: string;\r\n\tfieldProps: FieldProps;\r\n\tclassName?: string;\r\n\tmask?: Array;\r\n\twithReplace?: boolean;\r\n\tisMobile?: boolean;\r\n\tdisabled?: boolean;\r\n\tid?: string;\r\n}\r\n\r\nconst removeDefaultPhoneMask = (phone: string | null | undefined): string => phoneReplace(phone)\r\n\t.replace(/^\\+?1/, '')\r\n\t.replace(/\\D/g, '')\r\n\t.replace(/_/g, '');\r\n\r\nconst getMask = (count, str, char: string = '_') => {\r\n\tconst length = str ? count - str.length : count;\r\n\treturn `${str || ''}${Array.from({ length }).fill(char).join('')}`;\r\n};\r\n\r\nconst defaultPhoneFormat = (value) => {\r\n\tlet phone = (value || '').replace(/\\D/g, '');\r\n\tconst match = phone.match(/^(\\d{1,3})(\\d{0,3})(\\d{0,4})$/);\r\n\r\n\tif (match) {\r\n\t\tphone = `(${getMask(3, match[1])}) ${getMask(3, match[2])}-${getMask(3, match[3])}`;\r\n\t}\r\n\treturn phone;\r\n};\r\n\r\nexport const FormikPhoneControl: React.FC = ({\r\n\tplaceholder = '',\r\n\tfieldProps: { field, form },\r\n\tclassName = 'form-control',\r\n\tmask = defaultPhoneMask,\r\n\twithReplace = true,\r\n\tisMobile = false,\r\n\tdisabled,\r\n\tid,\r\n}) => {\r\n\tconst value = React.useMemo(() => phoneFormat(field.value), [field.value]);\r\n\r\n\tconst pipe = (text, t) => {\r\n\t\tconst needReplace = mask === defaultPhoneMask && t.rawValue?.replace(/\\D/g, '').length <= 10\r\n\t\t\t&& removeDefaultPhoneMask(text) !== removeDefaultPhoneMask(t.rawValue);\r\n\r\n\t\treturn needReplace ? `+1 ${defaultPhoneFormat(removeDefaultPhoneMask(t.rawValue))}` : text;\r\n\t};\r\n\r\n\treturn form.setFieldValue(field.name, withReplace ? phoneReplace(e.target.value) : e.target.value)}\r\n\t\tonBlur={field.onBlur}\r\n\t\tvalue={value}\r\n\t\tdisabled={disabled}\r\n\t/>;\r\n};\r\n","import React from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport once from 'lodash/once';\r\nimport { fetch } from 'domain-task';\r\nimport loadable from '@loadable/component';\r\n\r\nimport { loadableDelay } from '@common/react/loadable/loadableSettings';\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\nimport { BaseParams } from '@common/typescript/objects/BaseParams';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport { TypeKeys } from '@common/react/store/Login';\r\n\r\nconst params = { fallback: };\r\n\r\nconst ErrorPage = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"ErrorPage\" */ '@common/react/components/Pages/ErrorPage/ErrorPage')), params);\r\n\r\nconst AccessDenied = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AccessDenied\" */\r\n\t\t'@common/react/components/Pages/AccessDenied/AccessDenied'\r\n\t)), params);\r\n\r\nconst NotFound = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"PageNotFound\" */\r\n\t\t'@common/react/components/UI/PageNotFound/PageNotFound'\r\n\t)), params);\r\n\r\nexport type RequestType = (type: string, data?: BaseParams, beforeRequest?: () => void, ttl?: number, signal?: AbortSignal) => Promise;\r\n\r\ninterface ErrorComponents {\r\n\taccessDenied: React.JSXElementConstructor;\r\n\tnotFound: React.JSXElementConstructor>;\r\n\terrorPage: React.JSXElementConstructor>;\r\n}\r\n\r\ninterface ErrorComponentsOptions {\r\n\tnotFountMessage?: string;\r\n}\r\n\r\nexport interface RequestProviderProps {\r\n\t/**\r\n\t * cache available flag, by default is true\r\n\t */\r\n\tcache?: boolean;\r\n\t/**\r\n\t * time to live (ms) for cached response if cache is available\r\n\t */\r\n\tttl?: number;\r\n\terrorHandlerForCustomCodes?: (ResponseError: ResponseError) => void;\r\n\tgetErrorComponents?: (ResponseError: ResponseError, component: ErrorComponents, options: ErrorComponentsOptions) => React.ReactNode;\r\n\terrorComponents?: Partial;\r\n\t/**\r\n\t * debug flag - if true, output cache state on each updateCache and leave keys at cache after delete value\r\n\t * by default false\r\n\t */\r\n\tdebug?: boolean;\r\n\t/**\r\n\t * message for not found page\r\n\t */\r\n\tnotFoundPageMessage?: string;\r\n}\r\n\r\nexport interface Cache {\r\n\t[key: string]: any;\r\n}\r\n\r\nexport interface RequestProviderContextState {\r\n\trequest: RequestType;\r\n\tnotFountMessage?: string;\r\n}\r\n\r\nexport interface RequestProviderContextActions {\r\n\tupdateCache: (type, data, response, ttl?: number) => void;\r\n\tgetFromCache: (type, params) => any;\r\n}\r\n\r\nexport interface RequestProviderContext {\r\n\tstate: RequestProviderContextState;\r\n\tactions: RequestProviderContextActions;\r\n}\r\n\r\nexport const createRequestProviderContext = once(() => React.createContext({} as RequestProviderContext));\r\n\r\nexport const useRequestProviderContext: () => RequestProviderContext = () => React.useContext(createRequestProviderContext());\r\n\r\ninterface Message {\r\n\tsuccess: number;\r\n\tresponse: T;\r\n\tsession: string;\r\n}\r\n\r\nexport enum ErrorCode\r\n{\r\n\tNotStated = 0,\r\n\tNoRights = 1,\r\n\tUnspecifiedError = 42,\r\n\tNotFound = 65,\r\n\tCaptchaRequired = 66,\r\n\tTemporaryDisabled = 67\r\n}\r\n\r\nexport interface ResponseError {\r\n\tmessage: string;\r\n\tcode: number;\r\n\tpath: string;\r\n\tisLogin?: boolean;\r\n}\r\n\r\nconst defaultErrorComponents = {\r\n\taccessDenied: AccessDenied,\r\n\tnotFound: NotFound,\r\n\terrorPage: ErrorPage,\r\n};\r\n\r\nexport const getDefaultErrorComponents = (error: ResponseError, components: ErrorComponents, options?: ErrorComponentsOptions) => {\r\n\tconst {\r\n\t\taccessDenied: AccessDeniedComponent,\r\n\t\tnotFound: NotFoundComponent,\r\n\t\terrorPage: ErrorPageComponent,\r\n\t} = components;\r\n\tswitch (error.code) {\r\n\t\tcase ErrorCode.NoRights:\r\n\t\t\treturn ;\r\n\t\tcase ErrorCode.NotFound:\r\n\t\t\treturn ;\r\n\t\tcase ErrorCode.UnspecifiedError:\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const RequestProvider: React.FC = ({\r\n\tchildren,\r\n\tcache: cacheProps = true,\r\n\tttl: defaultTtl = 0,\r\n\tgetErrorComponents = getDefaultErrorComponents,\r\n\terrorHandlerForCustomCodes,\r\n\terrorComponents = defaultErrorComponents,\r\n\tdebug = false,\r\n\tnotFoundPageMessage,\r\n}) => {\r\n\tconst [errorComponent, setErrorComponent] = React.useState(null);\r\n\tconst [cache, setCache] = React.useState({});\r\n\tconst timers = React.useRef({});\r\n\r\n\tconst ItemContext = createRequestProviderContext();\r\n\r\n\tconst session = useSelector((state: BaseApplicationState) => state.login.session, shallowEqual);\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\tconst context = useRequestProviderContext();\r\n\tconst notFountMessage = notFoundPageMessage || context?.state?.notFountMessage;\r\n\r\n\tconst updateCache = (type, params, response, ttl = defaultTtl) => {\r\n\t\tdebug && console.log(cache);\r\n\r\n\t\tif (cacheProps && ttl && ttl > 0) {\r\n\t\t\tconst key = `${type}${JSON.stringify(params)}`;\r\n\r\n\t\t\tsetCache((prev) => {\r\n\t\t\t\treturn { ...prev, [key]: response };\r\n\t\t\t});\r\n\r\n\t\t\tif (timers.current[key]) {\r\n\t\t\t\tclearTimeout(timers.current[key]);\r\n\t\t\t}\r\n\t\t\ttimers.current[key] = setTimeout(() => {\r\n\t\t\t\tif (timers.current[key]) {\r\n\t\t\t\t\tsetCache((prev) => {\r\n\t\t\t\t\t\tconst cache = { ...prev, [key]: undefined };\r\n\t\t\t\t\t\t!debug && delete cache[key];\r\n\t\t\t\t\t\treturn cache;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}, ttl);\r\n\t\t}\r\n\t};\r\n\r\n\tconst getFromCache = (type, params) => {\r\n\t\tif (cacheProps) {\r\n\t\t\tconst key = `${type}${JSON.stringify(params)}`;\r\n\r\n\t\t\tif (cache[key]) {\r\n\t\t\t\treturn cache[key];\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (cacheProps) {\r\n\t\t\treturn () => {\r\n\t\t\t\tObject.values(timers.current)\r\n\t\t\t\t\t.map((timer: any) => timer && clearTimeout(timer));\r\n\t\t\t};\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst errorHandler = (error: ResponseError) => {\r\n\t\tif (error.code === ErrorCode.NotStated) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (error.code === ErrorCode.NoRights) {\r\n\t\t\tif (!error.isLogin) {\r\n\t\t\t\tdispatch({ type: TypeKeys.CLEARSTATE });\r\n\t\t\t\thistory.replace(error.path || '/');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (error.path !== '/') {\r\n\t\t\t\thistory.replace(error.path);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst errorComponent = getErrorComponents(error, { ...defaultErrorComponents, ...errorComponents }, { notFountMessage });\r\n\t\tif (errorComponent) {\r\n\t\t\tsetErrorComponent(errorComponent);\r\n\t\t} else {\r\n\t\t\terrorHandlerForCustomCodes && errorHandlerForCustomCodes(error);\r\n\t\t}\r\n\r\n\t\tconsole.log(error.message);\r\n\t};\r\n\r\n\tconst request = React.useMemo(() => {\r\n\t\treturn (type: string, params: BaseParams = {}, beforeRequest, ttl = defaultTtl, signal?: AbortSignal): Promise => {\r\n\t\t\tif (cacheProps && ttl && ttl > 0) {\r\n\t\t\t\tconst key = `${type}${JSON.stringify(params)}`;\r\n\r\n\t\t\t\tif (cache[key]) {\r\n\t\t\t\t\treturn Promise.resolve(cache[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbeforeRequest && beforeRequest();\r\n\r\n\t\t\treturn fetch('api/post', {\r\n\t\t\t\tcredentials: 'same-origin',\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t'Content-type': 'application/json; charset=utf-8',\r\n\t\t\t\t\tCookie: `session=${session || ''}`,\r\n\t\t\t\t},\r\n\t\t\t\tbody: JSON.stringify({\r\n\t\t\t\t\ttype,\r\n\t\t\t\t\tdata: JSON.stringify(params),\r\n\t\t\t\t}),\r\n\t\t\t\tsignal,\r\n\t\t\t})\r\n\t\t\t\t.then((response) => response.json() as Message)\r\n\t\t\t\t.then((data: Message) => {\r\n\t\t\t\t\tif (!data.success) {\r\n\t\t\t\t\t\tthrow data.response as ResponseError;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tupdateCache(type, params, data.response, ttl);\r\n\r\n\t\t\t\t\treturn data.response as T;\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error: ResponseError) => {\r\n\t\t\t\t\terrorHandler(error);\r\n\r\n\t\t\t\t\tthrow error.message as string;\r\n\t\t\t\t});\r\n\t\t};\r\n\t}, [session, getErrorComponents, history.location, cacheProps, cache]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\treturn history.listen((location, action) => {\r\n\t\t\tif (errorComponent) {\r\n\t\t\t\tsetErrorComponent(null);\r\n\t\t\t}\r\n\t\t});\r\n\t}, [errorComponent]);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\trequest,\r\n\t\t\tnotFountMessage,\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tupdateCache,\r\n\t\t\tgetFromCache,\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorComponent || children}\r\n\t\t \r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport { RouteProps } from 'react-router-dom';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport NotFoundComponent from '@common/react/components/Core/NotFoundPageProvider/NotFoundComponent';\r\nimport PageNotFound from '@common/react/components/UI/PageNotFound/PageNotFound';\r\n\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\n\r\ninterface Props extends RouteProps {\r\n\topenRoute: any;\r\n\tloginRoute?: any;\r\n\tcomponent?: any;\r\n\ttitle?: string;\r\n\tnotFoundPage?: React.ReactNode;\r\n\tloginRender?: React.ReactNode;\r\n\topenRender?: React.ReactNode;\r\n\tgetServerPage?: (state) => any;\r\n}\r\n\r\nconst defaultGetServerPage = (state) => state?.serverPage;\r\n\r\nconst NotFoundRoute: React.FC = ({\r\n\ttitle = '404 Not Found', notFoundPage, openRoute, loginRoute = openRoute, ...rest\r\n}) => {\r\n\tconst { component: Component = () => } /> } = rest;\r\n\tconst { loginRender = Component, openRender = Component, getServerPage = defaultGetServerPage } = rest;\r\n\tconst user = useSelector((state: BaseApplicationState) => state?.login?.user, shallowEqual);\r\n\tconst serverPage = useSelector(getServerPage, shallowEqual);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (serverPage?.page) {\r\n\t\t\tserverPage.page = null;\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst Route: any = user ? loginRoute : openRoute;\r\n\tconst Node = user ? loginRender : openRender;\r\n\r\n\treturn <>\r\n\t\t\t{title && \r\n\t\t\t\t{title} \r\n\t\t\t }\r\n\t\t\t \r\n\t\t>}\r\n\t/>;\r\n};\r\n\r\nexport default NotFoundRoute;\r\n","import React from 'react';\r\n\r\ntype Props = React.ImgHTMLAttributes\r\n\r\nconst ImageLazy: React.FC = ({ src, ...props }) => {\r\n\tconst ref = React.useRef(null);\r\n\tconst [visible, setVisible] = React.useState(false);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (ref.current) {\r\n\t\t\tconst intersectionObserver = new IntersectionObserver((entries) => {\r\n\t\t\t\tif (entries[0].isIntersecting) {\r\n\t\t\t\t\tsetVisible(true);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\trootMargin: '15px',\r\n\t\t\t\tthreshold: 0.01,\r\n\t\t\t});\r\n\r\n\t\t\tintersectionObserver.observe(ref.current);\r\n\t\t\treturn () => intersectionObserver.disconnect();\r\n\t\t}\r\n\t}, [ref.current]);\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default ImageLazy;\r\n","import * as React from 'react';\r\n\r\ninterface SpinnerProps {\r\n\tclassName?: string;\r\n\tcaption?: string;\r\n}\r\n\r\nexport const Loading: React.SFC = ({ className = 'page-loading', caption = 'Loading' }) => {\r\n\treturn \r\n\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t{caption}\r\n\t\t
\r\n\t
;\r\n};\r\n","import * as React from 'react';\r\n\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport { useRequestProviderContext } from '@common/react/components/RequestProvider/RequestProvider';\r\n\r\nconst PageNotFound: React.FC<{ message?: string}> = ({ message }) => {\r\n\tconst history = useHistory<{ prevPath?: string }>();\r\n\tconst context = useRequestProviderContext();\r\n\tconst notFountMessage = message || context?.state?.notFountMessage || '404 Not Found';\r\n\r\n\tconst handlerBack = () => {\r\n\t\tconst { location } = history;\r\n\t\tif (location.state?.prevPath) {\r\n\t\t\thistory.push(location.state.prevPath);\r\n\t\t} else {\r\n\t\t\thistory.push('/');\r\n\t\t}\r\n\t};\r\n\tconst havePrevPage = history.location.state?.prevPath;\r\n\r\n\treturn \r\n\t\t
\r\n\t\t\t{notFountMessage}\r\n\t\t \r\n\t\t
\r\n\t\t\t handlerBack()}>\r\n\t\t\t\tGo \r\n\t\t\t\t{havePrevPage ? 'Back' : 'to Main page'}\r\n\t\t\t \r\n\t\t
\r\n\t
;\r\n};\r\n\r\nexport default PageNotFound;\r\n","import * as React from 'react';\r\n\r\nimport { Loading } from '@common/react/components/UI/Loading/Loading';\r\n\r\nexport { default as loadable } from '@loadable/component';\r\n\r\nfunction delay(ms) {\r\n\treturn new Promise((resolve) => {\r\n\t\tsetTimeout(resolve, ms);\r\n\t});\r\n}\r\n\r\nexport const loadableDelay: (promise: Promise<{ default: T }>) => Promise<{ default: T }> = (promise) => {\r\n\tif (typeof window === 'undefined') return promise;\r\n\r\n\tlet promiseErr;\r\n\r\n\t// tslint:disable-next-line:no-parameter-reassignment\r\n\tpromise = promise.catch((err) => promiseErr = err);\r\n\r\n\treturn Promise.all([promise, delay(200)]).then((val) => (promiseErr ? Promise.reject(promiseErr) : val[0]));\r\n};\r\n\r\nexport const params = {\r\n\tfallback: ,\r\n};\r\n","import { addTask } from 'domain-task';\r\nimport { Reducer } from 'redux';\r\n\r\nimport { request } from '@common/react/components/Api';\r\nimport { BaseUser } from '@common/react/objects/BaseUser';\r\nimport { BaseApplicationState, BaseAppThunkAction } from '@common/react/store/index';\r\nimport { Lang } from '@common/typescript/objects/Lang';\r\n\r\nexport interface LoginState {\r\n\tisLoading: boolean;\r\n\tsession: string;\r\n\tuser: TUser | null;\r\n\tmessage: string;\r\n\ttransmuted: boolean;\r\n\tdebug: boolean;\r\n\tlang: Lang;\r\n\tuserAgent: string;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTLOGIN = 'REQUEST_LOGIN',\r\n\tRECEIVELOGIN = 'RECEIVE_LOGIN',\r\n\tREQUESTLOGOFF = 'REQUEST_LOGOFF',\r\n\tRECEIVELOGOFF = 'RECEIVE_LOGOFF',\r\n\tSETSESSION = 'SET_SESSION',\r\n\tUPDATEUSER = 'UPDATE_USER',\r\n\tCLEARSTATE = 'CLEAR_STATE',\r\n\tSETLANG = 'SET_LANG',\r\n}\r\n\r\ninterface RequestLoginAction {\r\n\ttype: TypeKeys.REQUESTLOGIN;\r\n}\r\n\r\ninterface ReceiveLoginAction {\r\n\ttype: TypeKeys.RECEIVELOGIN;\r\n\tuser: BaseUser | null;\r\n\tsession: string;\r\n\tmessage: string;\r\n\ttransmuted: boolean;\r\n\tdebug: boolean;\r\n\tlang: Lang;\r\n\tuserAgent: string;\r\n}\r\n\r\ninterface RequestLogoffAction {\r\n\ttype: TypeKeys.REQUESTLOGOFF;\r\n}\r\n\r\ninterface ReceiveLogoffAction {\r\n\ttype: TypeKeys.RECEIVELOGOFF;\r\n\tsession: string;\r\n}\r\n\r\ninterface SetSessionAction {\r\n\ttype: TypeKeys.SETSESSION;\r\n\tsession: string;\r\n}\r\n\r\ninterface SetLangAction {\r\n\ttype: TypeKeys.SETLANG;\r\n\tlang: Lang;\r\n}\r\n\r\ninterface UpdateUserAction {\r\n\ttype: TypeKeys.UPDATEUSER;\r\n\tdata: any;\r\n\tsetUser?: (user) => any;\r\n}\r\n\r\ninterface ClearStateAction {\r\n\ttype: TypeKeys.CLEARSTATE;\r\n}\r\n\r\ntype KnownUserAction =\r\n\tRequestLoginAction |\r\n\tReceiveLoginAction |\r\n\tRequestLogoffAction |\r\n\tReceiveLogoffAction |\r\n\tSetSessionAction |\r\n\tUpdateUserAction |\r\n\tClearStateAction |\r\n\tSetLangAction;\r\n\r\nexport interface LoginActionCreators> {\r\n\tlogin: (login: string, password: string, path?: string) => BaseAppThunkAction;\r\n\tlogoff: (clearState?: boolean, callback?: () => void) => BaseAppThunkAction;\r\n\tupdateUser: (data: any, setUser?: (user) => any) => BaseAppThunkAction;\r\n\tsetUserAndSession: (user: BaseUser, session: string) => BaseAppThunkAction;\r\n\tsetLang: (lang: Lang) => BaseAppThunkAction;\r\n}\r\n\r\nexport function getActionCreators>() {\r\n\treturn {\r\n\t\tlogin: (login: string, password: string, path: string = 'auth'): BaseAppThunkAction =>\r\n\t\t\t(dispatch, getState) => {\r\n\t\t\t\tif (!getState().login.isLoading) {\r\n\t\t\t\t\tconst fetchTask = request(path, {\r\n\t\t\t\t\t\tlogin,\r\n\t\t\t\t\t\tpassword,\r\n\t\t\t\t\t\tpath: '/login',\r\n\t\t\t\t\t}).then((data) => {\r\n\t\t\t\t\t\tif (data.initObject) {\r\n\t\t\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\t\t\t\t\tuser: data.initObject.user,\r\n\t\t\t\t\t\t\t\tsession: data.initObject.guid,\r\n\t\t\t\t\t\t\t\tmessage: '',\r\n\t\t\t\t\t\t\t\ttransmuted: data.initObject.transmuted,\r\n\t\t\t\t\t\t\t\tdebug: data.initObject.debug,\r\n\t\t\t\t\t\t\t\tlang: data.initObject.lang,\r\n\t\t\t\t\t\t\t\tuserAgent: data.initObject.userAgent,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch((data) => {\r\n\t\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\t\t\t\tuser: null,\r\n\t\t\t\t\t\t\tsession: getState().login.session,\r\n\t\t\t\t\t\t\tmessage: data,\r\n\t\t\t\t\t\t\ttransmuted: false,\r\n\t\t\t\t\t\t\tdebug: false,\r\n\t\t\t\t\t\t\tlang: Lang.En,\r\n\t\t\t\t\t\t\tuserAgent: '',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\taddTask(fetchTask);\r\n\t\t\t\t\tdispatch({ type: TypeKeys.REQUESTLOGIN });\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\tlogoff: (\r\n\t\t\tclearState?: boolean,\r\n\t\t\tcallback?: () => void,\r\n\t\t): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tif (!getState().login.isLoading) {\r\n\t\t\t\tconst fetchTask = request('logoff', {}).then((data) => {\r\n\t\t\t\t\tif (data.newSessionGuid) {\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.RECEIVELOGOFF, session: data.newSessionGuid });\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (callback) callback();\r\n\r\n\t\t\t\t\tif (clearState) {\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.CLEARSTATE });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\taddTask(fetchTask);\r\n\r\n\t\t\t\tdispatch({ type: TypeKeys.REQUESTLOGOFF });\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateUser: (data: any, getUser?: (user) => any): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tconst partialUser = getUser && getUser(getState().login?.user);\r\n\t\t\tdispatch({ type: TypeKeys.UPDATEUSER, data: { ...partialUser, ...data } });\r\n\t\t},\r\n\t\tsetUserAndSession: (user: BaseUser, session: string):\r\n\t\t\tBaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tconst state = getState().login;\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\tuser,\r\n\t\t\t\tsession,\r\n\t\t\t\tmessage: '',\r\n\t\t\t\ttransmuted: false,\r\n\t\t\t\tdebug: state.debug || false,\r\n\t\t\t\tlang: state.lang,\r\n\t\t\t\tuserAgent: state.userAgent,\r\n\t\t\t});\r\n\t\t},\r\n\t\tsetLang: (lang: Lang): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\trequest('language', { lang }).then((data) => {\r\n\t\t\t\tdispatch({ type: TypeKeys.SETLANG, lang });\r\n\t\t\t});\r\n\t\t},\r\n\t};\r\n}\r\n\r\nexport function getReducer(): Reducer> {\r\n\treturn (s: LoginState | undefined, action: KnownUserAction) => {\r\n\t\tconst state = s as LoginState;\r\n\t\tswitch (action.type) {\r\n\t\t\tcase TypeKeys.REQUESTLOGIN:\r\n\t\t\t\treturn { ...state, isLoading: true };\r\n\t\t\tcase TypeKeys.RECEIVELOGIN:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\tuser: action.user,\r\n\t\t\t\t\tsession: action.session,\r\n\t\t\t\t\tmessage: action.message,\r\n\t\t\t\t\ttransmuted: action.transmuted,\r\n\t\t\t\t\tdebug: action.debug,\r\n\t\t\t\t\tlang: action.lang,\r\n\t\t\t\t\tuserAgent: action.userAgent,\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.REQUESTLOGOFF:\r\n\t\t\t\treturn { ...state, isLoading: true };\r\n\t\t\tcase TypeKeys.RECEIVELOGOFF:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state, isLoading: false, user: null, session: action.session, transmuted: false,\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.SETSESSION:\r\n\t\t\t\treturn { ...state, session: action.session };\r\n\t\t\tcase TypeKeys.SETLANG:\r\n\t\t\t\treturn { ...state, lang: action.lang };\r\n\t\t\tcase TypeKeys.CLEARSTATE:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state, user: null, isLoading: false, message: '', session: '', transmuted: false,\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.UPDATEUSER:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tuser: {\r\n\t\t\t\t\t\t...(state.user as any),\r\n\t\t\t\t\t\t...action.data,\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tdefault:\r\n\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t}\r\n\r\n\t\treturn state || { user: null };\r\n\t};\r\n}\r\n","export enum Lang {\r\n\tNone,\r\n\tEn,\r\n\tRu,\r\n\tDe,\r\n\tEs,\r\n\tFr, \r\n\tIt\r\n}","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var toInteger = require('./toInteger');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\nfunction before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n}\n\nmodule.exports = before;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","'use strict';\n\nvar _warn = require('./utils/warn');\n\nvar _warn2 = _interopRequireDefault(_warn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://developers.google.com/tag-manager/quickstart\n\nvar Snippets = {\n tags: function tags(_ref) {\n var id = _ref.id,\n events = _ref.events,\n dataLayer = _ref.dataLayer,\n dataLayerName = _ref.dataLayerName,\n preview = _ref.preview,\n auth = _ref.auth;\n\n var gtm_auth = '>m_auth=' + auth;\n var gtm_preview = '>m_preview=' + preview;\n\n if (!id) (0, _warn2.default)('GTM Id is required');\n\n var iframe = '\\n ';\n\n var script = '\\n (function(w,d,s,l,i){w[l]=w[l]||[];\\n w[l].push({\\'gtm.start\\': new Date().getTime(),event:\\'gtm.js\\', ' + JSON.stringify(events).slice(1, -1) + '});\\n var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!=\\'dataLayer\\'?\\'&l=\\'+l:\\'\\';\\n j.async=true;j.src=\\'https://www.googletagmanager.com/gtm.js?id=\\'+i+dl+\\'' + gtm_auth + gtm_preview + '>m_cookies_win=x\\';\\n f.parentNode.insertBefore(j,f);\\n })(window,document,\\'script\\',\\'' + dataLayerName + '\\',\\'' + id + '\\');';\n\n var dataLayerVar = this.dataLayer(dataLayer, dataLayerName);\n\n return {\n iframe: iframe,\n script: script,\n dataLayerVar: dataLayerVar\n };\n },\n dataLayer: function dataLayer(_dataLayer, dataLayerName) {\n return '\\n window.' + dataLayerName + ' = window.' + dataLayerName + ' || [];\\n window.' + dataLayerName + '.push(' + JSON.stringify(_dataLayer) + ')';\n }\n};\n\nmodule.exports = Snippets;","'use strict';\n\nvar _Snippets = require('./Snippets');\n\nvar _Snippets2 = _interopRequireDefault(_Snippets);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TagManager = {\n dataScript: function dataScript(dataLayer) {\n var script = document.createElement('script');\n script.innerHTML = dataLayer;\n return script;\n },\n gtm: function gtm(args) {\n var snippets = _Snippets2.default.tags(args);\n\n var noScript = function noScript() {\n var noscript = document.createElement('noscript');\n noscript.innerHTML = snippets.iframe;\n return noscript;\n };\n\n var script = function script() {\n var script = document.createElement('script');\n script.innerHTML = snippets.script;\n return script;\n };\n\n var dataScript = this.dataScript(snippets.dataLayerVar);\n\n return {\n noScript: noScript,\n script: script,\n dataScript: dataScript\n };\n },\n initialize: function initialize(_ref) {\n var gtmId = _ref.gtmId,\n _ref$events = _ref.events,\n events = _ref$events === undefined ? {} : _ref$events,\n dataLayer = _ref.dataLayer,\n _ref$dataLayerName = _ref.dataLayerName,\n dataLayerName = _ref$dataLayerName === undefined ? 'dataLayer' : _ref$dataLayerName,\n _ref$auth = _ref.auth,\n auth = _ref$auth === undefined ? '' : _ref$auth,\n _ref$preview = _ref.preview,\n preview = _ref$preview === undefined ? '' : _ref$preview;\n\n var gtm = this.gtm({\n id: gtmId,\n events: events,\n dataLayer: dataLayer || undefined,\n dataLayerName: dataLayerName,\n auth: auth,\n preview: preview\n });\n if (dataLayer) document.head.appendChild(gtm.dataScript);\n document.head.insertBefore(gtm.script(), document.head.childNodes[0]);\n document.body.insertBefore(gtm.noScript(), document.body.childNodes[0]);\n },\n dataLayer: function dataLayer(_ref2) {\n var _dataLayer = _ref2.dataLayer,\n _ref2$dataLayerName = _ref2.dataLayerName,\n dataLayerName = _ref2$dataLayerName === undefined ? 'dataLayer' : _ref2$dataLayerName;\n\n if (window[dataLayerName]) return window[dataLayerName].push(_dataLayer);\n var snippets = _Snippets2.default.dataLayer(_dataLayer, dataLayerName);\n var dataScript = this.dataScript(snippets);\n document.head.insertBefore(dataScript, document.head.childNodes[0]);\n }\n};\n\nmodule.exports = TagManager;","'use strict';\n\nvar _TagManager = require('./TagManager');\n\nvar _TagManager2 = _interopRequireDefault(_TagManager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = _TagManager2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar warn = function warn(s) {\n console.warn('[react-gtm]', s);\n};\n\nexports.default = warn;","\"use strict\";function _interopDefault(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}Object.defineProperty(exports,\"__esModule\",{value:!0});var React=_interopDefault(require(\"react\"));function AppContainer(e){return AppContainer.warnAboutHMRDisabled&&(AppContainer.warnAboutHMRDisabled=!0,console.error(\"React-Hot-Loader: misconfiguration detected, using production version in non-production environment.\"),console.error(\"React-Hot-Loader: Hot Module Replacement is not enabled.\")),React.Children.only(e.children)}AppContainer.warnAboutHMRDisabled=!1;var hot=function e(){return e.shouldWrapWithAppContainer?function(e){return function(n){return React.createElement(AppContainer,null,React.createElement(e,n))}}:function(e){return e}};hot.shouldWrapWithAppContainer=!1;var areComponentsEqual=function(e,n){return e===n},setConfig=function(){},cold=function(e){return e},configureComponent=function(){};exports.AppContainer=AppContainer,exports.hot=hot,exports.areComponentsEqual=areComponentsEqual,exports.setConfig=setConfig,exports.cold=cold,exports.configureComponent=configureComponent;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports.reactTextMask=t(require(\"react\")):e.reactTextMask=t(e.React)}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p=\"\",t(0)}([function(e,t,r){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.conformToMask=void 0;var s=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:f,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.placeholderChar;if(!o(e))throw new Error(\"Text-mask:convertMaskToPlaceholder; The mask property must be an array.\");if(e.indexOf(t)!==-1)throw new Error(\"Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\\n\\n\"+(\"The placeholder character that was received is: \"+JSON.stringify(t)+\"\\n\\n\")+(\"The mask that was received is: \"+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?t:e}).join(\"\")}function o(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}function i(e){return\"string\"==typeof e||e instanceof String}function a(e){return\"number\"==typeof e&&void 0===e.length&&!isNaN(e)}function u(e){return\"undefined\"==typeof e||null===e}function s(e){for(var t=[],r=void 0;r=e.indexOf(c),r!==-1;)t.push(r),e.splice(r,1);return{maskWithoutCaretTraps:e,indexes:t}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.convertMaskToPlaceholder=n,t.isArray=o,t.isString=i,t.isNumber=a,t.isNil=u,t.processCaretTraps=s;var l=r(1),f=[],c=\"[]\"},function(e,t,r){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,i.isArray)(t)){if((\"undefined\"==typeof t?\"undefined\":o(t))!==a.strFunction)throw new Error(\"Text-mask:conformToMask; The mask property must be an array.\");t=t(e,r),t=(0,i.processCaretTraps)(t).maskWithoutCaretTraps}var n=r.guide,l=void 0===n||n,f=r.previousConformedValue,c=void 0===f?s:f,p=r.placeholderChar,d=void 0===p?a.placeholderChar:p,h=r.placeholder,v=void 0===h?(0,i.convertMaskToPlaceholder)(t,d):h,y=r.currentCaretPosition,m=r.keepCharPositions,b=l===!1&&void 0!==c,g=e.length,k=c.length,C=v.length,O=t.length,T=g-k,P=T>0,x=y+(P?-T:0),w=x+Math.abs(T);if(m===!0&&!P){for(var S=s,_=x;_=x&&t=0;j--){var E=M[j].char;if(E!==d){var R=j>=x&&k===O;E===v[R?j-T:j]&&M.splice(j,1)}}var V=s,N=!1;e:for(var A=0;A0)for(;M.length>0;){var I=M.shift(),F=I.char,q=I.isNew;if(F===d&&b!==!0){V+=d;continue e}if(t[A].test(F)){if(m===!0&&q!==!1&&c!==s&&l!==!1&&P){for(var D=M.length,L=null,W=0;W0,T=0===b,P=C>1&&!O&&!T;if(P)return s;var x=O&&(r===l||l===p),w=0,S=void 0,_=void 0;if(x)w=s-C;else{var M=l.toLowerCase(),j=f.toLowerCase(),E=j.substr(0,s).split(o),R=E.filter(function(e){return M.indexOf(e)!==-1});_=R[R.length-1];var V=a.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,N=p.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,A=N!==V,B=void 0!==a[R.length-1]&&void 0!==p[R.length-2]&&a[R.length-1]!==c&&a[R.length-1]!==p[R.length-1]&&a[R.length-1]===p[R.length-2];!O&&(A||B)&&V>0&&p.indexOf(_)>-1&&void 0!==f[s]&&(S=!0,_=f[s]);for(var I=h.map(function(e){return M[e]}),F=I.filter(function(e){return e===_}).length,q=R.filter(function(e){return e===_}).length,D=p.substr(0,p.indexOf(c)).split(o).filter(function(e,t){return e===_&&f[t]!==e}).length,L=D+q+F+(S?1:0),W=0,J=0;J=L)break}}if(O){for(var H=w,Y=w;Y<=g;Y++)if(p[Y]===c&&(H=Y),p[Y]===c||y.indexOf(Y)!==-1||Y===g)return H}else if(S){for(var z=w-1;z>=0;z--)if(l[z]===_||y.indexOf(z)!==-1||0===z)return z}else for(var G=w;G>=0;G--)if(p[G-1]===c||y.indexOf(G)!==-1||0===G)return G}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var n=[],o=\"\"},function(e,t,r){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var t={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:t,update:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,l=n.mask,c=n.guide,y=n.pipe,b=n.placeholderChar,g=void 0===b?h.placeholderChar:b,k=n.keepCharPositions,C=void 0!==k&&k,O=n.showMask,T=void 0!==O&&O;if(\"undefined\"==typeof r&&(r=o.value),r!==t.previousConformedValue){(\"undefined\"==typeof l?\"undefined\":s(l))===m&&void 0!==l.pipe&&void 0!==l.mask&&(y=l.pipe,l=l.mask);var P=void 0,x=void 0;if(l instanceof Array&&(P=(0,d.convertMaskToPlaceholder)(l,g)),l!==!1){var w=a(r),S=o.selectionEnd,_=t.previousConformedValue,M=t.previousPlaceholder,j=void 0;if((\"undefined\"==typeof l?\"undefined\":s(l))===h.strFunction){if(x=l(w,{currentCaretPosition:S,previousConformedValue:_,placeholderChar:g}),x===!1)return;var E=(0,d.processCaretTraps)(x),R=E.maskWithoutCaretTraps,V=E.indexes;x=R,j=V,P=(0,d.convertMaskToPlaceholder)(x,g)}else x=l;var N={previousConformedValue:_,guide:c,placeholderChar:g,pipe:y,placeholder:P,currentCaretPosition:S,keepCharPositions:C},A=(0,p.default)(w,x,N),B=A.conformedValue,I=(\"undefined\"==typeof y?\"undefined\":s(y))===h.strFunction,F={};I&&(F=y(B,u({rawValue:w},N)),F===!1?F={value:_,rejected:!0}:(0,d.isString)(F)&&(F={value:F}));var q=I?F.value:B,D=(0,f.default)({previousConformedValue:_,previousPlaceholder:M,conformedValue:q,placeholder:P,rawValue:w,currentCaretPosition:S,placeholderChar:g,indexesOfPipedChars:F.indexesOfPipedChars,caretTrapIndexes:j}),L=q===P&&0===D,W=T?P:v,J=L?W:q;t.previousConformedValue=J,t.previousPlaceholder=P,o.value!==J&&(o.value=J,i(o,D))}}}}}function i(e,t){document.activeElement===e&&(b?g(function(){return e.setSelectionRange(t,t,y)},0):e.setSelectionRange(t,t,y))}function a(e){if((0,d.isString)(e))return e;if((0,d.isNumber)(e))return String(e);if(void 0===e||null===e)return v;throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value received was:\\n\\n \"+JSON.stringify(e))}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t