diff --git a/js/firstrunwizard-main.js.map b/js/firstrunwizard-main.js.map index 5ced921eb..f268fef7f 100644 --- a/js/firstrunwizard-main.js.map +++ b/js/firstrunwizard-main.js.map @@ -1 +1 @@ -{"version":3,"file":"firstrunwizard-main.js?v=7df71de4e538c9478a0f","mappings":"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","sources":["webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/user.js","webpack:///firstrunwizard/node_modules/@nextcloud/axios/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/ProxyBus.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/SimpleBus.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///firstrunwizard/node_modules/@nextcloud/l10n/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/router/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/vue/dist/Components/Modal.js","webpack:///firstrunwizard/node_modules/axios/index.js","webpack:///firstrunwizard/node_modules/axios/lib/adapters/xhr.js","webpack:///firstrunwizard/node_modules/axios/lib/axios.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/Cancel.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/CancelToken.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/isCancel.js","webpack:///firstrunwizard/node_modules/axios/lib/core/Axios.js","webpack:///firstrunwizard/node_modules/axios/lib/core/InterceptorManager.js","webpack:///firstrunwizard/node_modules/axios/lib/core/buildFullPath.js","webpack:///firstrunwizard/node_modules/axios/lib/core/createError.js","webpack:///firstrunwizard/node_modules/axios/lib/core/dispatchRequest.js","webpack:///firstrunwizard/node_modules/axios/lib/core/enhanceError.js","webpack:///firstrunwizard/node_modules/axios/lib/core/mergeConfig.js","webpack:///firstrunwizard/node_modules/axios/lib/core/settle.js","webpack:///firstrunwizard/node_modules/axios/lib/core/transformData.js","webpack:///firstrunwizard/node_modules/axios/lib/defaults.js","webpack:///firstrunwizard/node_modules/axios/lib/env/data.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/bind.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/buildURL.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/combineURLs.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/cookies.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isAxiosError.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/spread.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/validator.js","webpack:///firstrunwizard/node_modules/axios/lib/utils.js","webpack:///firstrunwizard/node_modules/call-bind/callBound.js","webpack:///firstrunwizard/node_modules/call-bind/index.js","webpack:///firstrunwizard/node_modules/console-browserify/index.js","webpack:///firstrunwizard/node_modules/core-js/internals/a-function.js","webpack:///firstrunwizard/node_modules/core-js/internals/a-possible-prototype.js","webpack:///firstrunwizard/node_modules/core-js/internals/add-to-unscopables.js","webpack:///firstrunwizard/node_modules/core-js/internals/advance-string-index.js","webpack:///firstrunwizard/node_modules/core-js/internals/an-instance.js","webpack:///firstrunwizard/node_modules/core-js/internals/an-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-for-each.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-includes.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-iteration.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-is-strict.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-species-create.js","webpack:///firstrunwizard/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///firstrunwizard/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///firstrunwizard/node_modules/core-js/internals/classof-raw.js","webpack:///firstrunwizard/node_modules/core-js/internals/classof.js","webpack:///firstrunwizard/node_modules/core-js/internals/collection-strong.js","webpack:///firstrunwizard/node_modules/core-js/internals/collection.js","webpack:///firstrunwizard/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///firstrunwizard/node_modules/core-js/internals/correct-prototype-getter.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-iterator-constructor.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/define-iterator.js","webpack:///firstrunwizard/node_modules/core-js/internals/descriptors.js","webpack:///firstrunwizard/node_modules/core-js/internals/document-create-element.js","webpack:///firstrunwizard/node_modules/core-js/internals/dom-iterables.js","webpack:///firstrunwizard/node_modules/core-js/internals/engine-user-agent.js","webpack:///firstrunwizard/node_modules/core-js/internals/engine-v8-version.js","webpack:///firstrunwizard/node_modules/core-js/internals/enum-bug-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/export.js","webpack:///firstrunwizard/node_modules/core-js/internals/fails.js","webpack:///firstrunwizard/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///firstrunwizard/node_modules/core-js/internals/freezing.js","webpack:///firstrunwizard/node_modules/core-js/internals/function-bind-context.js","webpack:///firstrunwizard/node_modules/core-js/internals/get-built-in.js","webpack:///firstrunwizard/node_modules/core-js/internals/get-iterator-method.js","webpack:///firstrunwizard/node_modules/core-js/internals/global.js","webpack:///firstrunwizard/node_modules/core-js/internals/has.js","webpack:///firstrunwizard/node_modules/core-js/internals/hidden-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/html.js","webpack:///firstrunwizard/node_modules/core-js/internals/ie8-dom-define.js","webpack:///firstrunwizard/node_modules/core-js/internals/indexed-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/inherit-if-required.js","webpack:///firstrunwizard/node_modules/core-js/internals/inspect-source.js","webpack:///firstrunwizard/node_modules/core-js/internals/internal-metadata.js","webpack:///firstrunwizard/node_modules/core-js/internals/internal-state.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-array-iterator-method.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-array.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-forced.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-pure.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterate.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterators-core.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterators.js","webpack:///firstrunwizard/node_modules/core-js/internals/native-symbol.js","webpack:///firstrunwizard/node_modules/core-js/internals/native-weak-map.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-assign.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-create.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-define-properties.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-define-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-prototype-of.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-keys-internal.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-set-prototype-of.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-to-string.js","webpack:///firstrunwizard/node_modules/core-js/internals/own-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/path.js","webpack:///firstrunwizard/node_modules/core-js/internals/redefine-all.js","webpack:///firstrunwizard/node_modules/core-js/internals/redefine.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-exec.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-flags.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///firstrunwizard/node_modules/core-js/internals/require-object-coercible.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-global.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-species.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-to-string-tag.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared-key.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared-store.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared.js","webpack:///firstrunwizard/node_modules/core-js/internals/string-multibyte.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-absolute-index.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-indexed-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-integer.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-length.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-primitive.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-string-tag-support.js","webpack:///firstrunwizard/node_modules/core-js/internals/uid.js","webpack:///firstrunwizard/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///firstrunwizard/node_modules/core-js/internals/well-known-symbol.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.concat.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.filter.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.for-each.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.index-of.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.map.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.assign.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.define-property.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.to-string.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.regexp.exec.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.regexp.to-string.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.string.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.string.replace.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=0&lang=scss&","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=1&id=10738c5b&lang=scss&scoped=true&","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&","webpack:///firstrunwizard/node_modules/css-loader/dist/runtime/api.js","webpack:///firstrunwizard/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///firstrunwizard/node_modules/define-properties/index.js","webpack:///firstrunwizard/node_modules/es6-object-assign/index.js","webpack:///firstrunwizard/node_modules/foreach/index.js","webpack:///firstrunwizard/node_modules/function-bind/implementation.js","webpack:///firstrunwizard/node_modules/function-bind/index.js","webpack:///firstrunwizard/node_modules/get-intrinsic/index.js","webpack:///firstrunwizard/node_modules/hammerjs/hammer.js","webpack:///firstrunwizard/node_modules/has-symbols/index.js","webpack:///firstrunwizard/node_modules/has-symbols/shams.js","webpack:///firstrunwizard/node_modules/has-tostringtag/shams.js","webpack:///firstrunwizard/node_modules/has/src/index.js","webpack:///firstrunwizard/node_modules/inherits/inherits_browser.js","webpack:///firstrunwizard/node_modules/is-arguments/index.js","webpack:///firstrunwizard/node_modules/is-generator-function/index.js","webpack:///firstrunwizard/node_modules/is-nan/implementation.js","webpack:///firstrunwizard/node_modules/is-nan/index.js","webpack:///firstrunwizard/node_modules/is-nan/polyfill.js","webpack:///firstrunwizard/node_modules/is-nan/shim.js","webpack:///firstrunwizard/node_modules/is-typed-array/index.js","webpack:///firstrunwizard/node_modules/lodash.get/index.js","webpack:///firstrunwizard/node_modules/lodash/_DataView.js","webpack:///firstrunwizard/node_modules/lodash/_Hash.js","webpack:///firstrunwizard/node_modules/lodash/_ListCache.js","webpack:///firstrunwizard/node_modules/lodash/_Map.js","webpack:///firstrunwizard/node_modules/lodash/_MapCache.js","webpack:///firstrunwizard/node_modules/lodash/_Promise.js","webpack:///firstrunwizard/node_modules/lodash/_Set.js","webpack:///firstrunwizard/node_modules/lodash/_SetCache.js","webpack:///firstrunwizard/node_modules/lodash/_Stack.js","webpack:///firstrunwizard/node_modules/lodash/_Symbol.js","webpack:///firstrunwizard/node_modules/lodash/_Uint8Array.js","webpack:///firstrunwizard/node_modules/lodash/_WeakMap.js","webpack:///firstrunwizard/node_modules/lodash/_apply.js","webpack:///firstrunwizard/node_modules/lodash/_arrayFilter.js","webpack:///firstrunwizard/node_modules/lodash/_arrayLikeKeys.js","webpack:///firstrunwizard/node_modules/lodash/_arrayPush.js","webpack:///firstrunwizard/node_modules/lodash/_arraySome.js","webpack:///firstrunwizard/node_modules/lodash/_assignMergeValue.js","webpack:///firstrunwizard/node_modules/lodash/_assignValue.js","webpack:///firstrunwizard/node_modules/lodash/_assocIndexOf.js","webpack:///firstrunwizard/node_modules/lodash/_baseAssignValue.js","webpack:///firstrunwizard/node_modules/lodash/_baseCreate.js","webpack:///firstrunwizard/node_modules/lodash/_baseFor.js","webpack:///firstrunwizard/node_modules/lodash/_baseGetAllKeys.js","webpack:///firstrunwizard/node_modules/lodash/_baseGetTag.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsArguments.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsEqual.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsEqualDeep.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsNative.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/_baseKeys.js","webpack:///firstrunwizard/node_modules/lodash/_baseKeysIn.js","webpack:///firstrunwizard/node_modules/lodash/_baseMerge.js","webpack:///firstrunwizard/node_modules/lodash/_baseMergeDeep.js","webpack:///firstrunwizard/node_modules/lodash/_baseRest.js","webpack:///firstrunwizard/node_modules/lodash/_baseSetToString.js","webpack:///firstrunwizard/node_modules/lodash/_baseTimes.js","webpack:///firstrunwizard/node_modules/lodash/_baseUnary.js","webpack:///firstrunwizard/node_modules/lodash/_cacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_cloneArrayBuffer.js","webpack:///firstrunwizard/node_modules/lodash/_cloneBuffer.js","webpack:///firstrunwizard/node_modules/lodash/_cloneTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/_copyArray.js","webpack:///firstrunwizard/node_modules/lodash/_copyObject.js","webpack:///firstrunwizard/node_modules/lodash/_coreJsData.js","webpack:///firstrunwizard/node_modules/lodash/_createAssigner.js","webpack:///firstrunwizard/node_modules/lodash/_createBaseFor.js","webpack:///firstrunwizard/node_modules/lodash/_defineProperty.js","webpack:///firstrunwizard/node_modules/lodash/_equalArrays.js","webpack:///firstrunwizard/node_modules/lodash/_equalByTag.js","webpack:///firstrunwizard/node_modules/lodash/_equalObjects.js","webpack:///firstrunwizard/node_modules/lodash/_freeGlobal.js","webpack:///firstrunwizard/node_modules/lodash/_getAllKeys.js","webpack:///firstrunwizard/node_modules/lodash/_getMapData.js","webpack:///firstrunwizard/node_modules/lodash/_getNative.js","webpack:///firstrunwizard/node_modules/lodash/_getPrototype.js","webpack:///firstrunwizard/node_modules/lodash/_getRawTag.js","webpack:///firstrunwizard/node_modules/lodash/_getSymbols.js","webpack:///firstrunwizard/node_modules/lodash/_getTag.js","webpack:///firstrunwizard/node_modules/lodash/_getValue.js","webpack:///firstrunwizard/node_modules/lodash/_hashClear.js","webpack:///firstrunwizard/node_modules/lodash/_hashDelete.js","webpack:///firstrunwizard/node_modules/lodash/_hashGet.js","webpack:///firstrunwizard/node_modules/lodash/_hashHas.js","webpack:///firstrunwizard/node_modules/lodash/_hashSet.js","webpack:///firstrunwizard/node_modules/lodash/_initCloneObject.js","webpack:///firstrunwizard/node_modules/lodash/_isIndex.js","webpack:///firstrunwizard/node_modules/lodash/_isIterateeCall.js","webpack:///firstrunwizard/node_modules/lodash/_isKeyable.js","webpack:///firstrunwizard/node_modules/lodash/_isMasked.js","webpack:///firstrunwizard/node_modules/lodash/_isPrototype.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheClear.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheDelete.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheGet.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheSet.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheClear.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheDelete.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheGet.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheSet.js","webpack:///firstrunwizard/node_modules/lodash/_mapToArray.js","webpack:///firstrunwizard/node_modules/lodash/_nativeCreate.js","webpack:///firstrunwizard/node_modules/lodash/_nativeKeys.js","webpack:///firstrunwizard/node_modules/lodash/_nativeKeysIn.js","webpack:///firstrunwizard/node_modules/lodash/_nodeUtil.js","webpack:///firstrunwizard/node_modules/lodash/_objectToString.js","webpack:///firstrunwizard/node_modules/lodash/_overArg.js","webpack:///firstrunwizard/node_modules/lodash/_overRest.js","webpack:///firstrunwizard/node_modules/lodash/_root.js","webpack:///firstrunwizard/node_modules/lodash/_safeGet.js","webpack:///firstrunwizard/node_modules/lodash/_setCacheAdd.js","webpack:///firstrunwizard/node_modules/lodash/_setCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_setToArray.js","webpack:///firstrunwizard/node_modules/lodash/_setToString.js","webpack:///firstrunwizard/node_modules/lodash/_shortOut.js","webpack:///firstrunwizard/node_modules/lodash/_stackClear.js","webpack:///firstrunwizard/node_modules/lodash/_stackDelete.js","webpack:///firstrunwizard/node_modules/lodash/_stackGet.js","webpack:///firstrunwizard/node_modules/lodash/_stackHas.js","webpack:///firstrunwizard/node_modules/lodash/_stackSet.js","webpack:///firstrunwizard/node_modules/lodash/_toSource.js","webpack:///firstrunwizard/node_modules/lodash/constant.js","webpack:///firstrunwizard/node_modules/lodash/eq.js","webpack:///firstrunwizard/node_modules/lodash/identity.js","webpack:///firstrunwizard/node_modules/lodash/isArguments.js","webpack:///firstrunwizard/node_modules/lodash/isArray.js","webpack:///firstrunwizard/node_modules/lodash/isArrayLike.js","webpack:///firstrunwizard/node_modules/lodash/isArrayLikeObject.js","webpack:///firstrunwizard/node_modules/lodash/isBuffer.js","webpack:///firstrunwizard/node_modules/lodash/isEqual.js","webpack:///firstrunwizard/node_modules/lodash/isFunction.js","webpack:///firstrunwizard/node_modules/lodash/isLength.js","webpack:///firstrunwizard/node_modules/lodash/isObject.js","webpack:///firstrunwizard/node_modules/lodash/isObjectLike.js","webpack:///firstrunwizard/node_modules/lodash/isPlainObject.js","webpack:///firstrunwizard/node_modules/lodash/isTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/keys.js","webpack:///firstrunwizard/node_modules/lodash/keysIn.js","webpack:///firstrunwizard/node_modules/lodash/merge.js","webpack:///firstrunwizard/node_modules/lodash/stubArray.js","webpack:///firstrunwizard/node_modules/lodash/stubFalse.js","webpack:///firstrunwizard/node_modules/lodash/toPlainObject.js","webpack:///firstrunwizard/node_modules/node-gettext/lib/gettext.js","webpack:///firstrunwizard/node_modules/node-gettext/lib/plurals.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/assert.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/assert/assertion_error.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/errors.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/util/comparisons.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/support/isBufferBrowser.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/support/types.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/util.js","webpack:///firstrunwizard/node_modules/object-is/implementation.js","webpack:///firstrunwizard/node_modules/object-is/index.js","webpack:///firstrunwizard/node_modules/object-is/polyfill.js","webpack:///firstrunwizard/node_modules/object-is/shim.js","webpack:///firstrunwizard/node_modules/object-keys/implementation.js","webpack:///firstrunwizard/node_modules/object-keys/index.js","webpack:///firstrunwizard/node_modules/object-keys/isArguments.js","webpack:///firstrunwizard/node_modules/process/browser.js","webpack:///firstrunwizard/node_modules/semver/classes/semver.js","webpack:///firstrunwizard/node_modules/semver/functions/major.js","webpack:///firstrunwizard/node_modules/semver/functions/parse.js","webpack:///firstrunwizard/node_modules/semver/functions/valid.js","webpack:///firstrunwizard/node_modules/semver/internal/constants.js","webpack:///firstrunwizard/node_modules/semver/internal/debug.js","webpack:///firstrunwizard/node_modules/semver/internal/identifiers.js","webpack:///firstrunwizard/node_modules/semver/internal/parse-options.js","webpack:///firstrunwizard/node_modules/semver/internal/re.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///firstrunwizard/node_modules/popper.js/dist/esm/popper.js","webpack:///firstrunwizard/node_modules/v-tooltip/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///firstrunwizard/node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/ChevronLeft.vue?e7bb","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=template&id=5de37570&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/ChevronRight.vue?621b","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=fbe63c02&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Close.vue?c1a9","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue?vue&type=template&id=6c71068e&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=ea59d84c&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Pause.vue?888e","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue?vue&type=template&id=3335ab9e&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Play.vue?6342","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue?vue&type=template&id=4d9eb9d0&","webpack:///firstrunwizard/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///firstrunwizard/node_modules/vue/dist/vue.runtime.esm.js","webpack:///firstrunwizard/node_modules/which-typed-array/index.js","webpack:///firstrunwizard/node_modules/available-typed-arrays/index.js","webpack:///firstrunwizard/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack:///firstrunwizard/webpack/bootstrap","webpack:///firstrunwizard/webpack/runtime/compat get default export","webpack:///firstrunwizard/webpack/runtime/define property getters","webpack:///firstrunwizard/webpack/runtime/global","webpack:///firstrunwizard/webpack/runtime/hasOwnProperty shorthand","webpack:///firstrunwizard/webpack/runtime/make namespace object","webpack:///firstrunwizard/webpack/runtime/node module decorator","webpack:///firstrunwizard/webpack/runtime/publicPath","webpack:///firstrunwizard/src/components/IntroVideo.vue","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./src/components/IntroVideo.vue?fbfe","webpack://firstrunwizard/./src/components/IntroVideo.vue?a94f","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=template&id=70de3a6e&scoped=true&","webpack:///firstrunwizard/src/App.vue","webpack:///firstrunwizard/src/App.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./src/App.vue?e404","webpack://firstrunwizard/./src/App.vue?6133","webpack://firstrunwizard/./src/App.vue?f581","webpack:///firstrunwizard/src/App.vue?vue&type=template&id=10738c5b&scoped=true&","webpack:///firstrunwizard/src/main.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.getRequestToken;\n }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.onRequestTokenUpdate;\n }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n enumerable: true,\n get: function get() {\n return _user.getCurrentUser;\n }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n } catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n//# sourceMappingURL=requesttoken.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// \nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin\n };\n}\n//# sourceMappingURL=user.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.object.define-property.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nrequire(\"core-js/modules/es.object.assign.js\");\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nvar _getRequestToken;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar client = _axios.default.create({\n headers: {\n requesttoken: (_getRequestToken = (0, _auth.getRequestToken)()) !== null && _getRequestToken !== void 0 ? _getRequestToken : ''\n }\n});\n\nvar cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(function (token) {\n return client.defaults.headers.requesttoken = token;\n});\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProxyBus = void 0;\n\nvar _valid = _interopRequireDefault(require(\"semver/functions/valid\"));\n\nvar _major = _interopRequireDefault(require(\"semver/functions/major\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.2.0\",\n description: \"\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly\",\n \"build:doc\": \"typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.1.0\",\n \"core-js\": \"^3.6.2\",\n semver: \"^7.3.2\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.6.0\",\n \"@babel/core\": \"^7.6.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.5.5\",\n \"@babel/preset-env\": \"^7.6.0\",\n \"@babel/preset-typescript\": \"^7.6.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"babel-jest\": \"^26.0.1\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.0.1\",\n typedoc: \"^0.17.2\",\n typescript: \"^3.6.3\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus = /*#__PURE__*/function () {\n function ProxyBus(bus) {\n _classCallCheck(this, ProxyBus);\n\n _defineProperty(this, \"bus\", void 0);\n\n if (typeof bus.getVersion !== 'function' || !(0, _valid.default)(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n } else if ((0, _major.default)(bus.getVersion()) !== (0, _major.default)(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n\n this.bus = bus;\n }\n\n _createClass(ProxyBus, [{\n key: \"getVersion\",\n value: function getVersion() {\n return packageJson.version;\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n }, {\n key: \"emit\",\n value: function emit(name, event) {\n this.bus.emit(name, event);\n }\n }]);\n\n return ProxyBus;\n}();\n\nexports.ProxyBus = ProxyBus;\n//# sourceMappingURL=ProxyBus.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nrequire(\"core-js/modules/es.array.iterator\");\n\nrequire(\"core-js/modules/es.map\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.string.iterator\");\n\nrequire(\"core-js/modules/web.dom-collections.for-each\");\n\nrequire(\"core-js/modules/web.dom-collections.iterator\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleBus = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.2.0\",\n description: \"\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly\",\n \"build:doc\": \"typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.1.0\",\n \"core-js\": \"^3.6.2\",\n semver: \"^7.3.2\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.6.0\",\n \"@babel/core\": \"^7.6.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.5.5\",\n \"@babel/preset-env\": \"^7.6.0\",\n \"@babel/preset-typescript\": \"^7.6.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"babel-jest\": \"^26.0.1\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.0.1\",\n typedoc: \"^0.17.2\",\n typescript: \"^3.6.3\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus = /*#__PURE__*/function () {\n function SimpleBus() {\n _classCallCheck(this, SimpleBus);\n\n _defineProperty(this, \"handlers\", new Map());\n }\n\n _createClass(SimpleBus, [{\n key: \"getVersion\",\n value: function getVersion() {\n return packageJson.version;\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n return h != handler;\n }));\n }\n }, {\n key: \"emit\",\n value: function emit(name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n } catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n }\n }]);\n\n return SimpleBus;\n}();\n\nexports.SimpleBus = SimpleBus;\n//# sourceMappingURL=SimpleBus.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.subscribe = subscribe;\nexports.unsubscribe = unsubscribe;\nexports.emit = emit;\n\nvar _ProxyBus = require(\"./ProxyBus\");\n\nvar _SimpleBus = require(\"./SimpleBus\");\n\nfunction getBus() {\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n } // Either use an existing event bus instance or create one\n\n\n if (typeof window._nc_event_bus !== 'undefined') {\n return new _ProxyBus.ProxyBus(window._nc_event_bus);\n } else {\n return window._nc_event_bus = new _SimpleBus.SimpleBus();\n }\n}\n\nvar bus = getBus();\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\n\nfunction subscribe(name, handler) {\n bus.subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\n\n\nfunction unsubscribe(name, handler) {\n bus.unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\n\n\nfunction emit(name, event) {\n bus.emit(name, event);\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getCanonicalLocale = getCanonicalLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// \n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// \n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","/*! For license information please see Modal.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],e):\"object\"==typeof exports?exports.NextcloudVue=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Modal\"]=e())}(self,(function(){return function(){var t={5938:function(t,e,n){\"use strict\";var a=n(9156);e.Z={name:\"ActionButton\",mixins:[a.Z],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}}},858:function(t,e,n){\"use strict\";var a=n(3251),i=n.n(a),o=n(8104),s=n(9040),r=n(1205),l=n(932),c=n(8099);function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:\"\"},isDisabled:function(){var t,e;return this.disabled||1===this.actions.length&&(null===(t=this.firstAction)||void 0===t||null===(e=t.$props)||void 0===e?void 0:e.disabled)},firstActionVNode:function(){return this.actions[0]},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var t=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===t)return m(m({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===t)return m(m({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===t)return m(m({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var t,e,n;return null===(t=this.firstActionVNode)||void 0===t||null===(e=t.componentOptions)||void 0===e||null===(n=e.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var t,e;return null===(t=this.firstAction)||void 0===t||null===(e=t.$slots)||void 0===e?void 0:e.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)},children:function(){this.firstAction=this.children[0]?this.children[0]:{}}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(t){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(t){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(g);if(n){var a=(i=this.$refs.menu.querySelectorAll(g),function(t){if(Array.isArray(t))return d(t)}(i)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(i)||function(t,e){if(t){if(\"string\"==typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(t,e):void 0}}(i)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()).indexOf(n);a>-1&&(this.focusIndex=a,this.focusAction())}}}var i},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(g)[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(g).length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$el.querySelectorAll(g).length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},execFirstAction:function(t){this.firstActionEvent&&this.firstActionEvent(t)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(t){return!!t&&!!t.componentOptions}))},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}}}},5041:function(t,e){\"use strict\";e.Z={name:\"VNodes\",functional:!0,render:function(t,e){return e.props.vnodes}}},4828:function(t,e,n){\"use strict\";var a=n(491);e.default=a.Z},5860:function(t,e,n){\"use strict\";var a=n(3083);e.default=a.Z},8099:function(t,e,n){\"use strict\";var a=n(7020);e.default=a.Z},9040:function(t,e,n){\"use strict\";n.d(e,{default:function(){return f}});var a=n(2965),i=n(3379),o=n.n(i),s=n(7795),r=n.n(s),l=n(569),c=n.n(l),d=n(3565),u=n.n(d),m=n(9216),p=n.n(m),g=n(4589),h=n.n(g),A=n(6051),v={};v.styleTagTransform=h(),v.setAttributes=u(),v.insert=c().bind(null,\"head\"),v.domAPI=r(),v.insertStyleElement=p(),o()(A.Z,v),A.Z&&A.Z.locals&&A.Z.locals,a.VTooltip.options.defaultTemplate='
'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};var f=a.VTooltip},932:function(t,e,n){\"use strict\";n.d(e,{n:function(){return o},t:function(){return s}});var a=(0,n(6036).getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",Choose:\"إختيار\",Close:\"أغلق\",\"Close navigation\":\"إغلاق المتصفح\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",\"Open navigation\":\"فتح المتصفح\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Close navigation\":\"Tancar la navegació\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Open navigation\":\"Obrir la navegació\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfer canvis\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escriu un missatge, @ per esmentar algú, : per a la compleció automàtica d'emojis...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Close navigation\":\"Zavřít navigaci\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Open navigation\":\"Otevřít navigaci\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … \"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",\"Write message, @ to mention someone …\":\"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",Choose:\"Elegir\",Close:\"Cerrar\",\"Close navigation\":\"Cerrar navegación\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegación\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",Choose:\"Aukeratu\",Close:\"Itxi\",\"Close navigation\":\"Itxi nabigazioa\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",\"Open navigation\":\"Ireki nabigazioa\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Aukeratu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Idatzi mezua, @ norbait aipatzeko, : emojia automatikoki idazteko\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",Choose:\"Choisir\",Close:\"Fermer\",\"Close navigation\":\"Fermer la navigation\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Open navigation\":\"Ouvrir la navigation\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Ecrire un message, @ pour mentionner quelqu'un, : pour l'auto-complétion des émoticônes\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Cancel changes\":\"Változtatások elvetése\",Choose:\"Válassszon\",Close:\"Bezárás\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Close navigation\":\"Chiudi la navigazione\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Open navigation\":\"Apri la navigazione\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Scrivi un messaggio, @ per menzionare qualcuno, : per il completamento automatico delle emoji ...\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを記入 @をつけるとその人に通知が行きます\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",Choose:\"Velg\",Close:\"Lukk\",\"Close navigation\":\"Lukk navigasjon\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Open navigation\":\"Åpne navigasjon\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjons instillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Skriv for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",\"Write message, @ to mention someone …\":\"Bruk @ for å nevne noen i en melding\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Close navigation\":\"Zamknij nawigację\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Open navigation\":\"Otwórz nawigację\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Close navigation\":\"Fechar navegação\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegação\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Cancel changes\":\"Prekliči spremembe\",Choose:\"Izbor\",Close:\"Zapri\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Close navigation\":\"Stäng navigering\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Open navigation\":\"Öppna navigering\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Open navigation\":\"Gezinmeyi aç\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"选择\",Close:\"关闭\",\"Close navigation\":\"关闭导航\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"External documentation for {title}\":\"{title}的外部文档\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Open navigation\":\"开启导航\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"写信息,@ 提到某人,: 用于表情符号自动完成 ...\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName}的頭像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"選擇\",Close:\"關閉\",\"Close navigation\":\"關閉導航\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Open navigation\":\"開啟導航\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var i=a.build(),o=i.ngettext.bind(i),s=i.gettext.bind(i)},723:function(t,e,n){\"use strict\";var a=n(2734),i=n.n(a);e.Z={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i().util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},9156:function(t,e,n){\"use strict\";var a=n(723),i=n(6021);e.Z={mixins:[a.Z],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var e=(0,i.Z)(this,\"Actions\");e&&e.closeMenu&&e.closeMenu()}}}}},3648:function(t,e,n){\"use strict\";var a=n(932);e.Z={methods:{n:a.n,t:a.t}}},1205:function(t,e){\"use strict\";e.Z=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,t||5)}},6021:function(t,e){\"use strict\";e.Z=function(t,e){for(var n=t.$parent;n;){if(n.$options.name===e)return n;n=n.$parent}}},7645:function(t,e){\"use strict\";e.Z=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"17fd6e1\"),\"\")}))}},6051:function(t,e,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),s=n.n(o)()(i());s.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-17fd6e1]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-17fd6e1][x-placement^='top'] .tooltip-arrow{bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='bottom'] .tooltip-arrow{top:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='right'] .tooltip-arrow{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='left'] .tooltip-arrow{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-17fd6e1][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-17fd6e1] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:transparent;border-width:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAoBE,QAAS,CACT,qBAAsB,CACtB,6CAA8C,CAtBhD,mEA2BE,KAAM,CACN,kBAAmB,CACnB,gDAAiD,CA7BnD,kEAkCE,UAAW,CACX,mBAAoB,CACpB,+CAAgD,CApClD,iEAyCE,SAAU,CACV,oBAAqB,CACrB,8CAA+C,CA3CjD,iDAgDE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CAlDZ,kDAqDE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CAvDZ,4CA4DE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAjEhD,4CAsEE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,wBAAyB,CACzB,iBA/EgB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ \\n* @copyright Copyright (c) 2016, Robin Appelman \\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \\n* @copyright Copyright (c) 2016, Erik Pellikka \\n* @copyright Copyright (c) 2015, Vincent Petry \\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] .tooltip-arrow {\\n\\t\\tbottom: 0;\\n\\t\\tborder-bottom-width: 0;\\n\\t\\tborder-top-color: var(--color-main-background);\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] .tooltip-arrow {\\n\\t\\ttop: 0;\\n\\t\\tborder-top-width: 0;\\n\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] .tooltip-arrow {\\n\\t\\tright: 100%;\\n\\t\\tborder-left-width: 0;\\n\\t\\tborder-right-color: var(--color-main-background);\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] .tooltip-arrow {\\n\\t\\tleft: 100%;\\n\\t\\tborder-right-width: 0;\\n\\t\\tborder-left-color: var(--color-main-background);\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.Z=s},7087:function(t,e,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),s=n.n(o)()(i());s.push([t.id,\".material-design-icon[data-v-ef50c406]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ef50c406]{background-color:var(--color-background-hover)}.action--disabled[data-v-ef50c406]{pointer-events:none;opacity:.5}.action--disabled[data-v-ef50c406]:hover,.action--disabled[data-v-ef50c406]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ef50c406]{opacity:1 !important}.action-button[data-v-ef50c406]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-ef50c406]:hover,.action-button[data-v-ef50c406]:focus{opacity:1}.action-button>span[data-v-ef50c406]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-ef50c406]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-ef50c406] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-ef50c406] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-ef50c406]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-ef50c406]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-ef50c406]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.Z=s},9224:function(t,e,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),s=n.n(o)()(i());s.push([t.id,\".material-design-icon[data-v-2a98ba3b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-2a98ba3b]{position:relative;display:inline-block}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active,.action-item__menutoggle[data-v-2a98ba3b]:hover,.action-item__menutoggle[data-v-2a98ba3b]:focus,.action-item__menutoggle[data-v-2a98ba3b]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-2a98ba3b]:disabled,.action-item--single[data-v-2a98ba3b]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-2a98ba3b]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-2a98ba3b],.action-item__menutoggle[data-v-2a98ba3b]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-2a98ba3b],.action-item__menutoggle--with-title[data-v-2a98ba3b]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-2a98ba3b] span,.action-item__menutoggle--with-title[data-v-2a98ba3b] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-2a98ba3b] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-2a98ba3b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-2a98ba3b]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-2a98ba3b]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-2a98ba3b],.action-item__menutoggle--primary[data-v-2a98ba3b]:hover,.action-item__menutoggle--primary[data-v-2a98ba3b]:focus,.action-item__menutoggle--primary[data-v-2a98ba3b]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-2a98ba3b]{opacity:.7}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active{opacity:1}.action-item--single>[hidden][data-v-2a98ba3b]{display:none}.ie .action-item__menu[data-v-2a98ba3b],.ie .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b],.edge .action-item__menu[data-v-2a98ba3b],.edge .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Actions/Actions.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCopBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SC5nBc,CD8nBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCxoBc,CDyoBd,uCCroBgD,CDsoBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cCpqBmB,CDqqBnB,WCrqBmB,CDsqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cCvqB6C,CDwqB7C,iBChrBkB,CDirBlB,kBAAmB,CACnB,SC/pBa,CDgqBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,oHAeC,UAAW,CACX,WAAY,CACZ,gBC1rBY,CD2rBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UCvsBmB,CDwsBnB,WCxsBmB,CDysBnB,SCtrBc,CDgnBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCpsBiB,CDqsBjB,gBAAiB,CACjB,gBCptBc,CDstBd,mDACC,SCxsBa,CDysBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCxtBiB,CDutBjB,qIAKC,SC3tBa,CDstBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t::v-deep span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.Z=s},1309:function(t,e,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),s=n.n(o)()(i());s.push([t.id,\".material-design-icon[data-v-2da14a6a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-2da14a6a]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-2da14a6a]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-2da14a6a]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-2da14a6a],.modal-header.invisible[style*='display: none'][data-v-2da14a6a]{visibility:hidden}.modal-header .modal-title[data-v-2da14a6a]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-2da14a6a]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-2da14a6a]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-2da14a6a]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-2da14a6a]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-2da14a6a]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons__pause[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-2da14a6a]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-2da14a6a] button{color:#fff}.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle span,.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-2da14a6a]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-2da14a6a],.modal-wrapper .next[data-v-2da14a6a]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-2da14a6a],.modal-wrapper .prev.invisible[style*='display: none'][data-v-2da14a6a],.modal-wrapper .next.invisible[style*='display:none'][data-v-2da14a6a],.modal-wrapper .next.invisible[style*='display: none'][data-v-2da14a6a]{visibility:hidden}.modal-wrapper .prev[data-v-2da14a6a]{left:0}.modal-wrapper .next[data-v-2da14a6a]{right:0}.modal-wrapper .icon-next[data-v-2da14a6a],.modal-wrapper .icon-previous[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-2da14a6a]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-2da14a6a]{width:390px;max-width:95%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-2da14a6a]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-2da14a6a]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-2da14a6a]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-2da14a6a]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-2da14a6a],.fade-leave-active[data-v-2da14a6a]{transition:opacity 250ms}.fade-enter[data-v-2da14a6a],.fade-leave-to[data-v-2da14a6a]{opacity:0}.fade-visibility-enter[data-v-2da14a6a],.fade-visibility-leave-to[data-v-2da14a6a]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-2da14a6a],.modal-in-leave-active[data-v-2da14a6a],.modal-out-enter-active[data-v-2da14a6a],.modal-out-leave-active[data-v-2da14a6a]{transition:opacity 250ms}.modal-in-enter[data-v-2da14a6a],.modal-in-leave-to[data-v-2da14a6a],.modal-out-enter[data-v-2da14a6a],.modal-out-leave-to[data-v-2da14a6a]{opacity:0}.modal-in-enter .modal-container[data-v-2da14a6a],.modal-in-leave-to .modal-container[data-v-2da14a6a]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-2da14a6a],.modal-out-leave-to .modal-container[data-v-2da14a6a]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-2da14a6a]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-2da14a6a]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-2da14a6a linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-2da14a6a]{animation:breath-data-v-2da14a6a 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-2da14a6a]{animation-play-state:paused !important}@keyframes progressring-data-v-2da14a6a{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-2da14a6a{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Modal/Modal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile / 2) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t.action-item--single {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 22px;\\n\\t\\t}\\n\\n\\t\\t::v-deep button {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&::v-deep .action-item__menutoggle {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 8%;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 0;\\n\\t}\\n\\t.next {\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t// buttons/icons\\n\\t.icon-next,\\n\\t.icon-previous {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: white;\\n\\t\\tbackground-image: none;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 390px;\\n\\t\\t\\tmax-width: 95%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: $breakpoint-mobile / 2) {\\n\\t\\t&:not(&--small) .modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.Z=s},5878:function(t,e,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),s=n.n(o)()(i());s.push([t.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:transparent;border-width:10px}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-left-width:0;border-right-color:var(--color-main-background)}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-right-width:0;border-left-color:var(--color-main-background)}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Popover/Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCyGxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,wBAAyB,CACzB,iBAvBgB,CAElB,6BAyBE,kBA3BgB,CAElB,6CA4BG,YA9Be,CA+Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,qBAAsB,CACtB,6CAA8C,CAjCjD,gCAsCE,eAxCgB,CAElB,gDAyCG,SA3Ce,CA4Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,kBAAmB,CACnB,gDAAiD,CA9CpD,+BAmDE,gBArDgB,CAElB,+CAsDG,4BAA6B,CAC7B,UAzDe,CA0Df,cAAe,CACf,aAAc,CACd,mBAAoB,CACpB,+CAAgD,CA3DnD,8BAgEE,iBAlEgB,CAElB,8CAmEG,4BAA6B,CAC7B,WAtEe,CAuEf,cAAe,CACf,aAAc,CACd,oBAAqB,CACrB,8CAA+C,CAxElD,6BA6EE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CA/EZ,8BAmFE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.Z=s},3645:function(t){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,a){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(a)for(var o=0;ot.length)&&(e=t.length);for(var n=0,a=new Array(e);n0?\" \".concat(n.layer):\"\",\" {\")),a+=n.css,i&&(a+=\"}\"),n.media&&(a+=\"}\"),n.supports&&(a+=\"}\");var o=n.sourceMap;o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),e.styleTagTransform(a,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:function(t){\"use strict\";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},491:function(t,e,n){\"use strict\";var a=n(8940),i=n(4403),o=(n(7911),n(1900)),s=n(3184),r=n.n(s),l=(0,o.Z)(i.Z,a.s,a.x,!1,null,\"ef50c406\",null);\"function\"==typeof r()&&r()(l),e.Z=l.exports},3083:function(t,e,n){\"use strict\";var a=n(9125),i=n(613),o=(n(3822),n(1900)),s=n(2192),r=n.n(s),l=(0,o.Z)(i.Z,a.s,a.x,!1,null,\"2a98ba3b\",null);\"function\"==typeof r()&&r()(l),e.Z=l.exports},7020:function(t,e,n){\"use strict\";n.d(e,{Z:function(){return k}});var a={name:\"Popover\",components:{VPopover:n(2965).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(3379),o=n.n(i),s=n(7795),r=n.n(s),l=n(569),c=n.n(l),d=n(3565),u=n.n(d),m=n(9216),p=n.n(m),g=n(4589),h=n.n(g),A=n(5878),v={};v.styleTagTransform=h(),v.setAttributes=u(),v.insert=c().bind(null,\"head\"),v.domAPI=r(),v.insertStyleElement=p(),o()(A.Z,v),A.Z&&A.Z.locals&&A.Z.locals;var f=n(1900),C=n(8733),b=n.n(C),y=(0,f.Z)(a,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof b()&&b()(y);var k=y.exports},8104:function(t,e,n){\"use strict\";var a=n(5494),i=(0,n(1900).Z)(a.Z,void 0,void 0,!1,null,null,null);e.Z=i.exports},4403:function(t,e,n){\"use strict\";var a=n(5938);e.Z=a.Z},613:function(t,e,n){\"use strict\";var a=n(858);e.Z=a.Z},5494:function(t,e,n){\"use strict\";var a=n(5041);e.Z=a.Z},7911:function(t,e,n){\"use strict\";n(1756)},3822:function(t,e,n){\"use strict\";n(2694)},3184:function(){},2192:function(){},8575:function(){},8733:function(){},8940:function(t,e,n){\"use strict\";n.d(e,{s:function(){return a},x:function(){return i}});var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[n(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",(function(){return[n(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]})),t._v(\" \"),t.title?n(\"p\",[n(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?n(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):n(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])},i=[]},9125:function(t,e,n){\"use strict\";n.d(e,{s:function(){return a},x:function(){return i}});var a=function(){var t,e=this,n=e.$createElement,a=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?a(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(t={},t[e.firstAction.icon]=e.firstAction.icon,t[e.firstActionClass]=e.firstActionClass,t[\"action-item--single--with-title\"]=e.singleActionTitle,t),attrs:{rel:\"nofollow noreferrer noopener\",disabled:e.isDisabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[a(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\"\\n\\n\\t\"+e._s(e.singleActionTitle)+\"\\n\\n\\t\"),e._v(\" \"),a(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[a(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:e.opened,placement:e.placement,\"boundaries-element\":e.boundariesElement,container:e.container},on:{\"update:open\":function(t){e.opened=t},show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu},scopedSlots:e._u([{key:\"trigger\",fn:function(){var t;return[a(\"button\",{ref:\"menuButton\",staticClass:\"icon vue-button action-item__menutoggle\",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t[\"action-item__menutoggle--with-title\"]=e.menuTitle,t[\"action-item__menutoggle--with-icon-slot\"]=e.iconSlotIsPopulated,t[\"action-item__menutoggle--default-icon\"]=!e.iconSlotIsPopulated&&\"\"===e.defaultIcon,t[\"action-item__menutoggle--primary\"]=e.primary,t),attrs:{disabled:e.disabled,\"aria-haspopup\":\"true\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.randomId,\"aria-expanded\":e.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:e.onFocus,blur:e.onBlur}},[e.iconSlotIsPopulated?e._t(\"icon\"):\"\"===e.defaultIcon?a(\"DotsHorizontal\",{attrs:{size:20,decorative:\"\"}}):e._e(),e._v(\"\\n\\t\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[e._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.opened,expression:\"opened\"}],ref:\"menu\",class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusPreviousAction.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.focusPreviousAction.apply(null,arguments):null},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-up\",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusFirstAction.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-down\",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusLastAction.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.closeMenu.apply(null,arguments))}],mousemove:e.onMouseFocusAction}},[a(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)},i=[]},1900:function(t,e,n){\"use strict\";function a(t,e,n,a,i,o,s,r){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),s?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},c._ssrRegister=l):i&&(l=r?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}n.d(e,{Z:function(){return a}})},6036:function(t){\"use strict\";t.exports=require(\"@nextcloud/l10n/dist/gettext\")},2640:function(t){\"use strict\";t.exports=require(\"hammerjs\")},2965:function(t){\"use strict\";t.exports=require(\"v-tooltip\")},2734:function(t){\"use strict\";t.exports=require(\"vue\")},9605:function(t){\"use strict\";t.exports=require(\"vue-material-design-icons/ChevronRight\")},5978:function(t){\"use strict\";t.exports=require(\"vue-material-design-icons/Close\")},3251:function(t){\"use strict\";t.exports=require(\"vue-material-design-icons/DotsHorizontal\")}},e={};function n(a){var i=e[a];if(void 0!==i)return i.exports;var o=e[a]={id:a,exports:{}};return t[a](o,o.exports,n),o.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var a in e)n.o(e,a)&&!n.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var a={};return function(){\"use strict\";n.r(a),n.d(a,{default:function(){return M}});var t=n(7645),e=n(2640),i=n.n(e),o=require(\"vue-material-design-icons/ChevronLeft\"),s=n.n(o),r=n(9605),l=n.n(r),c=n(5978),d=n.n(c),u=require(\"vue-material-design-icons/Pause\"),m=n.n(u),p=require(\"vue-material-design-icons/Play\"),g=n.n(p),h=n(5860),A=n(4828),v=n(3648),f=n(932),C=n(9040);function b(t,e){var n,a,i,o=e;this.start=function(){i=!0,a=new Date,n=setTimeout(t,o)},this.pause=function(){i=!1,clearTimeout(n),o-=new Date-a},this.clear=function(){i=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),o},this.getStateRunning=function(){return i},this.start()}var y={name:\"Modal\",components:{ActionButton:A.default,Actions:h.default,ChevronLeft:s(),ChevronRight:l(),Close:d(),Pause:m(),Play:g()},directives:{tooltip:C.default},mixins:[v.Z],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return[\"small\",\"normal\",\"large\",\"full\"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:\"body\"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?(0,f.t)(\"Pause slideshow\"):(0,f.t)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var t=this;this.showModal=!0,this.handleMouseMove(),this.mc=new(i())(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(e){t.handleSwipe(e)})),\"body\"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit(\"previous\",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit(\"next\",t))},close:function(t){var e=this;this.canClose&&(this.showModal=!1,setTimeout((function(){e.$emit(\"close\",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 13:case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&(\"swipeleft\"===t.type?this.next(t):\"swiperight\"===t.type&&this.previous(t))},handleMouseMove:function(){var t=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){t.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new b((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},k=n(3379),B=n.n(k),w=n(7795),S=n.n(w),x=n(569),N=n.n(x),j=n(3565),z=n.n(j),P=n(9216),E=n.n(P),_=n(4589),D=n.n(_),T=n(1309),$={};$.styleTagTransform=D(),$.setAttributes=z(),$.insert=N().bind(null,\"head\"),$.domAPI=S(),$.insertStyleElement=E(),B()(T.Z,$),T.Z&&T.Z.locals&&T.Z.locals;var F=n(1900),O=n(8575),U=n.n(O),G=(0,F.Z)(y,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},style:t.cssVariables,on:{click:t.handleMouseMove,mousemove:t.handleMouseMove,touchmove:t.handleMouseMove}},[n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:t.clearView}},[\"\"!==t.title.trim()?n(\"div\",{staticClass:\"modal-title\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\")]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?n(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":t.slideshowPaused},attrs:{type:\"button\"},on:{click:t.togglePlayPause}},[t.playing?n(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:t.iconSize,title:\"\",decorative:\"\"}}):n(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:t.iconSize,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.playing?n(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[n(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()],1):t._e(),t._v(\" \"),n(\"Actions\",{staticClass:\"header-actions\"},[t._t(\"actions\")],2),t._v(\" \"),t.canClose?n(\"Actions\",{staticClass:\"header-close\"},[n(\"ActionButton\",{on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[n(\"Close\",{attrs:{size:t.iconSize,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,1372351874)},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Close\"))+\"\\n\\t\\t\\t\\t\\t\\t\")])],1):t._e()],1)])]),t._v(\" \"),n(\"transition\",{attrs:{name:t.modalTransitionName}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\"+t.size,t.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close.apply(null,arguments)}}},[n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious&&!t.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:t.clearView||!t.hasPrevious},attrs:{href:\"#\"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.previous.apply(null,arguments)}}},[n(\"span\",{staticClass:\"icon-previous\"},[n(\"ChevronLeft\",{attrs:{size:40,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Previous\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),t._v(\" \"),n(\"div\",{staticClass:\"modal-container\"},[t._t(\"default\")],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext&&!t.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:t.clearView||!t.hasNext},attrs:{href:\"#\"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.next.apply(null,arguments)}}},[n(\"span\",{staticClass:\"icon-next\"},[n(\"ChevronRight\",{attrs:{size:40,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Next\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])])],1)])],1)])}),[],!1,null,\"2da14a6a\",null);\"function\"==typeof U()&&U()(G);var I=G.exports;(0,t.Z)(I);var M=I}(),a}()}));\n//# sourceMappingURL=Modal.js.map","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n if (!config.url) {\n throw new Error('Provided config url is not valid');\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n if (!config.url) {\n throw new Error('Provided config url is not valid');\n }\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.25.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#firstrunwizard .page{display:flex;flex-direction:row;flex-wrap:wrap;margin:auto}#firstrunwizard .page h3{margin:10px 0 10px;line-height:120%;padding:0}#firstrunwizard .page .image{padding:20px;max-width:calc(50% - 40px);flex-grow:1}#firstrunwizard .page .image img{width:100%}#firstrunwizard .page .content{padding:20px;width:100%}#firstrunwizard .page p{margin-bottom:20px}#firstrunwizard .page .description-block:first-child{margin-bottom:20px}#firstrunwizard .page .description{margin:20px;width:auto;flex-grow:1;max-width:calc(50% - 40px)}#firstrunwizard .page ul{margin:10px}#firstrunwizard .page ul li{margin-left:20px;margin-bottom:10px;list-style:circle outside}#firstrunwizard .page a:not(.button):hover,#firstrunwizard .page a:not(.button):focus{text-decoration:underline}#firstrunwizard .page .button{display:inline-block}#firstrunwizard .page .button img{width:16px;height:16px;opacity:.5;margin-top:-3px;vertical-align:middle}#firstrunwizard .content-clients{width:100%;text-align:center}#firstrunwizard .content-clients a{text-decoration:none;display:inline-block}#firstrunwizard .content-clients .clientslinks .appsmall{height:32px;width:32px;position:relative;opacity:.5;vertical-align:middle}#firstrunwizard .content-clients .clientslinks .button{display:inline-block;padding:8px;font-weight:normal;font-size:14px}#firstrunwizard .content-final h3{background-position:0;background-size:16px 16px;padding-left:26px;opacity:.7}#firstrunwizard p a{font-weight:bold;color:var(--color-primary)}#firstrunwizard p a:hover,#firstrunwizard p a:focus{color:var(color-text-light)}#firstrunwizard .footnote{margin-top:40px}#firstrunwizard .modal-wrapper .icon-next{background-color:var(--color-primary);color:var(--color-primary-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px;border-radius:40px}#firstrunwizard .modal-wrapper .icon-previous{background-color:var(--color-primary-light);color:var(--color-primary-light-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px;border-radius:40px}.clientslinks{margin-top:20px;margin-bottom:20px}#wizard-values{list-style-type:none;display:flex;flex-wrap:wrap;margin:0}#wizard-values li{display:block;min-width:250px;width:33%;flex-grow:1;margin:20px 0 20px 0}#wizard-values li span{opacity:.7;display:block;height:50px;width:50px;background-size:40px;margin:auto}#wizard-values li h3{margin:10px 0 10px 0;font-size:130%;text-align:center}.details-link{text-align:center}@media only screen and (max-width: 680px){#firstrunwizard .firstrunwizard-header div.logo{background-size:120px}#firstrunwizard h2{font-size:20px}#firstrunwizard .page>div{max-width:100% !important;width:100%}#firstrunwizard .page #wizard-values li{min-width:100%;overflow:hidden;display:flex}#firstrunwizard .page #wizard-values li span{width:44px !important;padding-right:20px;flex-grow:0}#firstrunwizard .page #wizard-values li h3{font-size:12px;text-align:left;flex-grow:1}#firstrunwizard .page.content-final{padding-bottom:50px}.modal-mask .modal-wrapper .next,.prev{top:220px;align-items:start !important}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AA2IC,sBACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,WAAA,CAEA,yBACC,kBAAA,CACA,gBAAA,CACA,SAAA,CAED,6BACC,YAAA,CACA,0BAAA,CACA,WAAA,CACA,iCACC,UAAA,CAGF,+BACC,YAAA,CACA,UAAA,CAED,wBACC,kBAAA,CAED,qDACC,kBAAA,CAED,mCACC,WAAA,CACA,UAAA,CACA,WAAA,CACA,0BAAA,CAED,yBACC,WAAA,CACA,4BACC,gBAAA,CACA,kBAAA,CACA,yBAAA,CAID,sFAEC,yBAAA,CAGF,8BACC,oBAAA,CAEA,kCACC,UAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,qBAAA,CAKH,iCACC,UAAA,CACA,iBAAA,CACA,mCACC,oBAAA,CACA,oBAAA,CAED,yDACC,WAAA,CACA,UAAA,CACA,iBAAA,CACA,UAAA,CACA,qBAAA,CAED,uDACC,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,cAAA,CAID,kCACC,qBAAA,CACA,yBAAA,CACA,iBAAA,CACA,UAAA,CAGF,oBACC,gBAAA,CACA,0BAAA,CACA,oDAEC,2BAAA,CAIF,0BACC,eAAA,CAKA,0CACC,qCAAA,CACA,+BAAA,CACA,oCAAA,CACA,SAAA,CACA,kBAAA,CAGD,8CACC,2CAAA,CACA,qCAAA,CACA,oCAAA,CACA,SAAA,CACA,kBAAA,CAKH,cACC,eAAA,CACA,kBAAA,CAGD,eACC,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,kBACC,aAAA,CACA,eAAA,CACA,SAAA,CACA,WAAA,CACA,oBAAA,CACA,uBACC,UAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,oBAAA,CACA,WAAA,CAED,qBACC,oBAAA,CACA,cAAA,CACA,iBAAA,CAKH,cACC,iBAAA,CAGD,0CAEE,gDACC,qBAAA,CAED,mBACC,cAAA,CAED,0BACC,yBAAA,CACA,UAAA,CAGA,wCACC,cAAA,CACA,eAAA,CACA,YAAA,CACA,6CACC,qBAAA,CACA,kBAAA,CACA,WAAA,CAED,2CACC,cAAA,CACA,eAAA,CACA,WAAA,CAIF,oCACC,mBAAA,CAKH,uCACC,SAAA,CACA,4BAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Page styling needs to be unscoped, since we load it separately from the server */\\n#firstrunwizard {\\n\\n\\t.page {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tmargin: auto;\\n\\n\\t\\th3 {\\n\\t\\t\\tmargin: 10px 0 10px;\\n\\t\\t\\tline-height: 120%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\t.image {\\n\\t\\t\\tpadding: 20px;\\n\\t\\t\\tmax-width: calc(50% - 40px);\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\timg {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.content {\\n\\t\\t\\tpadding: 20px;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 20px;\\n\\t\\t}\\n\\t\\t.description-block:first-child {\\n\\t\\t\\tmargin-bottom: 20px;\\n\\t\\t}\\n\\t\\t.description {\\n\\t\\t\\tmargin: 20px;\\n\\t\\t\\twidth: auto;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(50% - 40px);\\n\\t\\t}\\n\\t\\tul {\\n\\t\\t\\tmargin: 10px;\\n\\t\\t\\tli {\\n\\t\\t\\t\\tmargin-left: 20px;\\n\\t\\t\\t\\tmargin-bottom: 10px;\\n\\t\\t\\t\\tlist-style: circle outside;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ta:not(.button) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.button {\\n\\t\\t\\tdisplay: inline-block;\\n\\n\\t\\t\\timg {\\n\\t\\t\\t\\twidth: 16px;\\n\\t\\t\\t\\theight: 16px;\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tmargin-top: -3px;\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.content-clients {\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t\\t.clientslinks .appsmall {\\n\\t\\t\\theight: 32px;\\n\\t\\t\\twidth: 32px;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t\\t.clientslinks .button {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding: 8px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t}\\n\\t}\\n\\t.content-final {\\n\\t\\th3 {\\n\\t\\t\\tbackground-position: 0;\\n\\t\\t\\tbackground-size: 16px 16px;\\n\\t\\t\\tpadding-left: 26px;\\n\\t\\t\\topacity: .7;\\n\\t\\t}\\n\\t}\\n\\tp a {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary);\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tcolor: var(color-text-light);\\n\\t\\t}\\n\\t}\\n\\n\\t.footnote {\\n\\t\\tmargin-top: 40px;\\n\\t}\\n\\n\\t// primary on next button\\n\\t.modal-wrapper {\\n\\t\\t.icon-next {\\n\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\t\\tleft: 22px;\\n\\t\\t\\tborder-radius: 40px;\\n\\t\\t}\\n\\n\\t\\t.icon-previous {\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t\\tcolor: var(--color-primary-light-text);\\n\\t\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\t\\tleft: 22px;\\n\\t\\t\\tborder-radius: 40px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.clientslinks {\\n\\tmargin-top: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n\\n#wizard-values {\\n\\tlist-style-type: none;\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tmargin: 0;\\n\\tli {\\n\\t\\tdisplay: block;\\n\\t\\tmin-width: 250px;\\n\\t\\twidth: 33%;\\n\\t\\tflex-grow: 1;\\n\\t\\tmargin: 20px 0 20px 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: .7;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\theight: 50px;\\n\\t\\t\\twidth: 50px;\\n\\t\\t\\tbackground-size: 40px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t\\th3 {\\n\\t\\t\\tmargin: 10px 0 10px 0;\\n\\t\\t\\tfont-size: 130%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n.details-link {\\n\\ttext-align: center;\\n}\\n\\n@media only screen and (max-width: 680px) {\\n\\t#firstrunwizard {\\n\\t\\t.firstrunwizard-header div.logo {\\n\\t\\t\\tbackground-size: 120px;\\n\\t\\t}\\n\\t\\th2 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t.page > div {\\n\\t\\t\\tmax-width: 100% !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t.page {\\n\\t\\t\\t#wizard-values li {\\n\\t\\t\\t\\tmin-width: 100%;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\twidth: 44px !important;\\n\\t\\t\\t\\t\\tpadding-right: 20px;\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\th3 {\\n\\t\\t\\t\\t\\tfont-size: 12px;\\n\\t\\t\\t\\t\\ttext-align: left;\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.content-final {\\n\\t\\t\\t\\tpadding-bottom: 50px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// fix button position on mobile (so that they don't overlap with text)\\n\\t.modal-mask .modal-wrapper .next, .prev {\\n\\t\\ttop: 220px;\\n\\t\\talign-items: start !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal-mask[data-v-10738c5b]{background-color:rgba(0,0,0,.7)}.modal-mask[data-v-10738c5b] .modal-wrapper{position:relative}.modal-mask[data-v-10738c5b] .modal-container{display:flex;flex-direction:column;position:relative}.modal-mask .modal-body[data-v-10738c5b]{flex-grow:1;display:flex;overflow-x:hidden;overflow-y:auto}.modal-mask .modal-body>div[data-v-10738c5b]{display:flex;flex-grow:1;align-items:center;justify-content:center}.modal-header[data-v-10738c5b]{flex-shrink:0}.modal-header .firstrunwizard-header[data-v-10738c5b]{padding:20px 12px;background:var(--color-primary) var(--image-login-background) no-repeat 50% 50%;background-size:cover;color:var(--color-primary-text);text-align:center}.modal-header .firstrunwizard-header .logo[data-v-10738c5b]{background:var(--image-logo) no-repeat center;background-size:contain;width:175px;height:100px;max-height:20vh;margin:0 auto}.modal-header .firstrunwizard-header h2[data-v-10738c5b]{font-size:20px;margin-top:7px;line-height:150%;color:var(--color-primary-text);font-weight:300;padding:0 0 10px}.modal-default-button[data-v-10738c5b]{align-self:flex-end}.modal-footer[data-v-10738c5b]{overflow:hidden;position:absolute;display:flex;bottom:0;right:0}.modal-footer button[data-v-10738c5b]{margin:10px}.next-enter-active[data-v-10738c5b],.next-leave-active[data-v-10738c5b],.previous-enter-active[data-v-10738c5b],.previous-leave-active[data-v-10738c5b]{transition:transform .1s,opacity .25s}.next-enter[data-v-10738c5b]{transform:translateX(50%);opacity:0}.next-leave-to[data-v-10738c5b]{transform:translateX(-50%);opacity:0}.previous-enter[data-v-10738c5b]{transform:translateX(-50%);opacity:0}.previous-leave-to[data-v-10738c5b]{transform:translateX(50%);opacity:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AAqVA,6BACC,+BAAA,CAEA,4CACC,iBAAA,CAGD,8CACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAGD,yCACC,WAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CAEA,6CACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,sBAAA,CAKH,+BACC,aAAA,CAEA,sDACC,iBAAA,CACA,+EAAA,CACA,qBAAA,CACA,+BAAA,CACA,iBAAA,CACA,4DACC,6CAAA,CACA,uBAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,aAAA,CAED,yDACC,cAAA,CACA,cAAA,CACA,gBAAA,CACA,+BAAA,CACA,eAAA,CACA,gBAAA,CAKH,uCACC,mBAAA,CAGD,+BACC,eAAA,CACA,iBAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAGD,sCACC,WAAA,CAID,wJAEC,qCAAA,CAGD,6BACC,yBAAA,CACA,SAAA,CAGD,gCACC,0BAAA,CACA,SAAA,CAGD,iCACC,0BAAA,CACA,SAAA,CAGD,oCACC,yBAAA,CACA,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tbackground-color: rgba(0, 0, 0, 0.7);\\n\\n\\t&::v-deep .modal-wrapper {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&::v-deep .modal-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t.modal-body {\\n\\t\\tflex-grow: 1;\\n\\t\\tdisplay: flex;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\n\\t\\t& > div {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-header {\\n\\tflex-shrink: 0;\\n\\n\\t.firstrunwizard-header {\\n\\t\\tpadding: 20px 12px;\\n\\t\\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\\n\\t\\tbackground-size: cover;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\ttext-align: center;\\n\\t\\t.logo {\\n\\t\\t\\tbackground: var(--image-logo) no-repeat center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\twidth: 175px;\\n\\t\\t\\theight: 100px;\\n\\t\\t\\tmax-height: 20vh;\\n\\t\\t\\tmargin: 0 auto;\\n\\t\\t}\\n\\t\\th2 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t\\tmargin-top: 7px;\\n\\t\\t\\tline-height: 150%;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tfont-weight: 300;\\n\\t\\t\\tpadding: 0 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-default-button {\\n\\talign-self: flex-end;\\n}\\n\\n.modal-footer {\\n\\toverflow: hidden;\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\tbottom: 0;\\n\\tright: 0;\\n}\\n\\n.modal-footer button {\\n\\tmargin: 10px;\\n}\\n\\n/* Transitions */\\n.next-enter-active, .next-leave-active,\\n.previous-enter-active, .previous-leave-active {\\n\\ttransition: transform .1s, opacity .25s;\\n}\\n\\n.next-enter {\\n\\ttransform: translateX(50%);\\n\\topacity: 0;\\n}\\n\\n.next-leave-to {\\n\\ttransform: translateX(-50%);\\n\\topacity: 0;\\n}\\n\\n.previous-enter {\\n\\ttransform: translateX(-50%);\\n\\topacity: 0;\\n}\\n\\n.previous-leave-to {\\n\\ttransform: translateX(50%);\\n\\topacity: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"video[data-v-70de3a6e]{width:100%;height:100%;object-fit:cover}.video-wrapper[data-v-70de3a6e]{background-color:var(--color-primary)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/IntroVideo.vue\"],\"names\":[],\"mappings\":\"AAuDA,uBACC,UAAA,CACA,WAAA,CACA,gBAAA,CAGD,gCACC,qCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nvideo {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tobject-fit: cover;\\n}\\n\\n.video-wrapper {\\n\\tbackground-color: var(--color-primary);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\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 match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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/** 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/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\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/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\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) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\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\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\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\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\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\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\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\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 // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\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 hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\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 mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\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 MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\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","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\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 * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\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 * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\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 baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\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 isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\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 `_.keysIn` 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 baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\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","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\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 allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\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","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\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 overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\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 arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\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 nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\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 a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\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","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\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","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\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 apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\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","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\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 safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\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","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\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 isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\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 baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\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 getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\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 infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\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 arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\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 copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronLeft.vue?vue&type=template&id=5de37570&\"\nimport script from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=fbe63c02&\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronRight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=6c71068e&\"\nimport script from \"./Close.vue?vue&type=script&lang=js&\"\nexport * from \"./Close.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon close-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=ea59d84c&\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pause.vue?vue&type=template&id=3335ab9e&\"\nimport script from \"./Pause.vue?vue&type=script&lang=js&\"\nexport * from \"./Pause.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon pause-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,19H18V5H14M6,19H10V5H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Play.vue?vue&type=template&id=4d9eb9d0&\"\nimport script from \"./Play.vue?vue&type=script&lang=js&\"\nexport * from \"./Play.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon play-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.