{"version":3,"file":"2534.9cd47e7cf931cba451f2.js","mappings":"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","sources":["webpack://mattermost-webapp/../node_modules/resolve-pathname/esm/resolve-pathname.js","webpack://mattermost-webapp/../node_modules/value-equal/esm/value-equal.js","webpack://mattermost-webapp/../node_modules/history/esm/history.js","webpack://mattermost-webapp/../node_modules/@babel/runtime/helpers/esm/extends.js","webpack://mattermost-webapp/../node_modules/tiny-invariant/dist/esm/tiny-invariant.js"],"sourcesContent":["function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n"],"names":["isAbsolute","pathname","charAt","spliceOne","list","index","i","k","n","length","pop","to","from","undefined","hasTrailingSlash","toParts","split","fromParts","isToAbs","isFromAbs","mustEndAbs","concat","last","up","part","unshift","result","join","substr","obj","valueOf","Object","prototype","call","valueEqual","a","b","Array","isArray","every","item","aValue","bValue","keys","assign","key","addLeadingSlash","path","stripLeadingSlash","stripBasename","prefix","toLowerCase","indexOf","hasBasename","stripTrailingSlash","slice","parsePath","search","hash","hashIndex","searchIndex","createPath","location","createLocation","state","currentLocation","decodeURI","e","URIError","locationsAreEqual","createTransitionManager","prompt","listeners","setPrompt","nextPrompt","confirmTransitionTo","action","getUserConfirmation","callback","appendListener","fn","isActive","listener","apply","arguments","push","filter","notifyListeners","_len","args","_key","forEach","canUseDOM","window","document","createElement","getConfirmation","message","confirm","PopStateEvent","HashChangeEvent","getHistoryState","history","createBrowserHistory","props","ua","globalHistory","canUseHistory","navigator","userAgent","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_ref","_window$location","createKey","Math","random","toString","transitionManager","setState","nextState","handlePopState","event","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replace","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","url","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","allPaths","lastIndexOf","baseTag","querySelector","getAttribute","pushHashPath","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","map","entry","nextIndex","nextEntries","splice","canGo","_extends","bind","target","source","hasOwnProperty","this","isProduction","invariant","condition","Error","provided","value"],"sourceRoot":""}